云
2026-09-22 ddc35c1d91e28509ceb86a50d8b10874936976aa
src/views/mes/qc/iqc/index.vue
@@ -7,10 +7,12 @@
import { Page, useVbenModal } from '@vben/common-ui';
import { MesQcStatusEnum, MesQcTypeEnum } from '@vben/constants';
import { downloadFileFromBlobPart } from '@vben/utils';
import { Button, message } from 'ant-design-vue';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { exportProductWord } from '#/api/mes/qc/indicatorresult';
import { deleteIqc, exportIqc, getIqcPage } from '#/api/mes/qc/iqc';
import { $t } from '#/locales';
import QcExportRangeModal from '#/views/mes/qc/components/export-range-modal.vue';
@@ -72,6 +74,15 @@
/** 打印检验报告 */
async function handlePrint(row: MesQcIqcApi.Iqc) {
  await printRef.value?.print(row.id!, MesQcTypeEnum.IQC);
}
/** 导出产品检验单 Word(纸质检验单版式,判定结论带出检验结果) */
async function handleExportProductWord(row: MesQcIqcApi.Iqc) {
  const blob = await exportProductWord(row.id!, MesQcTypeEnum.IQC);
  downloadFileFromBlobPart({
    fileName: `产品检验单-${row.code ?? row.id}.docx`,
    source: blob,
  });
}
/** 导出表格(弹窗选检验时间范围) */
@@ -185,6 +196,13 @@
              onClick: handlePrint.bind(null, row),
            },
            {
              label: '导出产品检验单',
              type: 'link',
              icon: 'ant-design:file-word-outlined',
              auth: ['mes:qc-iqc:query'],
              onClick: handleExportProductWord.bind(null, row),
            },
            {
              label: $t('common.detail'),
              type: 'link',
              icon: ACTION_ICON.VIEW,