From 29c8923d8e79a0aa61031e02030484a1efecc73a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 21 四月 2026 15:04:22 +0800
Subject: [PATCH] feat: 设备台账绑定工序及展示字段

---
 src/views/equipmentManagement/ledger/index.vue |    7 +++++++
 src/views/equipmentManagement/ledger/Form.vue  |   43 +++++++++++++++++++++++++++----------------
 2 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index dd008fd..a2911f2 100644
--- a/src/views/equipmentManagement/ledger/Form.vue
+++ b/src/views/equipmentManagement/ledger/Form.vue
@@ -38,9 +38,9 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="宸ュ簭" prop="processName">
+        <el-form-item label="宸ュ簭" prop="productProcessId">
           <el-select
-            v-model="form.processName"
+            v-model="form.productProcessId"
             placeholder="璇烽�夋嫨宸ュ簭"
             clearable
             filterable
@@ -48,9 +48,9 @@
           >
             <el-option
               v-for="item in processOptions"
-              :key="item"
-              :label="item"
-              :value="item"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             />
           </el-select>
         </el-form-item>
@@ -215,7 +215,7 @@
 	deviceName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	deviceModel: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鎴栬緭鍏ヨ澶囩被鍨�" }],
-	processName: [{ required: true, trigger: "change", message: "璇烽�夋嫨宸ュ簭" }],
+	productProcessId: [{ required: true, trigger: "change", message: "璇烽�夋嫨宸ュ簭" }],
 	supplierName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	unit: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	number: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
@@ -241,7 +241,7 @@
   deviceModel: undefined, // 瑙勬牸鍨嬪彿
   deviceBrand: undefined, // 璁惧鍝佺墝
   type: undefined, // 璁惧绫诲瀷
-  processName: undefined, // 宸ュ簭
+  productProcessId: undefined, // 宸ュ簭ID
   supplierName: undefined, // 渚涘簲鍟�
   storageLocation: undefined, // 瀛樻斁浣嶇疆
   isDepr: 2, // 鏄惁鍚敤鎶樻棫 1-鏄� 2-鍚�
@@ -267,8 +267,13 @@
     form.deviceModel = data.deviceModel;
     form.deviceBrand = data.deviceBrand;
     form.type = data.type;
-    form.processName = data.processName || data.process;
-    ensureProcessOptionExists(form.processName);
+    const processName = data.productProcessName || data.processName || data.process;
+    form.productProcessId = data.productProcessId;
+    if (!form.productProcessId && processName) {
+      const matched = processOptions.value.find(item => item.label === processName);
+      form.productProcessId = matched?.value;
+    }
+    ensureProcessOptionExists(form.productProcessId, processName);
     form.supplierName = data.supplierName;
     form.storageLocation = data.storageLocation;
     form.isDepr = data.isDepr;
@@ -289,10 +294,13 @@
   }
 };
 
-const ensureProcessOptionExists = (value) => {
-  if (!value) return;
-  if (!processOptions.value.includes(value)) {
-    processOptions.value.push(value);
+const ensureProcessOptionExists = (id, name) => {
+  if (!id) return;
+  if (!processOptions.value.some(item => item.value === id)) {
+    processOptions.value.push({
+      value: id,
+      label: name || `${id}`,
+    });
   }
 };
 
@@ -301,9 +309,12 @@
     const { code, data } = await processList({});
     if (code === 200 && Array.isArray(data)) {
       processOptions.value = data
-        .map(item => item?.name)
-        .filter(Boolean);
-      ensureProcessOptionExists(form.processName);
+        .filter(item => item?.id !== undefined && item?.id !== null)
+        .map(item => ({
+          value: item.id,
+          label: item?.name || `${item.id}`,
+        }));
+      ensureProcessOptionExists(form.productProcessId);
     }
   } catch (error) {
     processOptions.value = [];
diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue
index 62f0c6a..f142b68 100644
--- a/src/views/equipmentManagement/ledger/index.vue
+++ b/src/views/equipmentManagement/ledger/index.vue
@@ -138,6 +138,13 @@
       prop: "type",
     },
     {
+      label: "宸ュ簭",
+      prop: "productProcessName",
+      formatData: (v) => {
+        return v || "";
+      },
+    },
+    {
       label: "渚涘簲鍟�",
       prop: "supplierName",
     },

--
Gitblit v1.9.3