From d3e1346d52806f00d21eba23cabf9cfa4f61d7d4 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期四, 05 九月 2024 16:34:00 +0800 Subject: [PATCH] 测试页面,修复bug --- Web/src/views/device/deviceMonitor/index.vue | 117 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 57 insertions(+), 60 deletions(-) diff --git a/Web/src/views/device/deviceMonitor/index.vue b/Web/src/views/device/deviceMonitor/index.vue index 6f2883e..8865fab 100644 --- a/Web/src/views/device/deviceMonitor/index.vue +++ b/Web/src/views/device/deviceMonitor/index.vue @@ -4,43 +4,48 @@ <el-card class="box-card"> <div slot="header" class="linefix"> <span>杈撻�佺嚎</span> - <div class="lineStatus"></div> + <div :class="['lineStatus', stationValue.status ? 'device-status-0' : 'device-status-1']"></div> </div> <div class="choosefix"> - <el-select v-model="lineValue" placeholder="璇烽�夋嫨"> - <el-option v-for="item in lineOptions" :key="item.value" :label="item.label" - :value="item.value"></el-option> - </el-select> - <el-select v-model="stationValue" placeholder="璇烽�夋嫨" style="margin-top: 10px;"> - <el-option v-for="item in stations" :key="item.id" :label="item.stationNum" + <el-select v-model="lineValue" placeholder="璇烽�夋嫨" @change="handleLineChange('item', $event)"> + <el-option v-for="item in lineOptions" :key="item.id" :label="item.text" :value="item.id"></el-option> + </el-select> + <el-select v-model="stationValue" placeholder="璇烽�夋嫨" style="margin-top: 10px;" + value-key="stationNum"> + <el-option v-for="item in listStationsData" :key="item.id" :label="item.stationNum" + :value="item"> + </el-option> </el-select> </div> <div class="lineValuefix"> <el-form label-position="left" label-width="80px"> <el-form-item label="浠诲姟鍙�"> - <el-input></el-input> + <el-input v-model="stationValue.taskNo"></el-input> </el-form-item> <el-form-item label="浠诲姟绫诲瀷"> - <el-input></el-input> + <el-select clearable v-model="stationValue.taskType" placeholder="璇烽�夋嫨浠诲姟绫诲瀷"> + <el-option v-for="(item, index) in dl('TaskTypeEnum')" :key="index" + :value="Number(item.value)" :label="`${item.name} [${item.value}]`"></el-option> + </el-select> </el-form-item> <el-form-item label="璧峰宸ヤ綅"> - <el-input></el-input> + <el-input v-model="stationValue.startLocatNo"></el-input> </el-form-item> <el-form-item label="鐩殑宸ヤ綅"> - <el-input></el-input> + <el-input v-model="stationValue.endLocatNo"></el-input> </el-form-item> <el-form-item label="鎵樼洏鐮�"> - <el-input></el-input> + <el-input v-model="stationValue.palletNo"></el-input> </el-form-item> <el-form-item label="PLC"> - <el-input></el-input> + <el-input v-model="stationValue.plc"></el-input> </el-form-item> <el-form-item label="WCS"> - <el-input></el-input> + <el-input v-model="stationValue.wcs"></el-input> </el-form-item> <el-form-item label="鐘舵��"> - <el-input></el-input> + <el-input :value="stationValue.status ? '鍦ㄧ嚎' : '绂荤嚎'" readonly></el-input> </el-form-item> </el-form> </div> @@ -71,8 +76,14 @@ <el-form-item label="浠诲姟绫诲瀷"> <el-select clearable="" v-model="deviceInfo.taskType" placeholder="璇烽�夋嫨鐘舵��"> <el-option v-for="(item, index) in dl('TaskTypeEnum')" :key="index" - :value="Number(item.value)" :label="`${item.name} (${item.code}) [${item.value}] `" /> + :value="Number(item.value)" :label="`${item.name} [${item.value}] `" /> </el-select> + </el-form-item> + <el-form-item label="璧峰宸ヤ綅"> + <el-input v-model="deviceInfo.startLocatNo"></el-input> + </el-form-item> + <el-form-item label="鐩殑宸ヤ綅"> + <el-input v-model="deviceInfo.endLocatNo"></el-input> </el-form-item> <el-form-item label="PLC"> <el-input v-model="deviceInfo.plc"></el-input> @@ -103,61 +114,47 @@ import { ref, reactive } from 'vue'; import { listWcsDevice } from '/@/api/wcs/wcsDevice'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; -import { getDictLabelByVal as dv } from '/@/utils/dict-utils'; +import { listWcsPlc } from '/@/api/wcs/wcsPlc'; const stations = ref<any>([]); +const listStationsData = ref<any>([]); const listStackingMachineData = ref<any>([]); - -const lineValue = ref('1'); -const stationValue = ref(); +const lineOptions = ref<any>([]); +const lineValue = ref(1); +const stationValue = ref<any>({ + taskNo: '', + taskType: '', + startLocatNo: '', + endLocatNo: '', + plc: '', + wcs: '', + status: false +}); // 鏌ヨ鎿嶄綔 const handleQuery = async () => { + var listplc = await listWcsPlc({ type: 1 }); + lineOptions.value = listplc.data.result; + lineValue.value = listplc.data.result[0].id; var res = await listWcsDevice(); listStackingMachineData.value = res.data.result.filter(s => s.type == 0); - const listConveyorLineData = res.data.result.filter(s => s.type == 1 || s.type == 4); - stations.value = { - '1': listConveyorLineData.filter(s => s.text = '1灞傛墭鐩樿緭閫佺嚎'), - '2': listConveyorLineData.filter(s => s.text = '2灞傛墭鐩樿緭閫佺嚎'), - '3': listConveyorLineData.filter(s => s.text = '3灞傛墭鐩樿緭閫佺嚎') + const listConveyorLineData = res.data.result.filter(s => s.type == 1); + listplc.data.result.forEach(s => { + stations.value[s.id] = listConveyorLineData.filter(c => c.plcId === s.id) + }); + if (stations.value[lineValue.value].length > 0) { + listStationsData.value = stations.value[lineValue.value]; + stationValue.value = listStationsData.value[0]; } - if (stations.value.length > 0) - stationValue.value = stations.value[0][0].id; - debugger; }; handleQuery(); - -const lineOptions = [ - { value: '1', label: '涓�妤艰緭閫佺嚎' }, - { value: '2', label: '浜屾ゼ杈撻�佺嚎' }, - { value: '3', label: '涓夋ゼ杈撻�佺嚎' } -]; - -const deviceList = reactive([ - { id: 1, name: '1鍙风爜鍨涙満鍣ㄤ汉', taskNumber: 'T000001', taskType: '', plc: '', wcs: '', status: 0 }, - { id: 2, name: '2鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 1 }, - { id: 3, name: '3鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 0 }, - { id: 4, name: '4鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 1 }, - { id: 5, name: '5鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 0 }, - { id: 6, name: '6鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 0 }, - { id: 7, name: '7鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: '' }, - { id: 8, name: '8鍙风爜鍨涙満鍣ㄤ汉', taskNumber: '', taskType: '', plc: '', wcs: '', status: 0 } -]); - -const deviceTypeText = (taskType: number) => { - switch (taskType) { - case 0: - return '鍏ュ簱浠诲姟' - case 1: - return '鍑哄簱浠诲姟' - case 2: - return '绉诲簱浠诲姟' - case 3: - return 'PLC鐢宠鍏ュ簱' - } - return '' +const handleLineChange = (field: string, value: number) => { + listStationsData.value = stations.value[value]; + if (listStationsData.value.length > 0) + stationValue.value = listStationsData.value[0]; }; + </script> <style scoped> @@ -165,8 +162,8 @@ font-size: 14px; } -.item { - margin-bottom: 18px; +.el-form-item--small { + margin-bottom: 10px; } .linefix { -- Gitblit v1.8.0