gaoluyang
6 天以前 e4994fccfb49ebfb108ba62cbd82aea4e004f6d8
src/views/mes/qc/ipqc/data.ts
@@ -1,4 +1,4 @@
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { MesQcIpqcApi } from '#/api/mes/qc/ipqc';
import type { MesQcIpqcLineApi } from '#/api/mes/qc/ipqc/line';
@@ -10,13 +10,15 @@
  MesAutoCodeRuleCode,
  MesProTaskStatusEnum,
  MesProWorkOrderStatusEnum,
} from '..\..\..\..\packages\constants\src';
import { getDictOptions } from '..\..\..\..\packages\effects\hooks\src';
} from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { Button } from 'ant-design-vue';
import { generateAutoCode } from '#/api/mes/md/autocode/record';
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';
@@ -151,20 +153,21 @@
    },
    {
      fieldName: 'workOrderId',
      label: '生产工单',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      componentProps: {
        placeholder: '请选择生产工单',
        allowClear: true,
        placeholder: '请选择生产订单(选填)',
        status: MesProWorkOrderStatusEnum.CONFIRMED,
        // 工单变更时清空生产任务
        // 订单变更时清空生产任务
        onChange: () => formApi?.setFieldValue('taskId', undefined),
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['sourceDocId'],
        componentProps: (values) => ({
          allowClear: true,
          disabled: !!values.sourceDocId,
          placeholder: '请选择生产工单',
          placeholder: '请选择生产订单(选填)',
          status: MesProWorkOrderStatusEnum.CONFIRMED,
          onChange: () => formApi?.setFieldValue('taskId', undefined),
        }),
@@ -175,14 +178,15 @@
      label: '工位',
      component: markRaw(MdWorkstationSelect),
      componentProps: {
        placeholder: '请选择工位',
        allowClear: true,
        placeholder: '请选择工位(选填)',
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['sourceDocId'],
        componentProps: (values) => ({
          allowClear: true,
          disabled: !!values.sourceDocId,
          placeholder: '请选择工位',
          placeholder: '请选择工位(选填)',
        }),
      },
    },
@@ -202,6 +206,36 @@
          statuses: [MesProTaskStatusEnum.PREPARE],
          workOrderId: values.workOrderId,
          workstationId: values.workstationId,
        }),
      },
    },
    {
      fieldName: 'templateId',
      label: '质检方案',
      component: 'ApiSelect',
      componentProps: {
        api: getTemplateItemOptionList,
        autoSelect: 'first',
        labelField: 'templateName',
        valueField: 'templateId',
        placeholder: '请选择质检方案',
      },
      rules: 'selectRequired',
      dependencies: {
        triggerFields: ['workOrderId', 'taskId'],
        componentProps: (values) => ({
          api: getTemplateItemOptionList,
          autoSelect: 'first',
          labelField: 'templateName',
          valueField: 'templateId',
          disabled: formType !== 'create',
          // 未选生产订单/生产任务时,后端按「过程检验」种类返回全部启用方案(不再要求先选生产订单)
          params: {
            qcType: 2,
            ...(values.workOrderId ? { workOrderId: values.workOrderId } : {}),
            ...(values.taskId ? { taskId: values.taskId } : {}),
          },
          placeholder: '请选择质检方案',
        }),
      },
    },
@@ -250,6 +284,7 @@
        precision: 2,
      },
      rules: 'required',
      help: '不合格品数量大于0时,保存后将自动生成不合格处理单',
    },
    {
      fieldName: 'laborScrapQuantity',
@@ -328,7 +363,7 @@
      componentProps: {
        format: 'YYYY-MM-DD',
        placeholder: '请选择检测日期',
        valueFormat: 'x',
        valueFormat: 'YYYY-MM-DD',
      },
      rules: 'required',
    },
@@ -379,10 +414,10 @@
    },
    {
      fieldName: 'workOrderId',
      label: '生产工单',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      componentProps: {
        placeholder: '请选择生产工单',
        placeholder: '请选择生产订单',
      },
    },
    {
@@ -401,6 +436,14 @@
        allowClear: true,
        options: getDictOptions(DICT_TYPE.MES_QC_CHECK_RESULT, 'number'),
        placeholder: '请选择检测结果',
      },
    },
    {
      fieldName: 'inspectDate',
      label: '检测日期',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
      },
    },
  ];
@@ -431,7 +474,7 @@
    },
    {
      field: 'workOrderCode',
      title: '生产工单编号',
      title: '生产订单编号',
      width: 140,
    },
    {
@@ -469,6 +512,12 @@
      },
    },
    {
      field: 'indicatorResultSummary',
      title: '检测结果(检验项)',
      minWidth: 200,
      showOverflow: 'tooltip',
    },
    {
      field: 'inspectDate',
      title: '检测日期',
      width: 120,