From 75a1cfdc9b88519fa7a2af57e8b7d615c063b656 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 04 九月 2024 11:28:50 +0800 Subject: [PATCH] Merge branch 'master' into wxw --- Web/src/views/device/deviceInfo/index.vue | 102 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 72 insertions(+), 30 deletions(-) diff --git a/Web/src/views/device/deviceInfo/index.vue b/Web/src/views/device/deviceInfo/index.vue index 3d13bff..28b3860 100644 --- a/Web/src/views/device/deviceInfo/index.vue +++ b/Web/src/views/device/deviceInfo/index.vue @@ -37,9 +37,9 @@ </el-col> <el-col :span="21"> <div class="card-page"> - <el-button type="primary" :plain="isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button> - <el-button type="primary" :plain="isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button> - <el-button type="primary" :plain="isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button> + <el-button type="primary" :plain="floorStates.isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button> + <el-button type="primary" :plain="floorStates.isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button> + <el-button type="primary" :plain="floorStates.isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button> </div> <div style="margin: 40px; height: 50%;"> <div class="grid-container-line"> @@ -71,7 +71,7 @@ <script lang="ts" setup> import { ref, reactive, onMounted } from 'vue'; -import { listStatus } from '/@/api/wcs/wcsPlc'; +import { listStatus, listPosition } from '/@/api/wcs/wcsPlc'; import { signalR } from './signalR'; const state = ref<any>({}); @@ -83,6 +83,24 @@ state.value = res.data.result.modService; stackers.value = res.data.result.listPlc.filter(s => s.type == 0); conveyors.value = res.data.result.listPlc.filter(s => s.type == 1 || s.type == 4); + + var res2 = await listPosition(); + res2.data.result.forEach(s => { + if (s.type == 0) { + // 鏇存柊鍫嗗灈鏈烘暟鎹� + const foundCell = cellsDataLine.value.find(cell => cell.Code === s.stationNum); + if (foundCell) { + //淇敼楂樺害 + foundCell.BoxHeight = s.boxHeight; + } + } + else if (s.type == 1) { + // 鏇存柊杈撻�佺嚎鏁版嵁 + updateCellData(cellsDataOne, s); + updateCellData(cellsDataTwo, s); + updateCellData(cellsDataThree, s); + } + }); }; handleQuery(); @@ -110,19 +128,46 @@ signalR.on('UpdateService', (data: any) => { state.value = data; }); + signalR.off('PublicPosition'); + signalR.on('PublicPosition', (data: any) => { + + if (data.type == 1) { + // 鏇存柊杈撻�佺嚎鏁版嵁 + updateCellData(cellsDataOne, data); + updateCellData(cellsDataTwo, data); + updateCellData(cellsDataThree, data); + } + else if (data.type == 0) { + // 鏇存柊鍫嗗灈鏈烘暟鎹� + const foundCell = cellsDataLine.value.find(cell => cell.Code === data.stationNum); + if (foundCell) { + //淇敼楂樺害 + foundCell.BoxHeight = data.boxHeight; + } + } + }); }); const handleSwitchChange = (field: string, value: boolean) => { - signalR.invoke('UpdateService',state.value); + signalR.invoke('UpdateService', state.value); }; +// 鏇存柊杈撻�佺嚎鏁版嵁鐨勯�氱敤鍑芥暟 +function updateCellData(cellsData: any[], data: any) { + const foundCell = cellsData.find(cell => cell.Code === data.stationNum); + if (foundCell) { + if (data.boHaveItem) { + foundCell.IsUse = 1; + } + else { + foundCell.IsUse = 0; + } + } +} const activeName = ['1', '2', '3']; -const value1 = ref(false); -const value2 = ref(false); -const value3 = ref(false); //鍫嗗灈鏈烘暟鎹� -const cellsDataLine = [ +const cellsDataLine = ref([ { Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 }, { Id: 2, Code: '002', LineCode: '01', EndLocat: '01010101', IsShow: 0, IsUse: 0, BoxHeight: 10 }, { Id: 3, Code: '003', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 }, @@ -174,7 +219,7 @@ { Id: 49, Code: '049', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 }, { Id: 50, Code: '050', LineCode: '10', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 }, { Id: 51, Code: '051', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 }, -]; +]); //涓�灞傝緭閫佺嚎鏁版嵁 const cellsDataOne = [ @@ -1924,29 +1969,26 @@ //杈撻�佺嚎鏁版嵁 let cellsData = ref(cellsDataOne); -const isPlain1 = ref(false);//涓�灞� -const isPlain2 = ref(true);//浜屽眰 -const isPlain3 = ref(true);//涓夊眰 + +// 灞傚钩闈㈢姸鎬� +const floorStates = ref({ + isPlain1: false, + isPlain2: true, + isPlain3: true +}); + //鍒囨崲灞傚钩闈� function floorTogglePlain(buttonNumber) { - if (buttonNumber === 1) { - isPlain1.value = !isPlain1.value; - isPlain2.value = true; - isPlain3.value = true; + const floorData = [cellsDataOne, cellsDataTwo, cellsDataThree]; - cellsData.value = cellsDataOne; - } else if (buttonNumber === 2) { - isPlain2.value = !isPlain2.value; - isPlain1.value = true; - isPlain3.value = true; - - cellsData.value = cellsDataTwo; - } else if (buttonNumber === 3) { - isPlain3.value = !isPlain3.value; - isPlain1.value = true; - isPlain2.value = true; - - cellsData.value = cellsDataThree; + if (buttonNumber >= 1 && buttonNumber <= 3) { + const index = buttonNumber - 1; + floorStates.value = { + isPlain1: index !== 0, + isPlain2: index !== 1, + isPlain3: index !== 2 + }; + cellsData.value = floorData[index]; } } </script> -- Gitblit v1.8.0