From 162b6599783924b4113ccd2b00591026bbd10258 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期四, 12 十二月 2024 14:05:04 +0800 Subject: [PATCH] 信号交互显示 --- Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 203 insertions(+), 3 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue index 2d83b3c..e327eb1 100644 --- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue +++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue @@ -1,5 +1,106 @@ <template> - <div class="title"></div> + <div class="home-contianer"> + <div> + <el-tabs type="border-card" @tab-click="handleClick" style="width: 100%; height: 100%;"> + <el-tab-pane label="闄堝寲搴�" style="width: 100%;height: 100%;"> + <div class="StackerOne"> + <div class="content">{{ this.StackerOne.deviceName }}:</div> + <!-- <div :class="this.ConveyorlineOut.data.command.interactiveSignal==1 ? 'bool_false' : 'bool_true'"></div> --> + <div class="content">浠诲姟鍙凤細{{ this.StackerOne.data.currentTaskNum }}</div> + <div class="content display"> + <div>宸ヤ綔妯″紡锛歿{ this.StackerOne.data.stackerCraneAutoStatusDes }}</div> + <div :class="this.StackerOne.data.stackerCraneAutoStatusDes != '鑷姩' ? 'bool_false' : 'bool_true'"></div> + </div> + <div class="content display"> + <div>璁惧鐘舵�侊細{{ this.StackerOne.data.stackerCraneStatusDes }}</div> + <div :class="this.StackerOne.data.stackerCraneStatusDes != '姝e父' ? 'bool_false' : 'bool_true'"></div> + </div> + <div class="content display"> + <div>浣滀笟鐘舵�侊細{{ this.StackerOne.data.stackerCraneWorkStatusDes }}</div> + <div :class="this.StackerOne.data.stackerCraneWorkStatusDes != '寰呮満' ? 'bool_false' : 'bool_true'"></div> + </div> + </div> + <div class="ConveyorlineOut"> + <div class="content">{{ this.ConveyorlineOut.deviceName }}-----{{ + this.ConveyorlineOut.data.childDeviceCode}}:</div> + <div class="display"> + <div> + <div class="Signal">璇诲彇淇″彿锛�</div> + <div class="content ">浠诲姟鍙凤細{{ this.ConveyorlineOut.data.command.taskNum }}</div> + <div class="content ">鎵樼洏鍙凤細{{ this.ConveyorlineOut.data.command.barcode }}</div> + <div class="content ">缁堢偣鍦板潃锛歿{ this.ConveyorlineOut.data.command.targetAddress}}</div> + <div class="content display"> + <div>鎵爜绔欏彴鍏ュ簱璇锋眰锛�</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[0] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>鍫嗗灈鏈哄嚭搴撶珯鍙拌姹傦細</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[2] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[4] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>绾夸綋鍑哄簱鍙h姹傦細</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[6] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + </div> + <div style="margin-left: 40px;"> + <div class="Signal">鍐欏叆淇″彿锛�</div> + <div class="content ">浠诲姟鍙凤細{{ this.ConveyorlineOut.data.commandWrite.taskNum }}</div> + <div class="content ">鎵樼洏鍙凤細{{ this.ConveyorlineOut.data.commandWrite.barcode }}</div> + <div class="content ">缁堢偣鍦板潃锛歿{ this.ConveyorlineOut.data.commandWrite.targetAddress}}</div> + <div class="content display"> + <div>鎵爜绔欏彴鍏ュ簱璇锋眰锛�</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[1] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>鍫嗗灈鏈哄嚭搴撶珯鍙拌姹傦細</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[3] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[5] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + <div class="content display"> + <div>绾夸綋鍑哄簱鍙h姹傦細</div> + <div + :class="this.ConveyorlineOut.data.writeInteractiveSignal[7] != true ? 'bool_false' : 'bool_true'"> + </div> + </div> + </div> + </div> + </div> + </el-tab-pane> + <el-tab-pane label="闈欑疆搴�" id="print-content"> + + </el-tab-pane> + <el-tab-pane label="鍒嗗搴�" id="print-content"> + + </el-tab-pane><el-tab-pane label="楂樻俯搴�" id="print-content"> + + </el-tab-pane> + <el-tab-pane label="甯告俯搴�" id="print-content"> + + </el-tab-pane> + </el-tabs> + </div> + </div> </template> <script> @@ -8,13 +109,62 @@ export default { setup() { return { + StackerOne: { + deviceName: "", + data: {}, + }, + ConveyorlineOut: { + deviceName: "", + data: { + command: {}, + commandWrite: {}, + writeInteractiveSignal:[], + }, + }, + ConveyorlineIn: { + deviceName: "", + data: { + command: {}, + commandWrite: {}, + writeInteractiveSignal:[], + }, + } } + }, + methods: { + intToBitArrayFromBinaryString (num, numBits){ + // 灏嗘暣鏁拌浆鎹负浜岃繘鍒跺瓧绗︿覆锛屽苟浣跨敤padStart鏂规硶琛ヨ冻鍒版寚瀹氱殑浣嶆暟锛堝墠闈㈣ˉ0锛� + let binaryString = num.toString(2).padStart(numBits, '0'); + let bitArray = []; + for (let i = 0; i < numBits; i++) { + // 鐩存帴鏍规嵁瀛楃涓蹭腑瀛楃鏄惁涓�'1'鏉ョ‘瀹氭瘡涓�浣嶇殑鍊硷紙杞崲涓哄竷灏斿�硷級 + bitArray.push(binaryString[i] === '1'); + } + return bitArray; + } + }, + mounted() { eventBus.on('stackerData', eventData => { - console.log(eventData); + if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満") { + this.StackerOne.deviceName = eventData.deviceName; + this.StackerOne.data = eventData.data + } + // console.log(eventData); }) eventBus.on('locationData', eventData => { - console.log(eventData); + console.log(eventData); + if (eventData.deviceName == "闄堝寲鍑哄簱杈撻�佺嚎") { + this.ConveyorlineOut.deviceName = eventData.deviceName; + this.ConveyorlineOut.data = eventData.data + } + if (eventData.data.childDeviceCode == '1018') { + this.ConveyorlineIn.deviceName = eventData.deviceName; + this.ConveyorlineIn.data = eventData.data + let number = eventData.data.commandWrite.writeInteractiveSignal + this.ConveyorlineIn.data.writeInteractiveSignal = this.intToBitArrayFromBinaryString(number, 8); + console.log(this.ConveyorlineIn.data.writeInteractiveSignal); + } }) } } @@ -27,4 +177,54 @@ font-size: 28px; color: orange; } + +.bool_true { + width: 30px; + height: 20px; + margin-top: 10px; + margin-left: 10px; + background-color: rgb(99, 155, 16); +} + +.bool_info { + width: 30px; + height: 10px; + background-color: #ccc; +} + +.StackerOne { + width: 100%; + margin-bottom: 10px; + padding-left: 30px; + font-size: 25px; + border: 1px solid #ccc; +} + +.ConveyorlineOut { + width: 100%; + margin-bottom: 10px; + padding-left: 30px; + font-size: 25px; + border: 1px solid #ccc; +} + +.bool_false { + display: block; + width: 30px; + height: 20px; + margin-top: 10px; + margin-left: 10px; + background-color: rgb(204, 71, 71); +} + +.content { + margin-bottom: 20px; +} +.Signal{ + margin-bottom: 20px; + color:blueviolet; +} +.display { + display: flex; +} </style> \ No newline at end of file -- Gitblit v1.9.3