|
@@ -4,10 +4,10 @@
|
|
|
<el-dialog :title="title" width="80%" custom-class="dialog-max" top="10vh" :before-close="dialogClose"
|
|
|
:visible.sync="visible" @open="dialogOpen" @close="dialogClose">
|
|
|
<div style="margin-bottom: 10px;">
|
|
|
- <el-input placeholder="请输入点位名称" v-model="filterItemText" size="mini" style="width: 200px;"
|
|
|
- @input="itemChangeEvent" prefix-icon="el-icon-search">
|
|
|
+ <el-input placeholder="请输入点位名称" v-model="queryParams.itemReadName" size="mini" style="width: 200px;"
|
|
|
+ @blur="itemChangeEvent" prefix-icon="el-icon-search">
|
|
|
</el-input>
|
|
|
- <el-checkbox size="mini" style="margin-left: 20px;" @change="groupRunCheckboxEvent"
|
|
|
+ <el-checkbox size="mini" style="margin-left: 20px;" v-model="runCheckbox" @change="groupRunCheckboxEvent"
|
|
|
title="固定每5秒刷新一次数据">实时数据</el-checkbox>
|
|
|
<el-button type="danger" size="mini" @click="multipleDelItemEvent" icon="el-icon-delete-solid"
|
|
|
style="float: right;">批量删除</el-button>
|
|
@@ -22,16 +22,18 @@
|
|
|
@receiveCheckedData="receiveCheckedData" @alarmConfig="alarmConfig" @alarmLog="alarmLog"
|
|
|
@updateItem="updateItem" @deleteItem="deleteItem">
|
|
|
</UmyTable>
|
|
|
+ <!-- 分页信息 -->
|
|
|
+ <pagination v-show="tableTotal > 0" small :total="tableTotal" :page.sync="queryParams.page"
|
|
|
+ :limit.sync="queryParams.limit" align="right" @pagination="itemChangeEvent" />
|
|
|
</el-dialog>
|
|
|
-
|
|
|
<!-- 修改数据项 -->
|
|
|
- <UpdateItem ref="updateItem" @getItemGroupById="getItemGroupById"></UpdateItem>
|
|
|
+ <UpdateItem ref="updateItem" @getItemGroupById="itemChangeEvent"></UpdateItem>
|
|
|
<!-- 批量设置表达式 -->
|
|
|
- <MultipleModel ref="multipleModel" @getItemGroupById="getItemGroupById"></MultipleModel>
|
|
|
+ <MultipleModel ref="multipleModel" @getItemGroupById="itemChangeEvent"></MultipleModel>
|
|
|
<!-- 选择数据项 -->
|
|
|
- <ItemChoose ref="itemChoose" @getItemGroupById="getItemGroupById"></ItemChoose>
|
|
|
+ <ItemChoose ref="itemChoose" @getItemGroupById="itemChangeEvent"></ItemChoose>
|
|
|
<!-- 报警配置 -->
|
|
|
- <AlarmConfig ref="alarmConfig" @getItemGroupById="getItemGroupById"></AlarmConfig>
|
|
|
+ <AlarmConfig ref="alarmConfig" @getItemGroupById="itemChangeEvent"></AlarmConfig>
|
|
|
<!-- 报警日志 -->
|
|
|
<AlarmLog ref="alarmLog"></alarmLog>
|
|
|
</div>
|
|
@@ -41,8 +43,7 @@
|
|
|
import { showLoading, showConfirmWin } from '@/utils/cqcy'
|
|
|
import UmyTable from '@/components/UmyTable/index.vue'
|
|
|
import { getAllDataSource } from '@/api/source/dataSource'
|
|
|
-import { getItemGroupById, getItemValueById, deleteItemByIdList } from '@/api/source/itemGroup'
|
|
|
-import { getAlarmLevelPage } from '@/api/system/alarmLevel'
|
|
|
+import { getItemGroupById,getItemValuePageByGroupId, getItemValueById,getItemValueByIds, deleteItemByIdList } from '@/api/source/itemGroup'
|
|
|
import UpdateItem from './updateItem.vue'
|
|
|
import MultipleModel from './multipleModel.vue'
|
|
|
import ItemChoose from './itemChoose.vue'
|
|
@@ -63,8 +64,7 @@ export default {
|
|
|
title: '数据组信息',
|
|
|
id: null,
|
|
|
timer: null,
|
|
|
- filterItemText: null,
|
|
|
- itemDataListF: [],
|
|
|
+ //filterItemText: null,
|
|
|
checkItemList: [],
|
|
|
// 是否展示复选框列
|
|
|
isShowCheckbox: true,
|
|
@@ -166,9 +166,12 @@ export default {
|
|
|
],
|
|
|
queryParams: {
|
|
|
page: 1,
|
|
|
- limit: 10
|
|
|
+ limit: 10,
|
|
|
+ itemReadName: '',
|
|
|
+ itemGroupId: 0
|
|
|
},
|
|
|
- tableTotal: 0
|
|
|
+ runCheckbox: false,
|
|
|
+ tableTotal: 0,
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -179,34 +182,28 @@ export default {
|
|
|
/** 打开弹出层事件 */
|
|
|
dialogOpen() {
|
|
|
if (this.id) {
|
|
|
- this.getItemGroupById()
|
|
|
+ this.queryParams.itemGroupId = this.id
|
|
|
+ this.itemChangeEvent()
|
|
|
}
|
|
|
},
|
|
|
/** 关闭弹出层 */
|
|
|
dialogClose() {
|
|
|
- this.tableTotal = 0
|
|
|
- this.tableData = []
|
|
|
- this.stopTimer()
|
|
|
- this.visible = false
|
|
|
+ this.queryParams = {
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ itemReadName: '',
|
|
|
+ itemGroupId: 0
|
|
|
+ }
|
|
|
+ this.runCheckbox = false
|
|
|
+ this.tableData = []
|
|
|
+ this.stopTimer()
|
|
|
+ this.visible = false
|
|
|
},
|
|
|
/** 查看数据组的全部数据项信息 */
|
|
|
- getItemGroupById() {
|
|
|
- getItemGroupById(this.id).then(res => {
|
|
|
- this.itemDataListF = res.data.itemList
|
|
|
- if (this.filterItemText) {
|
|
|
- let value = this.filterItemText
|
|
|
- let arr = JSON.parse(JSON.stringify(res.data.itemList))
|
|
|
- if (!value || !value.trim()) {
|
|
|
- this.tableData = arr
|
|
|
- return
|
|
|
- }
|
|
|
- let filterList = arr.filter(v => {
|
|
|
- return (v.itemName.indexOf(value) !== -1) || (v.describe ? v.describe.indexOf(value) !== -1 : false)
|
|
|
- })
|
|
|
- this.tableData = filterList
|
|
|
- } else {
|
|
|
- this.tableData = res.data.itemList
|
|
|
- }
|
|
|
+ getItemValuePageByGroupId() {
|
|
|
+ getItemValuePageByGroupId(this.queryParams).then(res => {
|
|
|
+ this.tableTotal = res.data.count
|
|
|
+ this.tableData = res.data.itemList
|
|
|
})
|
|
|
},
|
|
|
/** 报警配置 */
|
|
@@ -239,62 +236,48 @@ export default {
|
|
|
this.$refs.alarmLog.queryParams.itemId = row.id
|
|
|
this.$refs.alarmLog.visible = true
|
|
|
},
|
|
|
- /** 分页获取报警级别 */
|
|
|
- getAlarmLevelPage() {
|
|
|
- getAlarmLevelPage(this.queryParams).then(res => {
|
|
|
- if (!res || !res.data) {
|
|
|
- this.$message({
|
|
|
- message: '数据查询失败!',
|
|
|
- type: 'warning'
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- this.tableTotal = res.data.count
|
|
|
- this.tableData = res.data.alarmLevelList
|
|
|
- })
|
|
|
- },
|
|
|
/** 过滤数据项信息 */
|
|
|
itemChangeEvent(value) {
|
|
|
- let arr = JSON.parse(JSON.stringify(this.itemDataListF))
|
|
|
- if (!value || !value.trim()) {
|
|
|
- this.tableData = arr
|
|
|
- return
|
|
|
- }
|
|
|
- let filterList = arr.filter(v => {
|
|
|
- return (v.itemName.indexOf(value) !== -1) || (v.describe ? v.describe.indexOf(value) !== -1 : false)
|
|
|
- })
|
|
|
- this.tableData = filterList
|
|
|
+ this.runCheckbox = false
|
|
|
+ this.groupRunCheckboxEvent()
|
|
|
},
|
|
|
/** 数据组实时数据按钮事件 */
|
|
|
- groupRunCheckboxEvent(val) {
|
|
|
- if (val) {
|
|
|
- this.tableHeaderTitle = [
|
|
|
- {
|
|
|
- propName: "itemReadName",
|
|
|
- labelName: "点位",
|
|
|
- },
|
|
|
- {
|
|
|
- propName: "operationRuleName",
|
|
|
- labelName: "数据计算模型",
|
|
|
- }, {
|
|
|
- propName: "dataValue",
|
|
|
- labelName: "数据值",
|
|
|
- },
|
|
|
- {
|
|
|
- propName: "unit",
|
|
|
- labelName: "单位",
|
|
|
- },
|
|
|
- {
|
|
|
- propName: "dataSourceName",
|
|
|
- labelName: "数据源",
|
|
|
- },
|
|
|
- {
|
|
|
- propName: "dataTime",
|
|
|
- labelName: "取值时间",
|
|
|
- }
|
|
|
- ]
|
|
|
- this.getRealTimeData();
|
|
|
- this.tableOperate = []
|
|
|
+ groupRunCheckboxEvent() {
|
|
|
+ if (this.runCheckbox) {
|
|
|
+ let loading = showLoading(this, '数据加载中,请稍候···')
|
|
|
+ this.stopTimer()
|
|
|
+ this.tableHeaderTitle = [
|
|
|
+ {
|
|
|
+ propName: "itemReadName",
|
|
|
+ labelName: "点位",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ propName: "operationRuleName",
|
|
|
+ labelName: "数据计算模型",
|
|
|
+ }, {
|
|
|
+ propName: "dataValue",
|
|
|
+ labelName: "数据值",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ propName: "countDataValue",
|
|
|
+ labelName: "计算值",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ propName: "unit",
|
|
|
+ labelName: "单位",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ propName: "dataSourceName",
|
|
|
+ labelName: "数据源",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ propName: "dataTime",
|
|
|
+ labelName: "取值时间",
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ this.getRealTimeData();
|
|
|
+ this.tableOperate = []
|
|
|
+ loading.close()
|
|
|
} else {
|
|
|
let loading = showLoading(this, '数据加载中,请稍候···')
|
|
|
this.stopTimer()
|
|
@@ -368,8 +351,7 @@ export default {
|
|
|
methodName: "deleteItem",
|
|
|
}
|
|
|
]
|
|
|
- this.getItemGroupById(this.id)
|
|
|
- this.filterItemText = null
|
|
|
+ this.getItemValuePageByGroupId()
|
|
|
loading.close()
|
|
|
}
|
|
|
},
|
|
@@ -437,24 +419,18 @@ export default {
|
|
|
},
|
|
|
/** 查看数据组实时数据 */
|
|
|
getRealTimeData() {
|
|
|
- this.getItemValueById(this.id)
|
|
|
+ this.getItemValueById()
|
|
|
this.timer = setInterval(() => {
|
|
|
- this.getItemValueById(this.id)
|
|
|
+ this.getItemValueById()
|
|
|
}, 5000);
|
|
|
},
|
|
|
/** 查看数据组实时数据 */
|
|
|
getItemValueById(id) {
|
|
|
- getItemValueById(id).then(res => {
|
|
|
+ let ids = Array.from(this.tableData, ({ id }) => id)
|
|
|
+ console.info(ids)
|
|
|
+ getItemValueByIds(ids).then(res => {
|
|
|
let arr = JSON.parse(JSON.stringify(res.data))
|
|
|
- let value = this.filterItemText
|
|
|
- if (!value || !value.trim()) {
|
|
|
- this.tableData = arr
|
|
|
- return
|
|
|
- }
|
|
|
- let filterList = arr.filter(v => {
|
|
|
- return (v.itemName.indexOf(value) !== -1) || (v.describe ? v.describe.indexOf(value) !== -1 : false)
|
|
|
- })
|
|
|
- this.tableData = filterList
|
|
|
+ this.tableData = arr
|
|
|
})
|
|
|
},
|
|
|
/** 摧毁定时器 */
|
|
@@ -464,7 +440,7 @@ export default {
|
|
|
/** 通过id数组删除相应的数据项信息 */
|
|
|
delItemList(ids) {
|
|
|
showConfirmWin(this, null, '您确定要删除已选择数据项吗?', () => {
|
|
|
- if (ids.length === this.itemDataListF.length) {
|
|
|
+ if (ids.length === this.tableTotal) {
|
|
|
this.$message({
|
|
|
message: '至少保留一项数据项信息!',
|
|
|
type: 'warning'
|
|
@@ -476,7 +452,7 @@ export default {
|
|
|
message: '删除成功!',
|
|
|
type: 'success'
|
|
|
})
|
|
|
- this.getItemGroupById(this.id)
|
|
|
+ this.itemChangeEvent()
|
|
|
})
|
|
|
})
|
|
|
},
|