From c045666cb9bdcacb2aeb2dba4d806db1cd6b3bed Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 20 三月 2026 11:14:18 +0800
Subject: [PATCH] 金鹰黄金 1.新增劳保台账选择岗位刷新人员列表接口修改 2.设备保养、巡检任务要设备可以多选

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

diff --git a/src/views/equipmentManagement/upkeep/Form/formDia.vue b/src/views/equipmentManagement/upkeep/Form/formDia.vue
index 5a4d7ef..4592935 100644
--- a/src/views/equipmentManagement/upkeep/Form/formDia.vue
+++ b/src/views/equipmentManagement/upkeep/Form/formDia.vue
@@ -11,8 +11,8 @@
 		<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
 			<el-row>
 				<el-col :span="12">
-					<el-form-item label="璁惧鍚嶇О" prop="taskId">
-						<el-select v-model="form.taskId" @change="setDeviceModel" filterable>
+					<el-form-item label="璁惧鍚嶇О" prop="taskIds">
+						<el-select v-model="form.taskIds" @change="setDeviceModel" multiple filterable>
 							<el-option
 								v-for="(item, index) in deviceOptions"
 								:key="index"
@@ -169,7 +169,7 @@
 const userStore = useUserStore();
 const data = reactive({
 	form: {
-		taskId: undefined,
+		taskIds: [],
 		taskName: undefined,
 		// 褰曞叆浜猴細鍗曢�変竴涓敤鎴� id
 		inspector: undefined,
@@ -183,7 +183,7 @@
 		registrationDate: ''
 	},
 	rules: {
-		taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
+		taskIds: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
 		inspector: [{ required: true, message: "璇烽�夋嫨褰曞叆浜�", trigger: "blur" },],
 		registrationDate: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }],
     auditName: [{ required: true, message: "璇烽�夋嫨瀹℃壒浜�", trigger: "change" }],
@@ -198,12 +198,19 @@
 };
 
 // 閫夋嫨璁惧鏃讹紝鍥炲~璁惧鍚嶇О(taskName)鍜岃鏍煎瀷鍙�(deviceModel)
-const setDeviceModel = (id) => {
-	const option = deviceOptions.value.find((item) => item.id === id);
-	if (option) {
-		form.value.taskId = option.id;
-		form.value.taskName = option.deviceName;
-		form.value.deviceModel = option.deviceModel;
+const setDeviceModel = (ids) => {
+	if (!ids || ids.length === 0) {
+		form.value.taskIds = []
+		form.value.taskName = undefined
+		form.value.deviceModel = undefined
+		return
+	}
+	
+	const selectedDevices = deviceOptions.value.filter((item) => ids.includes(item.id))
+	if (selectedDevices.length > 0) {
+		form.value.taskIds = ids
+		form.value.taskName = selectedDevices.map(d => d.deviceName).join(',')
+		form.value.deviceModel = selectedDevices.map(d => d.deviceModel).join(',')
 	}
 }
 
@@ -229,10 +236,10 @@
 		if (row.registrantId) {
 			form.value.inspector = row.registrantId
 		}
-
-		// 濡傛灉鏈夎澶嘔D锛岃嚜鍔ㄨ缃澶囦俊鎭�
-		if (form.value.taskId) {
-			setDeviceModel(form.value.taskId);
+		// 濡傛灉鏈夎澶嘔D鏁扮粍锛岃浆鎹负鏁扮粍骞惰缃澶囦俊鎭�
+		if (row.taskIds) {
+			form.value.taskIds = row.taskIds.split(',').map(id => parseInt(id.trim()))
+			setDeviceModel(form.value.taskIds)
 		}
 	} else if (type === 'add') {
 		// 鏂板鏃惰缃櫥璁版棩鏈熶负褰撳ぉ
@@ -256,7 +263,7 @@
 	}
 	// 閲嶇疆琛ㄥ崟鏁版嵁纭繚璁惧淇℃伅姝g‘閲嶇疆
 	form.value = {
-		taskId: undefined,
+		taskIds: [],
 		taskName: undefined,
 		inspector: undefined,
 		auditName: undefined,
@@ -290,6 +297,11 @@
 				delete payload.inspector
 				delete payload.inspectorIds
 				
+				// 澶勭悊 taskIds 鍜� taskName
+				if (payload.taskIds && Array.isArray(payload.taskIds)) {
+					payload.taskIds = payload.taskIds.join(',')
+				}
+				
 				if (payload.frequencyType === 'WEEKLY') {
 					let frequencyDetail = ''
 					frequencyDetail = payload.week + ',' + payload.time

--
Gitblit v1.9.3