|
@@ -1,15 +1,20 @@
|
|
|
<template>
|
|
|
<div class="main deviceClass">
|
|
|
<el-card class="box-card-tree">
|
|
|
- <button class="btn green" style="margin-bottom:10px" @click="handleTreeAdd()"
|
|
|
- >新增</button
|
|
|
+ <button
|
|
|
+ class="btn green"
|
|
|
+ style="margin-bottom: 10px"
|
|
|
+ @click="handleTreeAdd()"
|
|
|
>
|
|
|
+ 新增
|
|
|
+ </button>
|
|
|
<button
|
|
|
class="btn green"
|
|
|
@click="handleTreeDel()"
|
|
|
:disabled="state.isDel == ''"
|
|
|
- >删除</button
|
|
|
>
|
|
|
+ 删除
|
|
|
+ </button>
|
|
|
<el-tree
|
|
|
:data="state.treedata"
|
|
|
:props="state.defaultProps"
|
|
@@ -22,7 +27,42 @@
|
|
|
<el-card class="box-card">
|
|
|
<el-tabs type="card" class="tab">
|
|
|
<el-tab-pane label="传感点">
|
|
|
- <el-row :gutter="24" align="middle">
|
|
|
+ <div class="devicemenu">
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ style="margin-bottom: 10px"
|
|
|
+ @click="handleEdit(state.addFormData)"
|
|
|
+ :disabled="state.desc.code == ''"
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </button>
|
|
|
+ <el-input
|
|
|
+ style="width:180px;margin: 0 10px;"
|
|
|
+ v-model="state.SearchVal"
|
|
|
+ placeholder="筛选"
|
|
|
+ :prefix-icon="Search"
|
|
|
+ @input="fifterSearch()"
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ :disabled="state.desc.code == ''"
|
|
|
+ >
|
|
|
+ 导入
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ @click="export2Excel"
|
|
|
+ :disabled="state.desc.code == ''"
|
|
|
+ >
|
|
|
+ 导出
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <!-- <el-row :gutter="24" align="middle">
|
|
|
<el-col :span="2">
|
|
|
<button
|
|
|
class="btn green"
|
|
@@ -41,27 +81,34 @@
|
|
|
size="small"
|
|
|
/>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
+ </el-row> -->
|
|
|
<el-table
|
|
|
:data="state.fifterSearchTableData"
|
|
|
stripe
|
|
|
style="width: 100%"
|
|
|
height="700"
|
|
|
>
|
|
|
- <el-table-column type="index" width="50" />
|
|
|
+ <el-table-column type="index" width="50" align="center"/>
|
|
|
<el-table-column
|
|
|
prop="metriccode"
|
|
|
label="测点编码"
|
|
|
+ align="center"
|
|
|
></el-table-column>
|
|
|
- <el-table-column label="名称">
|
|
|
+ <el-table-column label="名称" align="center">
|
|
|
<template #default="scope">
|
|
|
<el-popover placement="right" :width="260" trigger="click">
|
|
|
<template #reference>
|
|
|
- <el-button type="text" style="color: #B3BDC0" size="small">{{
|
|
|
- scope.row.name
|
|
|
- }}</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ style="color: #b3bdc0"
|
|
|
+ size="small"
|
|
|
+ >{{ scope.row.name }}</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
- <el-table :data="scope.row.deviceModelMetrics" max-height="400px">
|
|
|
+ <el-table
|
|
|
+ :data="scope.row.deviceModelMetrics"
|
|
|
+ max-height="400px"
|
|
|
+ >
|
|
|
<el-table-column
|
|
|
property="devicemodel"
|
|
|
label="机型"
|
|
@@ -82,27 +129,29 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column prop="unitname" label="单位"></el-table-column>
|
|
|
+ <el-table-column prop="unitname" label="单位" align="center"></el-table-column>
|
|
|
<el-table-column
|
|
|
prop="categorydata"
|
|
|
label="测点类型"
|
|
|
+ align="center"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
prop="categorysci"
|
|
|
label="物理类型"
|
|
|
+ align="center"
|
|
|
></el-table-column>
|
|
|
- <el-table-column prop="description" label="描述"></el-table-column>
|
|
|
+ <el-table-column prop="description" label="描述" align="center"></el-table-column>
|
|
|
<el-table-column label="操作" width="180" align="center">
|
|
|
<template #default="scope">
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- style="color: #B3BDC0"
|
|
|
+ style="color: #b3bdc0"
|
|
|
@click="handleEdit(scope.row)"
|
|
|
>编辑</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- style="color: #B3BDC0"
|
|
|
+ style="color: #b3bdc0"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
>删除</el-button
|
|
|
>
|
|
@@ -149,7 +198,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否有效">
|
|
|
<el-switch
|
|
|
- class="elswitch"
|
|
|
+ class="elswitch"
|
|
|
v-model="state.desc.enabled"
|
|
|
active-color="#13ce66"
|
|
|
inactive-color="#ff4949"
|
|
@@ -158,11 +207,12 @@
|
|
|
</el-form>
|
|
|
<button
|
|
|
style="float: right"
|
|
|
- class="btn green"
|
|
|
+ class="btn green"
|
|
|
@click="savedesc"
|
|
|
:disabled="state.desc.code == ''"
|
|
|
- >保存</button
|
|
|
>
|
|
|
+ 保存
|
|
|
+ </button>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</el-card>
|
|
@@ -225,7 +275,7 @@
|
|
|
<el-cascader
|
|
|
v-model="editFormData.structurecode"
|
|
|
:options="state.cascaderdata"
|
|
|
- :props="{ checkStrictly: true ,emitPath:false}"
|
|
|
+ :props="{ checkStrictly: true, emitPath: false }"
|
|
|
clearable
|
|
|
/> </el-form-item
|
|
|
></el-col>
|
|
@@ -246,7 +296,6 @@
|
|
|
</el-row>
|
|
|
|
|
|
<el-form-item label="适配机型" class="deviceModelClass">
|
|
|
-
|
|
|
<el-select
|
|
|
v-model="state.deviceModelSel"
|
|
|
style="margin-right: 20px"
|
|
@@ -261,16 +310,22 @@
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <button class="btn green" v-show="state.deviceModelSel !=''" size="mini" type="primary" @click="deviceModelAdd()"
|
|
|
- >新增机型</button
|
|
|
+ <button
|
|
|
+ class="btn green"
|
|
|
+ v-show="state.deviceModelSel != ''"
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ @click="deviceModelAdd()"
|
|
|
>
|
|
|
+ 新增机型
|
|
|
+ </button>
|
|
|
<el-table
|
|
|
:data="editFormData.deviceModelMetrics"
|
|
|
style="width: 100%"
|
|
|
max-height="200px"
|
|
|
>
|
|
|
<el-table-column prop="devicemodel" label="机型" />
|
|
|
- <el-table-column label="倍率">
|
|
|
+ <el-table-column label="倍率">
|
|
|
<template #default="scope">
|
|
|
<el-input v-model="scope.row.multiplier" size="mini" />
|
|
|
</template>
|
|
@@ -285,13 +340,15 @@
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
- <button class="btn green" @click="editVisible = false">取 消</button>
|
|
|
- <button class="btn green" type="primary" @click="saveEdit">确 定</button>
|
|
|
+ <button class="btn green" @click="editVisible = false">取 消</button>
|
|
|
+ <button class="btn green" type="primary" @click="saveEdit">
|
|
|
+ 确 定
|
|
|
+ </button>
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
<!-- tree add 弹出框 -->
|
|
|
- <el-dialog v-model="treeVisible" width="40%" custom-class="modal">
|
|
|
+ <el-dialog v-model="treeVisible" width="40%" custom-class="modal">
|
|
|
<el-form :model="state.treeAddFormData" label-width="80px">
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="12">
|
|
@@ -334,13 +391,12 @@
|
|
|
></el-col>
|
|
|
<el-col :span="4">
|
|
|
<el-form-item label="是否有效">
|
|
|
- <el-switch
|
|
|
+ <el-switch
|
|
|
v-model="state.treeAddFormData.enabled"
|
|
|
- class="elswitch"
|
|
|
+ class="elswitch"
|
|
|
active-color="#13ce66"
|
|
|
inactive-color="#ff4949"
|
|
|
- />
|
|
|
- </el-form-item
|
|
|
+ /> </el-form-item
|
|
|
></el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="设备ID">
|
|
@@ -361,8 +417,10 @@
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
- <button class="btn green" @click="treeVisible = false">取 消</button>
|
|
|
- <button class="btn green" type="primary" @click="saveTreeAdd">确 定</button>
|
|
|
+ <button class="btn green" @click="treeVisible = false">取 消</button>
|
|
|
+ <button class="btn green" type="primary" @click="saveTreeAdd">
|
|
|
+ 确 定
|
|
|
+ </button>
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
@@ -372,6 +430,7 @@
|
|
|
import { ref, onMounted, reactive, provide, computed } from "vue";
|
|
|
import { ElMessageBox, ElMessage, ElLoading } from "element-plus";
|
|
|
import faultmode from "./faultmode.vue";
|
|
|
+import { outExportExcel } from "@tools/excel/exportExcel";
|
|
|
import {
|
|
|
tree,
|
|
|
point,
|
|
@@ -416,7 +475,7 @@ let state = reactive({
|
|
|
description: null,
|
|
|
deviceid: "windturbine",
|
|
|
enname: null,
|
|
|
- id:null,
|
|
|
+ id: null,
|
|
|
metriccode: "",
|
|
|
name: "",
|
|
|
structurecode: "101010205",
|
|
@@ -483,7 +542,7 @@ const handleNodeClick = (data) => {
|
|
|
console.log(data);
|
|
|
state.isDel = data.children;
|
|
|
state.desc = data.node;
|
|
|
- state.addFormData.structurecode = data.node.code
|
|
|
+ state.addFormData.structurecode = data.node.code;
|
|
|
getPoint(data.node);
|
|
|
};
|
|
|
// 测点 编辑
|
|
@@ -645,6 +704,27 @@ const cascaderforEach = (val) => {
|
|
|
return val.children;
|
|
|
}
|
|
|
};
|
|
|
+// 批量导出
|
|
|
+const export2Excel = () => {
|
|
|
+ const tableData = state.pointTableData;
|
|
|
+ const tableHeader = [
|
|
|
+ "测点编码",
|
|
|
+ "名称",
|
|
|
+ "单位",
|
|
|
+ "测点类型",
|
|
|
+ "物理类型",
|
|
|
+ "描述",
|
|
|
+ ];
|
|
|
+ const tableKey = [
|
|
|
+ "metriccode",
|
|
|
+ "name",
|
|
|
+ "unitname",
|
|
|
+ "categorydata",
|
|
|
+ "categorysci",
|
|
|
+ "description",
|
|
|
+ ];
|
|
|
+ outExportExcel(tableHeader, tableKey, tableData, "测点导出excel");
|
|
|
+};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.main {
|
|
@@ -671,7 +751,6 @@ const cascaderforEach = (val) => {
|
|
|
}
|
|
|
</style>
|
|
|
<style lang="less" >
|
|
|
-
|
|
|
.deviceModelClass {
|
|
|
.el-table__header tr,
|
|
|
.el-table__header th {
|
|
@@ -684,21 +763,21 @@ const cascaderforEach = (val) => {
|
|
|
height: 40px;
|
|
|
}
|
|
|
}
|
|
|
-.tab{
|
|
|
- .el-tabs__item.is-active{
|
|
|
- color:@green;
|
|
|
+.tab {
|
|
|
+ .el-tabs__item.is-active {
|
|
|
+ color: @green;
|
|
|
}
|
|
|
- .el-tabs__item{
|
|
|
- color: #b7b7b7;
|
|
|
+ .el-tabs__item {
|
|
|
+ color: #b7b7b7;
|
|
|
}
|
|
|
}
|
|
|
-.elswitch{
|
|
|
-.el-switch__input{
|
|
|
- position: absolute!important;
|
|
|
-}
|
|
|
+.elswitch {
|
|
|
+ .el-switch__input {
|
|
|
+ position: absolute !important;
|
|
|
+ }
|
|
|
}
|
|
|
-.deviceClass{
|
|
|
- .el-row{
|
|
|
+.deviceClass {
|
|
|
+ .el-row {
|
|
|
margin-bottom: 16px;
|
|
|
}
|
|
|
}
|