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