From a07e4702be045efa9b04b49a561463875dd28e0a Mon Sep 17 00:00:00 2001 From: 肖洋 <cathay_xy@163.com> Date: 星期六, 04 一月 2025 16:18:33 +0800 Subject: [PATCH] 更新配置文件和事件总线逻辑,修复任务处理逻辑 --- Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue | 200 +++++++++++++++++++++++++------------------------- 1 files changed, 100 insertions(+), 100 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 e5de6b4..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,102 +1,102 @@ <template> <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 Stackers = reactive([]); - - // 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級 - const devices = reactive([]); - - 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 => { - 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> - .Stackerbox { - width: 220px; - float: left; - } - - .Linebox { - width: 500px; - float: left; - } - - .box1 { - float: left; - } - - .card-body { - text-align: center; - border-radius: 6%; - } - - .Stacker { - background-color: burlywood; - } - - .lis { - float: left; - width: 233px; - } - </style> \ No newline at end of file + <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 Stackers = reactive([]); + +// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級 +const devices = reactive([]); + +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 => { + 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> +.Stackerbox { + width: 220px; + float: left; +} + +.Linebox { + width: 500px; + float: left; +} + +.box1 { + float: left; +} + +.card-body { + text-align: center; + border-radius: 6%; +} + +.Stacker { + background-color: burlywood; +} + +.lis { + float: left; + width: 233px; +} +</style> \ No newline at end of file -- Gitblit v1.9.3