src/views/mes/pro/task/modules/task-form.vue
@@ -1,9 +1,9 @@
<script lang="ts" setup>
<script lang="ts" setup>
import type { MesProTaskApi } from '#/api/mes/pro/task';
import { computed, ref } from 'vue';
import { useVbenModal } from '..\..\..\..\..\packages\effects\common-ui\src';
import { useVbenModal } from '@vben/common-ui';
import { message } from 'ant-design-vue';
@@ -15,13 +15,14 @@
const emit = defineEmits(['success']);
const formData = ref<MesProTaskApi.Task>();
const workOrderQuantity = ref<number>(); // 订单数量(用于提示)
const context = ref<{
  colorCode?: string;
  itemId?: number;
  processId?: number;
  routeId?: number;
  workOrderId?: number;
}>({}); // 新增任务时的工单 / 工序上下文
}>({}); // 新增任务时的订单 / 工序上下文
const getTitle = computed(() => {
  return formData.value?.id
@@ -67,16 +68,18 @@
  async onOpenChange(isOpen: boolean) {
    if (!isOpen) {
      formData.value = undefined;
      workOrderQuantity.value = undefined;
      context.value = {};
      return;
    }
    formApi.setState({ schema: useTaskFormSchema(formApi) });
    formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) });
    // 加载数据
    const data = modalApi.getData<{
      colorCode?: string;
      id?: number;
      itemId?: number;
      processId?: number;
      quantity?: number;
      routeId?: number;
      workOrderId?: number;
    }>();
@@ -98,9 +101,11 @@
      routeId: data.routeId,
      workOrderId: data.workOrderId,
    };
    workOrderQuantity.value = data.quantity;
    await formApi.setValues({
      colorCode: data.colorCode || '#00AEF3',
      duration: 1,
      quantity: data.quantity,
    });
  },
});