From aaf2e90e8f2967dde6f3bd5351523234881e2c98 Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期二, 03 三月 2026 14:57:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_KTHG' into dev_KTHG
---
src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue b/src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue
index c660840..09f6ff1 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 淇濆瓨淇濆吇
@@ -86,7 +112,12 @@
const sendForm = async () => {
loading.value = true;
try {
- const { code } = await addMaintenance({ id: planId.value, ...form });
+ const data = {
+ id: planId.value,
+ ...form,
+ sparePartsIds: form.sparePartsIds ? form.sparePartsIds.join(",") : "",
+ }
+ const { code } = await addMaintenance(data);
if (code == 200) {
ElMessage.success("淇濆吇鎴愬姛");
emits("ok");
@@ -113,6 +144,7 @@
visible.value = true;
await nextTick();
setForm(row);
+ fetchSparePartOptions(row.deviceLedgerId)
};
defineExpose({
--
Gitblit v1.9.3