| | |
| | | <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" |
| | |
| | | const userStore = useUserStore(); |
| | | const data = reactive({ |
| | | form: { |
| | | taskId: undefined, |
| | | taskIds: [], |
| | | taskName: undefined, |
| | | // 录入人:单选一个用户 id |
| | | inspector: undefined, |
| | |
| | | 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" }], |
| | |
| | | }; |
| | | |
| | | // 选择设备时,回填设备名称(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(',') |
| | | } |
| | | } |
| | | |
| | |
| | | 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') { |
| | | // 新增时设置登记日期为当天 |
| | |
| | | } |
| | | // 重置表单数据确保设备信息正确重置 |
| | | form.value = { |
| | | taskId: undefined, |
| | | taskIds: [], |
| | | taskName: undefined, |
| | | inspector: undefined, |
| | | auditName: undefined, |
| | |
| | | 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 |