gaoluyang
9 小时以前 6f35f9dc767e99ad701f7f6e2f5d4c52b6cc1d0f
src/views/wls/productissue/data.ts
@@ -1,6 +1,5 @@
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { MesProTaskApi } from '#/api/mes/pro/task';
import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock';
import type { MesWmProductIssueApi } from '#/api/mes/wm/productissue';
import type { MesWmProductIssueDetailApi } from '#/api/mes/wm/productissue/detail';
@@ -8,11 +7,7 @@
import { h, markRaw } from 'vue';
import {
  DICT_TYPE,
  MesAutoCodeRuleCode,
  MesProWorkOrderStatusEnum,
} from '@vben/constants';
import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { Button } from 'ant-design-vue';
@@ -20,9 +15,6 @@
import { generateAutoCode } from '#/api/mes/md/autocode/record';
import { getRangePickerDefaultProps } from '#/utils';
import { MdItemSelect } from '#/views/mes/md/item/components';
import { MdWorkstationSelect } from '#/views/mes/md/workstation/components';
import { ProTaskSelect } from '#/views/mes/pro/task/components';
import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
import {
  WmWarehouseAreaSelect,
@@ -108,46 +100,27 @@
      rules: 'required',
    },
    {
      fieldName: 'workOrderId',
      fieldName: 'workOrderCode',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      component: 'Input',
      componentProps: {
        placeholder: '请选择生产订单',
        status: MesProWorkOrderStatusEnum.CONFIRMED,
        // 订单变更:清空已选生产任务,避免任务与订单不一致
        onChange: async () => {
          await formApi?.setFieldValue('taskId', undefined);
        },
        placeholder: '请输入生产订单号',
      },
      rules: 'selectRequired',
    },
    {
      fieldName: 'taskId',
      fieldName: 'taskCode',
      label: '生产任务',
      component: markRaw(ProTaskSelect),
      component: 'Input',
      componentProps: {
        placeholder: '请选择生产任务',
        // 选中任务后自动带出其工作站
        onChange: async (task?: MesProTaskApi.Task) => {
          await formApi?.setFieldValue('workstationId', task?.workstationId);
        },
        placeholder: '请输入生产任务号',
      },
      dependencies: {
        triggerFields: ['workOrderId'],
        componentProps: (values) => ({
          disabled: !values.workOrderId,
          placeholder: values.workOrderId ? '请选择生产任务' : '请先选择生产订单',
          workOrderId: values.workOrderId,
        }),
      },
      rules: 'selectRequired',
    },
    {
      fieldName: 'workstationId',
      fieldName: 'workstationName',
      label: '工作站',
      component: markRaw(MdWorkstationSelect),
      component: 'Input',
      componentProps: {
        placeholder: '请选择工作站',
        placeholder: '请输入工作站名称',
      },
    },
    {