From ce4001e0b03190966aee20eb7653aa0727e3db67 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 20 八月 2026 14:48:36 +0800
Subject: [PATCH] feat(upkeep): 支持设备保养计划批量新增功能
---
src/views/equipmentManagement/upkeep/Form/PlanModal.vue | 51 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/src/views/equipmentManagement/upkeep/Form/PlanModal.vue b/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
index 1203619..27faf30 100644
--- a/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
+++ b/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
@@ -10,7 +10,8 @@
<el-form :model="form" label-width="100px">
<el-form-item label="璁惧鍚嶇О">
<el-select
- v-model="form.deviceLedgerId"
+ v-model="form.deviceIds"
+ multiple
@change="setDeviceModel"
placeholder="璇烽�夋嫨璁惧"
filterable
@@ -83,6 +84,7 @@
import FormDialog from "@/components/Dialog/FormDialog.vue";
import {
addUpkeep,
+ batchAddUpkeep,
editUpkeep,
getUpkeepById,
} from "@/api/equipmentManagement/upkeep";
@@ -110,17 +112,20 @@
};
const { form, resetForm } = useFormData({
- deviceLedgerId: undefined, // 璁惧Id
+ deviceIds: [], // 璁惧Id鍒楄〃锛堟壒閲忓閫夛級
deviceName: undefined, // 璁惧鍚嶇О
deviceModel: undefined, // 瑙勬牸鍨嬪彿
maintenancePlanTime: undefined, // 璁″垝淇濆吇鏃ユ湡
createUser: undefined, // 褰曞叆浜�
+ maintenanceItem: undefined, // 淇濆吇椤圭洰
status: 0, //淇濅慨鐘舵��
});
-const setDeviceModel = (deviceId) => {
- const option = deviceOptions.value.find((item) => item.id === deviceId);
- form.deviceModel = option.deviceModel;
+const setDeviceModel = () => {
+ const selected = deviceOptions.value.filter((item) =>
+ form.deviceIds.includes(item.id)
+ );
+ form.deviceModel = selected.map((item) => item.deviceModel).join('銆�');
};
/**
@@ -128,7 +133,7 @@
* @param data 璁惧淇℃伅
*/
const setForm = (data) => {
- form.deviceLedgerId = data.deviceLedgerId;
+ form.deviceIds = [data.deviceLedgerId];
form.deviceName = data.deviceName;
form.deviceModel = data.deviceModel;
form.createUser = Number(data.createUser);
@@ -136,6 +141,7 @@
form.maintenancePlanTime = dayjs(data.maintenancePlanTime).format(
"YYYY-MM-DD HH:mm:ss"
);
+ form.maintenanceItem = data.maintenanceItem;
};
// 鐢ㄦ埛鍒楄〃
@@ -159,9 +165,36 @@
const sendForm = async () => {
loading.value = true;
try {
- const { code } = id.value
- ? await editUpkeep({ id: unref(id), ...form })
- : await addUpkeep(form);
+ const common = {
+ maintenancePlanTime: form.maintenancePlanTime,
+ createUser: form.createUser,
+ maintenanceItem: form.maintenanceItem,
+ };
+ let code;
+ if (id.value) {
+ // 缂栬緫璁″垝锛堝崟璁惧锛�
+ const res = await editUpkeep({
+ id: unref(id),
+ deviceLedgerId: form.deviceIds[0],
+ ...common,
+ status: form.status,
+ });
+ code = res.code;
+ } else if (form.deviceIds.length > 1) {
+ // 鎵归噺鏂板锛氬鍙拌澶囧叡鐢ㄤ繚鍏婚」鐩�
+ const res = await batchAddUpkeep({
+ deviceIds: form.deviceIds,
+ ...common,
+ });
+ code = res.code;
+ } else {
+ // 鍗曡澶囨柊澧�
+ const res = await addUpkeep({
+ deviceLedgerId: form.deviceIds[0],
+ ...common,
+ });
+ code = res.code;
+ }
if (code == 200) {
ElMessage.success(`${id.value ? "缂栬緫" : "鏂板"}璁″垝鎴愬姛`);
visible.value = false;
--
Gitblit v1.9.3