From 8331bf651646bbbb3d9afc4b95ac2f256e23cd00 Mon Sep 17 00:00:00 2001
From: chenyong <chenyong@hnkhzn.com>
Date: 星期四, 19 十二月 2024 15:32:24 +0800
Subject: [PATCH] 设备监控页面更新

---
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue           |   59 ++++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue        |   42 +++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue  |   64 +++++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue       |   21 --
 Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue                          |   67 ++++++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue |   22 --
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue    |    5 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue                  |    7 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue  |   64 +++++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue     |  108 ++++++-------
 10 files changed, 339 insertions(+), 120 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue
new file mode 100644
index 0000000..6419f9c
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue
@@ -0,0 +1,67 @@
+<template>
+     <div class="Linebox">
+    <div class="card">
+      <div class="card-header">
+        <div id="lines2" >
+          <div class="card-body">{{device.deviceName}}<br/>
+            -{{ device.data.childDeviceCode }}-
+          </div>
+        </div>
+      </div>
+      <div class="card-body">
+        <ul class="list-group lis">
+          <li class="list-group-item list-group-item-dark">璇诲彇淇″彿</li>
+          <li class="list-group-item list-group-item-secondary">浠诲姟鍙凤細{{ device.data.commandAfter.conveyorLineTaskNum }}</li>
+          <li class="list-group-item list-group-item-secondary">鎵樼洏鍙凤細{{ device.data.commandAfter.conveyorLineBarcode }}</li>
+          <li class="list-group-item list-group-item-secondary">缁堢偣鍦板潃锛歿{ device.data.commandAfter.conveyorLineTargetAddress }}</li>
+          <li class="list-group-item list-group-item-secondary">鏄惁鏈夌洏锛歿{ device.data.commandAfter.hasPallet }}</li>
+          <li class="list-group-item list-group-item-secondary">鎶ヨ浠g爜锛歿{ device.data.commandAfter.conveyorLineAlarm }}</li>
+          <li class="list-group-item list-group-item-secondary">璇锋眰鍙嶉锛歿{ device.data.commandAfter.responState }}</li>
+          <li  :class="device.data.commandAfter.interactiveSignal !=0 ? 'list-group-item list-group-item-success'  :'list-group-item list-group-item-danger'">浜や簰淇″彿</li>
+        </ul> 
+      </div>
+    </div>
+</div>
+</template>
+<script setup>
+import { defineProps } from "vue";
+
+// 瀹氫箟缁勪欢灞炴��
+const props = defineProps({
+    device: {
+        type: Object,
+        required: true
+    }
+});
+
+// 鑾峰彇淇″彿绫诲悕
+const getSignalClass = (signal) => {
+    // console.log("馃殌 ~ getSignalClass ~ signal:", signal)
+    return signal !== true ? 'list-group-item list-group-item-danger' : 'list-group-item list-group-item-success';
+};
+</script>
+
+<style scoped>
+.Stackerbox {
+  width: 220px;
+  float: left;
+}
+.Linebox {
+  width: 300px;
+  float: left;
+}
+.box1 {
+  float: left;
+}
+.card-body {
+  text-align: center;
+  border-radius: 6%;
+}
+.Stacker {
+  background-color: burlywood;
+}
+.lis {
+  float: left;
+  width: 266px;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
index 47c9bd9..98eb092 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
@@ -1,78 +1,74 @@
 <template>
-  <div>
-    <div>
-      <div class="Stackerbox">
-        <div class="card">
-          <div class="card-header">
-            <div>
-              <div class="card-body Stacker">
-                {{ StackerOne.deviceName }}
-              </div>
-            </div>
-          </div>
-          <div class="card-body">
-            <ul class="list-group">
-              <li class="list-group-item list-group-item-secondary">
-                浠诲姟鍙凤細{{ StackerOne.data.currentTaskNum || '鏆傛棤浠诲姟鍙�' }}
-              </li>
-              <li :class="getStatusClass(StackerOne.data.stackerCraneAutoStatusDes)">
-                宸ヤ綔妯″紡锛歿{ StackerOne.data.stackerCraneAutoStatusDes }}
-              </li>
-              <li :class="getStatusClass(StackerOne.data.stackerCraneStatusDes)">
-                璁惧鐘舵�侊細{{ StackerOne.data.stackerCraneStatusDes }}
-              </li>
-              <li :class="getStatusClass(StackerOne.data.stackerCraneWorkStatusDes)">
-                宸ヤ綔鐘舵�侊細{{ StackerOne.data.stackerCraneWorkStatusDes }}
-              </li>
-            </ul>
-          </div>
-        </div>
-      </div>
-    </div>
-    <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
-  </div>
+ <el-row>
+    <el-col :span="3">
+     
+      <device-stacker v-for="stacker in Stackers" :key="stacker.deviceName" :Stacker="stacker"></device-stacker>
+    </el-col>
+    <el-col :span="21">
+      <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 
 <script setup>
 import { onMounted, reactive, toRefs } from "vue";
 import eventBus from "@/uitils/eventBus";
 import DeviceLine from "@/components/DeviceLine.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
 
 // 鍫嗗灈鏈�
-const StackerOne = reactive({
-  deviceName: "",
-  data: {
-  }
-});
+const Stackers = reactive([]);
 
 // 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
-const devices = reactive([
-  { deviceName: "闄堝寲鍑哄簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  { deviceName: "闄堝寲鍏ュ簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  // { deviceName: "鍫嗗灈鏈�1", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  // Add all devices similarly...
-]);
+const devices = reactive([]);
 
-// 鑾峰彇鐘舵�佺被鍚嶏紙浼樺寲鐘舵�佸垽鏂級
-const getStatusClass = (status) => {
-  if (status === '姝e父' || status === '鑷姩' || status === '寰呮満') {
-    return 'list-group-item list-group-item-success';
-  }
-  if (status === '鏁呴殰' || status === '鍋滄満') {
-    return 'list-group-item list-group-item-danger';
-  }
-  return 'list-group-item list-group-item-warning'; // 榛樿璀﹀憡鐘舵��
+const intToBitArrayFromBinaryString = (num, numBits) => {
+  let binaryString = num.toString(2).padStart(numBits, '0');
+  return Array.from({ length: numBits }, (_, index) => binaryString[index] === '1');
 };
 
 // 鐩戝惉璁惧鏁版嵁鍙樺寲
 onMounted(() => {
   eventBus.on('locationData', eventData => {
-    const device = devices.find(d => d.deviceName === eventData.deviceName);
-    if (device) {
-      // 浣跨敤鎵╁睍杩愮畻绗︽洿鏂板璞″睘鎬э紝淇濇寔鍝嶅簲鎬�
-      device.data = { ...device.data, ...eventData.data };
+    console.log(eventData)
+    if (eventData.deviceName === "闄堝寲鍏ュ簱杈撻�佺嚎"||eventData.deviceName === "闄堝寲鍏ュ簱杈撻�佺嚎") {
+
+      if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.childDeviceCode)
+        if (device) {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          device.data = eventData.data
+        }
+        else {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+        }
+      }
     }
   });
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満"||eventData.deviceName == "闄堝寲2鍙峰爢鍨涙満") {
+      if (Stackers.length == 0) {
+        Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+      }
+      else {
+        const Stacker = Stackers.find(c => c.deviceName == eventData.deviceName);
+        if (Stacker) {
+          Stacker.data = eventData.data
+        }
+        else {
+          Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+        }
+      }
+    }
+  })
 });
 </script>
 <style scoped>
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
index 91440c6..3d46097 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
@@ -33,7 +33,7 @@
           const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
           eventData.data.writeInteractiveSignal = writeInteractiveSignal;
           device.data = eventData.data
-          console.log("馃殌 ~ onMounted ~ device:", device.data)
+          
         }
         else {
           const number = eventData.data.commandWrite.writeInteractiveSignal;
@@ -47,23 +47,3 @@
 });
 </script>
 
-<style scoped>
-.Linebox{
-  width: 573px;
-  float: left;
-}
-.box1{
-  float: left;
-}
-.card-body{
-  text-align: center;
-  border-radius: 6% ;
-}
-.Stacker{
-  background-color: burlywood;
-}
-.lis{
-  float: left;
-  width: 269px;
-}
-</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
index f6b7a83..61d0435 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
@@ -29,6 +29,7 @@
 // 鐩戝惉璁惧鏁版嵁鍙樺寲
 onMounted(() => {
   eventBus.on('locationData', eventData => {
+    console.log(eventData)
     if (eventData.deviceName === "闈欑疆杈撻�佺嚎") {
 
       if (devices.length <= 0) {
@@ -66,10 +67,6 @@
         }
       }
     }
-    // if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満") {
-    //   StackerOne.deviceName = eventData.deviceName;
-    //   StackerOne.data = eventData.data
-    // }
   })
 });
 </script>
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
index c24eac2..4a17acb 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
@@ -46,24 +46,3 @@
   });
 });
 </script>
-
-<style scoped>
-.Linebox{
-  width: 573px;
-  float: left;
-}
-.box1{
-  float: left;
-}
-.card-body{
-  text-align: center;
-  border-radius: 6% ;
-}
-.Stacker{
-  background-color: burlywood;
-}
-.lis{
-  float: left;
-  width: 269px;
-}
-</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
index 2effa57..cf2b85a 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
@@ -1,9 +1,58 @@
 <template>
-    <div>
-        鍒嗗搴�
-    </div>
+  <el-row>
+    <el-col :span="3">
+      <device-stacker v-for="stacker in Stackers" :key="stacker.deviceName" :Stacker="stacker"></device-stacker>
+    </el-col>
+    <el-col :span="21">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => { 
+    if (eventData.deviceName === "鍒嗗3绾垮叆搴撹緭閫佺嚎"||eventData.deviceName === "鍒嗗鍑哄簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    }
+  })
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "鍒嗗3鍙峰爢鍨涙満"||eventData.deviceName == "鍒嗗2鍙峰爢鍨涙満") {
+      if (Stackers.length == 0) {
+        Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+      }
+      else {
+        const Stacker = Stackers.find(c => c.deviceName == eventData.deviceName);
+        if (Stacker) {
+          Stacker.data = eventData.data
+        }
+        else {
+          Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue
new file mode 100644
index 0000000..dc57889
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue
@@ -0,0 +1,42 @@
+<template>
+  <el-row>
+    <el-col :span="21">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
+</template>
+<script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName === "鍖呰鍑哄簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    
+    }
+  })
+
+})
+
+</script>
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
index 1f6369c..cf09620 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
@@ -1,9 +1,63 @@
 <template>
-    <div>
-        楂樻俯搴�
-    </div>
+  <el-row>
+    <el-col :span="3">
+      <device-stacker v-for="stacker in Stackers" :key="stacker.deviceName" :Stacker="stacker"></device-stacker>
+    </el-col>
+    <el-col :span="21">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    // console.log(eventData)
+   
+      console.log(eventData)
+    
+    if (eventData.deviceName === "鑰佸寲鍏ュ簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    
+    }
+  })
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "鑰佸寲1鍙峰爢鍨涙満") {
+      if (Stackers.length == 0) {
+        Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+      }
+      else {
+        const Stacker = Stackers.find(c => c.deviceName == eventData.deviceName);
+        if (Stacker) {
+          Stacker.data = eventData.data
+        }
+        else {
+          Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
index 520ee72..07cab63 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
@@ -1,9 +1,63 @@
 <template>
-    <div>
-        甯告俯搴�
-    </div>
+  <el-row>
+    <el-col :span="3">
+      <device-stacker v-for="stacker in Stackers" :key="stacker.deviceName" :Stacker="stacker"></device-stacker>
+    </el-col>
+    <el-col :span="21">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    // console.log(eventData)
+   
+      console.log(eventData)
+    
+    if (eventData.deviceName === "甯告俯鍏ュ簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    
+    }
+  })
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "甯告俯1鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯2鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯3鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯4鍙峰爢鍨涙満") {
+      if (Stackers.length == 0) {
+        Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+      }
+      else {
+        const Stacker = Stackers.find(c => c.deviceName == eventData.deviceName);
+        if (Stacker) {
+          Stacker.data = eventData.data
+        }
+        else {
+          Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
index 725783b..1daa868 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
@@ -5,14 +5,15 @@
        <RouterLink class="navlink" to="/AgingLibrary" >闄堝寲搴�</RouterLink>
        <RouterLink class="navlink" to="/FormationLibrary" >鍖栨垚搴�</RouterLink>
        <RouterLink class="navlink" to="/StaticLibrary" >闈欑疆搴�</RouterLink>
-       <RouterLink class="navlink" to="/Twoletters" >浜屽皝搴�</RouterLink>
+       <RouterLink class="navlink" to="/Twoletters" >浜屽皝</RouterLink>
        <RouterLink class="navlink" to="/Volume" >鍒嗗搴�</RouterLink>
-       <RouterLink class="navlink" to="/highTemperature" >楂樻俯搴�</RouterLink>
+       <RouterLink class="navlink" to="/highTemperature" >鑰佸寲搴�</RouterLink>
        <RouterLink class="navlink" to="/roomTemperature" >甯告俯搴�</RouterLink>
+       <RouterLink class="navlink" to="/Baozhuang" >鍖呰</RouterLink>
     </div>
      <!--娉ㄦ剰浜嬮」-->
     <div class="area">
-           <RouterView></RouterView>
+           <RouterView :key="$route.fullPath" ></RouterView>
     </div>
 </template>
 <script setup>

--
Gitblit v1.9.3