From 9cfe25c453366d1203fc34fae59cabe396ec4abc Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 09 四月 2026 13:02:10 +0800
Subject: [PATCH] Merge branch 'dev_new' of http://114.132.189.42:9002/r/product-inventory-APP-before into dev_new

---
 src/pages/equipmentManagement/repair/maintain.vue |   77 ++++++++++++++++++++++++++------------
 1 files changed, 53 insertions(+), 24 deletions(-)

diff --git a/src/pages/equipmentManagement/repair/maintain.vue b/src/pages/equipmentManagement/repair/maintain.vue
index 15bf464..9b077d6 100644
--- a/src/pages/equipmentManagement/repair/maintain.vue
+++ b/src/pages/equipmentManagement/repair/maintain.vue
@@ -82,7 +82,6 @@
                     @click.stop="showSparePart = true"></u-icon>
           </template>
         </u-form-item>
-
         <u-form-item v-if="selectedSpareParts.length"
                      label="棰嗙敤鏁伴噺"
                      border-bottom>
@@ -119,7 +118,6 @@
                         format="YYYY-MM-DD HH:mm:ss"
                         @confirm="onDateConfirm"
                         @cancel="showDatePicker = false" />
-
     <!-- 璁惧澶囦欢閫夋嫨鍣� -->
     <up-popup :show="showSparePart"
               mode="bottom"
@@ -155,7 +153,7 @@
   import { onShow } from "@dcloudio/uni-app";
   import PageHeader from "@/components/PageHeader.vue";
   import { addMaintain } from "@/api/equipmentManagement/repair";
-  import { getSparePartsList } from "@/api/equipmentManagement/spareParts";
+  import { getSparePartsList } from "@/api/equipmentManagement/repair";
   import useUserStore from "@/store/modules/user";
   import dayjs from "dayjs";
 
@@ -232,7 +230,7 @@
     };
     selectedSpareParts.value = [];
     tempSelectedSpareParts.value = [];
-    Object.keys(sparePartQtyMap).forEach((k) => delete sparePartQtyMap[k]);
+    Object.keys(sparePartQtyMap).forEach(k => delete sparePartQtyMap[k]);
   };
 
   const resetFormAndValidate = () => {
@@ -265,7 +263,10 @@
       }
       form.value.status = Number(form.value.status);
       // 棰嗙敤鏁伴噺鏍¢獙
-      if (Array.isArray(form.value.sparePartsIds) && form.value.sparePartsIds.length > 0) {
+      if (
+        Array.isArray(form.value.sparePartsIds) &&
+        form.value.sparePartsIds.length > 0
+      ) {
         for (const partId of form.value.sparePartsIds) {
           const qty = Number(sparePartQtyMap?.[partId]);
           if (!Number.isFinite(qty) || qty <= 0) {
@@ -273,11 +274,19 @@
             loading.value = false;
             return;
           }
-          const part = sparePartOptions.value.find((p) => String(p.id) === String(partId));
+          const part = sparePartOptions.value.find(
+            p => String(p.id) === String(partId)
+          );
           const stock = part?.quantity;
-          if (stock !== null && stock !== undefined && Number.isFinite(Number(stock))) {
+          if (
+            stock !== null &&
+            stock !== undefined &&
+            Number.isFinite(Number(stock))
+          ) {
             if (qty > Number(stock)) {
-              showToast(`澶囦欢銆�${part?.name || ""}銆嶉鐢ㄦ暟閲忎笉鑳借秴杩囧簱瀛橈紙${stock}锛塦);
+              showToast(
+                `澶囦欢銆�${part?.name || ""}銆嶉鐢ㄦ暟閲忎笉鑳借秴杩囧簱瀛橈紙${stock}锛塦
+              );
               loading.value = false;
               return;
             }
@@ -285,12 +294,21 @@
         }
       }
 
-      const spareIds = Array.isArray(form.value.sparePartsIds) ? form.value.sparePartsIds : [];
+      const spareIds = Array.isArray(form.value.sparePartsIds)
+        ? form.value.sparePartsIds
+        : [];
       const submitData = {
         ...form.value,
         sparePartsIds: spareIds.length ? spareIds.join(",") : "",
-        sparePartsQty: spareIds.length ? spareIds.map((pid) => sparePartQtyMap?.[pid] ?? 1).join(",") : "",
-        sparePartsUseList: spareIds.length ? spareIds.map((pid) => ({ id: pid, quantity: sparePartQtyMap?.[pid] ?? 1 })) : [],
+        sparePartsQty: spareIds.length
+          ? spareIds.map(pid => sparePartQtyMap?.[pid] ?? 1).join(",")
+          : "",
+        sparePartsUseList: spareIds.length
+          ? spareIds.map(pid => ({
+              id: pid,
+              quantity: sparePartQtyMap?.[pid] ?? 1,
+            }))
+          : [],
       };
 
       const { code } = await addMaintain({ id: id, ...submitData });
@@ -344,12 +362,14 @@
     }
   };
 
-  const isSparePartSelected = (id) => {
-    return tempSelectedSpareParts.value.some((p) => String(p.id) === String(id));
+  const isSparePartSelected = id => {
+    return tempSelectedSpareParts.value.some(p => String(p.id) === String(id));
   };
 
-  const toggleSparePartSelection = (item) => {
-    const idx = tempSelectedSpareParts.value.findIndex((p) => String(p.id) === String(item.id));
+  const toggleSparePartSelection = item => {
+    const idx = tempSelectedSpareParts.value.findIndex(
+      p => String(p.id) === String(item.id)
+    );
     if (idx >= 0) {
       tempSelectedSpareParts.value.splice(idx, 1);
       delete sparePartQtyMap[item.id];
@@ -367,20 +387,23 @@
 
   const confirmSparePartSelection = () => {
     selectedSpareParts.value = [...tempSelectedSpareParts.value];
-    form.value.sparePartsIds = selectedSpareParts.value.map((i) => i.id);
+    form.value.sparePartsIds = selectedSpareParts.value.map(i => i.id);
     // 淇濆簳缁欐湭濉殑鏁伴噺璧嬪��
-    selectedSpareParts.value.forEach((p) => {
-      if (!Number.isFinite(Number(sparePartQtyMap[p.id])) || Number(sparePartQtyMap[p.id]) <= 0) {
+    selectedSpareParts.value.forEach(p => {
+      if (
+        !Number.isFinite(Number(sparePartQtyMap[p.id])) ||
+        Number(sparePartQtyMap[p.id]) <= 0
+      ) {
         sparePartQtyMap[p.id] = 1;
       }
     });
     showSparePart.value = false;
   };
 
-  const removeSparePart = (index) => {
+  const removeSparePart = index => {
     const removed = selectedSpareParts.value.splice(index, 1)[0];
     tempSelectedSpareParts.value = [...selectedSpareParts.value];
-    form.value.sparePartsIds = selectedSpareParts.value.map((i) => i.id);
+    form.value.sparePartsIds = selectedSpareParts.value.map(i => i.id);
     if (removed?.id !== null && removed?.id !== undefined) {
       delete sparePartQtyMap[removed.id];
     }
@@ -408,17 +431,23 @@
     initForm();
   });
 
-  watch(showSparePart, (val) => {
+  watch(showSparePart, val => {
     if (val) {
       tempSelectedSpareParts.value = [...selectedSpareParts.value];
-      tempSelectedSpareParts.value.forEach((p) => {
-        if (!Number.isFinite(Number(sparePartQtyMap[p.id])) || Number(sparePartQtyMap[p.id]) <= 0) {
+      tempSelectedSpareParts.value.forEach(p => {
+        if (
+          !Number.isFinite(Number(sparePartQtyMap[p.id])) ||
+          Number(sparePartQtyMap[p.id]) <= 0
+        ) {
           sparePartQtyMap[p.id] = 1;
         }
       });
 
       // 鍏滃簳锛氬鏋滆繕娌″姞杞藉浠跺垪琛紝鎵撳紑寮圭獥鏃跺啀鎷変竴娆�
-      if (!Array.isArray(sparePartOptions.value) || sparePartOptions.value.length === 0) {
+      if (
+        !Array.isArray(sparePartOptions.value) ||
+        sparePartOptions.value.length === 0
+      ) {
         fetchSparePartOptions().catch(() => {});
       }
     }

--
Gitblit v1.9.3