diff --git a/src/api/mold/taskManagement/index.ts b/src/api/mold/taskManagement/index.ts
new file mode 100644
index 00000000..8aa27b38
--- /dev/null
+++ b/src/api/mold/taskManagement/index.ts
@@ -0,0 +1,47 @@
+import request from '@/config/axios'
+
+export interface TaskManagementVO {
+ id?: number
+ name?: string
+ taskType?: number
+ deviceList?: string
+ projectForm?: string
+ startDate?: string
+ endDate?: string
+ cronExpression?: string
+ operableUsers?: string
+ enabled?: boolean
+ execFrequency?: string
+ frequencyValue?: string
+ time?: string
+ validMinutes?: number
+ creator?: string
+ createTime?: string
+ updateTime?: string
+}
+
+export const TaskManagementApi = {
+ getTaskManagementPage: async (params: any) => {
+ return await request.get({ url: `/mes/mold-task-management/page`, params })
+ },
+
+ createTaskManagementTicket: async (id: number | string) => {
+ return await request.post({ url: `/mes/mold-task-management/createTicket`, params: { id } })
+ },
+
+ createTaskManagement: async (data: TaskManagementVO) => {
+ return await request.post({ url: `/mes/mold-task-management/create`, data })
+ },
+
+ updateTaskManagement: async (data: TaskManagementVO) => {
+ return await request.put({ url: `/mes/mold-task-management/update`, data })
+ },
+
+ deleteTaskManagement: async (ids: string) => {
+ return await request.delete({ url: `/mes/mold-task-management/delete?ids=` + ids })
+ },
+
+ exportTaskManagement: async (params: any) => {
+ return await request.download({ url: `/mes/mold-task-management/export-excel`, params })
+ }
+}
diff --git a/src/views/mold/taskConfiguration/TaskConfigurationForm.vue b/src/views/mold/taskConfiguration/TaskConfigurationForm.vue
index 369e21b0..a59e5014 100644
--- a/src/views/mold/taskConfiguration/TaskConfigurationForm.vue
+++ b/src/views/mold/taskConfiguration/TaskConfigurationForm.vue
@@ -1,12 +1,6 @@
-
+
@@ -123,7 +126,8 @@
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
-import { TaskManagementApi, TaskManagementVO } from '@/api/mes/taskManagement'
+import { TaskManagementApi, TaskManagementVO } from '@/api/mold/taskManagement'
+import { PlanMaintenanceApi } from '@/api/mold/planmaintenance'
import TaskConfigurationForm from './TaskConfigurationForm.vue'
defineOptions({ name: 'MoldTaskConfiguration' })
@@ -142,19 +146,52 @@ const total = ref(0)
const exportLoading = ref(false)
const selectedIds = ref([])
+type PlanOption = {
+ id: number | string
+ planName: string
+}
+
+const planOptions = ref([])
+
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
name: undefined as string | undefined,
taskType: undefined as number | undefined,
- projectForm: undefined as string | undefined
+ projectForm: [] as string[]
})
const queryFormRef = ref()
+const parseIdsValue = (value: any): string[] => {
+ if (!value) return []
+ if (Array.isArray(value)) return value.map((v) => String(v).trim()).filter(Boolean)
+ return String(value)
+ .split(',')
+ .map((v) => v.trim())
+ .filter(Boolean)
+}
+
+const toCommaSeparatedIds = (value: any): string | undefined => {
+ const ids = parseIdsValue(value)
+ return ids.length ? ids.join(',') : undefined
+}
+
+const ensurePlanOptionsLoaded = async () => {
+ const planRes = await PlanMaintenanceApi.getPlanMaintenancePage({ pageNo: 1, pageSize: 100 })
+ planOptions.value = (planRes?.list ?? []) as PlanOption[]
+}
+
+const buildQueryParams = () => {
+ return {
+ ...queryParams,
+ projectForm: toCommaSeparatedIds(queryParams.projectForm)
+ }
+}
+
const getList = async () => {
loading.value = true
try {
- const data = await TaskManagementApi.getTaskManagementPage(queryParams)
+ const data = await TaskManagementApi.getTaskManagementPage(buildQueryParams())
list.value = data.list
total.value = data.total
} finally {
@@ -211,7 +248,7 @@ const handleExport = async () => {
try {
await message.exportConfirm()
exportLoading.value = true
- const params: Record = { ...queryParams }
+ const params: Record = buildQueryParams()
if (selectedIds.value.length > 0) {
params.ids = selectedIds.value.join(',')
}
@@ -223,8 +260,11 @@ const handleExport = async () => {
}
}
-onMounted(() => {
- getList()
+onMounted(async () => {
+ try {
+ await ensurePlanOptionsLoaded()
+ } finally {
+ getList()
+ }
})
-