| | |
| | | <script lang="ts" setup> |
| | | <script lang="ts" setup> |
| | | import type { MesProTaskApi } from '#/api/mes/pro/task'; |
| | | |
| | | import { computed, ref } from 'vue'; |
| | |
| | | |
| | | import { useVbenForm } from '#/adapter/form'; |
| | | import { createTask, getTask, updateTask } from '#/api/mes/pro/task'; |
| | | import { getWorkOrder } from '#/api/mes/pro/workorder'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import { useTaskFormSchema } from '../data'; |
| | |
| | | routeId?: number; |
| | | workOrderId?: number; |
| | | }>({}); // 新增任务时的订单 / 工序上下文 |
| | | const feedbackRole = ref<string>(); |
| | | |
| | | const getTitle = computed(() => { |
| | | return formData.value?.id |
| | |
| | | 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 = 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, |
| | | }); |
| | | } |
| | | |
| | | if (wid) { |
| | | try { |
| | | const wo = await getWorkOrder(wid); |
| | | feedbackRole.value = wo.feedbackRole; |
| | | } catch { |
| | | // ignore |
| | | } |
| | | } |
| | | |
| | | formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity, feedbackRole) }); |
| | | }, |
| | | }); |
| | | </script> |