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/inspectionManagement/components/formDia.vue |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
index c1d75b5..5d33d9e 100644
--- a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
+++ b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -5,8 +5,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"
@@ -114,7 +114,7 @@
 const deviceOptions = ref([]);
 const data = reactive({
   form: {
-    taskId: undefined,
+    taskIds: [],
     taskName: undefined,
     inspector: '',
     inspectorIds: '',
@@ -125,7 +125,7 @@
     time: ''
   },
   rules: {
-    taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
+    taskIds: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
     inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
   }
 })
@@ -137,10 +137,17 @@
   deviceOptions.value = data;
 };
 
-const setDeviceModel = (id) => {
-  const option = deviceOptions.value.find((item) => item.id === id);
-  if (option) {
-    form.value.taskName = option.deviceName;
+const setDeviceModel = (ids) => {
+  if (!ids || ids.length === 0) {
+    form.value.taskIds = []
+    form.value.taskName = 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(',')
   }
 }
 
@@ -164,9 +171,10 @@
     form.value = {...row}
     form.value.inspector = form.value.inspectorIds.split(',').map(Number)
     
-    // 濡傛灉鏈夎澶嘔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)
     }
   }
 }
@@ -185,7 +193,7 @@
   }
   // 閲嶇疆琛ㄥ崟鏁版嵁纭繚璁惧淇℃伅姝g‘閲嶇疆
   form.value = {
-    taskId: undefined,
+    taskIds: [],
     taskName: undefined,
     inspector: '',
     inspectorIds: '',
@@ -205,6 +213,11 @@
         form.value.inspectorIds = form.value.inspector.join(',')
         delete form.value.inspector
         
+        // 澶勭悊 taskIds 鍜� taskName
+        if (form.value.taskIds && Array.isArray(form.value.taskIds)) {
+          form.value.taskIds = form.value.taskIds.join(',')
+        }
+        
         if (form.value.frequencyType === 'WEEKLY') {
           let frequencyDetail = ''
           frequencyDetail = form.value.week + ',' + form.value.time

--
Gitblit v1.9.3