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">æ¥è¦ä»£ç ï¼{{ 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> 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 === 'æ£å¸¸' || 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> 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> 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> 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> 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> </style> 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> 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> </style> 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> </style> 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>