From 5f9f4ba30c13f9427ecb943e45bd824412c833d6 Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Tue, 1 Aug 2023 22:52:57 +0800 Subject: [PATCH] =?UTF-8?q?rev=20=E4=BC=98=E5=8C=96=E8=88=9E=E5=8F=B0?= =?UTF-8?q?=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/monitor/device/index.vue | 49 ++++++++++++++----- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/wcs/nladmin-ui/src/views/system/monitor/device/index.vue b/wcs/nladmin-ui/src/views/system/monitor/device/index.vue index 79db901a..5a0af2c4 100644 --- a/wcs/nladmin-ui/src/views/system/monitor/device/index.vue +++ b/wcs/nladmin-ui/src/views/system/monitor/device/index.vue @@ -166,7 +166,7 @@ import deviceCrud from '@/api/acs/device/device' import { getDeviceByCodes } from '@/api/acs/device/deviceStageMonitor' import '@logicflow/core/dist/style/index.css' import '@logicflow/extension/lib/style/index.css' - +import {isEqual} from "lodash" import { LogicFlow } from '@logicflow/core' import { registerCustomElement } from '@/views/system/logicflow/editor/components/node' @@ -789,35 +789,60 @@ export default { let resion = {} resion = lf.getGraphData().nodes.map(item => ({ id: item.id, device_code: item.properties.device })) getDeviceByCodes(resion).then(res => { - console.log(res) + let startTime=new Date().getTime(); + let arr=[]; + let obj={}; + if(window.lastArr){ + res.forEach(i=>{ + obj[i.id]=i + }) + + window.lastArr.forEach(old=>{ + let _new=obj[old.id]; + if(!isEqual(old,_new)){ + arr.push(_new) + } + }) + } + this.allDeviceMsg = res // 拿到所有节点的设备数据 // console.log('initStatus-res', res) // 实时设置状态信息 - for (var item of res) { // 循环并且设置属性值 + for (var item of arr) { // 循环并且设置属性值 + + let temp={} if (item.data !== undefined) { if (item.data.isOnline !== undefined) { - lf.setProperties(item.id, { - isOnline: item.data.isOnline - }) + temp.isOnline = item.data.isOnline + // lf.setProperties(item.id, { + // isOnline: item.data.isOnline + // }) } if (item.data.hasGoods !== undefined) { - lf.setProperties(item.id, { - hasGoods: item.data.hasGoods - }) + temp.hasGoods = item.data.hasGoods + // lf.setProperties(item.id, { + // hasGoods: item.data.hasGoods + // }) } if (item.data.isError !== undefined) { - lf.setProperties(item.id, { - isError: item.data.isError - }) + temp.isError = item.data.isError + // lf.setProperties(item.id, { + // isError: item.data.isError + // }) } + lf.setProperties(item.id , temp) } } + window.lastArr = res // 设置动态实时显示设备信息 const { nodes } = lf.getSelectElements() // 获取选中的节点 // console.log(nodes) if (nodes.length === 1) { // 因为是定时器,没有选中则不用实时更新显示数据 this.moveShow(nodes[0]) // 监控模式下不可能托选,因此就只有一个数据 } + let endTime=new Date().getTime(); + + console.log("time:",endTime - startTime) }) }, dialogSave() {