From 1f3d605e1517bbf25e563f62fc7fbeaaa09fbc7f Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 02 三月 2026 16:08:21 +0800
Subject: [PATCH] 设备保养功能修改\加详情功能

---
 src/views/equipmentManagement/repair/Modal/MaintainModal.vue |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
index 496b072..983b316 100644
--- a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
+++ b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
@@ -32,6 +32,16 @@
           style="width: 100%"
         />
       </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>
@@ -43,6 +53,7 @@
 import useUserStore from "@/store/modules/user";
 import dayjs from "dayjs";
 import { ElMessage } from "element-plus";
+import {getSparePartsOptions} from "@/api/equipmentManagement/spareParts.js";
 
 defineOptions({
   name: "缁翠慨妯℃�佹",
@@ -61,7 +72,10 @@
   maintenanceResult: undefined, // 缁翠慨缁撴灉
   maintenanceTime: undefined, // 缁翠慨鏃ユ湡
   status: 0,
+  sparePartsIds: undefined,
 });
+const sparePartOptions = ref([])
+const loadingSparePartOptions = ref(true)
 
 const setForm = (data) => {
   form.maintenanceName = data.maintenanceName ?? userStore.nickName;
@@ -71,12 +85,18 @@
       ? dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss")
       : dayjs().format("YYYY-MM-DD HH:mm:ss");
   form.status = 1; // 榛樿鐘舵�佷负瀹岀粨
+  form.sparePartsIds = data.sparePartsIds;
 };
 
 const sendForm = async () => {
   loading.value = true;
   try {
-    const { code } = await addMaintain({ id: repairId.value, ...form });
+    const data = {
+      id: repairId.value,
+      ...form,
+      sparePartsIds: form.sparePartsIds ? form.sparePartsIds.join(",") : "",
+    }
+    const { code } = await addMaintain(data);
     if (code == 200) {
       ElMessage.success("缁翠慨鎴愬姛");
       emits("ok");
@@ -87,6 +107,17 @@
     loading.value = false;
   }
 };
+
+const fetchSparePartOptions = (deviceLedgerId) => {
+  loadingSparePartOptions.value = true;
+  getSparePartsOptions({ deviceLedgerId: deviceLedgerId }).then((res) => {
+    if (res.code == 200) {
+      sparePartOptions.value = res.data || [];
+    }
+  }).finally(() => {
+    loadingSparePartOptions.value = false;
+  })
+}
 
 const handleCancel = () => {
   resetForm();
@@ -103,6 +134,7 @@
   visible.value = true;
   await nextTick();
   setForm(row);
+  fetchSparePartOptions(row.deviceLedgerId)
 };
 
 defineExpose({

--
Gitblit v1.9.3