From 7c45d0dd5988ef391bdd13ebf2d4e69afce93f95 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期六, 14 九月 2024 11:21:48 +0800 Subject: [PATCH] 展示数据方式BUG修改 --- UI-Project/src/views/Marking/marking.vue | 97 +++++++++++++++++++++++++++++------------------- 1 files changed, 59 insertions(+), 38 deletions(-) diff --git a/UI-Project/src/views/Marking/marking.vue b/UI-Project/src/views/Marking/marking.vue index dfe1156..264514c 100644 --- a/UI-Project/src/views/Marking/marking.vue +++ b/UI-Project/src/views/Marking/marking.vue @@ -2,8 +2,10 @@ <script setup> import request from "@/utils/request"; import { ElMessage, ElMessageBox } from "element-plus"; -import { reactive, ref, onMounted } from 'vue' +import { reactive, ref, onMounted, onBeforeUnmount,onUnmounted } from 'vue' import { useI18n } from 'vue-i18n' +import { WebSocketHost ,host} from '@/utils/constants' +import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; let language = ref(localStorage.getItem('lang') || 'zh') const { t } = useI18n() const requestData = reactive({ @@ -12,41 +14,64 @@ }); const loadData = ref([]); const findMachine = ref([]); +//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁 +let socket = null; +const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/marking`; +// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 +const handleMessage = (data) => { + // 鏇存柊 tableData 鐨勬暟鎹� + loadData.value = data.taskingList[0]; + findMachine.value = data.machine[0]; +}; +onUnmounted(() => { + if (socket) { + closeWebSocket(socket); + } +}); +onBeforeUnmount(() => { + console.log("鍏抽棴浜�") + closeWebSocket(); +}); onMounted(async () => { - load(); + //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁 + socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁� + + //浣跨敤鎺ュ彛鏂瑰紡灞曠ず鏁版嵁 + //load(); }); -//鑾峰彇鏁版嵁 -const load = async() => { - //鑾峰彇璁惧浠诲姟鏁版嵁 - try { - const response = await request.post('/deviceInteraction/tasking/findMachineTask', - { - "id": 11 - }); // 鏇挎崲涓轰綘鐨凙PI绔偣 - if (response.code === 200) { - loadData.value.findTaskingData= response.data; - } else { - ElMessage.warning(res.msg) - } - } catch (error) { - // console.error('Error fetching rects :', error); - } - //鑾峰彇璁惧鐘舵�� - try { - const response = await request.post('/deviceInteraction/machine/findMachine', - { - "id": 11 - }); // 鏇挎崲涓轰綘鐨凙PI绔偣 - if (response.code === 200) { - findMachine.value= response.data; - } else { - ElMessage.warning(res.msg) - } - } catch (error) { - // console.error('Error fetching rects :', error); - } -} + +// //鑾峰彇鏁版嵁 +// const load = async() => { +// //鑾峰彇璁惧浠诲姟鏁版嵁 +// try { +// const response = await request.post('/deviceInteraction/tasking/findMachineTask', +// { +// "id": 11 +// }); // 鏇挎崲涓轰綘鐨凙PI绔偣 +// if (response.code === 200) { +// loadData.value.findTaskingData= response.data; +// } else { +// ElMessage.warning(res.msg) +// } +// } catch (error) { +// // console.error('Error fetching rects :', error); +// } +// //鑾峰彇璁惧鐘舵�� +// try { +// const response = await request.post('/deviceInteraction/machine/findMachine', +// { +// "id": 11 +// }); // 鏇挎崲涓轰綘鐨凙PI绔偣 +// if (response.code === 200) { +// findMachine.value= response.data; +// } else { +// ElMessage.warning(res.msg) +// } +// } catch (error) { +// // console.error('Error fetching rects :', error); +// } +// } //淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆� const workStatus = async(row,state) => { let url; @@ -76,7 +101,6 @@ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣 if (res.code === 200) { ElMessage.success(res.message); - load(); } else { ElMessage.warning(res.message) } @@ -111,7 +135,6 @@ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣 if (res.code === 200) { ElMessage.success(res.message); - this.load(); } else { ElMessage.warning(res.message) } @@ -143,7 +166,6 @@ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣 if (res.code === 200) { ElMessage.success(res.message); - this.load(); } else { ElMessage.warning(res.message) } @@ -175,7 +197,6 @@ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣 if (res.code === 200) { ElMessage.success(res.message); - this.load(); } else { ElMessage.warning(res.message) } @@ -211,7 +232,7 @@ </div> <div id="main-body" style="min-height:240px;"> <!-- 琛ㄦ牸鍐呭 --> - <el-table :data="loadData.findTaskingData" stripe + <el-table :data="loadData" stripe :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"> <!-- <el-table-column type="selection" min-width="30" /> --> -- Gitblit v1.8.0