This commit is contained in:
unknown 2023-11-09 19:34:44 +08:00
commit b89a9ea1fd
27 changed files with 3389 additions and 1364 deletions

View File

@ -0,0 +1,771 @@
<!-- 网关通道 -->
<template>
<div>
<!-- v-click-outside="closeMenu" -->
<div>
<div class="tree_menu" v-show="dialogVisible">
<el-tree :data="trees" node-key="id" :props="defaultProps" default-expand-all @node-contextmenu="rightClick"
@node-click="treeNodeClick" ref="tree">
<!-- :render-content="renderContent" -->
<span class="custom-tree-node" slot-scope="{ node, data }">
<template v-if="data.editing == 1">
<el-button type="mini" v-if="flag" style="right: 50px; top: 0; position: absolute; border: none"
@click.stop="done">完成</el-button>
<el-button type="mini" style="right: 0; top: 0; position: absolute; border: none"
@click.stop="edit">编辑</el-button>
<span v-if="!flag">{{ data.label }}</span>
<el-input v-else style="width: 150px" v-model="gateway"></el-input>
</template>
<template v-else>{{ data.label }}</template>
</span>
</el-tree>
<!-- 树形控件右键组件 -->
<div v-show="menuShow" class="tree_rightmenu" :style="{ ...rightMenu }">
<el-menu class="el-menu-vertical-demo" @select="selectMenuNode" default-active="#0078FE">
<el-menu-item id="menuitem" index="1" style="font-size: 12px">
<span slot="title">新建通道</span>
</el-menu-item>
<el-menu-item index="2" style="font-size: 12px">
<span slot="title"> </span>
</el-menu-item>
</el-menu>
</div>
</div>
</div>
<div class="pas_params">
<el-dialog title="通道参数设置" :visible.sync="add_passage" width="765px" v-loading="loading">
<el-form :model="FormData" :label-position="labelPosition" :rules="rules" ref="ruleForm">
<el-row>
<el-col :span="12">
<el-form-item label="通道名称:" :label-width="formLabelWidth" prop="tdpz_tdmc">
<el-select v-model="FormData.tdpz_tdmc" placeholder="" style="width: 200px; height: 30px">
<el-option v-for="(item, index) in options1" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="通道:" :label-width="formLabelWidth" prop="tdpz_td">
<el-select v-model="FormData.tdpz_td" placeholder="" style="width: 200px; height: 30px">
<el-option v-for="(item, index) in options2" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="驱动名称:" :label-width="formLabelWidth" prop="tdpz_qdmc">
<el-row>
<el-col :span="18">
<el-input v-model="FormData.tdpz_qdmc" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-col>
<el-col :span="6">
<el-button style="width: 50px; height: 30px" @click="getDriveName">...</el-button>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="IP地址:" :label-width="formLabelWidth" prop="tdpz_ip">
<el-row>
<el-col :span="5">
<el-input v-model="tdpz_ip1" style="width: 43px; height: 30px"></el-input>
</el-col>
<el-col :span="1" style="color: #fff">. </el-col>
<el-col :span="5">
<el-input v-model="tdpz_ip2" style="width: 43px; height: 30px"></el-input>
</el-col>
<el-col :span="1" style="color: #fff">.</el-col>
<el-col :span="5">
<el-input v-model="tdpz_ip3" style="width: 43px; height: 30px"></el-input>
</el-col>
<el-col :span="1" style="color: #fff">.</el-col>
<el-col :span="5">
<el-input v-model="tdpz_ip4" style="width: 43px; height: 30px"></el-input>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="端口号:" :label-width="formLabelWidth" prop="tdpz_port">
<el-input v-model="FormData.tdpz_port" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="超过时间(ms):" :label-width="formLabelWidth" prop="tdpz_cssj">
<el-input v-model="FormData.tdpz_cssj" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="间隔时间(ms):" :label-width="formLabelWidth" prop="tdpz_jgsj">
<el-input v-model="FormData.tdpz_jgsj" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="轮询时间(ms):" :label-width="formLabelWidth" prop="tdpz_lxsj">
<el-input v-model="FormData.tdpz_lxsj" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="重复次数:" :label-width="formLabelWidth" prop="tdpz_cfcs">
<el-input v-model="FormData.tdpz_cfcs" placeholder="" style="width: 200px; height: 30px"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="super_parmams">
<h3>高级参数</h3>
<div>
<i class="el-icon-caret-bottom" v-if="is_retract"></i>
<i class="el-icon-caret-top" v-else="is_retract"></i>
<el-button type="text" plain @click="getRetract" style="
width: 28px;
border: none;
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: left;
">
收起</el-button>
</div>
</div>
<div class="super_con" v-show="is_retract">
<el-form :label-position="labelPosition" :rules="rules" ref="ruleForm">
<el-row>
<el-col :span="12">
<el-form-item>
<el-checkbox v-model="FormData.tdpz_watchtime">watch time(s)</el-checkbox>
<el-input v-model="input1" placeholder="" style="width: 200px; height: 30px"
:disabled="isdisabled"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<el-checkbox v-model="FormData.tdpz_cjsylxdz">采集使用连续地址</el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="读写占空比:" :label-width="formLabelWidth">
<el-row>
<el-col :span="10">
<el-input v-model="tdpz_dxzkb1" style="width: 91px; height: 30px"></el-input>
</el-col>
<el-col :span="4">: </el-col>
<el-col :span="10">
<el-input v-model="tdpz_dxzkb2" style="width: 91px; height: 30px"></el-input>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="05/0F:" :label-width="formLabelWidth">
<el-row>
<el-col :span="8"><el-radio v-model="FormData.tdpz_050F" label="auto">auto</el-radio></el-col>
<el-col :span="8"><el-radio v-model="FormData.tdpz_050F" label="05">05</el-radio></el-col>
<el-col :span="8"><el-radio v-model="FormData.tdpz_050F" label="0F">0F</el-radio></el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="06/10:" :label-width="formLabelWidth">
<el-row>
<el-col :span="8"><el-radio v-model="FormData.tdpz_0610" label="auto">auto</el-radio></el-col>
<el-col :span="8"><el-radio v-model="FormData.tdpz_0610" label="06">06</el-radio></el-col>
<el-col :span="8"><el-radio v-model="FormData.tdpz_0610" label="10">10</el-radio></el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveGate"> </el-button>
<el-button @click="add_passage = false"> </el-button>
</span>
</el-dialog>
</div>
<div class="drvieName_All" v-show="diag_drive">
<div class="title">
<p class="title_l">协议选择</p>
<i class="el-icon-close title_r" @click="diag_drive = false"></i>
</div>
<el-divider></el-divider>
<el-tree :data="datas2" :props="defaultProps" @node-click="handleDetailClick" default-expand-all></el-tree>
</div>
</div>
</template>
<script>
import { SaveUserAnswer, GetUserAnswer, GetTree, SendTree } from "@/api/user";
export default {
name: "TestTreeView",
data() {
return {
loading: false,
flag: false,
FormData: {
tdpz_tdmc: "有线区Channel1",
tdpz_td: "网口",
tdpz_qdmc: "ModbusTCPClient",
tdpz_port: "",
tdpz_cssj: "",
tdpz_jgsj: "",
tdpz_lxsj: "",
tdpz_cfcs: "",
tdpz_watchtime: false,
tdpz_cjsylxdz: true,
tdpz_dxzkb: "",
tdpz_050F: "auto",
tdpz_0610: "auto",
},
tdpz_dxzkb1: "1",
tdpz_dxzkb2: "1",
tdpz_ip1: "",
tdpz_ip2: "",
tdpz_ip3: "",
tdpz_ip4: "",
options1: [
{
value: "有线区Channel1",
label: "有线区Channel1",
},
{
value: "无线区Channel1",
label: "无线区Channel1",
},
],
options2: [
{
value: "网口",
label: "网口",
},
{
value: "串口",
label: "串口",
},
],
value1: "有线区Channel1",
value2: "网口",
diag_drive: false,
isdisabled: true,
radio: "1",
is_retract: true,
labelPosition: "left",
formLabelWidth: "116px",
input1: 10,
add_passage: false,
rightMenu: "",
dialogVisible: true,
menuShow: false,
trees: [],
nodekey: "",
datas2: [
{
label: "通用标准",
children: [
{
label: "ModbusTCPClient",
},
{
label: "ModbusRTU_over_TCP",
},
{
label: "OPCUAClient",
},
{
label: "OPCDAClient",
},
{
label: "MQTTClient",
},
{
label: "OPCXMLDAClient",
},
{
label: "环保212协议网口监听",
},
],
},
{
label: "PLC",
children: [
{
label: "Slemens S7-200 Network",
},
{
label: "Slemens S7-300 Network",
},
{
label: "Slemens S7-400 Network",
},
{
label: "Slemens S7-1200 Network",
},
{
label: "Slemens S7-1500 Network",
},
{
label: "EtherNet/IP CIP协议(AB OMR ON)",
},
{
label: "MC_Qna-3E(三菱 基恩士 松下)",
},
{
label: "MC_A-1E_Binary",
},
{
label: "OMRON-FINS",
},
{
label: "横河PLC",
},
{
label: "西门子FetchWirte",
},
{
label: "富机 FUJI_SPH_NET",
},
{
label: "基恩士上位链路通讯",
},
],
},
{
label: "智能建筑",
children: [],
},
{
label: "厂家定制",
children: [],
},
{
label: "电力行业标准",
children: [
{
label: "IEC104",
},
{
label: "DLT645_over_TCP",
},
],
},
{
label: "CNC数控",
children: [],
},
{
label: "私有协议",
children: [],
},
],
defaultProps: {
children: "children",
label: "label",
},
rules: {
tdpz_tdmc: [
{ required: true, message: "请输入通道名称", trigger: "change" },
],
tdpz_td: [{ required: true, message: "请输入通道", trigger: "change" }],
tdpz_qdmc: [
{ required: true, message: "请输入驱动名称", trigger: "change" },
],
tdpz_ip: [{ required: true, message: "请输入ip地址", trigger: "blur" }],
tdpz_port: [
{ required: true, message: "请输入端口号", trigger: "blur" },
],
tdpz_cssj: [
{ required: true, message: "请输入超出时间", trigger: "blur" },
],
tdpz_jgsj: [
{ required: true, message: "请输入间隔时间", trigger: "blur" },
],
tdpz_lxsj: [
{ required: true, message: "请输入轮询时间", trigger: "blur" },
],
tdpz_cfcs: [
{ required: true, message: "请输入重复次数", trigger: "blur" },
],
},
};
},
created() {
console.log(this.$store.state.tree);
},
methods: {
//
edit(event) {
this.flag = true;
},
//
done(event) {
this.flag = false;
this.trees[0].label = this.gateway;
this.sendTree();
},
rightClick(e, data, node) {
console.log(data);
// console.log(node);
if (node.childNodes.length == 0) {
this.nodekey = data.id;
// if (data.id == 111 || data.label == "I/O") {
this.menuShow = false;
this.menuShow = true;
e.preventDefault(); //
this.rightMenu = { top: e.pageY + "px", left: e.pageX + "px" };
document.addEventListener("click", (ev) => {
ev.stopImmediatePropagation();
if (ev.target !== document.querySelector(".el-menu-item.is-active")) {
this.foo();
}
});
}
},
// ,
selectMenuNode(index, indexPath) {
console.log(index);
if (index == 1) {
this.add_passage = true;
}
this.menuShow = false;
},
foo() {
//
this.menuShow = false;
document.removeEventListener("click", this.foo); //
},
treeNodeClick(key) {
// console.log
this.foo();
},
//
getRetract() {
if (this.is_retract == true) {
this.is_retract = false;
} else {
this.is_retract = true;
}
},
getDriveName() {
this.diag_drive = true;
},
Merge(value, value1, value2, value3, value4) {
value = value1 + "." + value2 + "." + value3 + "." + value4;
return value;
},
async saveGate() {
this.add_passage = false;
var obj = {
tdpz_tdmc: this.FormData.tdpz_tdmc,
tdpz_td: this.FormData.tdpz_td,
tdpz_qdmc: this.FormData.tdpz_qdmc,
tdpz_port: this.FormData.tdpz_port,
tdpz_cssj: this.FormData.tdpz_cssj,
tdpz_jgsj: this.FormData.tdpz_jgsj,
tdpz_ip:
this.tdpz_ip1 +
"." +
this.tdpz_ip2 +
"." +
this.tdpz_ip3 +
"." +
this.tdpz_ip4,
tdpz_lxsj: this.FormData.tdpz_lxsj,
tdpz_cfcs: this.FormData.tdpz_cfcs,
tdpz_watchtime: String(Number(this.FormData.tdpz_watchtime)),
tdpz_cjsylxdz: String(Number(this.FormData.tdpz_cjsylxdz)),
tdpz_dxzkb: this.tdpz_dxzkb1 + ":" + this.tdpz_dxzkb2,
tdpz_050F: this.FormData.tdpz_050F,
tdpz_0610: this.FormData.tdpz_0610,
};
let datas = sessionStorage.getItem("DB-IotLite_yx");
datas = { ...JSON.parse(datas), ...obj };
let res = await SaveUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(datas),
});
if (res.status == 200) {
this.$message({
message: "保存成功",
type: "success",
});
}
sessionStorage.setItem("DB-IotLite_yx", JSON.stringify(datas));
console.log(res);
console.log(res.data.data.mark_value);
// this.$nextTick(() => {
this.$refs["tree"].append({
id: this.nodekey + 1000,
label: this.FormData.tdpz_tdmc
}, this.nodekey);
console.log(this.trees);
this.sendTree();
this.$router.push("/dbcollectdevice");
},
handleDetailClick(data, node, value) {
console.log(data.label);
console.log(data);
if (node.level == 2) {
this.FormData.tdpz_qdmc = data.label;
this.diag_drive = false;
console.log(result);
}
},
async GetUserAnswer() {
let answer = await GetUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301114011710",
});
console.log(answer);
if (answer.data.data && answer.data.state) {
let obj = JSON.parse(answer.data.data.mark_value);
console.log(obj);
// this.FormData.
if (obj.tdpz_dxzkb) {
this.tdpz_dxzkb1 = obj.tdpz_dxzkb.split(":")[0];
this.tdpz_dxzkb2 = obj.tdpz_dxzkb.split(":")[1];
}
this.FormData.tdpz_watchtime = Boolean(Number(obj.tdpz_watchtime));
if (obj.tdpz_cjsylxdz) {
this.FormData.tdpz_cjsylxdz = Boolean(Number(obj.tdpz_cjsylxdz));
}
if (obj.tdpz_ip) {
this.tdpz_ip1 = obj.tdpz_ip.split(".")[0];
this.tdpz_ip2 = obj.tdpz_ip.split(".")[1];
this.tdpz_ip3 = obj.tdpz_ip.split(".")[2];
this.tdpz_ip4 = obj.tdpz_ip.split(".")[3];
}
if (obj.tdpz_tdmc) {
this.FormData.tdpz_tdmc = obj.tdpz_tdmc;
}
if (obj.tdpz_td) {
this.FormData.tdpz_td = obj.tdpz_td;
}
this.FormData.tdpz_qdmc = obj.tdpz_qdmc;
if (obj.tdpz_050F) {
this.FormData.tdpz_050F = obj.tdpz_050F;
}
if (obj.tdpz_0610) {
this.FormData.tdpz_0610 = obj.tdpz_0610;
}
this.FormData.tdpz_port = obj.tdpz_port;
this.FormData.tdpz_cssj = obj.tdpz_cssj;
this.FormData.tdpz_jgsj = obj.tdpz_jgsj;
this.FormData.tdpz_lxsj = obj.tdpz_lxsj;
this.FormData.tdpz_cfcs = obj.tdpz_cfcs;
}
},
// renderContent(h, { node, data, store }) {
// return (
// <span class="custom-tree-node">
// <span>{node.label}</span>
// </span>);
// }
},
created() {
GetTree({
user_id: "USER202307301114011710",
type: "1",
}).then((res) => {
console.log(res);
console.log(JSON.parse(res.data.data.data));
this.trees = JSON.parse(res.data.data.data);
})
this.loading = true;
this.GetUserAnswer();
this.loading = false;
// let res2 = GetUserAnswer()
},
watch: {
// "FormData.tdpz_watchtime": {
// handler(old) {
// if (old) {
// this.isdisabled = false;
// } else {
// this.isdisabled = true;
// }
// },
// },
"FormData.tdpz_watchtime"(newval) {
console.log(newval);
if (newval) {
this.isdisabled = true;
} else {
this.isdisabled = false;
}
},
},
};
</script>
<style lang="less" scoped>
.tree_menu {
position: absolute;
width: 286px;
left: 64px;
top: 104px;
width: 286px;
height: 753px;
line-height: 20px;
border-radius: 3px;
background-color: rgba(255, 255, 255, 1);
text-align: center;
border: 1px solid rgba(220, 220, 220, 1);
}
.tree_rightmenu {
position: fixed;
width: 120px;
border: 1px solid rgba(0, 0, 0, 0.15);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
z-index: 1000;
}
.super_parmams {
display: flex;
color: #fff !important;
justify-content: space-between;
align-items: center;
width: 668px;
i {
width: 24px;
height: 24px;
display: inline-block;
}
}
/deep/ .pas_params {
.el-col-12:last-child {
padding-right: 150px;
}
.el-col-12:first-child {
padding-right: 38px;
}
.el-input__inner {
height: 30px;
text-align: left;
padding: 0px 8px;
}
.el-row {
display: flex;
align-items: flex-end;
.el-col-1 {
color: #fff !important;
text-align: center;
line-height: 20px;
height: 20px;
}
.el-col-6 {
height: 40px;
top: 6px;
left: 77px;
position: relative;
width: 50px;
}
}
}
.super_con {
.el-col-12:last-child {
padding-right: 28px;
}
.el-col-12:first-child {
padding-right: 42px;
}
.el-input__inner {
text-align: left;
padding: 0 8px;
}
.el-row {
color: #fff !important;
display: flex;
align-items: flex-end;
.el-col-4 {
padding-left: 5px;
width: 14px;
text-align: center;
line-height: 4px;
height: 20px;
}
}
}
.el-dialog__footer {
padding: 18px 1.25rem 50px;
}
.dialog-footer {
position: absolute;
left: 50%;
bottom: 45px;
transform: translateX(-50%);
}
/deep/ .drvieName_All {
position: absolute;
left: 1408px;
top: 140px;
width: 435px;
max-height: 720px;
z-index: 10000;
border: 1px solid #f5f5f5;
.title {
background-color: #fff;
padding: 5px 6px 5px 25px;
display: flex;
justify-content: space-between;
.title_l {
width: 103px;
height: 26px;
color: rgba(16, 16, 16, 1);
font-size: 18px;
text-align: left;
}
.title_r {
width: 24px;
height: 24px;
line-height: 24px;
cursor: pointer;
color: rgba(111, 103, 103, 1);
}
}
// h3 {
// padding-bottom: 10px;
// background-color: #fff;
// }
.el-divider--horizontal {
margin: 0px;
}
}
</style>

View File

@ -8,7 +8,7 @@ export const SaveUserAnswer = (data) => {
); );
}; };
export const GetUserAnswer = (data) => { export const GetUserAnswer = (data) => {
return axios.get( axios.get(
`/wangguan?action=querycache&mark=${data.mark}&user_id=${data.user_id}` `/wangguan?action=querycache&mark=${data.mark}&user_id=${data.user_id}`
); );
}; };
@ -25,6 +25,11 @@ export const SendTree = (data) => {
//最新拿缓存请求接口 //最新拿缓存请求接口
// export let GetUserAnswer = (data) => { // export let GetUserAnswer = (data) => {
// return axios.get( // return axios.get(
// `/Handler/Config.ash?action=querycache&mark=${data.mark}&user_id=${data.user_id}` // `/Handler/Config.ashx?action=querycache&mark=${data.mark}&user_id=${data.user_id}`
// ); // );
// }; // };
//避免考生中途换电脑的解决方案 在每次拿取考试缓存数据的时候本地存储一份
// function(mark,data) {
// sessionStorage.setItem(`${mark}`,JSON.stringify(data))
// }

View File

@ -379,7 +379,12 @@
size="small" size="small"
>编辑</el-button >编辑</el-button
> >
<el-button type="text" size="small">删除</el-button> <el-button
type="text"
size="small"
@click="handleDel(scope.$index, scope.row)"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -1027,6 +1032,31 @@ export default {
}); });
} }
}, },
//
async handleDel(index, row) {
this.tableData1 = [];
let obj = JSON.parse(sessionStorage.getItem("GYWZ_yx"));
obj.cmdlist_ml = "";
obj.cmdlist_sbid = "";
obj.cmdlist_qsdz = "";
obj.cmdlist_dzcd = "";
obj.cmdlist_ms = "";
obj.cmdlist_dz = "";
localStorage.setItem("GYWZ_yx", JSON.stringify(obj));
let { data } = await SaveUserAnswer({
mark: "GYWZ_yx",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(obj),
});
if (data.state) {
this.$message({
message: "删除成功",
type: "success",
});
} else {
this.$message.error("删除失败");
}
},
}, },
}; };
</script> </script>

View File

@ -5,16 +5,26 @@
<!-- <div v-click-outside="closeMenu"> --> <!-- <div v-click-outside="closeMenu"> -->
<!-- <el-button type="info" plain @click="dialogVisible = true">斥侯MQTT云</el-button> --> <!-- <el-button type="info" plain @click="dialogVisible = true">斥侯MQTT云</el-button> -->
<div v-show="dialogVisible" class="tree_menu"> <div v-show="dialogVisible" class="tree_menu">
<el-tree :data="datas" :props="defaultProps" @node-click="treeNodeClick" default-expand-all></el-tree> <el-tree
:data="datas"
:props="defaultProps"
@node-click="treeNodeClick"
default-expand-all
></el-tree>
<!-- 树形控件右键组件 --> <!-- 树形控件右键组件 -->
</div> </div>
<!-- </div> --> <!-- </div> -->
<div class="pas_params" v-show="add_passage" v-loading="loading"> <div class="pas_params" v-show="add_passage" v-loading="loading">
<div class="content"> <div class="content">
<div class="con_left"> <div class="con_left">
<h3 class="mqtt" style="margin-top: 20px;color: white;">标准 MQTT</h3> <h3 class="mqtt" style="margin-top: 20px; color: white">标准 MQTT</h3>
<el-divider></el-divider> <el-divider></el-divider>
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item> <el-form-item>
@ -24,22 +34,42 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务器IP:" :label-width="formLabelWidth" prop="mqtt_ip"> <el-form-item
label="服务器IP:"
:label-width="formLabelWidth"
prop="mqtt_ip"
>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip1" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip1"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col> <el-col :span="1">. </el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip2" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip2"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip3" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip3"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip4" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip4"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@ -47,31 +77,62 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关SN:" :label-width="formLabelWidth" prop="mqtt_wgsn"> <el-form-item
<el-input v-model="formData.mqtt_wgsn" placeholder="" style="width: 200px; height: 30px"></el-input> label="网关SN:"
:label-width="formLabelWidth"
prop="mqtt_wgsn"
>
<el-input
v-model="formData.mqtt_wgsn"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="端口:" :label-width="formLabelWidth" prop="mqtt_port"> <el-form-item
<el-input v-model="formData.mqtt_port" placeholder="" style="width: 200px; height: 30px"></el-input> label="端口:"
:label-width="formLabelWidth"
prop="mqtt_port"
>
<el-input
v-model="formData.mqtt_port"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Keep Alive(s):" :label-width="formLabelWidth" prop="mqtt_keepalive"> <el-form-item
<el-input v-model="formData.mqtt_keepalive" placeholder="" label="Keep Alive(s):"
style="width: 200px; height: 30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_keepalive"
>
<el-input
v-model="formData.mqtt_keepalive"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
<div class="infos">2-60000</div> <div class="infos">2-60000</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="实施数据发布主题:" :label-width="formLabelWidth" prop="mqtt_keepalive"> <el-form-item
<el-input v-model="formData.mqtt_sssjfbzt" placeholder="" style="width: 200px; height: 30px"></el-input> label="实施数据发布主题:"
:label-width="formLabelWidth"
prop="mqtt_keepalive"
>
<el-input
v-model="formData.mqtt_sssjfbzt"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -97,9 +158,22 @@
<el-form-item> <el-form-item>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Qos(MQTT):" :label-width="formLabelWidth" prop="upload_week"> <el-form-item
<el-select v-model="formData.mqtt_qos" placeholder="请选择" style="width: 200px"> label="Qos(MQTT):"
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="upload_week"
>
<el-select
v-model="formData.mqtt_qos"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -148,16 +222,24 @@
<el-table-column property="mqtt_cjd_sbmc" label="设备名称"> <el-table-column property="mqtt_cjd_sbmc" label="设备名称">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder=""> <el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder="">
<el-option v-for="(option, index) in options2" :key="index" :label="option.label" <el-option
:value="option.value"></el-option> v-for="(option, index) in options2"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="mqtt_cjd_tagid" label="TagID"> <el-table-column property="mqtt_cjd_tagid" label="TagID">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_tagid" placeholder=""> <el-select v-model="scope.row.mqtt_cjd_tagid" placeholder="">
<el-option v-for="(option, index) in options3" :key="index" :label="option.label" <el-option
:value="option.value"></el-option> v-for="(option, index) in options3"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -168,8 +250,14 @@
<!-- 添加按钮下显示出来的弹框信息 --> <!-- 添加按钮下显示出来的弹框信息 -->
<div> <div>
<el-dialog title="选择点" :visible.sync="choose_point" width="30%"> <el-dialog title="选择点" :visible.sync="choose_point" width="30%">
<el-tree :data="points" show-checkbox node-key="id" :default-expanded-keys="[1, 2]" <el-tree
:default-checked-keys="[3, 4, 5, 6]" :props="defaultProps"> :data="points"
show-checkbox
node-key="id"
:default-expanded-keys="[1, 2]"
:default-checked-keys="[3, 4, 5, 6]"
:props="defaultProps"
>
</el-tree> </el-tree>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="savePoint"> </el-button> <el-button type="primary" @click="savePoint"> </el-button>
@ -198,6 +286,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
mqtt_qiyong: false, mqtt_qiyong: false,
mqtt_ip: "", mqtt_ip: "",
@ -317,99 +406,130 @@ export default {
{ {
label: "无线区精雕1", label: "无线区精雕1",
value: "无线区精雕1", value: "无线区精雕1",
} },
], ],
options3: [{ options3: [
{
value: "MachinePamHID909", value: "MachinePamHID909",
label: "MachinePamHID909", label: "MachinePamHID909",
}, { },
{
value: "MachinePamHID910", value: "MachinePamHID910",
label: "MachinePamHID910", label: "MachinePamHID910",
}, { },
{
value: "MachinePamHID911", value: "MachinePamHID911",
label: "MachinePamHID911", label: "MachinePamHID911",
}, { },
{
value: "MachinePamHID912", value: "MachinePamHID912",
label: "MachinePamHID912", label: "MachinePamHID912",
}, { },
{
value: "MachinePamHID913", value: "MachinePamHID913",
label: "MachinePamHID913", label: "MachinePamHID913",
}, { },
{
value: "MachinePamHID914", value: "MachinePamHID914",
label: "MachinePamHID914", label: "MachinePamHID914",
}, { },
{
value: "MachinePamHID915", value: "MachinePamHID915",
label: "MachinePamHID915", label: "MachinePamHID915",
}, { },
{
value: "MachinePamHID916", value: "MachinePamHID916",
label: "MachinePamHID916", label: "MachinePamHID916",
}, { },
{
value: "MachinePamHID917", value: "MachinePamHID917",
label: "MachinePamHID917", label: "MachinePamHID917",
}, { },
{
value: "MachinePamHID918", value: "MachinePamHID918",
label: "MachinePamHID918", label: "MachinePamHID918",
}, { },
{
value: "MachinePamHID919", value: "MachinePamHID919",
label: "MachinePamHID919", label: "MachinePamHID919",
}, { },
{
value: "MachinePamHID920", value: "MachinePamHID920",
label: "MachinePamHID920", label: "MachinePamHID920",
}, { },
{
value: "MachinePamHID921", value: "MachinePamHID921",
label: "MachinePamHID921", label: "MachinePamHID921",
}, { },
{
value: "MachinePamHID922", value: "MachinePamHID922",
label: "MachinePamHID922", label: "MachinePamHID922",
}, { },
{
value: "MachinePamHID923", value: "MachinePamHID923",
label: "MachinePamHID923", label: "MachinePamHID923",
}, { },
{
value: "MachinePamHID924", value: "MachinePamHID924",
label: "MachinePamHID924", label: "MachinePamHID924",
}, { },
{
value: "MachinePamHID925", value: "MachinePamHID925",
label: "MachinePamHID925", label: "MachinePamHID925",
}, { },
{
value: "MachinePamHID926", value: "MachinePamHID926",
label: "MachinePamHID926", label: "MachinePamHID926",
}, { },
{
value: "MachinePamHID927", value: "MachinePamHID927",
label: "MachinePamHID927", label: "MachinePamHID927",
}, { },
{
value: "MachinePamHID928", value: "MachinePamHID928",
label: "MachinePamHID928", label: "MachinePamHID928",
}, { },
{
value: "MachinePamHID929", value: "MachinePamHID929",
label: "MachinePamHID929", label: "MachinePamHID929",
}, { },
{
value: "MachinePamHID930", value: "MachinePamHID930",
label: "MachinePamHID930", label: "MachinePamHID930",
}, { },
{
value: "MachinePamHID931", value: "MachinePamHID931",
label: "MachinePamHID931", label: "MachinePamHID931",
}, { },
{
value: "MachinePamHID932", value: "MachinePamHID932",
label: "MachinePamHID932", label: "MachinePamHID932",
}, { },
{
value: "MachinePamHID933", value: "MachinePamHID933",
label: "MachinePamHID933", label: "MachinePamHID933",
}, { },
{
value: "MachinePamHID934", value: "MachinePamHID934",
label: "MachinePamHID934", label: "MachinePamHID934",
}, { },
{
value: "MachinePamHID935", value: "MachinePamHID935",
label: "MachinePamHID935", label: "MachinePamHID935",
}, { },
{
value: "MachinePamHID936", value: "MachinePamHID936",
label: "MachinePamHID936", label: "MachinePamHID936",
}, { },
{
value: "MachinePamHID937", value: "MachinePamHID937",
label: "MachinePamHID937", label: "MachinePamHID937",
}, { },
{
value: "MachinePamHID938", value: "MachinePamHID938",
label: "MachinePamHID938", label: "MachinePamHID938",
}], },
],
tableData: [ tableData: [
{ {
mqtt_cjd_sbmc: "无线区精雕1", mqtt_cjd_sbmc: "无线区精雕1",
@ -441,7 +561,14 @@ export default {
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
treeNodeClick() { treeNodeClick() {
this.add_passage = true; this.add_passage = true;
}, },
@ -454,10 +581,10 @@ export default {
this.choose_point = true; this.choose_point = true;
} else if (key == 1 && this.isAdd == true) { } else if (key == 1 && this.isAdd == true) {
this.$message({ this.$message({
message: '添加失败,只能添加一条数据', message: "添加失败,只能添加一条数据",
type: 'error' type: "error",
}); });
return false return false;
} }
}, },
highlighter(code) { highlighter(code) {
@ -471,8 +598,8 @@ export default {
this.choose_point = false; this.choose_point = false;
this.isAdd = true; this.isAdd = true;
this.$message({ this.$message({
message: '添加成功', message: "添加成功",
type: 'success' type: "success",
}); });
}, },
async handleSelect() { async handleSelect() {
@ -497,7 +624,14 @@ export default {
// this.formData.mqtt_clearsession = String(Number(this.formData.mqtt_clearsession)); // this.formData.mqtt_clearsession = String(Number(this.formData.mqtt_clearsession));
var obj = { var obj = {
// mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)), // mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)),
mqtt_ip: this.mqtt_ip1 + "." + this.mqtt_ip2 + "." + this.mqtt_ip3 + "." + this.mqtt_ip4, mqtt_ip:
this.mqtt_ip1 +
"." +
this.mqtt_ip2 +
"." +
this.mqtt_ip3 +
"." +
this.mqtt_ip4,
mqtt_wgsn: this.formData.mqtt_wgsn, mqtt_wgsn: this.formData.mqtt_wgsn,
mqtt_port: this.formData.mqtt_port, mqtt_port: this.formData.mqtt_port,
mqtt_keepalive: this.formData.mqtt_keepalive, mqtt_keepalive: this.formData.mqtt_keepalive,
@ -505,7 +639,7 @@ export default {
mqtt_qos: this.formData.mqtt_qos, mqtt_qos: this.formData.mqtt_qos,
mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc, mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc,
mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid, mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid,
} };
let datas = sessionStorage.getItem("CHGYWG_yx"); let datas = sessionStorage.getItem("CHGYWG_yx");
datas = { ...JSON.parse(datas), ...obj }; datas = { ...JSON.parse(datas), ...obj };
let res = await SaveUserAnswer({ let res = await SaveUserAnswer({
@ -515,8 +649,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);
@ -729,4 +863,3 @@ export default {
} }
} }
</style> </style>

View File

@ -5,7 +5,12 @@
<!-- <div v-click-outside="closeMenu"> --> <!-- <div v-click-outside="closeMenu"> -->
<!-- <el-button type="info" plain @click="dialogVisible = true">斥侯MQTT云</el-button> --> <!-- <el-button type="info" plain @click="dialogVisible = true">斥侯MQTT云</el-button> -->
<div v-show="dialogVisible" class="tree_menu"> <div v-show="dialogVisible" class="tree_menu">
<el-tree :data="datas" :props="defaultProps" @node-click="treeNodeClick" default-expand-all></el-tree> <el-tree
:data="datas"
:props="defaultProps"
@node-click="treeNodeClick"
default-expand-all
></el-tree>
<!-- 树形控件右键组件 --> <!-- 树形控件右键组件 -->
</div> </div>
<!-- </div> --> <!-- </div> -->
@ -14,7 +19,12 @@
<div class="con_left"> <div class="con_left">
<h3 class="mqtt" style="margin-top: 20px; color: white">标准 MQTT</h3> <h3 class="mqtt" style="margin-top: 20px; color: white">标准 MQTT</h3>
<el-divider></el-divider> <el-divider></el-divider>
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item> <el-form-item>
@ -24,22 +34,42 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务器IP:" :label-width="formLabelWidth" prop="mqtt_ip"> <el-form-item
label="服务器IP:"
:label-width="formLabelWidth"
prop="mqtt_ip"
>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip1" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip1"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col> <el-col :span="1">. </el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip2" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip2"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip3" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip3"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="mqtt_ip4" style="width: 43px; height: 30px" maxlength="3"></el-input> <el-input
v-model="mqtt_ip4"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@ -47,31 +77,62 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关SN:" :label-width="formLabelWidth" prop="mqtt_wgsn"> <el-form-item
<el-input v-model="formData.mqtt_wgsn" placeholder="" style="width: 200px; height: 30px"></el-input> label="网关SN:"
:label-width="formLabelWidth"
prop="mqtt_wgsn"
>
<el-input
v-model="formData.mqtt_wgsn"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="端口:" :label-width="formLabelWidth" prop="mqtt_port"> <el-form-item
<el-input v-model="formData.mqtt_port" placeholder="" style="width: 200px; height: 30px"></el-input> label="端口:"
:label-width="formLabelWidth"
prop="mqtt_port"
>
<el-input
v-model="formData.mqtt_port"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Keep Alive(s):" :label-width="formLabelWidth" prop="mqtt_keepalive"> <el-form-item
<el-input v-model="formData.mqtt_keepalive" placeholder="" label="Keep Alive(s):"
style="width: 200px; height: 30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_keepalive"
>
<el-input
v-model="formData.mqtt_keepalive"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
<div class="infos">2-60000</div> <div class="infos">2-60000</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="实施数据发布主题:" :label-width="formLabelWidth" prop="mqtt_keepalive"> <el-form-item
<el-input v-model="formData.mqtt_sssjfbzt" placeholder="" style="width: 200px; height: 30px"></el-input> label="实施数据发布主题:"
:label-width="formLabelWidth"
prop="mqtt_keepalive"
>
<el-input
v-model="formData.mqtt_sssjfbzt"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -97,9 +158,22 @@
<el-form-item> <el-form-item>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Qos(MQTT):" :label-width="formLabelWidth" prop="upload_week"> <el-form-item
<el-select v-model="formData.mqtt_qos" placeholder="请选择" style="width: 200px"> label="Qos(MQTT):"
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="upload_week"
>
<el-select
v-model="formData.mqtt_qos"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -148,16 +222,24 @@
<el-table-column property="mqtt_cjd_sbmc" label="设备名称"> <el-table-column property="mqtt_cjd_sbmc" label="设备名称">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder=""> <el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder="">
<el-option v-for="(option, index) in options2" :key="index" :label="option.label" <el-option
:value="option.value"></el-option> v-for="(option, index) in options2"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="mqtt_cjd_tagid" label="TagID"> <el-table-column property="mqtt_cjd_tagid" label="TagID">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_tagid" placeholder=""> <el-select v-model="scope.row.mqtt_cjd_tagid" placeholder="">
<el-option v-for="(option, index) in options3" :key="index" :label="option.label" <el-option
:value="option.value"></el-option> v-for="(option, index) in options3"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -168,8 +250,14 @@
<!-- 添加按钮下显示出来的弹框信息 --> <!-- 添加按钮下显示出来的弹框信息 -->
<div> <div>
<el-dialog title="选择点" :visible.sync="choose_point" width="30%"> <el-dialog title="选择点" :visible.sync="choose_point" width="30%">
<el-tree :data="points" show-checkbox node-key="id" :default-expanded-keys="[1, 2]" <el-tree
:default-checked-keys="[3, 4, 5, 6]" :props="defaultProps"> :data="points"
show-checkbox
node-key="id"
:default-expanded-keys="[1, 2]"
:default-checked-keys="[3, 4, 5, 6]"
:props="defaultProps"
>
</el-tree> </el-tree>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="savePoint"> </el-button> <el-button type="primary" @click="savePoint"> </el-button>
@ -198,6 +286,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
mqtt_qiyong: true, mqtt_qiyong: true,
mqtt_ip: "", mqtt_ip: "",
@ -469,7 +558,14 @@ export default {
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
treeNodeClick() { treeNodeClick() {
this.add_passage = true; this.add_passage = true;
}, },

View File

@ -9,11 +9,23 @@
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div class="content"> <div class="content">
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="客户端SSID:" :label-width="formLabelWidth" prop="ippz_ssid"> <el-form-item
<el-input v-model="formData.ippz_ssid" placeholder="请输入WIFI名字"></el-input> label="客户端SSID:"
:label-width="formLabelWidth"
prop="ippz_ssid"
>
<el-input
v-model="formData.ippz_ssid"
placeholder="请输入WIFI名字"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -21,7 +33,12 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="认证方式:" :label-width="formLabelWidth"> <el-form-item label="认证方式:" :label-width="formLabelWidth">
<el-select v-model="formData.ippz_rzfs" placeholder="开放式"> <el-select v-model="formData.ippz_rzfs" placeholder="开放式">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> <el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -31,7 +48,12 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="加密方式:" :label-width="formLabelWidth"> <el-form-item label="加密方式:" :label-width="formLabelWidth">
<el-select v-model="formData.ippz_jmfs" placeholder="NONE"> <el-select v-model="formData.ippz_jmfs" placeholder="NONE">
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"> <el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -39,8 +61,15 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="密码:" :label-width="formLabelWidth" prop="ippz_mm"> <el-form-item
<el-input v-model="formData.ippz_mm" placeholder="请输入wifi密码"></el-input> label="密码:"
:label-width="formLabelWidth"
prop="ippz_mm"
>
<el-input
v-model="formData.ippz_mm"
placeholder="请输入wifi密码"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -55,12 +84,13 @@
</template> </template>
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from '@/api/user'; import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default { export default {
name: "ChiGate", name: "ChiGate",
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
ippz_ssid: "", ippz_ssid: "",
ippz_rzfs: "开放式", //WPA2-PSK ippz_rzfs: "开放式", //WPA2-PSK
@ -124,9 +154,14 @@ export default {
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async saveGate() { async saveGate() {
let datas = sessionStorage.getItem("CHGYWG_wx"); let datas = sessionStorage.getItem("CHGYWG_wx");
datas = { ...JSON.parse(datas), ...this.formData }; datas = { ...JSON.parse(datas), ...this.formData };
@ -137,8 +172,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);

View File

@ -8,12 +8,30 @@
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div class="content"> <div class="content">
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关名称:" :label-width="formLabelWidth" prop="wgpz_wgmc"> <el-form-item
<el-select v-model="formData.wgpz_wgmc" placeholder="请选择" style="width: 200px"> label="网关名称:"
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="wgpz_wgmc"
>
<el-select
v-model="formData.wgpz_wgmc"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -21,23 +39,43 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关ID:" :label-width="formLabelWidth" prop="wgpz_wgid"> <el-form-item
<el-select v-model="formData.wgpz_wgid" placeholder="请选择" style="width: 200px"> label="网关ID:"
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="wgpz_wgid"
>
<el-select
v-model="formData.wgpz_wgid"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="footer"> <div class="footer">
<el-button type="primary" @click="innerVisible = true"> </el-button> <el-button type="primary" @click="innerVisible = true"
> </el-button
>
<el-button @click="isShow = false"> </el-button> <el-button @click="isShow = false"> </el-button>
</div> </div>
</el-form> </el-form>
</div> </div>
</div> </div>
<div> <div>
<el-dialog title="系统提示" :visible.sync="innerVisible" append-to-body width="382px"> <el-dialog
title="系统提示"
:visible.sync="innerVisible"
append-to-body
width="382px"
>
<p class="inner_content"> <p class="inner_content">
请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关 请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关
</p> </p>
@ -57,6 +95,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
options1: [ options1: [
{ {
value: "有线区网关2", value: "有线区网关2",
@ -99,8 +138,13 @@ export default {
mounted() { mounted() {
this.GetUserAnswer(); this.GetUserAnswer();
let that = this;
window.getParameter = that.getParameter;
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async saveGate() { async saveGate() {
let datas = sessionStorage.getItem("CHGYWG_yx"); let datas = sessionStorage.getItem("CHGYWG_yx");
this.formData = { ...JSON.parse(datas), ...this.formData }; this.formData = { ...JSON.parse(datas), ...this.formData };
@ -111,8 +155,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);

View File

@ -9,12 +9,30 @@
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div class="content"> <div class="content">
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关名称:" :label-width="formLabelWidth" prop="wgpz_wgmc"> <el-form-item
<el-select v-model="formData.wgpz_wgmc" placeholder="请选择" style="width: 200px;"> label="网关名称:"
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="wgpz_wgmc"
>
<el-select
v-model="formData.wgpz_wgmc"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -22,16 +40,31 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关ID:" :label-width="formLabelWidth" prop="wgpz_wgid"> <el-form-item
<el-select v-model="formData.wgpz_wgid" placeholder="请选择" style="width: 200px;"> label="网关ID:"
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"> :label-width="formLabelWidth"
prop="wgpz_wgid"
>
<el-select
v-model="formData.wgpz_wgid"
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="footer"> <div class="footer">
<el-button type="primary" @click="innerVisible = true"> </el-button> <el-button type="primary" @click="innerVisible = true"
> </el-button
>
<el-button @click="isShow = false"> </el-button> <el-button @click="isShow = false"> </el-button>
</div> </div>
@ -39,7 +72,12 @@
</div> </div>
</div> </div>
<div> <div>
<el-dialog title="系统提示" :visible.sync="innerVisible" append-to-body width="382px"> <el-dialog
title="系统提示"
:visible.sync="innerVisible"
append-to-body
width="382px"
>
<p class="inner_content" style="color: #fff"> <p class="inner_content" style="color: #fff">
请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关 请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关
</p> </p>
@ -53,27 +91,34 @@
</template> </template>
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from '@/api/user'; import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default { export default {
name: "TestChiGate", name: "TestChiGate",
data() { data() {
return { return {
loading: false, loading: false,
options1: [{ user_id: "",
options1: [
{
value: "有线区网关2", value: "有线区网关2",
label: "有线区网关2" label: "有线区网关2",
}, { },
{
value: "无线区网关2", value: "无线区网关2",
label: "无线区网关2" label: "无线区网关2",
}], },
options2: [{ ],
options2: [
{
value: "LAN-BOX2", value: "LAN-BOX2",
label: "LAN-BOX2" label: "LAN-BOX2",
}, { },
{
value: "WLAN-BOX2", value: "WLAN-BOX2",
label: "WLAN-BOX2" label: "WLAN-BOX2",
}], },
],
formData: { formData: {
wgpz_wgmc: "有线区网关2", wgpz_wgmc: "有线区网关2",
wgpz_wgid: "LAN-BOX2", wgpz_wgid: "LAN-BOX2",
@ -83,33 +128,46 @@ export default {
formLabelWidth: "96px", formLabelWidth: "96px",
count: 0, count: 0,
isShow: true, isShow: true,
options: [{ options: [
value: '选项1', {
label: '测试1' value: "选项1",
}, { label: "测试1",
value: '选项2', },
label: '测试2' {
}, { value: "选项2",
value: '选项3', label: "测试2",
label: '测试3' },
}, { {
value: '选项4', value: "选项3",
label: '测试4' label: "测试3",
}, { },
value: '选项5', {
label: '测试5' value: "选项4",
}], label: "测试4",
},
{
value: "选项5",
label: "测试5",
},
],
rules: { rules: {
gateway_id: [ gateway_id: [
{ required: true, message: '请输入网关ID', trigger: 'blur' }, { required: true, message: "请输入网关ID", trigger: "blur" },
], ],
gateway_name: [ gateway_name: [
{ required: true, message: '请输入网关名称', trigger: 'blur' }, { required: true, message: "请输入网关名称", trigger: "blur" },
], ],
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async saveGate() { async saveGate() {
let datas = sessionStorage.getItem("CHGYWG_wx"); let datas = sessionStorage.getItem("CHGYWG_wx");
this.formData = { ...JSON.parse(datas), ...this.formData }; this.formData = { ...JSON.parse(datas), ...this.formData };
@ -120,8 +178,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);

View File

@ -132,6 +132,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
ippz_wllx: "静态IP", ippz_wllx: "静态IP",
ippz_ip: "", ippz_ip: "",
@ -181,10 +182,15 @@ export default {
}, },
created() { created() {
this.GetUserAnswer(); this.GetUserAnswer();
let that = this;
window.getParameter = that.getParameter;
}, },
mounted() { }, mounted() { },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
Merge(value, value1, value2, value3, value4) { Merge(value, value1, value2, value3, value4) {
value = value1 + "." + value2 + "." + value3 + "." + value4; value = value1 + "." + value2 + "." + value3 + "." + value4;
return value; return value;

View File

@ -4,16 +4,27 @@
<!-- <div v-click-outside="closeMenu"> --> <!-- <div v-click-outside="closeMenu"> -->
<!-- <el-button type="info" plain @click="dialogVisible = !dialogVisible">MQTT云</el-button> --> <!-- <el-button type="info" plain @click="dialogVisible = !dialogVisible">MQTT云</el-button> -->
<div v-show="dialogVisible" class="tree_menu"> <div v-show="dialogVisible" class="tree_menu">
<el-tree :data="datas" :props="defaultProps" default-expand-all @node-click="treeNodeClick"></el-tree> <el-tree
:data="datas"
:props="defaultProps"
default-expand-all
@node-click="treeNodeClick"
></el-tree>
</div> </div>
<!-- </div> --> <!-- </div> -->
<div class="pas_params" v-show="add_passage"> <div class="pas_params" v-show="add_passage">
<div class="content" v-loading="loading"> <div class="content" v-loading="loading">
<div class="con_left"> <div class="con_left">
<h3 class="mqtt" style="margin-top: 20px;color: white;">MQTT Client</h3> <h3 class="mqtt" style="margin-top: 20px; color: white">
MQTT Client
</h3>
<el-divider></el-divider> <el-divider></el-divider>
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item> <el-form-item>
@ -23,35 +34,50 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务器IP:" :label-width="formLabelWidth" prop="mqtt_ip"> <el-form-item
label="服务器IP:"
:label-width="formLabelWidth"
prop="mqtt_ip"
>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip1"> <el-form-item prop="mqtt_ip1">
<el-input v-model="mqtt_ip1" style="width: 43px; height: 30px;" <el-input
maxlength="3"> v-model="mqtt_ip1"
style="width: 43px; height: 30px"
maxlength="3"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">. <el-col :span="1">. </el-col>
</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip2"> <el-form-item prop="mqtt_ip2">
<el-input v-model="mqtt_ip2" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip2"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip3"> <el-form-item prop="mqtt_ip3">
<el-input v-model="mqtt_ip3" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip3"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip4"> <el-form-item prop="mqtt_ip4">
<el-input v-model="mqtt_ip4" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip4"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -60,34 +86,63 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="端口号:" :label-width="formLabelWidth" prop="mqtt_port"> <el-form-item
<el-input v-model="formData.mqtt_port" placeholder="" label="端口号:"
style="width: 200px;height:30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_port"
>
<el-input
v-model="formData.mqtt_port"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关SN号:" :label-width="formLabelWidth" prop="mqtt_wgsn"> <el-form-item
<el-input v-model="formData.mqtt_wgsn" placeholder="" label="网关SN号:"
style="width: 200px;height:30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_wgsn"
>
<el-input
v-model="formData.mqtt_wgsn"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-divider></el-divider> <el-divider></el-divider>
<el-row class="theme"> <el-row class="theme">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="实时数据发布的主题" style="display: block;" label-width="168px" <el-form-item
prop="mqtt_sssjfbzt"> label="实时数据发布的主题"
style="display: block"
label-width="168px"
prop="mqtt_sssjfbzt"
>
<el-row> <el-row>
<el-col :span="15"> <el-col :span="15">
<el-input v-model="formData.mqtt_sssjfbzt" placeholder="" <el-input
style="width: 200px;"></el-input> v-model="formData.mqtt_sssjfbzt"
placeholder=""
style="width: 200px"
></el-input>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-select v-model="formData.mqtt_qos" placeholder="请选择" style="width: 99px;"> <el-select
<el-option v-for="item in options1" :key="item.value" :label="item.label" v-model="formData.mqtt_qos"
:value="item.value"> placeholder="请选择"
style="width: 99px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-col> </el-col>
@ -99,6 +154,62 @@
<el-switch v-model="formData.mqtt_retained"></el-switch> <el-switch v-model="formData.mqtt_retained"></el-switch>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<<<<<<< HEAD
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="上传模式:"
:label-width="formLabelWidth"
prop="mqtt_scms"
>
<el-input
v-model="formData.mqtt_scms"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="上传周期(s):"
label-width="108px"
prop="mqtt_sczq"
>
<el-input
v-model="formData.mqtt_sczq"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="数据过滤:"
:label-width="formLabelWidth"
prop="mqtt_sjgl"
>
<el-checkbox-group v-model="formData.mqtt_sjgl">
<el-checkbox label="值改变"></el-checkbox>
<el-checkbox label="采集成功"></el-checkbox>
<el-checkbox label="时间戳改变"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<div class="con_left_footer">
<el-button type="primary" @click="saveClone"> </el-button>
<el-button @click="add_passage = false"> </el-button>
</div>
</el-form>
</div>
<div>
<div class="con_right">
<el-button type="info" plain @click="handleSelect">保存</el-button>
<!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect">
=======
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -139,10 +250,41 @@
<div class="con_right"> <div class="con_right">
<el-button type="info" plain @click="handleSelect">保存</el-button> <el-button type="info" plain @click="handleSelect">保存</el-button>
<!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect"> <!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect">
>>>>>>> 42cfd39927acf79f394e3a60cae81f6a32163f26
<el-menu-item index="1">添加</el-menu-item> <el-menu-item index="1">添加</el-menu-item>
<el-menu-item index="2">保存</el-menu-item> <el-menu-item index="2">保存</el-menu-item>
<el-menu-item index="3">删除</el-menu-item> <el-menu-item index="3">删除</el-menu-item>
</el-menu> --> </el-menu> -->
<<<<<<< HEAD
</div>
<el-table ref="singleTable" :data="tableData" style="width: 100%">
<el-table-column type="index"> </el-table-column>
<el-table-column property="mqtt_cjd_sbmc" label="设备名称">
<template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder="">
<el-option
v-for="(option, index) in options2"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column property="mqtt_cjd_tagid" label="TagID">
<template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_tagid" placeholder="">
<el-option
v-for="(option, index) in options3"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select>
</template>
</el-table-column>
</el-table>
=======
</div> </div>
<el-table ref="singleTable" :data="tableData" style="width: 100%"> <el-table ref="singleTable" :data="tableData" style="width: 100%">
<el-table-column type="index"> </el-table-column> <el-table-column type="index"> </el-table-column>
@ -177,6 +319,27 @@
<el-button @click="choose_point = false"> </el-button> <el-button @click="choose_point = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
>>>>>>> 42cfd39927acf79f394e3a60cae81f6a32163f26
</div>
</div>
</div>
<!-- 添加按钮下显示出来的弹框信息 -->
<div>
<el-dialog title="选择点" :visible.sync="choose_point" width="30%">
<el-tree
:data="points"
show-checkbox
node-key="id"
:default-expanded-keys="[1, 2]"
:default-checked-keys="[3, 4, 5, 6]"
:props="defaultProps"
>
</el-tree>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="savePoint"> </el-button>
<el-button @click="choose_point = false"> </el-button>
</span>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
@ -184,11 +347,12 @@
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from "@/api/user"; import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default { export default {
name: 'CloneView', name: "CloneView",
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
mqtt_qiyong: true, mqtt_qiyong: true,
mqtt_ip: "", mqtt_ip: "",
@ -199,40 +363,48 @@ export default {
// mqtt_retained: false, // mqtt_retained: false,
mqtt_scms: "周期上传", mqtt_scms: "周期上传",
mqtt_sczq: "", mqtt_sczq: "",
mqtt_sjgl: ['采集成功'], mqtt_sjgl: ["采集成功"],
}, },
mqtt_ip1: "", mqtt_ip1: "",
mqtt_ip2: "", mqtt_ip2: "",
mqtt_ip3: "", mqtt_ip3: "",
mqtt_ip4: "", mqtt_ip4: "",
options1: [{ options1: [
{
value: "qos0", value: "qos0",
label: "qos0" label: "qos0",
}, },
{ {
value: "qos1", value: "qos1",
label: "qos1" label: "qos1",
}, { },
{
value: "qos2", value: "qos2",
label: "qos2" label: "qos2",
}], },
options2: [{ ],
options2: [
{
value: "周期上传", value: "周期上传",
label: "周期上传" label: "周期上传",
}, },
{ {
value: "整点上传", value: "整点上传",
label: "整点上传" label: "整点上传",
}], },
points: [{ ],
points: [
{
id: 1, id: 1,
label: 'I/O点', label: "I/O点",
children: [{ children: [
{
id: 2, id: 2,
label: 'Channel1', label: "Channel1",
children: [{ children: [
{
id: 3, id: 3,
label: 'Device1', label: "Device1",
children: [ children: [
{ {
id: 4, id: 4,
@ -241,13 +413,16 @@ export default {
{ {
id: 5, id: 5,
label: "tag0002", label: "tag0002",
} },
] ],
}] },
}] ],
}], },
],
},
],
choose_point: false, choose_point: false,
value: 'qos0', value: "qos0",
value1: 0, value1: 0,
labelPosition: "left", labelPosition: "left",
formLabelWidth: "88px", formLabelWidth: "88px",
@ -255,58 +430,64 @@ export default {
rightMenu: "", rightMenu: "",
dialogVisible: true, dialogVisible: true,
isAdd: false, isAdd: false,
datas: [{ datas: [
label: 'Gateway', {
children: [{ label: "Gateway",
label: '数据采集', children: [
children: [{ {
label: 'I/O点' label: "数据采集",
children: [
{
label: "I/O点",
}, },
{ {
label: '用户点', label: "用户点",
}, },
{ {
label: '计算点', label: "计算点",
}, },
{ {
label: '系统点', label: "系统点",
}, },
] ],
}, },
{ {
label: "数据服务", label: "数据服务",
children: [{ children: [
label: "Modbus" {
}] label: "Modbus",
},
],
}, },
{ {
label: "IOT", label: "IOT",
children: [ children: [
{ {
label: "Mqtt Client" label: "Mqtt Client",
}, },
{ {
label: "Alink" label: "Alink",
}, },
{ {
label: "Tlink" label: "Tlink",
}, },
{ {
label: "loTDDC" label: "loTDDC",
}, },
{ {
label: "Ulink" label: "Ulink",
}, },
] ],
} },
] ],
}], },
],
defaultProps: { defaultProps: {
children: 'children', children: "children",
label: 'label' label: "label",
}, },
// //
options3: [ options2: [
{ {
label: "有线区精雕1", label: "有线区精雕1",
value: "有线区精雕1", value: "有线区精雕1",
@ -314,99 +495,130 @@ export default {
{ {
label: "无线区精雕1", label: "无线区精雕1",
value: "无线区精雕1", value: "无线区精雕1",
} },
], ],
options4: [{ options3: [
{
value: "MachinePamHID909", value: "MachinePamHID909",
label: "MachinePamHID909", label: "MachinePamHID909",
}, { },
{
value: "MachinePamHID910", value: "MachinePamHID910",
label: "MachinePamHID910", label: "MachinePamHID910",
}, { },
{
value: "MachinePamHID911", value: "MachinePamHID911",
label: "MachinePamHID911", label: "MachinePamHID911",
}, { },
{
value: "MachinePamHID912", value: "MachinePamHID912",
label: "MachinePamHID912", label: "MachinePamHID912",
}, { },
{
value: "MachinePamHID913", value: "MachinePamHID913",
label: "MachinePamHID913", label: "MachinePamHID913",
}, { },
{
value: "MachinePamHID914", value: "MachinePamHID914",
label: "MachinePamHID914", label: "MachinePamHID914",
}, { },
{
value: "MachinePamHID915", value: "MachinePamHID915",
label: "MachinePamHID915", label: "MachinePamHID915",
}, { },
{
value: "MachinePamHID916", value: "MachinePamHID916",
label: "MachinePamHID916", label: "MachinePamHID916",
}, { },
{
value: "MachinePamHID917", value: "MachinePamHID917",
label: "MachinePamHID917", label: "MachinePamHID917",
}, { },
{
value: "MachinePamHID918", value: "MachinePamHID918",
label: "MachinePamHID918", label: "MachinePamHID918",
}, { },
{
value: "MachinePamHID919", value: "MachinePamHID919",
label: "MachinePamHID919", label: "MachinePamHID919",
}, { },
{
value: "MachinePamHID920", value: "MachinePamHID920",
label: "MachinePamHID920", label: "MachinePamHID920",
}, { },
{
value: "MachinePamHID921", value: "MachinePamHID921",
label: "MachinePamHID921", label: "MachinePamHID921",
}, { },
{
value: "MachinePamHID922", value: "MachinePamHID922",
label: "MachinePamHID922", label: "MachinePamHID922",
}, { },
{
value: "MachinePamHID923", value: "MachinePamHID923",
label: "MachinePamHID923", label: "MachinePamHID923",
}, { },
{
value: "MachinePamHID924", value: "MachinePamHID924",
label: "MachinePamHID924", label: "MachinePamHID924",
}, { },
{
value: "MachinePamHID925", value: "MachinePamHID925",
label: "MachinePamHID925", label: "MachinePamHID925",
}, { },
{
value: "MachinePamHID926", value: "MachinePamHID926",
label: "MachinePamHID926", label: "MachinePamHID926",
}, { },
{
value: "MachinePamHID927", value: "MachinePamHID927",
label: "MachinePamHID927", label: "MachinePamHID927",
}, { },
{
value: "MachinePamHID928", value: "MachinePamHID928",
label: "MachinePamHID928", label: "MachinePamHID928",
}, { },
{
value: "MachinePamHID929", value: "MachinePamHID929",
label: "MachinePamHID929", label: "MachinePamHID929",
}, { },
{
value: "MachinePamHID930", value: "MachinePamHID930",
label: "MachinePamHID930", label: "MachinePamHID930",
}, { },
{
value: "MachinePamHID931", value: "MachinePamHID931",
label: "MachinePamHID931", label: "MachinePamHID931",
}, { },
{
value: "MachinePamHID932", value: "MachinePamHID932",
label: "MachinePamHID932", label: "MachinePamHID932",
}, { },
{
value: "MachinePamHID933", value: "MachinePamHID933",
label: "MachinePamHID933", label: "MachinePamHID933",
}, { },
{
value: "MachinePamHID934", value: "MachinePamHID934",
label: "MachinePamHID934", label: "MachinePamHID934",
}, { },
{
value: "MachinePamHID935", value: "MachinePamHID935",
label: "MachinePamHID935", label: "MachinePamHID935",
}, { },
{
value: "MachinePamHID936", value: "MachinePamHID936",
label: "MachinePamHID936", label: "MachinePamHID936",
}, { },
{
value: "MachinePamHID937", value: "MachinePamHID937",
label: "MachinePamHID937", label: "MachinePamHID937",
}, { },
{
value: "MachinePamHID938", value: "MachinePamHID938",
label: "MachinePamHID938", label: "MachinePamHID938",
}], },
],
tableData: [ tableData: [
{ {
mqtt_cjd_sbmc: "无线区精雕1", mqtt_cjd_sbmc: "无线区精雕1",
@ -416,30 +628,35 @@ export default {
// //
rules: { rules: {
mqtt_ip: [ mqtt_ip: [
{ required: true, message: '请输入服务器IP', trigger: 'blur' }, { required: true, message: "请输入服务器IP", trigger: "blur" },
],
mqtt_port: [
{ required: true, message: '请输入端口', trigger: 'blur' },
], ],
mqtt_port: [{ required: true, message: "请输入端口", trigger: "blur" }],
mqtt_wgsn: [ mqtt_wgsn: [
{ required: true, message: '请输入网关ID', trigger: 'blur' }, { required: true, message: "请输入网关ID", trigger: "blur" },
], ],
mqtt_sssjfbzt: [ mqtt_sssjfbzt: [
{ required: true, message: '请输入主题', trigger: 'blur' }, { required: true, message: "请输入主题", trigger: "blur" },
], ],
mqtt_scms: [ mqtt_scms: [
{ required: true, message: '请输入上传模式', trigger: 'blur' }, { required: true, message: "请输入上传模式", trigger: "blur" },
], ],
mqtt_sczq: [ mqtt_sczq: [
{ required: true, message: '请输入上传周期', trigger: 'blur' }, { required: true, message: "请输入上传周期", trigger: "blur" },
], ],
mqtt_sjgl: [ mqtt_sjgl: [
{ required: true, message: '请输入数据过滤', trigger: 'blur' }, { required: true, message: "请输入数据过滤", trigger: "blur" },
], ],
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
treeNodeClick() { treeNodeClick() {
this.add_passage = true; this.add_passage = true;
}, },
@ -480,7 +697,14 @@ export default {
async saveClone() { async saveClone() {
var obj = { var obj = {
mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)), mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)),
mqtt_ip: this.mqtt_ip1 + "." + this.mqtt_ip2 + "." + this.mqtt_ip3 + "." + this.mqtt_ip4, mqtt_ip:
this.mqtt_ip1 +
"." +
this.mqtt_ip2 +
"." +
this.mqtt_ip3 +
"." +
this.mqtt_ip4,
mqtt_port: this.formData.mqtt_port, mqtt_port: this.formData.mqtt_port,
mqtt_wgsn: this.formData.mqtt_wgsn, mqtt_wgsn: this.formData.mqtt_wgsn,
mqtt_sssjfbzt: this.formData.mqtt_sssjfbzt, mqtt_sssjfbzt: this.formData.mqtt_sssjfbzt,
@ -490,7 +714,7 @@ export default {
mqtt_sjgl: this.formData.mqtt_sjgl, mqtt_sjgl: this.formData.mqtt_sjgl,
mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc, mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc,
mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid, mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid,
} };
let datas = sessionStorage.getItem("DB-IotLite_yx"); let datas = sessionStorage.getItem("DB-IotLite_yx");
// console.log("1231"); // console.log("1231");
console.log(JSON.parse(datas)); console.log(JSON.parse(datas));
@ -504,8 +728,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);
@ -514,15 +738,15 @@ export default {
this.choose_point = false; this.choose_point = false;
this.isAdd = true; this.isAdd = true;
this.$message({ this.$message({
message: '添加成功', message: "添加成功",
type: 'success' type: "success",
}); });
}, },
async GetUserAnswer() { async GetUserAnswer() {
let answer = await GetUserAnswer({ let answer = await GetUserAnswer({
mark: "DB-IotLite_yx", mark: "DB-IotLite_yx",
user_id: "USER202307301114011710", user_id: "USER202307301114011710",
}) });
console.log(answer); console.log(answer);
let obj = JSON.parse(answer.data.data.mark_value); let obj = JSON.parse(answer.data.data.mark_value);
console.log(obj); console.log(obj);
@ -543,12 +767,12 @@ export default {
this.tableData[0].mqtt_cjd_sbmc = obj.mqtt_cjd_sbmc; this.tableData[0].mqtt_cjd_sbmc = obj.mqtt_cjd_sbmc;
this.tableData[0].mqtt_cjd_tagid = obj.mqtt_cjd_tagid; this.tableData[0].mqtt_cjd_tagid = obj.mqtt_cjd_tagid;
} }
} },
}, },
directives: { directives: {
'click-outside': { "click-outside": {
bind: function (el, binding, vnode) { bind: function (el, binding, vnode) {
console.log('el', el); console.log("el", el);
console.log("binding", binding); console.log("binding", binding);
el.event = function (event) { el.event = function (event) {
// //
@ -556,18 +780,18 @@ export default {
// //
// //
// vnode.context // vnode.context
if (typeof vnode.context[binding.expression] == 'function') { if (typeof vnode.context[binding.expression] == "function") {
vnode.context[binding.expression](event) vnode.context[binding.expression](event);
}
} }
} }
};
// //
// trueDOMlistener // trueDOMlistener
document.body.addEventListener('click', el.event, true) document.body.addEventListener("click", el.event, true);
}, },
unbind: function (el) { unbind: function (el) {
// //
document.body.removeEventListener('click', el.event, true) document.body.removeEventListener("click", el.event, true);
}, },
}, },
}, },
@ -575,7 +799,7 @@ export default {
this.loading = true; this.loading = true;
this.GetUserAnswer(); this.GetUserAnswer();
this.loading = false; this.loading = false;
} },
}; };
</script> </script>
@ -596,7 +820,6 @@ export default {
} }
/deep/ .pas_params { /deep/ .pas_params {
.el-button { .el-button {
width: 80px; width: 80px;
height: 30px; height: 30px;
@ -637,8 +860,6 @@ export default {
padding: 0px 8px; padding: 0px 8px;
} }
.content { .content {
position: absolute; position: absolute;
left: 377px; left: 377px;
@ -673,8 +894,6 @@ export default {
position: relative; position: relative;
border-top: 1px solid rgba(187, 187, 187, 1); border-top: 1px solid rgba(187, 187, 187, 1);
border-right: 1px solid rgba(187, 187, 187, 1); border-right: 1px solid rgba(187, 187, 187, 1);
} }
.con_right { .con_right {

View File

@ -4,16 +4,27 @@
<!-- <div v-click-outside="closeMenu"> --> <!-- <div v-click-outside="closeMenu"> -->
<!-- <el-button type="info" plain @click="dialogVisible = !dialogVisible">MQTT云</el-button> --> <!-- <el-button type="info" plain @click="dialogVisible = !dialogVisible">MQTT云</el-button> -->
<div v-show="dialogVisible" class="tree_menu"> <div v-show="dialogVisible" class="tree_menu">
<el-tree :data="datas" :props="defaultProps" default-expand-all @node-click="treeNodeClick"></el-tree> <el-tree
:data="datas"
:props="defaultProps"
default-expand-all
@node-click="treeNodeClick"
></el-tree>
</div> </div>
<!-- </div> --> <!-- </div> -->
<div class="pas_params" v-show="add_passage"> <div class="pas_params" v-show="add_passage">
<div class="content" v-loading="loading"> <div class="content" v-loading="loading">
<div class="con_left"> <div class="con_left">
<h3 class="mqtt" style="margin-top: 20px;color: white;">MQTT Client</h3> <h3 class="mqtt" style="margin-top: 20px; color: white">
MQTT Client
</h3>
<el-divider></el-divider> <el-divider></el-divider>
<el-form :model="formData" :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:model="formData"
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item> <el-form-item>
@ -23,35 +34,50 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务器IP:" :label-width="formLabelWidth" prop="mqtt_ip"> <el-form-item
label="服务器IP:"
:label-width="formLabelWidth"
prop="mqtt_ip"
>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip1"> <el-form-item prop="mqtt_ip1">
<el-input v-model="mqtt_ip1" style="width: 43px; height: 30px;" <el-input
maxlength="3"> v-model="mqtt_ip1"
style="width: 43px; height: 30px"
maxlength="3"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">. <el-col :span="1">. </el-col>
</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip2"> <el-form-item prop="mqtt_ip2">
<el-input v-model="mqtt_ip2" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip2"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip3"> <el-form-item prop="mqtt_ip3">
<el-input v-model="mqtt_ip3" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip3"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1">.</el-col> <el-col :span="1">.</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="mqtt_ip4"> <el-form-item prop="mqtt_ip4">
<el-input v-model="mqtt_ip4" style="width: 43px; height: 30px;" <el-input
maxlength="3"></el-input> v-model="mqtt_ip4"
style="width: 43px; height: 30px"
maxlength="3"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -60,34 +86,63 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="端口号:" :label-width="formLabelWidth" prop="mqtt_port"> <el-form-item
<el-input v-model="formData.mqtt_port" placeholder="" label="端口号:"
style="width: 200px;height:30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_port"
>
<el-input
v-model="formData.mqtt_port"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="网关SN号:" :label-width="formLabelWidth" prop="mqtt_wgsn"> <el-form-item
<el-input v-model="formData.mqtt_wgsn" placeholder="" label="网关SN号:"
style="width: 200px;height:30px"></el-input> :label-width="formLabelWidth"
prop="mqtt_wgsn"
>
<el-input
v-model="formData.mqtt_wgsn"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-divider></el-divider> <el-divider></el-divider>
<el-row class="theme"> <el-row class="theme">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="实时数据发布的主题" style="display: block;" label-width="168px" <el-form-item
prop="mqtt_sssjfbzt"> label="实时数据发布的主题"
style="display: block"
label-width="168px"
prop="mqtt_sssjfbzt"
>
<el-row> <el-row>
<el-col :span="15"> <el-col :span="15">
<el-input v-model="formData.mqtt_sssjfbzt" placeholder="" <el-input
style="width: 200px;"></el-input> v-model="formData.mqtt_sssjfbzt"
placeholder=""
style="width: 200px"
></el-input>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-select v-model="formData.mqtt_qos" placeholder="请选择" style="width: 99px;"> <el-select
<el-option v-for="item in options1" :key="item.value" :label="item.label" v-model="formData.mqtt_qos"
:value="item.value"> placeholder="请选择"
style="width: 99px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-col> </el-col>
@ -99,6 +154,62 @@
<el-switch v-model="formData.mqtt_retained"></el-switch> <el-switch v-model="formData.mqtt_retained"></el-switch>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<<<<<<< HEAD
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="上传模式:"
:label-width="formLabelWidth"
prop="mqtt_scms"
>
<el-input
v-model="formData.mqtt_scms"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="上传周期(s):"
label-width="108px"
prop="mqtt_sczq"
>
<el-input
v-model="formData.mqtt_sczq"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="数据过滤:"
:label-width="formLabelWidth"
prop="mqtt_sjgl"
>
<el-checkbox-group v-model="formData.mqtt_sjgl">
<el-checkbox label="值改变"></el-checkbox>
<el-checkbox label="采集成功"></el-checkbox>
<el-checkbox label="时间戳改变"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<div class="con_left_footer">
<el-button type="primary" @click="saveClone"> </el-button>
<el-button @click="add_passage = false"> </el-button>
</div>
</el-form>
</div>
<div>
<div class="con_right">
<el-button type="info" plain @click="handleSelect">保存</el-button>
<!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect">
=======
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -139,10 +250,41 @@
<div class="con_right"> <div class="con_right">
<el-button type="info" plain @click="handleSelect">保存</el-button> <el-button type="info" plain @click="handleSelect">保存</el-button>
<!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect"> <!-- <el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect">
>>>>>>> 42cfd39927acf79f394e3a60cae81f6a32163f26
<el-menu-item index="1">添加</el-menu-item> <el-menu-item index="1">添加</el-menu-item>
<el-menu-item index="2">保存</el-menu-item> <el-menu-item index="2">保存</el-menu-item>
<el-menu-item index="3">删除</el-menu-item> <el-menu-item index="3">删除</el-menu-item>
</el-menu> --> </el-menu> -->
<<<<<<< HEAD
</div>
<el-table ref="singleTable" :data="tableData" style="width: 100%">
<el-table-column type="index"> </el-table-column>
<el-table-column property="mqtt_cjd_sbmc" label="设备名称">
<template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_sbmc" placeholder="">
<el-option
v-for="(option, index) in options2"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column property="mqtt_cjd_tagid" label="TagID">
<template slot-scope="scope">
<el-select v-model="scope.row.mqtt_cjd_tagid" placeholder="">
<el-option
v-for="(option, index) in options3"
:key="index"
:label="option.label"
:value="option.value"
></el-option>
</el-select>
</template>
</el-table-column>
</el-table>
=======
</div> </div>
<el-table ref="singleTable" :data="tableData" style="width: 100%"> <el-table ref="singleTable" :data="tableData" style="width: 100%">
<el-table-column type="index"> </el-table-column> <el-table-column type="index"> </el-table-column>
@ -178,6 +320,27 @@
<el-button @click="choose_point = false"> </el-button> <el-button @click="choose_point = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
>>>>>>> 42cfd39927acf79f394e3a60cae81f6a32163f26
</div>
</div>
</div>
<!-- 添加按钮下显示出来的弹框信息 -->
<div>
<el-dialog title="选择点" :visible.sync="choose_point" width="30%">
<el-tree
:data="points"
show-checkbox
node-key="id"
:default-expanded-keys="[1, 2]"
:default-checked-keys="[3, 4, 5, 6]"
:props="defaultProps"
>
</el-tree>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="savePoint"> </el-button>
<el-button @click="choose_point = false"> </el-button>
</span>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
@ -185,11 +348,12 @@
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from "@/api/user"; import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default { export default {
name: 'CloneWifi', name: "CloneWifi",
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
formData: { formData: {
mqtt_qiyong: true, mqtt_qiyong: true,
mqtt_ip: "", mqtt_ip: "",
@ -199,40 +363,48 @@ export default {
mqtt_qos: "qos1", mqtt_qos: "qos1",
mqtt_scms: "周期上传", mqtt_scms: "周期上传",
mqtt_sczq: "", mqtt_sczq: "",
mqtt_sjgl: ['采集成功'], mqtt_sjgl: ["采集成功"],
}, },
mqtt_ip1: "", mqtt_ip1: "",
mqtt_ip2: "", mqtt_ip2: "",
mqtt_ip3: "", mqtt_ip3: "",
mqtt_ip4: "", mqtt_ip4: "",
options1: [{ options1: [
{
value: "qos0", value: "qos0",
label: "qos0" label: "qos0",
}, },
{ {
value: "qos1", value: "qos1",
label: "qos1" label: "qos1",
}, { },
{
value: "qos2", value: "qos2",
label: "qos2" label: "qos2",
}], },
options2: [{ ],
options2: [
{
value: "周期上传", value: "周期上传",
label: "周期上传" label: "周期上传",
}, },
{ {
value: "整点上传", value: "整点上传",
label: "整点上传" label: "整点上传",
}], },
points: [{ ],
points: [
{
id: 1, id: 1,
label: 'I/O点', label: "I/O点",
children: [{ children: [
{
id: 2, id: 2,
label: 'Channel1', label: "Channel1",
children: [{ children: [
{
id: 3, id: 3,
label: 'Device1', label: "Device1",
children: [ children: [
{ {
id: 4, id: 4,
@ -241,13 +413,16 @@ export default {
{ {
id: 5, id: 5,
label: "tag0002", label: "tag0002",
} },
] ],
}] },
}] ],
}], },
],
},
],
choose_point: false, choose_point: false,
value: 'qos0', value: "qos0",
value1: 0, value1: 0,
labelPosition: "left", labelPosition: "left",
formLabelWidth: "88px", formLabelWidth: "88px",
@ -255,31 +430,56 @@ export default {
rightMenu: "", rightMenu: "",
dialogVisible: true, dialogVisible: true,
isAdd: false, isAdd: false,
datas: [{ datas: [
label: 'Gateway', {
children: [{ label: "Gateway",
label: '数据采集', children: [
children: [{ {
label: 'I/O点' label: "数据采集",
children: [
{
label: "I/O点",
}, },
{ {
label: '用户点', label: "用户点",
}, },
{ {
label: '计算点', label: "计算点",
}, },
{ {
label: '系统点', label: "系统点",
}, },
] ],
}, },
{ {
label: "数据服务", label: "数据服务",
children: [{ children: [
label: "Modbus" {
}] label: "Modbus",
},
],
}, },
{ {
label: "IOT",
children: [
{
label: "Mqtt Client",
},
{
label: "Alink",
},
{
<<<<<<< HEAD
label: "Tlink",
},
{
label: "loTDDC",
},
{
label: "Ulink",
},
],
=======
label: "IOT", label: "IOT",
children: [ children: [
{ {
@ -443,10 +643,186 @@ export default {
{ required: true, message: '', trigger: 'blur' }, { required: true, message: '', trigger: 'blur' },
// { required: true, message: '', trigger: 'blur' }, // { required: true, message: '', trigger: 'blur' },
], ],
>>>>>>> 42cfd39927acf79f394e3a60cae81f6a32163f26
},
],
},
],
defaultProps: {
children: "children",
label: "label",
},
//
options2: [
{
label: "有线区精雕1",
value: "有线区精雕1",
},
{
label: "无线区精雕1",
value: "无线区精雕1",
},
],
options3: [
{
value: "MachinePamHID909",
label: "MachinePamHID909",
},
{
value: "MachinePamHID910",
label: "MachinePamHID910",
},
{
value: "MachinePamHID911",
label: "MachinePamHID911",
},
{
value: "MachinePamHID912",
label: "MachinePamHID912",
},
{
value: "MachinePamHID913",
label: "MachinePamHID913",
},
{
value: "MachinePamHID914",
label: "MachinePamHID914",
},
{
value: "MachinePamHID915",
label: "MachinePamHID915",
},
{
value: "MachinePamHID916",
label: "MachinePamHID916",
},
{
value: "MachinePamHID917",
label: "MachinePamHID917",
},
{
value: "MachinePamHID918",
label: "MachinePamHID918",
},
{
value: "MachinePamHID919",
label: "MachinePamHID919",
},
{
value: "MachinePamHID920",
label: "MachinePamHID920",
},
{
value: "MachinePamHID921",
label: "MachinePamHID921",
},
{
value: "MachinePamHID922",
label: "MachinePamHID922",
},
{
value: "MachinePamHID923",
label: "MachinePamHID923",
},
{
value: "MachinePamHID924",
label: "MachinePamHID924",
},
{
value: "MachinePamHID925",
label: "MachinePamHID925",
},
{
value: "MachinePamHID926",
label: "MachinePamHID926",
},
{
value: "MachinePamHID927",
label: "MachinePamHID927",
},
{
value: "MachinePamHID928",
label: "MachinePamHID928",
},
{
value: "MachinePamHID929",
label: "MachinePamHID929",
},
{
value: "MachinePamHID930",
label: "MachinePamHID930",
},
{
value: "MachinePamHID931",
label: "MachinePamHID931",
},
{
value: "MachinePamHID932",
label: "MachinePamHID932",
},
{
value: "MachinePamHID933",
label: "MachinePamHID933",
},
{
value: "MachinePamHID934",
label: "MachinePamHID934",
},
{
value: "MachinePamHID935",
label: "MachinePamHID935",
},
{
value: "MachinePamHID936",
label: "MachinePamHID936",
},
{
value: "MachinePamHID937",
label: "MachinePamHID937",
},
{
value: "MachinePamHID938",
label: "MachinePamHID938",
},
],
tableData: [
{
mqtt_cjd_sbmc: "无线区精雕1",
mqtt_cjd_tagid: "MachinePamHID909",
},
],
//
rules: {
mqtt_ip: [
{ required: true, message: "请输入服务器IP", trigger: "blur" },
],
mqtt_port: [{ required: true, message: "请输入端口", trigger: "blur" }],
mqtt_wgsn: [
{ required: true, message: "请输入网关ID", trigger: "blur" },
],
mqtt_sssjfbzt: [
{ required: true, message: "请输入主题", trigger: "blur" },
],
mqtt_scms: [
{ required: true, message: "请输入上传模式", trigger: "blur" },
],
mqtt_sczq: [
{ required: true, message: "请输入上传周期", trigger: "blur" },
],
mqtt_sjgl: [
{ required: true, message: "请输入数据过滤", trigger: "blur" },
],
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
treeNodeClick() { treeNodeClick() {
this.add_passage = true; this.add_passage = true;
}, },
@ -487,7 +863,14 @@ export default {
async saveClone() { async saveClone() {
var obj = { var obj = {
mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)), mqtt_qiyong: String(Number(this.formData.mqtt_qiyong)),
mqtt_ip: this.mqtt_ip1 + "." + this.mqtt_ip2 + "." + this.mqtt_ip3 + "." + this.mqtt_ip4, mqtt_ip:
this.mqtt_ip1 +
"." +
this.mqtt_ip2 +
"." +
this.mqtt_ip3 +
"." +
this.mqtt_ip4,
mqtt_port: this.formData.mqtt_port, mqtt_port: this.formData.mqtt_port,
mqtt_wgsn: this.formData.mqtt_wgsn, mqtt_wgsn: this.formData.mqtt_wgsn,
mqtt_sssjfbzt: this.formData.mqtt_sssjfbzt, mqtt_sssjfbzt: this.formData.mqtt_sssjfbzt,
@ -497,7 +880,7 @@ export default {
mqtt_sjgl: this.formData.mqtt_sjgl, mqtt_sjgl: this.formData.mqtt_sjgl,
mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc, mqtt_cjd_sbmc: this.tableData[0].mqtt_cjd_sbmc,
mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid, mqtt_cjd_tagid: this.tableData[0].mqtt_cjd_tagid,
} };
let datas = sessionStorage.getItem("DB-IotLite_wx"); let datas = sessionStorage.getItem("DB-IotLite_wx");
// console.log("1231"); // console.log("1231");
console.log(JSON.parse(datas)); console.log(JSON.parse(datas));
@ -511,8 +894,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);
@ -521,15 +904,15 @@ export default {
this.choose_point = false; this.choose_point = false;
this.isAdd = true; this.isAdd = true;
this.$message({ this.$message({
message: '添加成功', message: "添加成功",
type: 'success' type: "success",
}); });
}, },
async GetUserAnswer() { async GetUserAnswer() {
let answer = await GetUserAnswer({ let answer = await GetUserAnswer({
mark: "DB-IotLite_wx", mark: "DB-IotLite_wx",
user_id: "USER202307301114011710", user_id: "USER202307301114011710",
}) });
console.log(answer); console.log(answer);
let obj = JSON.parse(answer.data.data.mark_value); let obj = JSON.parse(answer.data.data.mark_value);
console.log(obj); console.log(obj);
@ -550,12 +933,12 @@ export default {
this.tableData[0].mqtt_cjd_sbmc = obj.mqtt_cjd_sbmc; this.tableData[0].mqtt_cjd_sbmc = obj.mqtt_cjd_sbmc;
this.tableData[0].mqtt_cjd_tagid = obj.mqtt_cjd_tagid; this.tableData[0].mqtt_cjd_tagid = obj.mqtt_cjd_tagid;
} }
} },
}, },
directives: { directives: {
'click-outside': { "click-outside": {
bind: function (el, binding, vnode) { bind: function (el, binding, vnode) {
console.log('el', el); console.log("el", el);
console.log("binding", binding); console.log("binding", binding);
el.event = function (event) { el.event = function (event) {
// //
@ -563,18 +946,18 @@ export default {
// //
// //
// vnode.context // vnode.context
if (typeof vnode.context[binding.expression] == 'function') { if (typeof vnode.context[binding.expression] == "function") {
vnode.context[binding.expression](event) vnode.context[binding.expression](event);
}
} }
} }
};
// //
// trueDOMlistener // trueDOMlistener
document.body.addEventListener('click', el.event, true) document.body.addEventListener("click", el.event, true);
}, },
unbind: function (el) { unbind: function (el) {
// //
document.body.removeEventListener('click', el.event, true) document.body.removeEventListener("click", el.event, true);
}, },
}, },
}, },
@ -582,7 +965,7 @@ export default {
this.loading = true; this.loading = true;
this.GetUserAnswer(); this.GetUserAnswer();
this.loading = false; this.loading = false;
} },
}; };
</script> </script>
@ -603,7 +986,6 @@ export default {
} }
/deep/ .pas_params { /deep/ .pas_params {
.el-button { .el-button {
width: 80px; width: 80px;
height: 30px; height: 30px;
@ -644,8 +1026,6 @@ export default {
padding: 0px 8px; padding: 0px 8px;
} }
.content { .content {
position: absolute; position: absolute;
left: 377px; left: 377px;
@ -680,8 +1060,6 @@ export default {
position: relative; position: relative;
border-top: 1px solid rgba(187, 187, 187, 1); border-top: 1px solid rgba(187, 187, 187, 1);
border-right: 1px solid rgba(187, 187, 187, 1); border-right: 1px solid rgba(187, 187, 187, 1);
} }
.con_right { .con_right {

View File

@ -1,38 +1,85 @@
<template> <template>
<div> <div>
<div> <div>
<el-dialog title="新建网关" :visible.sync="outerVisible" width="382px" v-loading="loading"> <el-dialog
<el-form :model="formData" :rules="rules" ref="formData" label-width="85px" class="demo-ruleForm"> title="新建网关"
:visible.sync="outerVisible"
width="382px"
v-loading="loading"
>
<el-form
:model="formData"
:rules="rules"
ref="formData"
label-width="85px"
class="demo-ruleForm"
>
<el-form-item label="网关名称:" prop="wgpz_wgmc"> <el-form-item label="网关名称:" prop="wgpz_wgmc">
<el-select v-model="formData.wgpz_wgmc" placeholder="有线区网关1" style="width: 200px"> <el-select
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wgmc"
placeholder="有线区网关1"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="网关ID:" prop="wgpz_wgid"> <el-form-item label="网关ID:" prop="wgpz_wgid">
<el-select v-model="formData.wgpz_wgid" placeholder="LAN-BOX1" style="width: 200px"> <el-select
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wgid"
placeholder="LAN-BOX1"
style="width: 200px"
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="网关类型:" prop="wgpz_wglx"> <el-form-item label="网关类型:" prop="wgpz_wglx">
<el-select v-model="formData.wgpz_wglx" placeholder="lot Life 网关" style="width: 200px"> <el-select
<el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wglx"
placeholder="lot Life 网关"
style="width: 200px"
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-dialog width="382px" title="系统提示" :visible.sync="innerVisible" append-to-body> <el-dialog
width="382px"
title="系统提示"
:visible.sync="innerVisible"
append-to-body
>
<p class="inner_content" style="color: #fff !important"> <p class="inner_content" style="color: #fff !important">
请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关 请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关
</p> </p>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="innerConfirm('formData')">确定</el-button> <el-button type="primary" @click="innerConfirm('formData')"
>确定</el-button
>
<el-button @click="innerVisible = false"> </el-button> <el-button @click="innerVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<div slot="footer" class="dialog-footer-outer"> <div slot="footer" class="dialog-footer-outer">
<el-button type="primary" @click="saveInfo('formData')">保存</el-button> <el-button type="primary" @click="saveInfo('formData')"
>保存</el-button
>
<el-button @click="outerVisible = false"> </el-button> <el-button @click="outerVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -48,6 +95,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
options1: [ options1: [
{ {
value: "有线区网关1", value: "有线区网关1",
@ -116,9 +164,15 @@ export default {
}; };
}, },
mounted() { }, created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
saveInfo(formName) { saveInfo(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
@ -144,8 +198,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);

View File

@ -1,38 +1,85 @@
<template> <template>
<div> <div>
<div> <div>
<el-dialog title="新建网关" :visible.sync="outerVisible" width="382px" v-loading="loading"> <el-dialog
<el-form :model="formData" :rules="rules" ref="formData" label-width="85px" class="demo-ruleForm"> title="新建网关"
:visible.sync="outerVisible"
width="382px"
v-loading="loading"
>
<el-form
:model="formData"
:rules="rules"
ref="formData"
label-width="85px"
class="demo-ruleForm"
>
<el-form-item label="网关名称:" prop="wgpz_wgmc"> <el-form-item label="网关名称:" prop="wgpz_wgmc">
<el-select v-model="formData.wgpz_wgmc" placeholder="有线区网关1" style="width: 200px"> <el-select
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wgmc"
placeholder="有线区网关1"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="网关ID:" prop="wgpz_wgid"> <el-form-item label="网关ID:" prop="wgpz_wgid">
<el-select v-model="formData.wgpz_wgid" placeholder="LAN-BOX1" style="width: 200px"> <el-select
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wgid"
placeholder="LAN-BOX1"
style="width: 200px"
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="网关类型:" prop="wgpz_wglx"> <el-form-item label="网关类型:" prop="wgpz_wglx">
<el-select v-model="formData.wgpz_wglx" placeholder="lot Life 网关" style="width: 200px"> <el-select
<el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value"> v-model="formData.wgpz_wglx"
placeholder="lot Life 网关"
style="width: 200px"
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-dialog width="382px" title="系统提示" :visible.sync="innerVisible" append-to-body> <el-dialog
width="382px"
title="系统提示"
:visible.sync="innerVisible"
append-to-body
>
<p class="inner_content" style="color: #fff !important"> <p class="inner_content" style="color: #fff !important">
请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关 请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关
</p> </p>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="innerConfirm()">确定</el-button> <el-button type="primary" @click="innerConfirm('formData')"
>确定</el-button
>
<el-button @click="innerVisible = false"> </el-button> <el-button @click="innerVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<div slot="footer" class="dialog-footer-outer"> <div slot="footer" class="dialog-footer-outer">
<el-button type="primary" @click="saveInfo('formData')">保存</el-button> <el-button type="primary" @click="saveInfo('formData')"
>保存</el-button
>
<el-button @click="outerVisible = false"> </el-button> <el-button @click="outerVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -48,6 +95,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
options1: [ options1: [
{ {
value: "有线区网关1", value: "有线区网关1",
@ -115,10 +163,16 @@ export default {
innerVisible: false, innerVisible: false,
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
mounted() {}, mounted() {},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
saveInfo(formName) { saveInfo(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
@ -144,8 +198,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
console.log(res); console.log(res);

View File

@ -149,6 +149,7 @@ export default {
data() { data() {
return { return {
// disabled: true, // disabled: true,
user_id: "",
// //
loading: false, loading: false,
formData: { formData: {
@ -225,6 +226,9 @@ export default {
}, },
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
// //
Merge(value, value1, value2, value3, value4) { Merge(value, value1, value2, value3, value4) {
value = value1 + "." + value2 + "." + value3 + "." + value4; value = value1 + "." + value2 + "." + value3 + "." + value4;
@ -365,6 +369,8 @@ export default {
}, },
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.getUserAnswer(); this.getUserAnswer();
}, },
mounted() { }, mounted() { },

View File

@ -156,6 +156,7 @@
</div> </div>
</template> </template>
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default { export default {
data() { data() {
return { return {
@ -163,6 +164,7 @@ export default {
xqFlag: false, xqFlag: false,
flag: false, flag: false,
labelPosition: "left", labelPosition: "left",
user_id: "",
wgpz: [], wgpz: [],
FormData: [], FormData: [],
search: "", search: "",
@ -190,9 +192,15 @@ export default {
}; };
}, },
created() { created() {
this.wgpz = JSON.parse(localStorage.getItem("wgpz")) || []; let that = this;
window.getParameter = that.getParameter;
this.GetUserAnswer();
// this.wgpz = JSON.parse(localStorage.getItem("wgpz")) || [];
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
handleSelectionChange() {}, handleSelectionChange() {},
// //
saveinfo() { saveinfo() {
@ -201,10 +209,7 @@ export default {
if (this.wgpz.length < 4) { if (this.wgpz.length < 4) {
this.wgpz.push(this.ruleForm); this.wgpz.push(this.ruleForm);
localStorage.setItem("wgpz", JSON.stringify(this.wgpz)); localStorage.setItem("wgpz", JSON.stringify(this.wgpz));
this.$message({ this.SaveUserAnswer();
message: "添加成功",
type: "success",
});
this.flag = false; this.flag = false;
} else { } else {
this.$message({ this.$message({
@ -223,10 +228,7 @@ export default {
handleDelete(a, b) { handleDelete(a, b) {
this.wgpz.splice(a, 1); this.wgpz.splice(a, 1);
localStorage.setItem("wgpz", JSON.stringify(this.wgpz)); localStorage.setItem("wgpz", JSON.stringify(this.wgpz));
this.$message({ this.SaveUserAnswer();
message: "删除成功",
type: "success",
});
}, },
// //
handleSelectionChange(val) { handleSelectionChange(val) {
@ -239,15 +241,40 @@ export default {
); );
this.multipleSelection = []; this.multipleSelection = [];
localStorage.setItem("wgpz", JSON.stringify(this.wgpz)); localStorage.setItem("wgpz", JSON.stringify(this.wgpz));
this.$message({ this.SaveUserAnswer();
message: "删除成功",
type: "success",
});
}, },
//
chakan(a, b) { chakan(a, b) {
this.rowDate = b; this.rowDate = b;
this.xqFlag = true; this.xqFlag = true;
}, },
//
async GetUserAnswer() {
let { data } = await GetUserAnswer({
mark: "YDPZYM_wgpz",
user_id: "USER202307301114011710",
});
console.log(data.data);
if (data.data && data.state) {
this.wgpz = JSON.parse(data.data.mark_value);
}
},
//
async SaveUserAnswer() {
let { data } = await SaveUserAnswer({
mark: "YDPZYM_wgpz",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(this.wgpz),
});
if (data.state) {
this.$message({
message: "操作成功",
type: "success",
});
} else {
this.$message.error("操作失败");
}
},
}, },
}; };
</script> </script>

View File

@ -193,12 +193,14 @@
</div> </div>
</template> </template>
<script> <script>
import { GetUserAnswer, SaveUserAnswer } from "@/api/user";
export default { export default {
data() { data() {
return { return {
dialogVisible: true, dialogVisible: true,
labelPosition: "left", labelPosition: "left",
flag: false, flag: false,
user_id: "",
xqFlag: false, xqFlag: false,
rowDate: {}, rowDate: {},
wgid: "", wgid: "",
@ -250,20 +252,34 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.wgid = this.$route.fullPath.split("?")[1]; this.wgid = this.$route.fullPath.split("?")[1];
this.tableData = JSON.parse(localStorage.getItem("wgwh")) || []; this.GetUserAnswer();
// this.tableData = JSON.parse(localStorage.getItem("wgwh")) || [];
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
//
async GetUserAnswer() {
let { data } = await GetUserAnswer({
mark: "YDPZYM_wgwh",
user_id: "USER202307301114011710",
});
console.log(data);
if (data.data && data.state) {
this.tableData = JSON.parse(data.data.mark_value);
}
},
saveinfo() { saveinfo() {
this.$refs["ruleForm"].validate((valid) => { this.$refs["ruleForm"].validate((valid) => {
if (valid) { if (valid) {
if (this.tableData.length < 4) { if (this.tableData.length < 4) {
this.tableData.push(this.ruleForm); this.tableData.push(this.ruleForm);
localStorage.setItem("wgwh", JSON.stringify(this.tableData)); localStorage.setItem("wgwh", JSON.stringify(this.tableData));
this.$message({ this.SaveUserAnswer();
message: "添加成功",
type: "success",
});
this.flag = false; this.flag = false;
} else { } else {
this.$message({ this.$message({
@ -282,10 +298,7 @@ export default {
handleDelete(a, b) { handleDelete(a, b) {
this.tableData.splice(a, 1); this.tableData.splice(a, 1);
localStorage.setItem("wgwh", JSON.stringify(this.tableData)); localStorage.setItem("wgwh", JSON.stringify(this.tableData));
this.$message({ this.SaveUserAnswer();
message: "删除成功",
type: "success",
});
}, },
// //
handleSelectionChange(val) { handleSelectionChange(val) {
@ -305,16 +318,29 @@ export default {
); );
this.multipleSelection = []; this.multipleSelection = [];
localStorage.setItem("wgwh", JSON.stringify(this.tableData)); localStorage.setItem("wgwh", JSON.stringify(this.tableData));
this.$message({ this.SaveUserAnswer();
message: "删除成功",
type: "success",
});
}, },
chakan(a, b) { chakan(a, b) {
console.log(b); console.log(b);
this.rowDate = b; this.rowDate = b;
this.xqFlag = true; this.xqFlag = true;
}, },
//
async SaveUserAnswer() {
let { data } = await SaveUserAnswer({
mark: "YDPZYM_wgwh",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(this.tableData),
});
if (data.state) {
this.$message({
message: "操作成功",
type: "success",
});
} else {
this.$message.error("操作失败");
}
},
}, },
}; };
</script> </script>

View File

@ -153,11 +153,11 @@
<script> <script>
import { SaveUserAnswer, GetUserAnswer } from "@/api/user"; import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
import { isValidPrimaryDNS } from "../validate"; import { isValidPrimaryDNS } from "../validate";
import { Loading } from "element-ui";
export default { export default {
data() { data() {
return { return {
loading: false, loading: false,
user_id: "",
ippz_ip1: "192", ippz_ip1: "192",
ippz_ip2: "168", ippz_ip2: "168",
ippz_ip3: "1", ippz_ip3: "1",
@ -235,7 +235,14 @@ export default {
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
// //
Merge(value, value1, value2, value3, value4) { Merge(value, value1, value2, value3, value4) {
value = value1 + "." + value2 + "." + value3 + "." + value4; value = value1 + "." + value2 + "." + value3 + "." + value4;
@ -307,7 +314,7 @@ export default {
mark: "CKFWQ_yx", mark: "CKFWQ_yx",
user_id: "USER202307301114011710", user_id: "USER202307301114011710",
}); });
console.log(answers); console.log(answers.data);
if (answers.data.data && answers.data.state) { if (answers.data.data && answers.data.state) {
let obj = JSON.parse(answers.data.data.mark_value); let obj = JSON.parse(answers.data.data.mark_value);
console.log(obj); console.log(obj);

View File

@ -60,6 +60,7 @@ export default {
return { return {
dialogVisible: true, dialogVisible: true,
labelPosition: "left", labelPosition: "left",
user_id: "",
loading: false, loading: false,
ruleForm: { ruleForm: {
kqwk: "开启", kqwk: "开启",
@ -74,9 +75,14 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that;
this.GetUserAnswer(); this.GetUserAnswer();
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async saveDatas() { async saveDatas() {
let datas = JSON.parse(sessionStorage.getItem("CKFWQ_wx")); let datas = JSON.parse(sessionStorage.getItem("CKFWQ_wx"));
let res = await SaveUserAnswer({ let res = await SaveUserAnswer({

View File

@ -1,11 +1,6 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog title="网络管理" :visible.sync="dialogVisible" width="40%">
title="网络管理"
:visible.sync="dialogVisible"
width="40%"
:before-close="handleClose"
>
<h3 style="color: #fff">内网网卡</h3> <h3 style="color: #fff">内网网卡</h3>
<el-divider></el-divider> <el-divider></el-divider>
<el-table :data="tableData" style="width: 100%" border> <el-table :data="tableData" style="width: 100%" border>
@ -143,6 +138,8 @@ import { SaveUserAnswer, GetUserAnswer } from "../api/user";
export default { export default {
data() { data() {
return { return {
user_id: "",
type: "",
wlgl_nw_ip1: "", wlgl_nw_ip1: "",
wlgl_nw_ip2: "", wlgl_nw_ip2: "",
wlgl_nw_ip3: "", wlgl_nw_ip3: "",
@ -197,13 +194,19 @@ export default {
}; };
}, },
created() { created() {
this.GetUserAnswer();
let that = this; let that = this;
window.getParameter = that.getParameter; window.getParameter = that.getParameter;
this.GetUserAnswer();
}, },
methods: { methods: {
getParameter(data) { getParameter(data) {
alert(data); this.user_id = data.split("|")[0];
this.type = data.split("|")[1];
if (data.split("|")[1] == 1) {
this.$store.commit("setType", "GYWZ_yx");
} else {
this.$store.commit("setType", "GYWZ_wx");
}
}, },
async save() { async save() {
var obj = { var obj = {
@ -258,14 +261,13 @@ export default {
}, },
// //
async GetUserAnswer() { async GetUserAnswer() {
let { data } = await GetUserAnswer({ var { data } = await GetUserAnswer({
mark: "GYWZ_yx", mark: "GYWZ_yx",
user_id: "USER202307301114011710", user_id: "USER202307301114011710",
}); });
console.log(data);
if (data.data && data.state) { if (data.data && data.state) {
let res = JSON.parse(data.data.mark_value); let res = JSON.parse(data.data.mark_value);
console.log(res);
this.tableData[0].wlgl_nw_name = res.wlgl_nw_name; this.tableData[0].wlgl_nw_name = res.wlgl_nw_name;
this.wlgl_nw_ip1 = res.wlgl_nw_ip.split(".")[0]; this.wlgl_nw_ip1 = res.wlgl_nw_ip.split(".")[0];
this.wlgl_nw_ip2 = res.wlgl_nw_ip.split(".")[1]; this.wlgl_nw_ip2 = res.wlgl_nw_ip.split(".")[1];

View File

@ -102,6 +102,7 @@ export default {
data() { data() {
return { return {
dialogVisible: true, dialogVisible: true,
user_id: "",
dialogVisible1: false, dialogVisible1: false,
labelPosition: "left", labelPosition: "left",
dxgl: [], dxgl: [],
@ -127,9 +128,14 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.GetUserAnswer(); this.GetUserAnswer();
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async SaveUserAnswer() { async SaveUserAnswer() {
// //
console.log(this.dxgl); console.log(this.dxgl);
@ -161,7 +167,7 @@ export default {
mark: "GYWZ_yx", mark: "GYWZ_yx",
user_id: "USER202307301114011710", user_id: "USER202307301114011710",
}); });
if (data.state) { if (data.state && data.data) {
console.log(JSON.parse(data.data.mark_value).dxgl); console.log(JSON.parse(data.data.mark_value).dxgl);
if (JSON.parse(data.data.mark_value).dxgl) { if (JSON.parse(data.data.mark_value).dxgl) {
this.dxgl = JSON.parse(data.data.mark_value).dxgl; this.dxgl = JSON.parse(data.data.mark_value).dxgl;

View File

@ -1,6 +1,11 @@
<template> <template>
<div> <div>
<el-dialog title="策略管理" :visible.sync="dialogVisible" width="50%"> <el-dialog
title="策略管理"
:visible.sync="dialogVisible"
width="50%"
v-loading="loading"
>
<div class="title"> <div class="title">
<el-button style="margin-bottom: 10px" @click="addPolicy" <el-button style="margin-bottom: 10px" @click="addPolicy"
>新增策略</el-button >新增策略</el-button
@ -52,10 +57,13 @@
</div> </div>
</template> </template>
<script> <script>
import { GetUserAnswer, SaveUserAnswer } from "../api/user";
export default { export default {
data() { data() {
return { return {
clgl_qidong: true, clgl_qidong: true,
loading: false,
user_id: "",
// IP // IP
clgl_rkip1: "", clgl_rkip1: "",
clgl_rkip2: "", clgl_rkip2: "",
@ -275,8 +283,64 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.GetUserAnswer();
},
methods: {
getParameter(data) {
this.user_id = data;
},
addPolicy() {
this.$router.push("/addstrategy");
},
async del(index, a) {
let { data } = await SaveUserAnswer({
mark: "GYWZ_yx",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(localStorage.getItem("GYWZ_yx")),
});
if (data.state) {
this.tableData.splice(index, 1);
var obj = JSON.parse(sessionStorage.getItem("GYWZ_yx")); var obj = JSON.parse(sessionStorage.getItem("GYWZ_yx"));
console.log(obj); let newSessObj = {
clgl_name: "",
cmdlist_qsdz: "",
clgl_xy: "",
clgl_gzms: "",
clgl_ydx: "",
clgl_ydk: "",
clgl_rkwk: "",
clgl_rkip: "",
clgl_rkwg: "",
clgl_ckwk: "",
clgl_ckip: "",
clgl_ckwg: "",
clgl_mddx: "",
clgl_mddk: "",
};
sessionStorage.setItem(
"GYWZ_yx",
JSON.stringify({ ...obj, ...newSessObj })
);
this.$message({
message: "删除成功",
type: "success",
});
}
},
//
async GetUserAnswer() {
this.loading = true;
let { data } = await GetUserAnswer({
mark: "GYWZ_yx",
user_id: "USER202307301114011710",
});
this.loading = false;
if (data.data && data.state) {
let obj = JSON.parse(data.data.mark_value);
if (obj.hasOwnProperty("clgl_name")) {
console.log(obj.clgl_name);
this.tableData = [ this.tableData = [
{ {
clgl_name: obj.clgl_name, clgl_name: obj.clgl_name,
@ -295,34 +359,8 @@ export default {
clgl_mddk: obj.clgl_mddk, clgl_mddk: obj.clgl_mddk,
}, },
]; ];
}, }
methods: { }
addPolicy() {
this.$router.push("/addstrategy");
},
del(index, a) {
// this.tableData.splice(index, 1);
// var obj = JSON.parse(sessionStorage.getItem("GYWZ_yx"));
// let newSessObj = {
// clgl_name: "",
// cmdlist_qsdz: "",
// clgl_xy: "",
// clgl_gzms: "",
// clgl_ydx: "",
// clgl_ydk: "",
// clgl_rkwk: "",
// clgl_rkip: "",
// clgl_rkwg: "",
// clgl_ckwk: "",
// clgl_ckip: "",
// clgl_ckwg: "",
// clgl_mddx: "",
// clgl_mddk: "",
// };
// sessionStorage.setItem(
// "GYWZ_yx",
// JSON.stringify({ ...obj, ...newSessObj })
// );
}, },
}, },
}; };

View File

@ -119,6 +119,7 @@ import { isValidPrimaryDNS } from "../validate";
export default { export default {
data() { data() {
return { return {
user_id: "",
datas: [ datas: [
{ {
name: "端口", name: "端口",
@ -194,9 +195,14 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.GetUserAnswer(); this.GetUserAnswer();
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async GetUserAnswer() { async GetUserAnswer() {
let { data } = await GetUserAnswer({ let { data } = await GetUserAnswer({
mark: "CKFWQ_yx", mark: "CKFWQ_yx",

View File

@ -476,7 +476,14 @@ export default {
tdpz_port: this.FormData.tdpz_port, tdpz_port: this.FormData.tdpz_port,
tdpz_cssj: this.FormData.tdpz_cssj, tdpz_cssj: this.FormData.tdpz_cssj,
tdpz_jgsj: this.FormData.tdpz_jgsj, tdpz_jgsj: this.FormData.tdpz_jgsj,
tdpz_ip: this.tdpz_ip1 + "." + this.tdpz_ip2 + "." + this.tdpz_ip3 + "." + this.tdpz_ip4, tdpz_ip:
this.tdpz_ip1 +
"." +
this.tdpz_ip2 +
"." +
this.tdpz_ip3 +
"." +
this.tdpz_ip4,
tdpz_lxsj: this.FormData.tdpz_lxsj, tdpz_lxsj: this.FormData.tdpz_lxsj,
tdpz_cfcs: this.FormData.tdpz_cfcs, tdpz_cfcs: this.FormData.tdpz_cfcs,
tdpz_watchtime: String(Number(this.FormData.tdpz_watchtime)), tdpz_watchtime: String(Number(this.FormData.tdpz_watchtime)),
@ -484,7 +491,7 @@ export default {
tdpz_dxzkb: this.tdpz_dxzkb1 + ":" + this.tdpz_dxzkb2, tdpz_dxzkb: this.tdpz_dxzkb1 + ":" + this.tdpz_dxzkb2,
tdpz_050F: this.FormData.tdpz_050F, tdpz_050F: this.FormData.tdpz_050F,
tdpz_0610: this.FormData.tdpz_0610, tdpz_0610: this.FormData.tdpz_0610,
} };
let datas = sessionStorage.getItem("DB-IotLite_yx"); let datas = sessionStorage.getItem("DB-IotLite_yx");
datas = { ...JSON.parse(datas), ...obj }; datas = { ...JSON.parse(datas), ...obj };
let res = await SaveUserAnswer({ let res = await SaveUserAnswer({
@ -494,8 +501,8 @@ export default {
}); });
if (res.status == 200) { if (res.status == 200) {
this.$message({ this.$message({
message: '保存成功', message: "保存成功",
type: 'success' type: "success",
}); });
} }
sessionStorage.setItem("DB-IotLite_yx", JSON.stringify(datas)); sessionStorage.setItem("DB-IotLite_yx", JSON.stringify(datas));
@ -516,15 +523,8 @@ export default {
if (node.level == 2) { if (node.level == 2) {
this.FormData.tdpz_qdmc = data.label; this.FormData.tdpz_qdmc = data.label;
this.diag_drive = false; this.diag_drive = false;
}
},
async sendTree() {
let result = await SendTree({
user_id: "USER202307301114011710",
data: JSON.stringify(this.trees),
type: "1",
})
console.log(result); console.log(result);
}
}, },
async GetUserAnswer() { async GetUserAnswer() {
let answer = await GetUserAnswer({ let answer = await GetUserAnswer({

View File

@ -69,6 +69,7 @@ export default {
data() { data() {
return { return {
dialogVisible: true, dialogVisible: true,
user_id: "",
labelPosition: "left", labelPosition: "left",
ruleForm: { ruleForm: {
wxpz_gzms: "STA模式", wxpz_gzms: "STA模式",
@ -89,9 +90,14 @@ export default {
}; };
}, },
created() { created() {
let that = this;
window.getParameter = that.getParameter;
this.GetUserAnswer(); this.GetUserAnswer();
}, },
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
async saveDatas() { async saveDatas() {
let datas = JSON.parse(sessionStorage.getItem("CKFWQ_wx")); let datas = JSON.parse(sessionStorage.getItem("CKFWQ_wx"));
let res = await SaveUserAnswer({ let res = await SaveUserAnswer({

View File

@ -146,6 +146,7 @@ export default {
return { return {
dialogVisible: true, dialogVisible: true,
labelPosition: "left", labelPosition: "left",
user_id: "",
loading: false, loading: false,
ruleForm: { ruleForm: {
ckcssz_btl: "9600", ckcssz_btl: "9600",
@ -176,7 +177,14 @@ export default {
}, },
}; };
}, },
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: { methods: {
getParameter(data) {
this.user_id = data;
},
// //
async saveDatas() { async saveDatas() {
this.Loading = true; this.Loading = true;

View File

@ -6,12 +6,16 @@ Vue.use(Vuex);
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
tree: JSON.parse(localStorage.getItem("tree")), tree: JSON.parse(localStorage.getItem("tree")),
type: "",
}, },
mutations: { mutations: {
setTree(state, a) { setTree(state, a) {
state.tree = a; state.tree = a;
localStorage.setItem("tree", JSON.stringify(a)); localStorage.setItem("tree", JSON.stringify(a));
}, },
setType(state, a) {
state.type = a;
},
}, },
actions: {}, actions: {},
}); });

View File

@ -112,7 +112,7 @@ export default {
}, },
methods: { methods: {
getParameter(data) { getParameter(data) {
alert(data); // alert(data);
}, },
// //
fontSize(res) { fontSize(res) {