刘龙龙10-30

This commit is contained in:
lll 2023-10-30 16:57:36 +08:00
parent 34e6ac48a6
commit 8a4358987c
10 changed files with 1729 additions and 747 deletions

View File

@ -22,6 +22,19 @@
</div> </div>
<IpConfiguration></IpConfiguration> <IpConfiguration></IpConfiguration>
<PortConfiguration></PortConfiguration> <PortConfiguration></PortConfiguration>
<div>
<!-- // -->
<netConfiguration />
<!-- 网口配置 -->
<NetworkConfiguration />
<!-- 无线配置 -->
<Wireles />
<!-- 网络管理 -->
<NetworkManagement />
<!-- 对象管理 -->
<ObjectManagement />
</div>
</div> </div>
</template> </template>
@ -42,6 +55,11 @@ import PortConfiguration from "./components/PortConfiguration.vue";
import ChiDevice from "./components/ChiDevice.vue"; import ChiDevice from "./components/ChiDevice.vue";
import ChiCollection from "./components/ChiCollection.vue"; import ChiCollection from "./components/ChiCollection.vue";
import ChiClone from "./components/ChiClone.vue"; import ChiClone from "./components/ChiClone.vue";
import netConfiguration from "./components/netConfiguration.vue";
import NetworkConfiguration from "./components/NetworkConfiguration.vue";
import Wireles from "./components/Wireles.vue";
import NetworkManagement from "./components/NetworkManagement.vue";
import ObjectManagement from "./components/ObjectManagement.vue";
export default { export default {
name: "App", name: "App",
data() { data() {
@ -65,6 +83,11 @@ export default {
ChiClone, ChiClone,
IpConfiguration, IpConfiguration,
PortConfiguration, PortConfiguration,
netConfiguration,
NetworkConfiguration,
Wireles,
NetworkManagement,
ObjectManagement,
}, },
}; };
</script> </script>

View File

@ -2,47 +2,71 @@
<template> <template>
<div> <div>
<!-- 设置树形控件 --> <!-- 设置树形控件 -->
<el-button type="info" plain @click="dialogVisible = true">斥候采集点设置</el-button> <el-button type="info" plain @click="dialogVisible = true"
>斥候采集点设置</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"></el-tree> <el-tree
:data="datas"
:props="defaultProps"
@node-click="treeNodeClick"
></el-tree>
<!-- 树形控件右键组件 --> <!-- 树形控件右键组件 -->
</div> </div>
<div class="pas_params" v-show="add_passage"> <div class="pas_params" v-show="add_passage">
<div> <div>
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> <el-menu
:default-active="activeIndex"
class="el-menu-demo"
mode="horizontal"
@select="handleSelect"
>
<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>
</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 type="index"> </el-table-column>
</el-table-column> <el-table-column property="tag_id" label="TagID"> </el-table-column>
<el-table-column property="tag_id" label="TagID"> <el-table-column property="name" label="名称"> </el-table-column>
</el-table-column>
<el-table-column property="name" label="名称">
</el-table-column>
<el-table-column property="datas" label="地址"> <el-table-column property="datas" label="地址">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.datas" placeholder="0X"> <el-select v-model="scope.row.datas" placeholder="0X">
<el-option v-for="option in selectOptions" :key="option" :label="option" <el-option
:value="option"></el-option> v-for="option in selectOptions"
:key="option"
:label="option"
:value="option"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="address" label="寄存地址(十进制)" width="150px"> <el-table-column
property="address"
label="寄存地址(十进制)"
width="150px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.address" placeholder="1"> <el-select v-model="scope.row.address" placeholder="1">
<el-option v-for="option in selectOptions" :key="option" :label="option" <el-option
:value="option"></el-option> v-for="option in selectOptions"
:key="option"
:label="option"
:value="option"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="type" label="采集数据类型"> <el-table-column property="type" label="采集数据类型">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.type" placeholder="bool"> <el-select v-model="scope.row.type" placeholder="bool">
<el-option v-for="option in selectOptions" :key="option" :label="option" <el-option
:value="option"></el-option> v-for="option in selectOptions"
:key="option"
:label="option"
:value="option"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -50,15 +74,17 @@
<el-table-column property="attribute" label="读写属性"> <el-table-column property="attribute" label="读写属性">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.attribute" placeholder="读写"> <el-select v-model="scope.row.attribute" placeholder="读写">
<el-option v-for="option in selectOptions" :key="option" :label="option" <el-option
:value="option"></el-option> v-for="option in selectOptions"
:key="option"
:label="option"
:value="option"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="order" label="上传模式"> <el-table-column property="order" label="上传模式"> </el-table-column>
</el-table-column> <el-table-column property="count" label="单位"> </el-table-column>
<el-table-column property="count" label="单位">
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -66,12 +92,11 @@
<script> <script>
export default { export default {
name: 'ChiCollection', name: "ChiCollection",
data() { data() {
return { return {
activeIndex: "1",
activeIndex: '1',
value1: 1, value1: 1,
checked: "", checked: "",
labelPosition: "left", labelPosition: "left",
@ -81,62 +106,84 @@ export default {
rightMenu: "", rightMenu: "",
dialogVisible: false, dialogVisible: false,
menuShow: false, menuShow: false,
datas: [{ datas: [
label: '一级 1', {
children: [{ label: "一级 1",
label: '二级 1-1', children: [
children: [{ {
label: '三级 1-1-1' label: "二级 1-1",
}] children: [
}] {
}, { label: "三级 1-1-1",
label: '一级 2', },
children: [{ ],
label: '二级 2-1', },
children: [{ ],
label: '三级 2-1-1' },
}] {
}, { label: "一级 2",
label: '二级 2-2', children: [
children: [{ {
label: '三级 2-2-1' label: "二级 2-1",
}] children: [
}] {
}, { label: "三级 2-1-1",
label: '一级 3', },
children: [{ ],
label: '二级 3-1', },
children: [{ {
label: '三级 3-1-1' label: "二级 2-2",
}] children: [
}, { {
label: '二级 3-2', label: "三级 2-2-1",
children: [{ },
label: '三级 3-2-1' ],
}] },
}] ],
}], },
{
label: "一级 3",
children: [
{
label: "二级 3-1",
children: [
{
label: "三级 3-1-1",
},
],
},
{
label: "二级 3-2",
children: [
{
label: "三级 3-2-1",
},
],
},
],
},
],
defaultProps: { defaultProps: {
children: 'children', children: "children",
label: 'label' label: "label",
}, },
selectOptions: [], selectOptions: [],
tableData: [{ tableData: [
tag_id: 'tag0001', {
name: '测试', tag_id: "tag0001",
name: "测试",
datas: "", datas: "",
address: '1', address: "1",
order: 'NUll', order: "NUll",
type: "boolean", type: "boolean",
attribute: "读写", attribute: "读写",
count: 1, count: 1,
}], },
],
}; };
}, },
mounted() { mounted() {},
},
methods: { methods: {
treeNodeClick() { treeNodeClick() {
@ -147,7 +194,7 @@ export default {
}, },
handleSelect(key, keyPath) { handleSelect(key, keyPath) {
console.log(key, keyPath); console.log(key, keyPath);
} },
}, },
}; };
</script> </script>
@ -216,8 +263,6 @@ export default {
padding: 0px 8px; padding: 0px 8px;
} }
.content { .content {
position: absolute; position: absolute;
left: 377px; left: 377px;

View File

@ -11,56 +11,175 @@
:label-position="labelPosition" :label-position="labelPosition"
> >
<el-form-item label="IP获取方式" prop="ipGetMethod"> <el-form-item label="IP获取方式" prop="ipGetMethod">
<el-col :span="10">
<el-select v-model="ruleForm.ipGetMethod"> <el-select v-model="ruleForm.ipGetMethod">
<el-option label="区域一" value="shanghai"></el-option> <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="DNS获取方式" prop="DnsGetMethod"> <el-form-item label="DNS获取方式" prop="DnsGetMethod">
<el-col :span="10">
<el-select v-model="ruleForm.DnsGetMethod"> <el-select v-model="ruleForm.DnsGetMethod">
<el-option label="区域一" value="shanghai"></el-option> <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="本机IP" prop="ipAddress"> <el-form-item label="本机IP" prop="ipAddress">
<el-col :span="10"> <el-row>
<el-col :span="5">
<el-input <el-input
v-model="ruleForm.ipAddress" v-model="input1"
placeholder="请输入IP地址" style="width: 43px; height: 30px"
></el-input> ></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
</el-row>
</el-form-item> </el-form-item>
<el-form-item label="子网掩码" prop="subnetMaskRules"> <el-form-item label="子网掩码" prop="subnetMaskRules">
<el-col :span="10"> <el-row>
<el-col :span="5">
<el-input <el-input
v-model="ruleForm.subnetMaskRules" v-model="input1"
placeholder="请输入子网掩码" style="width: 43px; height: 30px"
></el-input> ></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
</el-row>
</el-form-item> </el-form-item>
<el-form-item label="网关地址" prop="gateway"> <el-form-item label="网关地址" prop="gateway">
<el-col :span="10"> <el-row>
<el-col :span="5">
<el-input <el-input
v-model="ruleForm.gateway" v-model="input1"
placeholder="请输入网关地址" style="width: 43px; height: 30px"
></el-input> ></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
</el-row>
</el-form-item> </el-form-item>
<el-form-item label="主DNS服务器" prop="primaryDNS"> <el-form-item label="主DNS服务器" prop="primaryDNS">
<el-col :span="10"> <el-row>
<el-col :span="5">
<el-input <el-input
v-model="ruleForm.primaryDNS" v-model="input1"
placeholder="请输入服务器号码" style="width: 43px; height: 30px"
></el-input> ></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
</el-row>
</el-form-item> </el-form-item>
<el-form-item label="备用DNS服务器" prop="bprimaryDNS"> <el-form-item label="备用DNS服务器" prop="bprimaryDNS">
<el-col :span="10"> <el-row>
<el-col :span="5">
<el-input <el-input
v-model="ruleForm.bprimaryDNS" v-model="input1"
placeholder="请输入服务器号码" style="width: 43px; height: 30px"
></el-input> ></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col>
</el-row>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">

View File

@ -0,0 +1,78 @@
<template>
<div>
<el-button @click="dialogVisible = true">网口设置</el-button>
<el-dialog
title="网口设置"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<h3>以太网功能</h3>
<el-divider></el-divider>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="开启网口:" prop="kqwk">
<el-select v-model="ruleForm.kqwk">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="网口工作方式:" prop="wkgzfs">
<el-select v-model="ruleForm.wkgzfs">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
<h3>网口模式设置</h3>
<el-divider></el-divider>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="网口模式:" prop="wkms">
<el-select v-model="ruleForm.wkms">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false"
>保存</el-button
>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
labelPosition: "left",
ruleForm: {
kqwk: "",
wkgzfs: "",
wkms: "",
},
rules: {
kqwk: [{ required: true, trigger: "change" }],
wkgzfs: [{ required: true, trigger: "change" }],
wkms: [{ required: true, trigger: "change" }],
},
};
},
};
</script>

View File

@ -0,0 +1,164 @@
<template>
<div>
<el-button @click="dialogVisible = true">网络管理</el-button>
<el-dialog
title="网络管理"
:visible.sync="dialogVisible"
width="40%"
:before-close="handleClose"
>
<h3>内网网卡</h3>
<el-divider></el-divider>
<el-table :data="tableData" style="width: 100%" border>
<el-table-column prop="name" label="网卡名称"> </el-table-column>
<el-table-column prop="ipv4Address" label="IPV4地址">
<template slot-scope="scope">
<el-row>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column prop="ipv4Code" label="IPV4掩码">
<template slot-scope="scope">
<el-row>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
</el-row> </template
></el-table-column>
</el-table>
<h3>外网网卡</h3>
<el-divider></el-divider>
<el-table :data="tableData1" style="width: 100%" border>
<el-table-column prop="name" label="网卡名称"> </el-table-column>
<el-table-column prop="ipv4Address" label="IPV4地址">
<template slot-scope="scope">
<el-row>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column prop="ipv4Code" label="IPV4掩码">
<template slot-scope="scope">
<el-row>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="input1"></el-input>
</el-col>
</el-row> </template
></el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false"
>保存</el-button
>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
tableData: [
{
name: "内网网卡1",
ipv4Address: "",
ipv4Code: "",
},
{
name: "内网网卡2",
ipv4Address: "",
ipv4Code: "",
},
{
name: "内网网卡3",
ipv4Address: "",
ipv4Code: "",
},
{
name: "内网网卡4",
ipv4Address: "",
ipv4Code: "",
},
],
tableData1: [
{
name: "外网网卡1",
ipv4Address: "",
ipv4Code: "",
},
{
name: "外网网卡2",
ipv4Address: "",
ipv4Code: "",
},
{
name: "外网网卡3",
ipv4Address: "",
ipv4Code: "",
},
{
name: "外网网卡4",
ipv4Address: "",
ipv4Code: "",
},
],
};
},
};
</script>
<style></style>

View File

@ -0,0 +1,119 @@
<template>
<div>
<el-button @click="dialogVisible = true">对象管理</el-button>
<el-dialog
title="对象管理"
:visible.sync="dialogVisible"
width="50%"
:before-close="handleClose"
>
<el-button style="margin-bottom: 10px" @click="dialogVisible1 = true"
>新增对象</el-button
>
<el-table :data="tableData" style="width: 100%" border>
<el-table-column label="序号">
<template slot-scope="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="name" label="对象名称"> </el-table-column>
<el-table-column prop="address" label="IP地址信息"> </el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small"
>编辑</el-button
>
<el-button type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog
title="新增对象"
:visible.sync="dialogVisible1"
width="30%"
:before-close="handleClose"
>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="IP类型:" prop="iplx">
<el-col :span="20">
<el-select v-model="ruleForm.iplx">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="对象名称:" prop="dxmc">
<el-col :span="20">
<el-input v-model="ruleForm.dxmc"> </el-input>
</el-col>
</el-form-item>
<el-form-item label="IP地址:" prop="ipdz">
<el-col :span="4">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="2">. </el-col>
<el-col :span="4">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="2">. </el-col>
<el-col :span="4">
<el-input v-model="input1"></el-input>
</el-col>
<el-col :span="2">. </el-col>
<el-col :span="4">
<el-input v-model="input1"></el-input>
</el-col>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible1 = false"
>保存</el-button
>
<el-button @click="dialogVisible1 = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
dialogVisible1: false,
labelPosition: "left",
tableData: [
{
name: "数来服务器",
address: "192.168.89.21",
},
{
name: "网关1",
address: "192.168.89.16",
},
],
ruleForm: {
iplx: "",
dxmc: "",
},
rules: {
iplx: [{ required: true, trigger: "change" }],
dxmc: [{ required: true, trigger: "blur" }],
},
};
},
methods: {
handleClick() {},
},
};
</script>
<style></style>

View File

@ -22,37 +22,47 @@
:label-position="labelPosition" :label-position="labelPosition"
> >
<el-form-item label="波特率(bps)" prop="btl"> <el-form-item label="波特率(bps)" prop="btl">
<el-col :span="15">
<el-select v-model="ruleForm.btl"> <el-select v-model="ruleForm.btl">
<el-option label="9600" value="shanghai"></el-option> <el-option label="9600" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="数据位(bit)" prop="data"> <el-form-item label="数据位(bit)" prop="data">
<el-col :span="15">
<el-select v-model="ruleForm.data"> <el-select v-model="ruleForm.data">
<el-option label="8" value="shanghai"></el-option> <el-option label="8" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="检验位" prop="check"> <el-form-item label="检验位" prop="check">
<el-col :span="15">
<el-select v-model="ruleForm.check"> <el-select v-model="ruleForm.check">
<el-option label="无校验(None)" value="shanghai"></el-option> <el-option label="无校验(None)" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="停止位" prop="stop"> <el-form-item label="停止位" prop="stop">
<el-col :span="15">
<el-select v-model="ruleForm.stop"> <el-select v-model="ruleForm.stop">
<el-option label="1" value="shanghai"></el-option> <el-option label="1" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="流控模式" prop="waterContorl"> <el-form-item label="流控模式" prop="waterContorl">
<el-col :span="15">
<el-select v-model="ruleForm.waterContorl"> <el-select v-model="ruleForm.waterContorl">
<el-option label="None" value="shanghai"></el-option> <el-option label="None" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="打包长度(bytes)" prop="bagLength"> <el-form-item label="打包长度(bytes)" prop="bagLength">
<el-col :span="10"> <el-col :span="15">
<el-input <el-input
v-model="ruleForm.bagLength" v-model="ruleForm.bagLength"
placeholder="0-1460" placeholder="0-1460"
@ -60,15 +70,17 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="打包时间(ms)" prop="time"> <el-form-item label="打包时间(ms)" prop="time">
<el-col :span="10"> <el-col :span="15">
<el-input v-model="ruleForm.time" placeholder="0-255"></el-input> <el-input v-model="ruleForm.time" placeholder="0-255"></el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="同步波特率(RF2217)" prop="RFbtl"> <el-form-item label="同步波特率(RF2217)" prop="RFbtl">
<el-col :span="15">
<el-select v-model="ruleForm.RFbtl"> <el-select v-model="ruleForm.RFbtl">
<el-option label="None" value="shanghai"></el-option> <el-option label="None" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-col>
</el-form-item> </el-form-item>
<el-checkbox <el-checkbox
label="使能串口心跳包" label="使能串口心跳包"

View File

@ -2,19 +2,27 @@
<template> <template>
<div> <div>
<!-- 设置树形控件 --> <!-- 设置树形控件 -->
<el-button type="info" plain @click="dialogVisible = true">网关通道</el-button> <el-button type="info" plain @click="dialogVisible = true"
>网关通道</el-button
>
<div class="tree_menu" v-show="dialogVisible"> <div class="tree_menu" v-show="dialogVisible">
<el-tree :data="datas" :props="defaultProps" @node-contextmenu="rightClick" <el-tree
@node-click="treeNodeClick"></el-tree> :data="datas"
:props="defaultProps"
@node-contextmenu="rightClick"
@node-click="treeNodeClick"
></el-tree>
<!-- 树形控件右键组件 --> <!-- 树形控件右键组件 -->
<div v-show="menuShow" class="tree_rightmenu" :style="{ ...rightMenu }"> <div v-show="menuShow" class="tree_rightmenu" :style="{ ...rightMenu }">
<el-menu
<el-menu class="el-menu-vertical-demo" @select="selectMenuNode" default-active="#0078FE"> class="el-menu-vertical-demo"
@select="selectMenuNode"
<el-menu-item id="menuitem" index="1" style="font-size: 12px;"> default-active="#0078FE"
>
<el-menu-item id="menuitem" index="1" style="font-size: 12px">
<span slot="title">新建通道</span> <span slot="title">新建通道</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="2" style="font-size: 12px;"> <el-menu-item index="2" style="font-size: 12px">
<span slot="title"> </span> <span slot="title"> </span>
</el-menu-item> </el-menu-item>
</el-menu> </el-menu>
@ -25,31 +33,61 @@
<el-form :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form :label-position="labelPosition" :rules="rules" ref="ruleForm">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="通道名称:" :label-width="formLabelWidth" prop="pass_name"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="通道名称:"
:label-width="formLabelWidth"
prop="pass_name"
>
<el-input
v-model="input1"
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="通道:" :label-width="formLabelWidth" prop="passage"> <el-form-item
<el-select v-model="value" placeholder="" style="width: 200px;height:30px"> label="通道:"
<el-option v-for="item in options" :key="item.value" :label="item.label" :label-width="formLabelWidth"
:value="item.value"> prop="passage"
>
<el-select
v-model="value"
placeholder=""
style="width: 200px; height: 30px"
>
<el-option
v-for="item in options"
: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-col :span="12"> <el-col :span="12">
<el-form-item label="驱动名称:" :label-width="formLabelWidth" prop="drive_name"> <el-form-item
label="驱动名称:"
:label-width="formLabelWidth"
prop="drive_name"
>
<el-row> <el-row>
<el-col :span="18"> <el-col :span="18">
<el-input v-model="input1" placeholder="" <el-input
style="width: 200px;height:30px"></el-input> v-model="input1"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button style="width: 50px; height: 30px;" @click="getDriveName">...</el-button> <el-button
style="width: 50px; height: 30px"
@click="getDriveName"
>...</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@ -57,23 +95,38 @@
</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="ip_address"> <el-form-item
label="IP地址:"
:label-width="formLabelWidth"
prop="ip_address"
>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="input1" style="width: 43px;height:30px"></el-input> <el-input
</el-col> v-model="input1"
<el-col :span="1">. style="width: 43px; height: 30px"
></el-input>
</el-col> </el-col>
<el-col :span="1">. </el-col>
<el-col :span="5"> <el-col :span="5">
<el-input v-model="input1" style="width: 43px;height:30px"></el-input> <el-input
v-model="input1"
style="width: 43px; height: 30px"
></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="input1" style="width: 43px;height:30px"></el-input> <el-input
v-model="input1"
style="width: 43px; height: 30px"
></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="input1" style="width: 43px;height:30px"></el-input> <el-input
v-model="input1"
style="width: 43px; height: 30px"
></el-input>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@ -81,32 +134,72 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="端口号:" :label-width="formLabelWidth" prop="port_number"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="端口号:"
:label-width="formLabelWidth"
prop="port_number"
>
<el-input
v-model="input1"
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="超过时间(ms):" :label-width="formLabelWidth" prop="time_exceeded"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="超过时间(ms):"
:label-width="formLabelWidth"
prop="time_exceeded"
>
<el-input
v-model="input1"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="间隔时间(ms):" :label-width="formLabelWidth" prop="time_interval"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="间隔时间(ms):"
:label-width="formLabelWidth"
prop="time_interval"
>
<el-input
v-model="input1"
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="轮询时间(ms):" :label-width="formLabelWidth" prop="time_polling"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="轮询时间(ms):"
:label-width="formLabelWidth"
prop="time_polling"
>
<el-input
v-model="input1"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="重复次数:" :label-width="formLabelWidth" prop="repeate_count"> <el-form-item
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px"></el-input> label="重复次数:"
:label-width="formLabelWidth"
prop="repeate_count"
>
<el-input
v-model="input1"
placeholder=""
style="width: 200px; height: 30px"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -116,19 +209,38 @@
<div> <div>
<i class="el-icon-caret-bottom" v-if="is_retract"></i> <i class="el-icon-caret-bottom" v-if="is_retract"></i>
<i class="el-icon-caret-top" v-else="is_retract"></i> <i class="el-icon-caret-top" v-else="is_retract"></i>
<el-button type="text" plain @click="getRetract" style="width: 28px; <el-button
height: 20px;color: rgba(16, 16, 16, 1);font-size: 14px;text-align: left;"> type="text"
收起</el-button> plain
@click="getRetract"
style="
width: 28px;
height: 20px;
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: left;
"
>
收起</el-button
>
</div> </div>
</div> </div>
<div class="super_con" v-show="is_retract"> <div class="super_con" v-show="is_retract">
<el-form :label-position="labelPosition" :rules="rules" ref="ruleForm"> <el-form
:label-position="labelPosition"
:rules="rules"
ref="ruleForm"
>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item> <el-form-item>
<el-checkbox v-model="checked1">watch time(s)</el-checkbox> <el-checkbox v-model="checked1">watch time(s)</el-checkbox>
<el-input v-model="input1" placeholder="" style="width: 200px;height:30px" <el-input
:disabled="isdisabled"></el-input> v-model="input1"
placeholder=""
style="width: 200px; height: 30px"
:disabled="isdisabled"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -142,12 +254,17 @@
<el-form-item label="读写占空比:" :label-width="formLabelWidth"> <el-form-item label="读写占空比:" :label-width="formLabelWidth">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-input v-model="input1" style="width: 91px;height:30px"></el-input> <el-input
</el-col> v-model="input1"
<el-col :span="4">: style="width: 91px; height: 30px"
></el-input>
</el-col> </el-col>
<el-col :span="4">: </el-col>
<el-col :span="10"> <el-col :span="10">
<el-input v-model="input1" style="width: 91px;height:30px"></el-input> <el-input
v-model="input1"
style="width: 91px; height: 30px"
></el-input>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
@ -157,18 +274,34 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="05/0F:" :label-width="formLabelWidth"> <el-form-item label="05/0F:" :label-width="formLabelWidth">
<el-row> <el-row>
<el-col :span="8"><el-radio v-model="radio" label="1">auto</el-radio></el-col> <el-col :span="8"
<el-col :span="8"><el-radio v-model="radio" label="2">05</el-radio></el-col> ><el-radio v-model="radio" label="1"
<el-col :span="8"><el-radio v-model="radio" label="3">0F</el-radio></el-col> >auto</el-radio
></el-col
>
<el-col :span="8"
><el-radio v-model="radio" label="2">05</el-radio></el-col
>
<el-col :span="8"
><el-radio v-model="radio" label="3">0F</el-radio></el-col
>
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="06/10:" :label-width="formLabelWidth"> <el-form-item label="06/10:" :label-width="formLabelWidth">
<el-row> <el-row>
<el-col :span="8"><el-radio v-model="radio" label="1">auto</el-radio></el-col> <el-col :span="8"
<el-col :span="8"><el-radio v-model="radio" label="2">06</el-radio></el-col> ><el-radio v-model="radio" label="1"
<el-col :span="8"><el-radio v-model="radio" label="3">10</el-radio></el-col> >auto</el-radio
></el-col
>
<el-col :span="8"
><el-radio v-model="radio" label="2">06</el-radio></el-col
>
<el-col :span="8"
><el-radio v-model="radio" label="3">10</el-radio></el-col
>
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -177,7 +310,9 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="add_passage = false"> </el-button> <el-button @click="add_passage = false"> </el-button>
<el-button type="primary" @click="add_passage = false"> </el-button> <el-button type="primary" @click="add_passage = false"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -191,28 +326,34 @@
<script> <script>
export default { export default {
name: 'TestTreeView', name: "TestTreeView",
data() { data() {
return { return {
diag_drive: false, diag_drive: false,
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: '网口', },
{
value: "选项5",
label: "测试5",
},
],
value: "网口",
isdisabled: true, isdisabled: true,
radio: "1", radio: "1",
checked1: false, checked1: false,
@ -225,110 +366,129 @@ export default {
rightMenu: "", rightMenu: "",
dialogVisible: false, dialogVisible: false,
menuShow: false, menuShow: false,
datas: [{ datas: [
label: '一级 1', {
children: [{ label: "一级 1",
label: '二级 1-1', children: [
children: [{ {
label: '三级 1-1-1' label: "二级 1-1",
}] children: [
}] {
}, { label: "三级 1-1-1",
label: '一级 2', },
children: [{ ],
label: '二级 2-1', },
children: [{ ],
label: '三级 2-1-1' },
}] {
}, { label: "一级 2",
label: '二级 2-2', children: [
children: [{ {
label: '三级 2-2-1' label: "二级 2-1",
}] children: [
}] {
}, { label: "三级 2-1-1",
label: '一级 3', },
children: [{ ],
label: '二级 3-1', },
children: [{ {
label: '三级 3-1-1' label: "二级 2-2",
}] children: [
}, { {
label: '二级 3-2', label: "三级 2-2-1",
children: [{ },
label: '三级 3-2-1' ],
}] },
}] ],
}], },
{
label: "一级 3",
children: [
{
label: "二级 3-1",
children: [
{
label: "三级 3-1-1",
},
],
},
{
label: "二级 3-2",
children: [
{
label: "三级 3-2-1",
},
],
},
],
},
],
defaultProps: { defaultProps: {
children: 'children', children: "children",
label: 'label' label: "label",
}, },
rules: { rules: {
pass_name: [ pass_name: [
{ required: true, message: '请输入通道名称', trigger: 'blur' }, { required: true, message: "请输入通道名称", trigger: "blur" },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
],
passage: [
{ required: true, message: '请输入通道', trigger: 'blur' },
], ],
passage: [{ required: true, message: "请输入通道", trigger: "blur" }],
drive_name: [ drive_name: [
{ required: true, message: '请输入驱动名称', trigger: 'blur' }, { required: true, message: "请输入驱动名称", trigger: "blur" },
], ],
ip_address: [ ip_address: [
{ required: true, message: '请输入ip地址', trigger: 'blur' }, { required: true, message: "请输入ip地址", trigger: "blur" },
], ],
port_number: [ port_number: [
{ required: true, message: '请输入端口号', trigger: 'blur' }, { required: true, message: "请输入端口号", trigger: "blur" },
], ],
time_exceeded: [ time_exceeded: [
{ required: true, message: '请输入超出时间', trigger: 'blur' }, { required: true, message: "请输入超出时间", trigger: "blur" },
], ],
time_interval: [ time_interval: [
{ required: true, message: '请输入间隔时间', trigger: 'blur' }, { required: true, message: "请输入间隔时间", trigger: "blur" },
], ],
time_polling: [ time_polling: [
{ required: true, message: '请输入轮询时间', trigger: 'blur' }, { required: true, message: "请输入轮询时间", trigger: "blur" },
], ],
repeate_count: [ repeate_count: [
{ required: true, message: '请输入重复次数', trigger: 'blur' }, { required: true, message: "请输入重复次数", trigger: "blur" },
], ],
}, },
}; };
}, },
mounted() { mounted() {
console.log(document.querySelector(".body"));
}, },
methods: { methods: {
rightClick(e, data, node) { rightClick(e, data, node) {
this.menuShow = false this.menuShow = false;
this.menuShow = true this.menuShow = true;
e.preventDefault() // e.preventDefault(); //
this.rightMenu = { top: e.pageY + 'px', left: e.pageX + 'px' } this.rightMenu = { top: e.pageY + "px", left: e.pageX + "px" };
document.addEventListener('click', (ev) => { document.addEventListener("click", (ev) => {
ev.stopImmediatePropagation() ev.stopImmediatePropagation();
if (ev.target !== document.querySelector('.el-menu-item.is-active')) { if (ev.target !== document.querySelector(".el-menu-item.is-active")) {
this.foo() this.foo();
} }
}) });
}, },
// , // ,
selectMenuNode(index, indexPath) { selectMenuNode(index, indexPath) {
console.log(index); console.log(index);
if (index == 1) { if (index == 1) {
this.add_passage = true; this.add_passage = true;
} }
}, },
foo() { foo() {
// //
this.menuShow = false this.menuShow = false;
document.removeEventListener('click', this.foo) // document.removeEventListener("click", this.foo); //
}, },
treeNodeClick() { treeNodeClick() {
this.foo() this.foo();
}, },
// //
getRetract() { getRetract() {
@ -340,39 +500,39 @@ export default {
}, },
getDriveName() { getDriveName() {
this.diag_drive = true; this.diag_drive = true;
} },
}, },
watch: { watch: {
checked1: { checked1: {
handler(old,) { handler(old) {
if (old) { if (old) {
this.isdisabled = false; this.isdisabled = false;
} else { } else {
this.isdisabled = true; this.isdisabled = true;
} }
}
}
}, },
directives:{ },
clickoutside:{ },
bind:function(el,binding,vnode){ directives: {
function documentHandler(e){ clickoutside: {
if(el.contains(e.target)){ bind: function (el, binding, vnode) {
function documentHandler(e) {
if (el.contains(e.target)) {
return false; return false;
} }
if(binding.expression){ if (binding.expression) {
binding.value(e) binding.value(e);
} }
} }
el._vueClickOutside_ = documentHandler; el._vueClickOutside_ = documentHandler;
document.addEventListener('click',documentHandler); document.addEventListener("click", documentHandler);
}, },
unbind:function(el,binding){ unbind: function (el, binding) {
document.removeEventListener('click',el._vueClickOutside_); document.removeEventListener("click", el._vueClickOutside_);
delete el._vueClickOutside_; delete el._vueClickOutside_;
} },
} },
} },
}; };
</script> </script>
@ -458,7 +618,6 @@ export default {
} }
.el-input__inner { .el-input__inner {
text-align: left; text-align: left;
padding: 0 8px; padding: 0 8px;
} }

View File

@ -0,0 +1,96 @@
<template>
<div>
<el-button @click="dialogVisible = true">无线设置</el-button>
<el-dialog
title="无线设置"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="工作模式:" prop="gzms">
<el-col :span="10">
<el-select v-model="ruleForm.gzms">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="网络名称:" prop="wlmc">
<el-col :span="10">
<el-select v-model="ruleForm.wlmc">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="MAC地址:" prop="mac">
<el-col :span="10">
<el-input v-model="ruleForm.mac"> </el-input>
</el-col>
</el-form-item>
<el-form-item label="加密模式:" prop="jmms">
<el-col :span="10">
<el-select v-model="ruleForm.jmms">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="加密算法:" prop="jmsf">
<el-col :span="10">
<el-select v-model="ruleForm.jmsf">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="密码:" prop="mm">
<el-col :span="10">
<el-input v-model="ruleForm.mm"> </el-input>
</el-col>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false"
>保存</el-button
>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
labelPosition: "left",
ruleForm: {
gzms: "",
wlmc: "",
mac: "",
jmms: "",
jmsf: "",
mm: "",
},
rules: {
gzms: [{ required: true, trigger: "change" }],
wlmc: [{ required: true, trigger: "change" }],
mac: [{ trigger: "blur" }],
jmms: [{ required: true, trigger: "blur" }],
jmsf: [{ required: true, trigger: "blur" }],
mm: [{ required: true, trigger: "blur" }],
},
};
},
};
</script>

View File

@ -0,0 +1,167 @@
<template>
<div>
<el-button @click="dialogVisible = true">串口及网络协议设置</el-button>
<el-dialog
title="串口及网络协议设置"
:visible.sync="dialogVisible"
:before-close="handleClose"
>
<h3>串口参数设置</h3>
<el-divider></el-divider>
<div class="formOne">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="波特率(bps):" prop="btl">
<el-select v-model="ruleForm.btl" placeholder="请选择波特率">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="检验位:" prop="jyw">
<el-select v-model="ruleForm.jyw" placeholder="请选择检验位">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="流控:" prop="lk">
<el-select v-model="ruleForm.lk" placeholder="请选择流控">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="自适应波特率(类RFC2117):" prop="rfc">
<el-select v-model="ruleForm.rfc" placeholder="请选择自适应波特率">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="数据位(bit):" prop="sjw">
<el-select v-model="ruleForm.sjw" placeholder="请选择数据位">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="停止位:" prop="tzw">
<el-select v-model="ruleForm.tzw" placeholder="请选择停止位">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="485功能:" prop="gn">
<el-select v-model="ruleForm.gn" placeholder="请选择485功能">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<h3>其他设置</h3>
<el-divider></el-divider>
<div class="formOne">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="150px"
class="demo-ruleForm"
:label-position="labelPosition"
>
<el-form-item label="串口自动成频:" prop="ckzdcp">
<el-select v-model="ruleForm.ckzdcp">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册包类型:" prop="zcblx">
<el-select v-model="ruleForm.zcblx">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="自定义心跳包:" prop="zdyxtb">
<el-select v-model="ruleForm.zdyxtb">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="套接字分发功能:" prop="tjz">
<el-select v-model="ruleForm.tjz">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
<div>
注意开启后模块主动向服务器发送注册包此功能用于辨识设备
first:模块建议时发送注册包,every:每次发送数据时发送注册包
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false"
>保存</el-button
>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
labelPosition: "left",
ruleForm: {
btl: "",
jyw: "",
lk: "",
rfc: "",
sjw: "",
tzw: "",
gn: "",
ckzdcp: "",
zcblx: "",
zdyxtb: "",
tjz: "",
},
rules: {
btl: [{ required: true, trigger: "change" }],
jyw: [{ required: true, trigger: "change" }],
lk: [{ required: true, trigger: "change" }],
rfc: [{ required: true, trigger: "change" }],
sjw: [{ required: true, trigger: "change" }],
tzw: [{ required: true, trigger: "change" }],
gn: [{ required: true, trigger: "change" }],
ckzdcp: [{ required: true, trigger: "change" }],
zcblx: [{ required: true, trigger: "change" }],
zdyxtb: [{ required: true, trigger: "change" }],
tjz: [{ required: true, trigger: "change" }],
},
};
},
};
</script>
<style scoped>
.formOne {
display: flex;
justify-content: space-around;
}
.demo-ruleForm {
width: 50%;
}
</style>