gaoluyang
21 小时以前 6c0b0dd81a98a3163e45f1b5b5417e02af165fd8
src/views/mes/pro/task/modules/task-form.vue
@@ -1,4 +1,4 @@
<script lang="ts" setup>
<script lang="ts" setup>
import type { MesProTaskApi } from '#/api/mes/pro/task';
import { computed, ref } from 'vue';
@@ -9,7 +9,6 @@
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';
@@ -24,7 +23,6 @@
  routeId?: number;
  workOrderId?: number;
}>({}); // 新增任务时的订单 / 工序上下文
const feedbackRole = ref<string>();
const getTitle = computed(() => {
  return formData.value?.id
@@ -87,6 +85,8 @@
    let wid: number | undefined;
    if (data?.id) {
      // 编辑模式:先设置表单 schema,再回填任务数据,避免字段未建立时 setValues 丢失
      formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) });
      modalApi.lock();
      try {
        formData.value = await getTask(data.id);
@@ -106,23 +106,14 @@
      };
      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>