云
2026-09-22 ddc35c1d91e28509ceb86a50d8b10874936976aa
src/views/mes/qc/ipqc/data.ts
@@ -5,12 +5,7 @@
import { h, markRaw } from 'vue';
import {
  DICT_TYPE,
  MesAutoCodeRuleCode,
  MesProTaskStatusEnum,
  MesProWorkOrderStatusEnum,
} from '@vben/constants';
import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { Button } from 'ant-design-vue';
@@ -19,10 +14,7 @@
import { getTemplateItemOptionList } from '#/api/mes/qc/template/item';
import { getSimpleUserList } from '#/api/system/user';
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 { MdmItemSelect } from '#/views/basicData/mdm/components';
/** 表单类型 */
export type FormType = 'create' | 'detail' | 'update';
@@ -152,60 +144,31 @@
      },
    },
    {
      fieldName: 'workOrderId',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      fieldName: 'itemId',
      label: '产品物料',
      component: markRaw(MdmItemSelect),
      componentProps: {
        placeholder: '请选择生产订单',
        status: MesProWorkOrderStatusEnum.CONFIRMED,
        // 订单变更时清空生产任务
        onChange: () => formApi?.setFieldValue('taskId', undefined),
        placeholder: '请选择产品物料',
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['sourceDocId'],
        componentProps: (values) => ({
          disabled: !!values.sourceDocId,
          placeholder: '请选择生产订单',
          status: MesProWorkOrderStatusEnum.CONFIRMED,
          onChange: () => formApi?.setFieldValue('taskId', undefined),
          placeholder: '请选择产品物料',
        }),
      },
    },
    {
      fieldName: 'workstationId',
      label: '工位',
      component: markRaw(MdWorkstationSelect),
      fieldName: 'batchCode',
      label: '批号',
      component: 'Input',
      componentProps: {
        placeholder: '请选择工位',
        allowClear: true,
        maxlength: 100,
        placeholder: '请输入批号',
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['sourceDocId'],
        componentProps: (values) => ({
          disabled: !!values.sourceDocId,
          placeholder: '请选择工位',
        }),
      },
    },
    {
      fieldName: 'taskId',
      label: '生产任务',
      component: markRaw(ProTaskSelect),
      componentProps: {
        placeholder: '请选择生产任务',
        statuses: [MesProTaskStatusEnum.PREPARE],
      },
      dependencies: {
        triggerFields: ['sourceDocId', 'workOrderId', 'workstationId'],
        componentProps: (values) => ({
          disabled: !!values.sourceDocId || !values.workOrderId,
          placeholder: '请选择生产任务',
          statuses: [MesProTaskStatusEnum.PREPARE],
          workOrderId: values.workOrderId,
          workstationId: values.workstationId,
        }),
      },
      rules: 'required',
    },
    {
      fieldName: 'templateId',
@@ -220,23 +183,22 @@
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['workOrderId', 'taskId'],
        triggerFields: ['itemId'],
        componentProps: (values) => ({
          api: getTemplateItemOptionList,
          autoSelect: 'first',
          labelField: 'templateName',
          valueField: 'templateId',
          disabled: formType !== 'create' || !values.workOrderId,
          params: values.workOrderId
          disabled: formType !== 'create' || !values.itemId,
          params: values.itemId
            ? {
                qcType: 2,
                workOrderId: values.workOrderId,
                taskId: values.taskId,
                itemId: values.itemId,
              }
            : {},
          placeholder: values.workOrderId
          placeholder: values.itemId
            ? '请选择质检方案'
            : '请先选择生产订单',
            : '请先选择产品物料',
        }),
      },
    },
@@ -465,17 +427,18 @@
      },
    },
    {
      fieldName: 'workOrderId',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      fieldName: 'batchCode',
      label: '批号',
      component: 'Input',
      componentProps: {
        placeholder: '请选择生产订单',
        allowClear: true,
        placeholder: '请输入批号',
      },
    },
    {
      fieldName: 'itemId',
      label: '产品物料',
      component: markRaw(MdItemSelect),
      component: markRaw(MdmItemSelect),
      componentProps: {
        placeholder: '请选择产品物料',
      },
@@ -525,11 +488,6 @@
      },
    },
    {
      field: 'workOrderCode',
      title: '生产订单编号',
      width: 140,
    },
    {
      field: 'itemCode',
      title: '产品物料编码',
      width: 130,
@@ -543,6 +501,11 @@
      field: 'itemSpecification',
      title: '规格型号',
      width: 130,
    },
    {
      field: 'batchCode',
      title: '批号',
      width: 140,
    },
    {
      field: 'unitName',
@@ -585,7 +548,7 @@
    },
    {
      title: '操作',
      width: 180,
      width: 420,
      fixed: 'right',
      slots: { default: 'actions' },
    },