From 16eb4bd55a4fd61ddd7a171b1a07378c45d1665b Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 05 六月 2025 13:59:28 +0800
Subject: [PATCH] 动态溯源(待完成)

---
 src/components/device/DeviceManage.vue |   55 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 42 insertions(+), 13 deletions(-)

diff --git a/src/components/device/DeviceManage.vue b/src/components/device/DeviceManage.vue
index b892027..f7872c8 100644
--- a/src/components/device/DeviceManage.vue
+++ b/src/components/device/DeviceManage.vue
@@ -1,17 +1,17 @@
 <template>
-  <el-button
+  <!-- <el-button
     type="primary"
     icon="Memo"
     class="el-button-custom p-events-auto"
     @click="dialogVisible = !dialogVisible"
   >
     璁惧绠$悊
-  </el-button>
-  <CardDialog v-model="dialogVisible" title="璧拌埅璁惧绠$悊">
-    <el-row class="mission-table">
+  </el-button> -->
+  <CardDialog v-bind="$attrs" title="璧拌埅璁惧绠$悊">
+    <el-row class="device-table">
       <el-col :span="20">
         <el-table
-          :data="deviceStore.deviceList"
+          :data="deviceData"
           table-layout="fixed"
           size="small"
           :show-overflow-tooltip="true"
@@ -28,7 +28,14 @@
             align="center"
             width="50"
           />
-          <el-table-column prop="deviceType" label="璁惧绫诲瀷" align="center" />
+          <el-table-column
+            prop="deviceType"
+            label="璁惧绫诲瀷"
+            align="center"
+            width="70"
+            :formatter="deviceFormatter"
+          />
+          <el-table-column prop="deviceName" label="璁惧鍚嶇О" align="center" />
           <el-table-column prop="deviceCode" label="璁惧缂栧彿" align="center" />
           <el-table-column
             prop="createTime"
@@ -36,7 +43,7 @@
             align="center"
             :formatter="timeFormatter"
           />
-          <el-table-column label="绠$悊" width="140" align="center">
+          <el-table-column label="绠$悊" width="70" align="center">
             <template #default="{ row }">
               <el-button
                 type="primary"
@@ -51,7 +58,7 @@
       </el-col>
       <el-col :span="4" class="flex-col">
         <div>
-          <!-- todo 璁惧鍒涘缓 -->
+          <DeviceCreate></DeviceCreate>
         </div>
       </el-col>
     </el-row>
@@ -59,24 +66,27 @@
   <MessageBox
     v-model="msgBoxVisible"
     :on-confirm="onConfirm"
-    title="鍒犻櫎璧拌埅浠诲姟"
-    msg="纭鏄惁鍒犻櫎璇ヨ蛋鑸换鍔�"
+    title="鍒犻櫎璧拌埅璁惧"
+    msg="纭鏄惁鍒犻櫎璇ヨ蛋鑸澶�"
     confirmText="鍒犻櫎"
   ></MessageBox>
 </template>
 <script>
 import moment from 'moment';
-import deviceApi from '@/api/deviceApi';
 import { mapStores } from 'pinia';
 import { useDeviceStore } from '@/stores/device';
 import { useFetchData } from '@/composables/fetchData';
+import { typeName } from '@/constant/device-type';
 
 export default {
   setup() {
     const { loading, fetchData } = useFetchData();
     return { loading, fetchData };
   },
-  props: {},
+  props: {
+    // modelValue: Boolean
+  },
+  // emits: ['update:modelValue'],
   data() {
     return {
       dialogVisible: false,
@@ -85,18 +95,37 @@
     };
   },
   computed: {
-    ...mapStores(useDeviceStore)
+    ...mapStores(useDeviceStore),
+    deviceData() {
+      return this.deviceStore.getDevice();
+    }
   },
   methods: {
+    // handleChange(value) {
+    //   this.$emit('update:modelValue', value);
+    // },
     deleteDevice(row) {
       this.onConfirm = () => {
         this.deviceStore.deleteDevice(row.deviceCode);
       };
       this.msgBoxVisible = true;
     },
+    // eslint-disable-next-line no-unused-vars
+    deviceFormatter(row, col, cellValue, index) {
+      return typeName(cellValue);
+    },
+    // eslint-disable-next-line no-unused-vars
     timeFormatter(row, col, cellValue, index) {
       return moment(cellValue).format('YYYY-MM-DD HH:mm:ss');
     }
   }
 };
 </script>
+<style scoped>
+.flex-col {
+  display: flex;
+  flex-direction: column;
+  gap: 4px;
+  align-items: flex-end;
+}
+</style>

--
Gitblit v1.9.3