From 86d88edcc0af550fe34253fec3a782aa83f4242a Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期一, 02 九月 2024 14:09:32 +0800
Subject: [PATCH] 连接signalR

---
 Web/src/views/device/deviceInfo/index.vue  |   25 ++++++++++++++++++++++++-
 Web/src/views/device/alarmManage/index.vue |   20 ++++++++++++++++++--
 2 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/Web/src/views/device/alarmManage/index.vue b/Web/src/views/device/alarmManage/index.vue
index 7adff37..6235e26 100644
--- a/Web/src/views/device/alarmManage/index.vue
+++ b/Web/src/views/device/alarmManage/index.vue
@@ -49,13 +49,29 @@
 </template>
 
 <script lang="ts" setup>
-import { ref, reactive } from 'vue';
+import { ref, reactive,onMounted } from 'vue';
 import { Splitpanes, Pane } from 'splitpanes';
 import 'splitpanes/dist/splitpanes.css';
 import { Vue2 } from 'vue-demi';
 import { listWcsAlarmInfo, resetWcsAlarmInfo } from '/@/api/wcs/wcsAlarmInfo';
 import { signalR } from './signalR';
-
+//杩炴帴signalR 鐩戝惉鍙樻洿
+onMounted(async () => {
+	signalR.off('PublicAlarm');
+	signalR.on('PublicAlarm', (data: any) => {
+		console.log(data)
+		var listAlarm = tableData.value.filter(t => t.id == data.id);
+		if (listAlarm.length == 0) {
+			tableData.value.unshift(data)
+			tableParams.value.total = tableData.value.length;
+		}
+		else {
+			//濡傛灉宸茬粡瀛樺湪灏辨洿鏂版暟鎹�
+			const index = tableData.value.findIndex(t => t.id == data.id);
+			tableData.value.splice(index, 1, data);
+		}
+	});
+});
 //鍫嗗灈鏈烘暟鎹�
 const cellsDataLine = [
 	{ Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
diff --git a/Web/src/views/device/deviceInfo/index.vue b/Web/src/views/device/deviceInfo/index.vue
index 86a9ab0..9bc1d57 100644
--- a/Web/src/views/device/deviceInfo/index.vue
+++ b/Web/src/views/device/deviceInfo/index.vue
@@ -65,8 +65,9 @@
 </template>
 
 <script lang="ts" setup>
-import { ref, reactive } from 'vue';
+import { ref, reactive,onMounted } from 'vue';
 import { listStatus } from '/@/api/wcs/wcsPlc';
+import { signalR } from './signalR';
 
 const state = ref<any>({});
 const stackers = ref<any>({});
@@ -80,6 +81,28 @@
 };
 handleQuery();
 
+//杩炴帴signalR 鐩戝惉鍙樻洿
+onMounted(async () => {
+	signalR.off('PublicPlcConn');
+	signalR.on('PublicPlcConn', (data: any) => {
+		console.log(data)
+		if (data.type === 0) {
+			// 鏇挎崲 stackers 涓殑鐩稿簲椤�
+			const index = stackers.value.findIndex(item => item.id === data.id);
+			if (index !== -1) {
+				stackers.value[index] = data;
+			}
+		} else if (data.type === 1 || data.type === 4) {
+			// 鏇挎崲 conveyors 涓殑鐩稿簲椤�
+			const index = conveyors.value.findIndex(item => item.id === data.id);
+			if (index !== -1) {
+				conveyors.value[index] = data;
+			}
+		}
+		console.log(stackers.value[0].isConn)
+	});
+});
+
 const activeName = ['1', '2', '3'];
 const value1 = ref(false);
 const value2 = ref(false);

--
Gitblit v1.8.0