From fdb97cca1f302db3fe07cc700130a085d991d682 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期三, 19 六月 2024 22:41:49 +0800 Subject: [PATCH] 1 --- src/views/mdc/realtime-status/index.vue | 127 ++++++++++++++++++++++++++--------------- 1 files changed, 80 insertions(+), 47 deletions(-) diff --git a/src/views/mdc/realtime-status/index.vue b/src/views/mdc/realtime-status/index.vue index a217d73..fa3ee1a 100644 --- a/src/views/mdc/realtime-status/index.vue +++ b/src/views/mdc/realtime-status/index.vue @@ -1,7 +1,7 @@ <!-- * @Date: 2024-04-09 22:11:21 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-06-17 16:34:25 + * @LastEditTime: 2024-06-19 13:44:36 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/realtime-status/index.vue 瀹炴椂鐪嬫澘 --> @@ -115,7 +115,7 @@ mounted() { this.getstationlabelList(); //鑾峰彇鏍囩瑙嗗浘涓嬬殑list this.setIntervalTime(); //鍗佺澧炲姞鏃堕棿 - this.getSetting(); //璁剧疆鍑犺鍑犲垪 + this.getprocess(); //鑾峰彇棰滆壊==銆嬭幏鍙栭《閮╰itle==銆嬭缃嚑琛屽嚑鍒�==銆媤s }, methods: { getSetting() { @@ -126,7 +126,7 @@ this.column = paramValue.column; this.current = "1"; this.size = this.line * this.column; - this.getdevicestatus(); //鑾峰彇椤堕儴title/鍏蜂綋鏁版嵁 + this.gettimestatus(); //ws } }) }, @@ -232,10 +232,11 @@ this.$router.push('/mdc/station-live?code='+item.id); }, getprocess() { //棰滆壊鐘舵�� - this.$HTTP.get(`/api/blade-cps/global_wcs/wcs-achievements`).then(res=> { + this.$HTTP.get(`/api/blade-cps/global_wcs/list?code=&name=`).then(res=> { if(res.code == 200) { this.allwcs = res.data; - this.gettimestatus(); + this.getdevicestatus(); //鑾峰彇椤堕儴title/鍏蜂綋鏁版嵁 + this.getSetting(); //鑾峰彇鍑犺鍑犲垪 } }) }, @@ -265,22 +266,25 @@ this.$HTTP.post(`/api/blade-cps/workstation/real-time-status?current=${this.current}&size=${this.size}`,obj).then(res=> { if(res.code == 200) { var ids = []; + console.log(this.allwcs,res.data) res.data.records.forEach(item=> { - item.statusName = "鏈煡"; - item.statusStyle = '#ccc'; ids.push(item.id); - if(item.properties != null) { + if(item.properties != null && item.properties.length!=0) { item.properties.forEach(item1=> { - this.devicestatus.forEach(item2=> { - if(item2.status == item1.value) { - item.statusName = item2.statusName; - item1.statusName = item2.statusName; - item.statusStyle = item2.color; - } - }) + if(item1.key == "DeviceStatus") { + this.allwcs.forEach(item2=> { + if(item2.code == item1.value) { + item1.color = item2.color; + } + }) + } }) + }else { + item.statusName = "鏈煡"; + item.statusStyle = '#ccc'; } }) + this.timestatus = res.data.records; this.total = res.data.total; //鍙戦�亀ebsocket var obj = { @@ -301,26 +305,38 @@ this.$TOOL.socket.websocket.onmessage = function(event) { num ++; var eventData = JSON.parse(event.data); - if(eventData.data.DeviceStatus != undefined) { - var time = moment(eventData.data.DeviceStatus.t).format('YYYY-MM-DD HH:mm:ss'); - var diffTime = that.changeTime(time); //杞崲鎴愬樊鍊硷紙鏃跺垎绉掞級 - }else { - var diffTime = "--"; - } - if(res.data.records.length == 0) return; //娌″�间笉鐢ㄥ惊鐜� - res.data.records.forEach((item,index)=> { //绗竴姝ユ妸v鏀惧埌code閲� + if(that.timestatus.length == 0) return; //娌″�间笉鐢ㄥ惊鐜� + that.timestatus.forEach((item,index)=> { //绗竴姝ユ妸v鏀惧埌code閲� if(eventData.id == item.id) { if(item.properties == null) { item.properties = []; return; } - item.time = diffTime; + if(eventData.data.DeviceStatus) { + var time = moment(eventData.data.DeviceStatus.t).format('YYYY-MM-DD HH:mm:ss'); + var diffTime = that.changeTime(time); //杞崲鎴愬樊鍊硷紙鏃跺垎绉掞級 + item.time = diffTime; + that.allwcs.forEach(item1=> { + if(item1.code == eventData.data.DeviceStatus.v) { + item.statusName = item1.name; + item.statusStyle = item1.color; + } + }) + }else{ + if(item.time == undefined || item.time == "--") { + var diffTime = "--"; + item.time = diffTime; + } + } item.properties.forEach((item1,index1)=> { if(item1.key == "DeviceStatus") { //鏈哄櫒鐘舵�� - //item1.code = eventData.data[item1.key].v; if(item1.value == "2") { - item1.color = "#73D13D"; - item1.code = "杩愯"; + that.allwcs.forEach(item2=> { + if(item2.code == item1.value) { + item1.color = item2.color; + item1.code = item2.name; + } + }) }else { item1.color = "#75C0C0"; } @@ -328,9 +344,27 @@ if(item1.key == 'Alarm') { //鎶ヨ if(eventData.data[item1.key]) { var v = JSON.parse(eventData.data[item1.key].v); - item1.name = v.code; - item1.code = v.msg; - item1.color = "#370C0D"; + if(Array.isArray(v)) { //濡傛灉鏄暟缁勶紝涓嶈祴鍊� + if(v.length == 0) { + res.data.records[index].properties.splice(index1,1); + }else { + item1.name = v[0].code; + item1.code = v[0].msg; + that.allwcs.forEach(item2=> { + if(item2.name == "鎶ヨ") { + item1.color = item2.color; + } + }) + } + }else { + item1.name = v.code; + item1.code = v.msg; + that.allwcs.forEach(item2=> { + if(item2.name == "鎶ヨ") { + item1.color = item2.color; + } + }) + } } }else { if(eventData.data[item1.key]) { @@ -343,13 +377,13 @@ } }); }; - var len = res.data.records.length; - intervalId = setInterval(function() { - if (num === len) { - clearInterval(intervalId); - that.timestatus = res.data.records; //绛夋墍鏈塻ocket鍥炴潵浠ュ悗璧嬪�� - } - }, 500); + // var len = res.data.records.length; + // intervalId = setInterval(function() { + // if (num === len) { + // clearInterval(intervalId); + // that.timestatus = res.data.records; //绛夋墍鏈塻ocket鍥炴潵浠ュ悗璧嬪�� + // } + // }, 500); } }) }, @@ -358,19 +392,18 @@ if(res.code == 200) { res.data.forEach(item=> { item.active = false; + this.allwcs.forEach(item1=> { + if(item.status == item1.code) { + item.color = item1.color; + } + }) }) - res.data[0].color = "#73D13D"; - res.data[1].color = "#370C0D"; - res.data[2].color = "#FFC53D"; - res.data[3].color = "#595959"; - res.data[4].color = "#40A9FF"; res.data[0].icon = "Position"; - res.data[1].icon = "Loading"; - res.data[2].icon = "Clock"; - res.data[3].icon = "Warning"; - res.data[4].icon = "Odometer"; + res.data[1].icon = "Loading"; + res.data[2].icon = "Clock"; + res.data[3].icon = "Warning"; + res.data[4].icon = "Odometer"; this.devicestatus = res.data; - this.getprocess(); //鑾峰彇棰滆壊锛岃幏鍙栨満鍣� } }) } -- Gitblit v1.9.3