From 637668ccd8a20772540eaf88ecf8b6eb098df5a1 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期四, 05 九月 2024 16:55:26 +0800 Subject: [PATCH] 新增WMS下发任务表,增加分拣任务菜单;绑定分拣码垛设备数据 --- Web/src/views/device/sortPallet/index.vue | 283 ++++++++++++++++++++++++++------------------------------ 1 files changed, 131 insertions(+), 152 deletions(-) diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue index db8b0dc..1084a8c 100644 --- a/Web/src/views/device/sortPallet/index.vue +++ b/Web/src/views/device/sortPallet/index.vue @@ -1,161 +1,139 @@ <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="1"> + <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.text }}</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="鎶撶鍝佺"> + <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'; +<script lang="ts" setup> +import { ref } from 'vue'; +import { GetWcsPackPlcList,GetWcsPackStationPlcList } from '/@/api/wcs/wcsDevice'; +//璁惧鏁版嵁 +const deviceList=ref<any>([]); +//璁惧瀵瑰簲宸ヤ綅鏁版嵁 +const devicePointData = ref<any>([]); - const stackList=[ +const selectedDeviceId=ref<any>(); - ]; - 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; +//鑾峰彇 +const fetchStationData = async (plcId: any) => { + const res2 = await GetWcsPackStationPlcList({ plcId }); + devicePointData.value = res2.data.result; + console.log('data:'+devicePointData.value); +}; +// 鑾峰彇璁惧鏁版嵁 +const fetchPLCDeviceData = async () => { + var res = await GetWcsPackPlcList(); + deviceList.value = res.data.result; - } 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=[ - { - 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 - } - ] - </script> - - <style scoped> - .card-container { - display: grid; - grid-template-columns: repeat(6, 1fr); - gap: 10px; + if (deviceList.value.length > 0) { + selectedDeviceId.value = deviceList.value[0].id; + await fetchStationData(selectedDeviceId.value); } - .other-box-card { - box-sizing: border-box; +}; +fetchPLCDeviceData(); + +//鍒囨崲 +function chooseDevice(id) { + selectedDeviceId.value = id; + + fetchStationData(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); + gap: 10px; + } + .other-box-card { + box-sizing: border-box; + background: linear-gradient(135deg, #66ccff, #3399ff); } .lineStatus{ position: absolute; @@ -172,26 +150,27 @@ align-items: center; height: 40px; position: relative; + color: #fff; } .otherValuefix{ width: 100%; - height: 550px; + height: 540px; padding: 10px; border-bottom: 1px solid rgb(197, 195, 195); } .otherButtonfix{ width: 100%; - height: 100px; + height: 60px; display: flex; align-items: center; justify-content: center; padding: 0; } .device-status-0{ - background-color: #67C23A; + background-color: #58f709; } .device-status-1{ background-color: red; } - </style> +</style> \ No newline at end of file -- Gitblit v1.8.0