From c56d28d684cee010f291295dbe851bab64c1b6a6 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期二, 03 九月 2024 09:52:22 +0800 Subject: [PATCH] 设备监控绑定plc数据 --- Web/src/views/device/sortPallet/index.vue | 247 ++++++++++++++++++++++++++++--------------------- 1 files changed, 140 insertions(+), 107 deletions(-) diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue index db8b0dc..92f969e 100644 --- a/Web/src/views/device/sortPallet/index.vue +++ b/Web/src/views/device/sortPallet/index.vue @@ -1,102 +1,101 @@ <template> - <el-container> - <el-card shadow="hover" :body-style="{ paddingBottom: '0', padding: '10px' }" style="width: 100%;display: flex;align-items: center;justify-content: center;"> - <div class="card-page"> - <el-button type="primary" :plain="isPlain1" @click="floorTogglePlain(1)">1鍙风爜鍨涙満鍣ㄤ汉</el-button> - <el-button type="primary" :plain="isPlain2" @click="floorTogglePlain(2)">2鍙风爜鍨涙満鍣ㄤ汉</el-button> - <el-button type="primary" :plain="isPlain3" @click="floorTogglePlain(3)">3鍙风爜鍨涙満鍣ㄤ汉</el-button> - </div> - </el-card> - </el-container> <el-container> - <div class="card-container"> - <el-card class="other-box-card" v-for="deviceInfo in deviceList" :key="deviceInfo.id"> - <div slot="header" class="linefix"> - <span>{{ deviceInfo.name }}</span> - <div :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]"></div> + <el-cloum> + <el-row :span="1"> + <div class="card-page"> + <el-button + v-for="device in deviceList" + :key="device.id" + type="primary" + :plain="selectedDeviceId !== device.id" + @click="chooseDevice(device.id)" + > + {{ device.name }} + </el-button> + </div> + </el-row> + <el-row :span="2"> + <div class="card-container"> + <el-card class="other-box-card" v-for="deviceInfo in devicePointData" :key="deviceInfo.id"> + <div slot="header" class="linefix"> + <span>{{ deviceInfo.name }}</span> + <div :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]"></div> + </div> + <div class="otherValuefix" > + <el-form label-position="left" label-width="90px"> + <el-form-item label="WMS鏄庣粏鍗曞彿"> + <el-input></el-input> + </el-form-item> + <el-form-item label="浠诲姟鍙�"> + <el-input v-model="deviceInfo.taskNumber"></el-input> + </el-form-item> + <el-form-item label="鐗╂枡缂栫爜"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鐗╂枡鍚嶇О"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鍖呰鍚嶇О"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鐘舵��"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鎶撶鍝佺"> + <el-input></el-input> + </el-form-item> + <el-form-item label="DB璁板綍绠辨暟"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鎵樼洏鍙�"> + <el-input></el-input> + </el-form-item> + <el-form-item label="鐮佸灈绠辨暟"> + <el-input></el-input> + </el-form-item> + <el-form-item label="WMS涓嬪彂鏁伴噺"> + <el-input></el-input> + </el-form-item> + </el-form> + </div> + <div class="otherButtonfix"> + <el-form label-position="left"> + <el-form-item> + <el-button type="primary">缁戝畾</el-button> + <el-button>缁撴壒</el-button> + </el-form-item> + </el-form> + </div> + </el-card> </div> - <div class="otherValuefix" > - <el-form label-position="left" label-width="90px"> - <el-form-item label="WMS鏄庣粏鍗曞彿"> - <el-input></el-input> - </el-form-item> - <el-form-item label="浠诲姟鍙�"> - <el-input v-model="deviceInfo.taskNumber"></el-input> - </el-form-item> - <el-form-item label="鐗╂枡缂栫爜"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鐗╂枡鍚嶇О"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鍖呰鍚嶇О"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鐘舵��"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鎶撶鍝佺"> - <el-input></el-input> - </el-form-item> - <el-form-item label="DB璁板綍绠辨暟"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鎵樼洏鍙�"> - <el-input></el-input> - </el-form-item> - <el-form-item label="鐮佸灈绠辨暟"> - <el-input></el-input> - </el-form-item> - <el-form-item label="WMS涓嬪彂鏁伴噺"> - <el-input></el-input> - </el-form-item> - </el-form> - </div> - <div class="otherButtonfix"> - <el-form label-position="left"> - <el-form-item> - <el-button type="primary">缁戝畾</el-button> - <el-button>缁撴壒</el-button> - </el-form-item> - </el-form> - </div> - </el-card> - </div> + </el-row> + </el-cloum> </el-container> </template> <script lang="ts" setup> - import { ref, reactive } from 'vue'; + import { ref } from 'vue'; - const stackList=[ + const deviceList=[ + { + id: 1, + name: '1鍙锋満鍣ㄤ汉' + }, + { + id: 2, + name: '2鍙锋満鍣ㄤ汉' + }, + { + id: 3, + name: '3鍙锋満鍣ㄤ汉' + }, + ]; - ]; - const isPlain1 = ref(false);//涓�灞� - const isPlain2 = ref(true);//浜屽眰 - const isPlain3 = ref(true);//涓夊眰 - //鍒囨崲灞傚钩闈� - function floorTogglePlain(buttonNumber) { - if (buttonNumber === 1) { - isPlain1.value = !isPlain1.value; - isPlain2.value =true; - isPlain3.value =true; - - } else if (buttonNumber === 2) { - isPlain2.value = !isPlain2.value; - isPlain1.value =true; - isPlain3.value =true; - - } else if (buttonNumber === 3) { - isPlain3.value = !isPlain3.value; - isPlain1.value =true; - isPlain2.value =true; - } - } - - const deviceList=[ + const devicePointList=[ { id: 1, - name: '1鍙风爜鍨涙満鍣ㄤ汉', + deviceId:1, + name: '1鍙锋満鍣ㄤ汉 1宸ヤ綅', taskNumber: 'T000001', taskType: '', plc: '', @@ -105,7 +104,8 @@ }, { id: 2, - name: '2鍙风爜鍨涙満鍣ㄤ汉', + deviceId:1, + name: '1鍙锋満鍣ㄤ汉 2宸ヤ綅', taskNumber: '', taskType: '', plc: '', @@ -114,41 +114,72 @@ }, { id: 3, - name: '3鍙风爜鍨涙満鍣ㄤ汉', - taskNumber: '', - taskType: '', - plc: '', - wcs: '', - status: 0 - },{ - id: 4, - name: '4鍙风爜鍨涙満鍣ㄤ汉', + deviceId:1, + name: '1鍙锋満鍣ㄤ汉 3宸ヤ綅', taskNumber: '', taskType: '', plc: '', wcs: '', status: 1 - },{ - id: 5, - name: '5鍙风爜鍨涙満鍣ㄤ汉', - taskNumber: '', + }, + { + id: 4, + deviceId:2, + name: '2鍙锋満鍣ㄤ汉 1宸ヤ綅', + taskNumber: 'T000001', taskType: '', plc: '', wcs: '', status: 0 - },{ - id: 6, - name: '6鍙风爜鍨涙満鍣ㄤ汉', + }, + { + id: 5, + deviceId:2, + name: '2鍙锋満鍣ㄤ汉 2宸ヤ綅', taskNumber: '', + taskType: '', + plc: '', + wcs: '', + status: 1 + }, + { + id: 6, + deviceId:3, + name: '3鍙锋満鍣ㄤ汉 1宸ヤ綅', + taskNumber: 'T000001', taskType: '', plc: '', wcs: '', status: 0 } - ] + ]; + + //杈撻�佺嚎鏁版嵁 + let devicePointFirst= devicePointList.filter(device => device.deviceId === deviceList[0].id) + let devicePointData = ref(devicePointFirst); + let selectedDeviceId = ref(deviceList[0].id); + + //鍒囨崲灞傚钩闈� + function chooseDevice(id) { + selectedDeviceId.value = id; + devicePointData.value = devicePointList.filter(device => device.deviceId === id); + } </script> <style scoped> + .card-page { + width: 100%; + height: 50px; + display: flex; + text-align: center; + justify-content: center; + align-items: center; + text-align: center; + } + .card-page>button { + width: 150px; + height: 30px; + } .card-container { display: grid; grid-template-columns: repeat(6, 1fr); @@ -156,6 +187,7 @@ } .other-box-card { box-sizing: border-box; + background: linear-gradient(135deg, #66ccff, #3399ff); } .lineStatus{ position: absolute; @@ -172,6 +204,7 @@ align-items: center; height: 40px; position: relative; + color: #fff; } .otherValuefix{ width: 100%; @@ -188,7 +221,7 @@ padding: 0; } .device-status-0{ - background-color: #67C23A; + background-color: #58f709; } .device-status-1{ background-color: red; -- Gitblit v1.8.0