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
      }
      // 如果有设备ID,自动设置设备信息
      if (form.value.taskId) {
         setDeviceModel(form.value.taskId);
      // 如果有设备ID数组,转换为数组并设置设备信息
      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 @@
   }
   // 重置表单数据确保设备信息正确重置
   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