| | |
| | | <script lang="ts" setup> |
| | | <script lang="ts" setup> |
| | | import type { MesProTaskApi } from '#/api/mes/pro/task'; |
| | | |
| | | import { computed, ref } from 'vue'; |
| | |
| | | context.value = {}; |
| | | return; |
| | | } |
| | | formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) }); |
| | | // 加载数据 |
| | | const data = modalApi.getData<{ |
| | | colorCode?: string; |
| | | id?: number; |
| | |
| | | routeId?: number; |
| | | workOrderId?: number; |
| | | }>(); |
| | | |
| | | let wid: number | undefined; |
| | | |
| | | if (data?.id) { |
| | | // 编辑模式:先设置表单 schema,再回填任务数据,避免字段未建立时 setValues 丢失 |
| | | formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) }); |
| | | modalApi.lock(); |
| | | try { |
| | | formData.value = await getTask(data.id); |
| | | wid = formData.value.workOrderId; |
| | | // 设置到 values |
| | | await formApi.setValues(formData.value); |
| | | } finally { |
| | | modalApi.unlock(); |
| | | } |
| | | return; |
| | | } else { |
| | | context.value = { |
| | | colorCode: data.colorCode, |
| | | itemId: data.itemId, |
| | | processId: data.processId, |
| | | routeId: data.routeId, |
| | | workOrderId: data.workOrderId, |
| | | }; |
| | | wid = data.workOrderId; |
| | | workOrderQuantity.value = data.quantity; |
| | | // 新增模式:先设置表单 schema,再设置初始值 |
| | | formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) }); |
| | | await formApi.setValues({ |
| | | colorCode: data.colorCode || '#00AEF3', |
| | | duration: 1, |
| | | quantity: data.quantity, |
| | | }); |
| | | } |
| | | context.value = { |
| | | colorCode: data.colorCode, |
| | | itemId: data.itemId, |
| | | processId: data.processId, |
| | | routeId: data.routeId, |
| | | workOrderId: data.workOrderId, |
| | | }; |
| | | workOrderQuantity.value = data.quantity; |
| | | await formApi.setValues({ |
| | | colorCode: data.colorCode || '#00AEF3', |
| | | duration: 1, |
| | | quantity: data.quantity, |
| | | }); |
| | | }, |
| | | }); |
| | | </script> |