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/uitils/signalr.js | 2
Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 2
3 files changed, 205 insertions(+), 5 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js b/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
index e6b1948..5534440 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
@@ -92,7 +92,7 @@
// console.log(data);
eventBus.emit("stackerData", data);
});
- connection.on("LocationData", (data) => {
+ connection.on("LineData", (data) => {
eventBus.emit("locationData", data);
});
};
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
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index c1b02d2..11c2526 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -192,7 +192,7 @@
command,
commandWrite
};
- _noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj });
+ _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj });
#endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
}
--
Gitblit v1.9.3