From 179136b6d89e4d24c37fc3981848f62b5673495c Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 18 六月 2024 23:17:28 +0800
Subject: [PATCH] 默认2

---
 src/views/mdc/realtime-status/index.vue |  133 +++++++++++++++++++++++++++++++-------------
 1 files changed, 94 insertions(+), 39 deletions(-)

diff --git a/src/views/mdc/realtime-status/index.vue b/src/views/mdc/realtime-status/index.vue
index ec686cb..a13892a 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: Sneed
- * @LastEditTime: 2024-04-09 22:12:14
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-06-18 18:14:08
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/realtime-status/index.vue
  瀹炴椂鐪嬫澘
 -->
@@ -36,7 +36,7 @@
 		  	<div class="status-next" @click="next">
 		  		<el-icon><ArrowRight /></el-icon>
 		  	</div>
-		  	<div class="status-content-cardp" v-for="item in timestatus" style="width: 33.3333%; height: 50%;">
+		  	<div class="status-content-cardp" v-for="item in timestatus" :style="{'width': (100/column) + '%'}">
 		  		<div class="status-card-box" style="border-color: #ccc;">
 		  			<div class="status-card-top">
 		  				<div class="status-card-detail">
@@ -104,22 +104,39 @@
         		stationlabel: "",
         		stationlabelList: [],
         		current: "1",
+				size: "9",
         		total: 0,
         		deviceStatus: [],
-        		workStationGroupIdList: []
+        		workStationGroupIdList: [],
+        		line: "",
+        		column: ""
         	}
         },
         mounted() {
-			this.getdevicestatus();  //鑾峰彇椤堕儴title
 			this.getstationlabelList();  //鑾峰彇鏍囩瑙嗗浘涓嬬殑list
 			this.setIntervalTime();   //鍗佺澧炲姞鏃堕棿
+			this.getSetting(); //璁剧疆鍑犺鍑犲垪 ==銆嬭幏鍙栭《閮╰itle
+			//this.getprocess(); //鑾峰彇棰滆壊锛岃幏鍙栨満鍣�
+			this.gettimestatus();  //ws
 		},
         methods: {
+        	getSetting() {
+        		this.$HTTP.get(`/api/blade-system/param/detail?paramKey=mdc.realtime.setting`).then(res=> {
+					if(res.code == 200) {
+						var paramValue = JSON.parse(res.data.paramValue);
+						this.line = paramValue.line==0?1:paramValue.line;
+						this.column = paramValue.column;
+						this.current = "1";
+						this.size = this.line * this.column;
+						this.getdevicestatus();  //鑾峰彇椤堕儴title/鍏蜂綋鏁版嵁
+					}
+				})
+        	},
         	setIntervalTime() {
         		function addTime(timeStr) {
         			var increaseByMilliseconds = 10 * 1000; // 10绉掕浆鎹负姣  
 					// 瑙f瀽鏃堕棿瀛楃涓蹭负澶╂暟銆佸皬鏃躲�佸垎閽熷拰绉�  
-					if(timeStr != undefined) {
+					if(timeStr != undefined && timeStr != "--") {
 						var parts = timeStr.match(/(\d+)澶�(\d+)鏃�(\d+)鍒�(\d+)绉�/);  
 						var days = parseInt(parts[1], 10) * 24 * 60 * 60 * 1000; // 澶╂暟杞崲涓烘绉�  
 						var hours = parseInt(parts[2], 10) * 60 * 60 * 1000; // 灏忔椂杞崲涓烘绉�  
@@ -205,9 +222,10 @@
         		this.gettimestatus();
         	},
         	next() {
-        		if((this.total/9 - this.current) < 0) return;
-        		this.current = Number(this.current) + 1;
-        		this.gettimestatus();
+        		if((this.current * this.line) < this.total/this.column) {
+        			this.current = Number(this.current) + 1;
+        			this.gettimestatus();
+        		}
         	},
         	goSet() {
         		this.$router.push('/mdc/configuration');
@@ -219,7 +237,6 @@
 				this.$HTTP.get(`/api/blade-cps/global_wcs/wcs-achievements`).then(res=> {
 					if(res.code == 200) {
 						this.allwcs = res.data;
-						this.gettimestatus();
 					}
 				})
 			},
@@ -246,8 +263,9 @@
 					workStationGroupIdList: this.workStationGroupIdList
         		}
         		this.timestatus = [];
-        		this.$HTTP.post(`/api/blade-cps/workstation/real-time-status?current=${this.current}&size=9`,obj).then(res=> {
+        		this.$HTTP.post(`/api/blade-cps/workstation/real-time-status?current=${this.current}&size=${this.size}`,obj).then(res=> {
 					if(res.code == 200) {
+						this.timestatus = res.data.records;
 						var ids = [];
 						res.data.records.forEach(item=> {
 							item.statusName = "鏈煡";
@@ -255,16 +273,40 @@
 							ids.push(item.id);
 							if(item.properties != null) {
 								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;
-										}
-									})
+									// this.devicestatus.forEach(item2=> {
+									// 	if(item2.status == item1.value) {
+									// 		item.statusName = item2.statusName;
+									// 		item1.statusName = item2.statusName;
+									// 		item.statusStyle = item2.color;
+									// 	}
+									// })
+									if(item1.value == 1) {
+										item.statusName = '鎶ヨ';
+										item1.statusName = '鎶ヨ';
+										item.statusStyle = "#370C0D";
+									}
+									if(item1.value == 2) {
+										item.statusName = '杩愯';
+										item1.statusName = '杩愯';
+										item.statusStyle = "#73D13D";
+									}
+									if(item1.value == 3) {
+										item.statusName = "寰呮満";
+										item1.statusName = "寰呮満";
+										item.statusStyle = "#FFC53D";
+									}
+									if(item1.value == 4) {
+										item.statusName = "绂荤嚎";
+										item1.statusName = "绂荤嚎";
+										item.statusStyle = "#595959";
+									}
+									if(item1.value == 5) {
+										item.statusName = "璋冭瘯";
+										item1.statusName = "璋冭瘯";
+										item.statusStyle = "#40A9FF";
+									}
 								})
 							}
-							
 						})
 						this.total = res.data.total;
 						//鍙戦�亀ebsocket
@@ -292,15 +334,15 @@
 							}else {
 								var diffTime = "--";
 							}
-							if(res.data.records.length == 0) return;  //娌″�间笉鐢ㄥ惊鐜�
-					        res.data.records.forEach(item=> {  //绗竴姝ユ妸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;
-					        		item.properties.forEach(item1=> {
+					        		item.properties.forEach((item1,index1)=> {
 					        			if(item1.key == "DeviceStatus") {  //鏈哄櫒鐘舵��
 					        				//item1.code = eventData.data[item1.key].v;
 					        				if(item1.value == "2") {
@@ -311,26 +353,40 @@
 							        		}
 					        			}else {
 									    	if(item1.key == 'Alarm') {  //鎶ヨ
-									    		var v = JSON.parse(eventData.data[item1.key].v);
-									    		item1.name = v.code;
-									    		item1.code = v.msg;
-									    		item1.color = "#370C0D";
+												if(eventData.data[item1.key]) {
+													var v = JSON.parse(eventData.data[item1.key].v);
+													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;
+															item1.color = "#370C0D";
+														}
+													}else {
+														item1.name = v.code;
+														item1.code = v.msg;
+														item1.color = "#370C0D";
+													}
+												}
 									    	}else {
-									    		item1.code = eventData.data[item1.key].v;
-									        	item1.color = "#75C0C0";
+												if(eventData.data[item1.key]) {
+													item1.code = eventData.data[item1.key].v;
+									        		item1.color = "#75C0C0";
+												}
 									    	}
 									    }
 					        		})
 					        	}
 							});
 					    };
-					    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);
 					}
 				})
         	},
@@ -340,8 +396,8 @@
 						res.data.forEach(item=> {
 							item.active = false;
 						})
-						res.data[0].color = "#73D13D";
-						res.data[1].color = "#370C0D";
+						res.data[0].color = "#370C0D";
+						res.data[1].color = "#73D13D";
 						res.data[2].color = "#FFC53D";
 						res.data[3].color = "#595959";
 						res.data[4].color = "#40A9FF";
@@ -351,7 +407,6 @@
 						res.data[3].icon = "Warning";
 						res.data[4].icon = "Odometer";
 						this.devicestatus = res.data;
-						this.getprocess(); //鑾峰彇棰滆壊锛岃幏鍙栨満鍣�
 					}
 				})
         	}
@@ -422,7 +477,7 @@
 		display: block;
 	}
 	.status-content-cardp {
-	    min-width: 266px;
+	    height: 50%;
 	    min-height: 170px;
 	    margin: 0;
 	    padding: 4px;

--
Gitblit v1.9.3