diff --git a/src/api/mes/taskManagement/index.ts b/src/api/mes/taskManagement/index.ts index e1182d4f..ed2a14be 100644 --- a/src/api/mes/taskManagement/index.ts +++ b/src/api/mes/taskManagement/index.ts @@ -5,7 +5,7 @@ export interface TaskManagementVO { name?: string taskType?: number deviceList?: string - projectForm?: string + projectForm?: string | number startDate?: string endDate?: string cronExpression?: string diff --git a/src/views/mes/taskManagement/TaskManagementForm.vue b/src/views/mes/taskManagement/TaskManagementForm.vue index 4db62629..2611f0be 100644 --- a/src/views/mes/taskManagement/TaskManagementForm.vue +++ b/src/views/mes/taskManagement/TaskManagementForm.vue @@ -31,13 +31,12 @@ - + @@ -129,7 +128,7 @@ const toCommaSeparatedIds = (value: any): string | undefined => { const ensureOptionsLoaded = async () => { const [deviceRes, planRes, userRes] = await Promise.all([ DeviceLedgerApi.getDeviceLedgerPage({}), - PlanMaintenanceApi.getPlanMaintenancePage({}), + PlanMaintenanceApi.getPlanMaintenancePage({ pageNo: 1, pageSize: 100 }), getSimpleUserList() ]) deviceOptions.value = (deviceRes?.list ?? []) as DeviceOption[] @@ -142,7 +141,7 @@ const formData = ref({ name: undefined as string | undefined, taskType: undefined as number | undefined, deviceList: [] as string[], - projectForm: [] as string[], + projectForm: undefined as number | undefined, dateRange: [] as string[], cronExpression: undefined as string | undefined, operableUsers: [] as string[], @@ -155,6 +154,7 @@ const formRules = reactive({ enabled: [{ required: true, message: '是否启用不能为空', trigger: 'change' }], deviceList: [{ required: true, message: '设备列表不能为空', trigger: 'change' }], projectForm: [{ required: true, message: '项目表单不能为空', trigger: 'change' }], + dateRange: [{required: true, message: '起止日期不能为空', trigger: 'change' }] }) const resetForm = () => { @@ -163,7 +163,7 @@ const resetForm = () => { name: undefined, taskType: undefined, deviceList: [], - projectForm: [], + projectForm: undefined, dateRange: [], cronExpression: undefined, operableUsers: [], @@ -186,14 +186,16 @@ const open = async (type: string, row?: TaskManagementVO) => { formData.value.deviceList = parseIdsValue((row as any).deviceList) const projectFormIds = parseIdsValue((row as any).projectForm) if (projectFormIds.length) { - formData.value.projectForm = projectFormIds + const n = Number(projectFormIds[0]) + formData.value.projectForm = Number.isFinite(n) ? n : undefined } else { const projectFormNames = parseIdsValue((row as any).projectFormName) - const mappedIds = projectFormNames + const mapped = projectFormNames .map((name) => planOptions.value.find((p) => p.planName === name)?.id) .filter((id) => id !== undefined && id !== null) - .map((id) => String(id)) - formData.value.projectForm = mappedIds + .map((id) => Number(id)) + const firstId = mapped[0] + formData.value.projectForm = typeof firstId === 'number' && Number.isFinite(firstId) ? firstId : undefined } formData.value.dateRange = [row.startDate, row.endDate].filter(Boolean) as string[] formData.value.cronExpression = row.cronExpression @@ -222,7 +224,7 @@ const submitForm = async () => { name: formData.value.name, taskType: formData.value.taskType, deviceList: toCommaSeparatedIds((formData.value as any).deviceList), - projectForm: toCommaSeparatedIds((formData.value as any).projectForm), + projectForm: formData.value.projectForm, startDate: startDate || undefined, endDate: endDate || undefined, cronExpression: formData.value.cronExpression,