From 4c8d18cc5ed8a7b0e220c91a858d16d0310896df Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 29 六月 2026 16:50:03 +0800
Subject: [PATCH] BOM新增修改删除功能开发、以及BOM结构的可编辑

---
 src/pages/equipmentManagement/repair/add.vue |   80 +++++++++++++++++++++++++++++-----------
 1 files changed, 58 insertions(+), 22 deletions(-)

diff --git a/src/pages/equipmentManagement/repair/add.vue b/src/pages/equipmentManagement/repair/add.vue
index 71de940..39ab9a4 100644
--- a/src/pages/equipmentManagement/repair/add.vue
+++ b/src/pages/equipmentManagement/repair/add.vue
@@ -69,6 +69,27 @@
                    placeholder="璇疯緭鍏ユ姤淇汉"
                    clearable />
         </u-form-item>
+        <u-form-item label="缁翠慨浜�"
+                     prop="maintenanceName"
+                     border-bottom>
+          <u-input v-model="form.maintenanceName"
+                   placeholder="璇疯緭鍏ョ淮淇汉"
+                   clearable />
+        </u-form-item>
+        <u-form-item label="楠屾敹浜�"
+                     prop="acceptanceName"
+                     border-bottom>
+          <u-input v-model="form.acceptanceName"
+                   placeholder="璇疯緭鍏ラ獙鏀朵汉"
+                   clearable />
+        </u-form-item>
+        <u-form-item label="缁翠慨椤圭洰"
+                     prop="machineryCategory"
+                     border-bottom>
+          <u-input v-model="form.machineryCategory"
+                   placeholder="璇疯緭鍏ョ淮淇」鐩�"
+                   clearable />
+        </u-form-item>
         <u-form-item label="鏁呴殰鐜拌薄"
                      prop="remark"
                      required
@@ -79,6 +100,11 @@
                       clearable
                       count
                       maxlength="200" />
+        </u-form-item>
+        <u-form-item label="鍥剧墖闄勪欢"
+                     prop="storageBlobDTOs"
+                     border-bottom>
+          <CommonUpload v-model="form.storageBlobDTOs" />
         </u-form-item>
       </u-cell-group>
       <!-- 鎻愪氦鎸夐挳 -->
@@ -108,8 +134,9 @@
 
 <script setup>
   import { ref, computed, onMounted, onUnmounted } from "vue";
-  import { onShow } from "@dcloudio/uni-app";
+  import { onShow, onLoad } from "@dcloudio/uni-app";
   import PageHeader from "@/components/PageHeader.vue";
+  import CommonUpload from "@/components/CommonUpload.vue";
   import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
   import {
     addRepair,
@@ -132,10 +159,18 @@
   // 琛ㄥ崟寮曠敤
   const formRef = ref(null);
   const operationType = ref("add");
+  const repairId = ref("");
   const loading = ref(false);
   const showDevice = ref(false);
   const showDate = ref(false);
   const pickerDateValue = ref(Date.now());
+
+  onLoad(options => {
+    if (options.id) {
+      repairId.value = options.id;
+    }
+    getPageParams();
+  });
 
   // 璁惧閫夐」
   const deviceOptions = ref([]);
@@ -169,16 +204,22 @@
     deviceModel: undefined, // 瑙勬牸鍨嬪彿
     repairTime: dayjs().format("YYYY-MM-DD"), // 鎶ヤ慨鏃ユ湡
     repairName: undefined, // 鎶ヤ慨浜�
+    maintenanceName: undefined, // 缁翠慨浜�
+    acceptanceName: undefined, // 楠屾敹浜�
+    status: "0", // 鎶ヤ慨鐘舵��
+    machineryCategory: undefined, // 缁翠慨椤圭洰
     remark: undefined, // 鏁呴殰鐜拌薄
+    storageBlobDTOs: [], // 鍥剧墖闄勪欢
   });
 
   // 鎶ヤ慨鐘舵�侀�夐」
   const repairStatusOptions = ref([
     { name: "寰呯淮淇�", value: "0" },
-    { name: "瀹岀粨", value: "1" },
-    { name: "澶辫触", value: "2" },
+    { name: "瀹屾垚", value: "1" },
+    { name: "缁翠慨澶辫触", value: "2" },
+    { name: "寰呴獙鏀�", value: "3" },
   ]);
-  const repairStatusText = ref("");
+  const repairStatusText = ref("寰呯淮淇�");
 
   // 鎵撳紑鎶ヤ慨鐘舵�侀�夋嫨鍣�
   const openRepairStatusPicker = () => {
@@ -221,10 +262,16 @@
           form.value.deviceModel = data.deviceModel;
           form.value.repairTime = dayjs(data.repairTime).format("YYYY-MM-DD");
           form.value.repairName = data.repairName;
+          form.value.maintenanceName = data.maintenanceName;
+          form.value.acceptanceName = data.acceptanceName;
+          form.value.status = String(data.status ?? "0");
+          form.value.machineryCategory = data.machineryCategory;
           form.value.remark = data.remark;
+          form.value.storageBlobDTOs = data.storageBlobVOs || [];
           repairStatusText.value =
-            repairStatusOptions.value.find(item => item.value == data.status)
-              ?.name || "";
+            repairStatusOptions.value.find(
+              item => item.value == String(data.status)
+            )?.name || "";
           // 璁剧疆璁惧鍚嶇О鏄剧ず
           const device = deviceOptions.value.find(
             item => item.id === data.deviceLedgerId
@@ -328,14 +375,12 @@
   };
 
   onShow(() => {
-    // 椤甸潰鏄剧ず鏃惰幏鍙栧弬鏁�
-    getPageParams();
+    // 椤甸潰鏄剧ず鏃堕�昏緫
   });
 
   onMounted(() => {
-    // 椤甸潰鍔犺浇鏃惰幏鍙栬澶囧垪琛ㄥ拰鍙傛暟
+    // 椤甸潰鍔犺浇鏃惰幏鍙栬澶囧垪琛�
     loadDeviceName();
-    getPageParams();
   });
 
   // 缁勪欢鍗歌浇鏃舵竻鐞嗗畾鏃跺櫒
@@ -375,7 +420,6 @@
 
       // 鍑嗗鎻愪氦鏁版嵁
       const submitData = { ...form.value };
-
       const { code } = id
         ? await editRepair({ id: id, ...submitData })
         : await addRepair(submitData);
@@ -396,21 +440,15 @@
 
   // 杩斿洖涓婁竴椤�
   const goBack = () => {
-    uni.removeStorageSync("repairId");
     uni.navigateBack();
   };
 
   // 鑾峰彇椤甸潰鍙傛暟
   const getPageParams = () => {
-    // 浣跨敤uni.getStorageSync鑾峰彇id
-    const id = uni.getStorageSync("repairId");
-
     // 鏍规嵁鏄惁鏈塱d鍙傛暟鏉ュ垽鏂槸鏂板杩樻槸缂栬緫
-    if (id) {
+    if (repairId.value) {
       // 缂栬緫妯″紡锛岃幏鍙栬鎯�
-      loadForm(id);
-      // 鍙�夛細鑾峰彇鍚庢竻闄ゅ瓨鍌ㄧ殑id锛岄伩鍏嶅奖鍝嶅悗缁搷浣�
-      uni.removeStorageSync("repairId");
+      loadForm(repairId.value);
     } else {
       // 鏂板妯″紡
       loadForm();
@@ -419,9 +457,7 @@
 
   // 鑾峰彇椤甸潰ID
   const getPageId = () => {
-    // 浣跨敤uni.getStorageSync鑾峰彇id
-    const id = uni.getStorageSync("repairId");
-    return id;
+    return repairId.value;
   };
 </script>
 

--
Gitblit v1.9.3