From bc56ea2c4c79ac0251b2e9303b93bd31fe9bae12 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期二, 10 九月 2024 08:17:27 +0800 Subject: [PATCH] 设备监控设置页面写入功能和与后台通讯交互逻辑 --- Web/src/views/device/deviceMonitor/index.vue | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 48 insertions(+), 6 deletions(-) diff --git a/Web/src/views/device/deviceMonitor/index.vue b/Web/src/views/device/deviceMonitor/index.vue index 03e945c..b404ddf 100644 --- a/Web/src/views/device/deviceMonitor/index.vue +++ b/Web/src/views/device/deviceMonitor/index.vue @@ -52,7 +52,6 @@ <div class="lineButtonfix"> <el-form label-position="left" label-width="80px"> <el-form-item> - <el-button>鍐欏叆</el-button> <el-button @click="openDialog">璁剧疆</el-button> </el-form-item> </el-form> @@ -85,6 +84,9 @@ <el-form-item label="鐩殑宸ヤ綅"> <el-input v-model="deviceInfo.endLocatNo"></el-input> </el-form-item> + <el-form-item label="鎵樼洏鐮�"> + <el-input v-model="deviceInfo.palletNo"></el-input> + </el-form-item> <el-form-item label="PLC"> <el-input v-model="deviceInfo.plc"></el-input> </el-form-item> @@ -99,24 +101,47 @@ <div class="otherButtonfix"> <el-form label-position="left"> <el-form-item> - <el-button>鍐欏叆</el-button> + <el-button @click="write(deviceInfo)">鍐欏叆</el-button> </el-form-item> </el-form> </div> </el-card> </div> </el-main> - <setting ref="settingDialogRef" :title="title" v-model:listStationsData="listStationsData" v-model:stationValue="stationValue" /> + <setting ref="settingDialogRef" :title="title" v-model:listStationsData="listStationsData" + v-model:stationValue="stationValue" /> </el-container> </template> <script lang="ts" setup> -import { ref, reactive } from 'vue'; -import { listWcsDevice } from '/@/api/wcs/wcsDevice'; +import { ref, onMounted } from 'vue'; +import { listWcsDevice, writeValue } from '/@/api/wcs/wcsDevice'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { listWcsPlc } from '/@/api/wcs/wcsPlc'; - +import { ElMessageBox, ElMessage } from 'element-plus'; import setting from '/@/views/device/deviceMonitor/component/setting.vue' +import { signalR } from './signalR'; +//杩炴帴signalR 鐩戝惉鍙樻洿 +onMounted(async () => { + signalR.off('PublicPlcDevice'); + signalR.on('PublicPlcDevice', (data: any) => { + //todo 闇�瑕佹祴璇� + if (data.type == 0) { + var index = listStackingMachineData.value.findIndex(s => s.id == data.id); + if (index !== -1) { + listStackingMachineData.value.splice(index, 1, data); + } + } + else if (data.type == 1) { + stations.value.forEach(list => { + var index = list.findIndex(s => s.id == data.id); + if (index !== -1) { + list.splice(index, 1, data); + } + }); + } + }); +}); const stations = ref<any>([]); const listStationsData = ref<any>([]); @@ -138,6 +163,10 @@ const openDialog = async () => { settingDialogRef.value.openDialog(stationValue); } +const write = async (row: any) => { + await writeValue(row); + ElMessage.success('鍐欏叆鎴愬姛锛�'); +} // 鏌ヨ鎿嶄綔 const handleQuery = async () => { var listplc = await listWcsPlc({ type: 1 }); @@ -153,6 +182,19 @@ listStationsData.value = stations.value[lineValue.value]; stationValue.value = listStationsData.value[0]; } + else { + listStationsData.value = []; + stationValue.value = { + stationNum: '', + taskNo: '', + taskType: '', + startLocatNo: '', + endLocatNo: '', + plc: '', + wcs: '', + status: false + }; + } title.value = listStationsData.value[0].text; }; -- Gitblit v1.8.0