From 1d323f5377dd5f9a58d01954a6c12b9d5bd8a766 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 05 九月 2024 14:33:40 +0800
Subject: [PATCH] 控制台位置实时通讯

---
 Web/src/views/device/sortPallet/index.vue |  230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 220 insertions(+), 10 deletions(-)

diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue
index d4eea89..950d163 100644
--- a/Web/src/views/device/sortPallet/index.vue
+++ b/Web/src/views/device/sortPallet/index.vue
@@ -1,16 +1,226 @@
 <template>
-    <el-container>
-
+    <el-container>        
+        <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.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>
+            </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 } from '/@/api/wcs/wcsDevice';
 
- 
-  </script>
-  
-  <style scoped>
-	
-  </style>
+const deviceList=ref<any>([]);
+
+const devicePointList=[
+    {
+        id: 1,
+        deviceId:586494087331909,
+        name: '1鍙风爜鍨涙満鍣ㄤ汉 1宸ヤ綅',
+        taskNumber: 'T000001',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 0
+    },
+    {
+        id: 2,
+        deviceId:586494087331909,
+        name: '1鍙风爜鍨涙満鍣ㄤ汉 2宸ヤ綅',
+        taskNumber: '',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 1
+    },
+    {
+        id: 3,
+        deviceId:586494087331909,
+        name: '1鍙风爜鍨涙満鍣ㄤ汉 3宸ヤ綅',
+        taskNumber: '',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 1
+    },
+    {
+        id: 4,
+        deviceId:586494241939525,
+        name: '2鍙风爜鍨涙満鍣ㄤ汉 1宸ヤ綅',
+        taskNumber: 'T000001',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 0
+    },
+    {
+        id: 5,
+        deviceId:586494241939525,
+        name: '2鍙风爜鍨涙満鍣ㄤ汉 2宸ヤ綅',
+        taskNumber: '',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 1
+    },
+    {
+        id: 6,
+        deviceId:3,
+        name: '3鍙锋満鍣ㄤ汉 1宸ヤ綅',
+        taskNumber: 'T000001',
+        taskType: '',
+        plc: '',
+        wcs: '',
+        status: 0
+    }
+];
+
+let devicePointData = ref<any>([]);
+const selectedDeviceId=ref<any>();
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+    var res = await GetWcsPackPlcList();
+    deviceList.value = res.data.result;
+
+    //杈撻�佺嚎鏁版嵁
+    selectedDeviceId.value = deviceList.value[0].id;
+    devicePointData.value= devicePointList.filter(device => device.deviceId === selectedDeviceId.value);
+};
+handleQuery();
+
+//鍒囨崲
+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);
+            gap: 10px;
+    }
+    .other-box-card {            
+            box-sizing: border-box;
+            background: linear-gradient(135deg, #66ccff, #3399ff);
+    }
+    .lineStatus{
+        position: absolute;
+        right: 0;
+        float: right;
+        height: 20px;
+        width: 20px;        
+        border-radius: 20px;
+        background-color: #67C23A;
+    }
+    .linefix{
+        border-bottom: 1px solid rgb(197, 195, 195);
+        display: flex;
+        align-items: center;
+        height: 40px;
+        position: relative;
+        color: #fff;
+    }
+    .otherValuefix{
+        width: 100%;
+        height: 500px;
+        padding: 10px;
+        border-bottom: 1px solid rgb(197, 195, 195);
+    }
+    .otherButtonfix{
+        width: 100%;
+        height: 100px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        padding: 0;
+    }
+    .device-status-0{
+        background-color: #58f709;
+    }
+    .device-status-1{
+        background-color: red;
+    }
+</style>
   
\ No newline at end of file

--
Gitblit v1.8.0