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