From f7bd6321d824a92da49b1b35aa729a29502f19bc Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 27 二月 2026 15:09:27 +0800
Subject: [PATCH] 设备管理:备件管理去掉价格;设备保修和设备保养增加关联设备备件

---
 src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue b/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue
index c660840..4f6ca04 100644
--- a/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue
+++ b/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue
@@ -38,6 +38,16 @@
           placeholder="璇疯緭鍏ヤ繚鍏荤粨鏋�"
           type="text" />
       </el-form-item>
+      <el-form-item label="璁惧澶囦欢">
+        <el-select v-model="form.sparePartsIds" :loading="loadingSparePartOptions" placeholder="璇烽�夋嫨璁惧澶囦欢" multiple filterable>
+          <el-option
+              v-for="item in sparePartOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
     </el-form>
   </FormDialog>
 </template>
@@ -45,6 +55,7 @@
 <script setup>
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 import { addMaintenance } from "@/api/equipmentManagement/upkeep";
+import {getSparePartsOptions} from "@/api/equipmentManagement/spareParts.js";
 import useFormData from "@/hooks/useFormData";
 import dayjs from "dayjs";
 import useUserStore from "@/store/modules/user";
@@ -67,7 +78,10 @@
   maintenanceActuallyTime: undefined, // 瀹為檯淇濆吇鏃ユ湡
   maintenanceResult: undefined, // 淇濆吇缁撴灉
   status: 0, // 淇濆吇鐘舵��
+  sparePartsIds: undefined,
 });
+const sparePartOptions = ref([])
+const loadingSparePartOptions = ref(true)
 
 const setForm = (data) => {
   form.maintenanceActuallyName =
@@ -78,7 +92,19 @@
       : dayjs().format("YYYY-MM-DD HH:mm:ss");
   form.maintenanceResult = data.maintenanceResult;
   form.status = 1; // 榛樿鐘舵�佷负瀹岀粨
+  form.sparePartsIds = data.sparePartsIds;
 };
+
+const fetchSparePartOptions = (deviceLedgerId) => {
+  loadingSparePartOptions.value = true;
+  getSparePartsOptions({ deviceLedgerId: deviceLedgerId }).then((res) => {
+    if (res.code == 200) {
+      sparePartOptions.value = res.data || [];
+    }
+  }).finally(() => {
+    loadingSparePartOptions.value = false;
+  })
+}
 
 /**
  * @desc 淇濆瓨淇濆吇
@@ -113,6 +139,7 @@
   visible.value = true;
   await nextTick();
   setForm(row);
+  fetchSparePartOptions(row.deviceLedgerId)
 };
 
 defineExpose({

--
Gitblit v1.9.3