|
|
@@ -13,7 +13,7 @@
|
|
|
>
|
|
|
<div style="font-size: 12px; width: 80px">点名称:</div>
|
|
|
<el-input
|
|
|
- v-model="searchform.protocolname"
|
|
|
+ v-model="searchform.name"
|
|
|
placeholder="点名称"
|
|
|
></el-input>
|
|
|
</div>
|
|
|
@@ -21,8 +21,8 @@
|
|
|
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-button type="primary" plain>重置</el-button>
|
|
|
- <el-button type="primary">搜索</el-button>
|
|
|
+ <el-button type="primary" plain @click="initdata">重置</el-button>
|
|
|
+ <el-button type="primary" @click="getalldata">搜索</el-button>
|
|
|
<el-button type="primary" plain @click="router.back()">返回</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -33,13 +33,13 @@
|
|
|
<el-card class="box-card" style="margin-top: 15px">
|
|
|
<template #header>
|
|
|
<div class="card-header">
|
|
|
- <span>点表配置:xx设备</span>
|
|
|
+ <span>点表配置:{{currentsensor?.name}} 传感器</span>
|
|
|
<div>
|
|
|
<el-button type="primary" @click="goadd">添加</el-button>
|
|
|
- <el-button type="primary" plain>导入</el-button>
|
|
|
- <el-button type="primary" plain>导出</el-button>
|
|
|
- <el-button type="danger">批量删除</el-button>
|
|
|
- <el-button type="primary" plain>显示字段</el-button>
|
|
|
+<!-- <el-button type="primary" plain>导入</el-button>-->
|
|
|
+<!-- <el-button type="primary" plain>导出</el-button>-->
|
|
|
+ <el-button type="danger" @click="deleteall">批量删除</el-button>
|
|
|
+<!-- <el-button type="primary" plain>显示字段</el-button>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -49,16 +49,35 @@
|
|
|
<div>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-table :data="tabledata" border>
|
|
|
+ <el-table :data="tabledata" ref="tableref" border>
|
|
|
<el-table-column type="selection" width="55" />
|
|
|
- <el-table-column label="点名称"></el-table-column>
|
|
|
- <el-table-column label="数据类型"></el-table-column>
|
|
|
- <el-table-column label="从设备号"></el-table-column>
|
|
|
- <el-table-column label="起始地址"></el-table-column>
|
|
|
- <el-table-column label="起始地址偏移量"></el-table-column>
|
|
|
- <el-table-column label="待读寄存器的个数"></el-table-column>
|
|
|
- <el-table-column label="变量类型"></el-table-column>
|
|
|
- <el-table-column label="操作" fixed="right" ></el-table-column>
|
|
|
+ <el-table-column v-for="item in cloumdata.filter(i=>i.visible)" :prop="item.prop" :label="item.label" ></el-table-column>
|
|
|
+ <el-table-column label="操作" fixed="right" >
|
|
|
+ <template #default="scope">
|
|
|
+ <div>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ link @click="editpoint(scope.row,2)"
|
|
|
+ >
|
|
|
+ <el-tooltip effect="dark" content="编辑">
|
|
|
+ <el-icon>
|
|
|
+ <Edit />
|
|
|
+ </el-icon>
|
|
|
+ </el-tooltip>
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ <el-popconfirm title="确定删除该点位?" @confirm="deleterow(scope.row)">
|
|
|
+ <template #reference>
|
|
|
+ <el-button link
|
|
|
+ ><el-tooltip effect="dark" content="删除"
|
|
|
+ ><el-icon><Delete /></el-icon></el-tooltip
|
|
|
+ ></el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
</el-col>
|
|
|
@@ -67,7 +86,10 @@
|
|
|
small
|
|
|
background
|
|
|
layout="prev, pager, next"
|
|
|
- :total="50"
|
|
|
+ :total="pagedata.total"
|
|
|
+ :page-size="pagedata.size"
|
|
|
+ :current-page="pagedata.current"
|
|
|
+ @current-change="onchangepage"
|
|
|
class="mt-4"
|
|
|
/>
|
|
|
</el-col>
|
|
|
@@ -82,22 +104,110 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts" name="Units">
|
|
|
-import {ref} from "vue";
|
|
|
+import {onMounted, ref} from "vue";
|
|
|
import {useRoute, useRouter} from "vue-router";
|
|
|
+import {listDatapoint,addDatapoint,delDatapoint,updateDatapoint} from "@/api/data/datapoint"
|
|
|
+import {ElMessage, ElMessageBox} from "element-plus";
|
|
|
|
|
|
|
|
|
const route = useRoute();
|
|
|
const router = useRouter();
|
|
|
|
|
|
const searchform = ref({
|
|
|
- protocolname: '',
|
|
|
+ name: '',
|
|
|
})
|
|
|
+const initdata = ()=>{
|
|
|
+ searchform.value = {
|
|
|
+ name: '',
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const cloumdata = ref([
|
|
|
+ {label: '点名称', prop:'name',visible:true},
|
|
|
+ {label: '数据类型', prop:'dataType',visible:true},
|
|
|
+ {label: '从设备号', prop:'slaveDeviceNumber',visible:true},
|
|
|
+ {label: '起始地址', prop:'addr',visible:true},
|
|
|
+ {label: '起始地址偏移量', prop:'addrOffset',visible:true},
|
|
|
+ {label: '待读寄存器的个数', prop:'len',visible:true},
|
|
|
+ {label: '变量类型', prop:'valueType',visible:true},
|
|
|
+]);
|
|
|
+
|
|
|
+const tableref = ref(null);
|
|
|
|
|
|
const tabledata = ref([1])
|
|
|
const goadd = ()=>{
|
|
|
- router.push("/gateway/pointsetting/add");
|
|
|
+ router.push("/gateway/pointsetting/add?type=0");
|
|
|
+}
|
|
|
+
|
|
|
+const pagedata = ref({
|
|
|
+ total:0,
|
|
|
+ size:10,
|
|
|
+ current:1
|
|
|
+});
|
|
|
+const onchangepage = (page) => {
|
|
|
+ pagedata.value.current = page;
|
|
|
+ getalldata();
|
|
|
}
|
|
|
+const currentsensor = ref(null)
|
|
|
+
|
|
|
+const getalldata = ()=>{
|
|
|
+ listDatapoint({...searchform.value,pageSize:pagedata.value.size,pageNum:pagedata.value.current,sensorId:currentsensor.value.id}).then(res => {
|
|
|
+ const {rows,total,page,size} = res;
|
|
|
+ pagedata.value = {total:total,current:page, size:10};
|
|
|
+ tabledata.value = rows
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
+const editpoint =(item)=>{
|
|
|
+ localStorage.setItem("currentpoint",JSON.stringify(item));
|
|
|
+ router.push("/gateway/pointsetting/add?type=1");
|
|
|
+}
|
|
|
+const deleterow =(item)=>{
|
|
|
+ delDatapoint(item.id).then((res)=>{
|
|
|
+ ElMessage.success("删除成功");
|
|
|
+ getalldata();
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const deleteall = ()=>{
|
|
|
+ let selected = tableref.value.getSelectionRows();
|
|
|
+ if(selected.length==0) {
|
|
|
+ ElMessage.warning("请选择要删除的行");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (selected.length > 0) {
|
|
|
+ ElMessageBox.confirm(
|
|
|
+ `是否删除${selected.length}条数据`,
|
|
|
+ "警告",
|
|
|
+ {
|
|
|
+ confirmButtonText: "确认",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: 'warning',
|
|
|
+ }
|
|
|
+ ).then(() => {
|
|
|
+
|
|
|
+ delDatapoint(selected.map(i => i.id).join(",")).then((res) => {
|
|
|
+ ElMessage.success("删除成功");
|
|
|
+ getalldata();
|
|
|
+ })
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+onMounted(()=>{
|
|
|
+ let data = localStorage.getItem("currentsensor");
|
|
|
+ if(data == null||data == undefined){
|
|
|
+ router.back()
|
|
|
+ }
|
|
|
+ currentsensor.value = JSON.parse(data);
|
|
|
+ getalldata();
|
|
|
+})
|
|
|
|
|
|
</script>
|
|
|
|