From 1d044540ee1b7041c7e89bdfe6d1339c99e80a4e Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期三, 08 一月 2025 14:41:16 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/BaiBuLiKu

---
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue |  108 ++++++++++++++++++++++++++----------------------------
 1 files changed, 52 insertions(+), 56 deletions(-)

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..efcfdd9 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.indexOf("闄堝寲") != -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>

--
Gitblit v1.9.3