From e4994fccfb49ebfb108ba62cbd82aea4e004f6d8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 十月 2026 10:02:46 +0800
Subject: [PATCH] fix(mes/qc): 不合格品处理单的不合格物料改查 MDM 物料

---
 src/views/mes/qc/rqc/index.vue |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/src/views/mes/qc/rqc/index.vue b/src/views/mes/qc/rqc/index.vue
index 2771b4c..a5d1e36 100644
--- a/src/views/mes/qc/rqc/index.vue
+++ b/src/views/mes/qc/rqc/index.vue
@@ -4,24 +4,28 @@
 
 import { Page, useVbenModal } from '@vben/common-ui';
 import { MesQcStatusEnum } 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 { deleteRqc, exportRqc, getRqcPage } from '#/api/mes/qc/rqc';
 import { $t } from '#/locales';
-import QcExportRangeModal from '#/views/mes/qc/components/export-range-modal.vue';
+import QcReportGenerateModal from '#/views/mes/qc/components/report-generate-modal.vue';
 
 import { useGridColumns, useGridFormSchema } from './data';
 import Form from './modules/form.vue';
+
+/** 鏈〉瀵瑰簲 mes_qc_type 鐨勫�硷細4 閫�璐ф楠� */
+const QC_TYPE = 4;
 
 const [FormModal, formModalApi] = useVbenModal({
   connectedComponent: Form,
   destroyOnClose: true,
 });
 
-const [ExportRangeModal, exportRangeModalApi] = useVbenModal({
-  connectedComponent: QcExportRangeModal,
+const [ReportModal, reportModalApi] = useVbenModal({
+  connectedComponent: QcReportGenerateModal,
   destroyOnClose: true,
 });
 
@@ -60,14 +64,16 @@
   }
 }
 
-/** 瀵煎嚭琛ㄦ牸锛堝脊绐楅�夋楠屾椂闂磋寖鍥达級 */
-function handleExport() {
-  exportRangeModalApi
-    .setData({
-      title: '鎸夋楠屾椂闂村閫�璐ф楠屽崟',
-      exportApi: exportRqc,
-      fileName: '閫�璐ф楠屽崟.xls',
-    })
+/** 瀵煎嚭琛ㄦ牸锛堟寜鍒楄〃绛涢�夋潯浠跺鍑猴級 */
+async function handleExport() {
+  const data = await exportRqc(await gridApi.formApi.getValues());
+  downloadFileFromBlobPart({ fileName: '閫�璐ф楠屽崟.xls', source: data });
+}
+
+/** 鍑烘姤鍛婏細鏁版嵁鐢卞悗绔粠璇ヨ川妫�鍗曞彇锛屽墠绔彧閫夋ā鏉� */
+function handleReport(row: MesQcRqcApi.Rqc) {
+  reportModalApi
+    .setData({ qcType: QC_TYPE, qcId: row.id, qcNo: row.code })
     .open();
 }
 
@@ -105,7 +111,7 @@
 <template>
   <Page auto-content-height>
     <FormModal @success="handleRefresh" />
-    <ExportRangeModal />
+    <ReportModal />
     <Grid table-title="閫�璐ф楠屽崟鍒楄〃">
       <template #toolbar-tools>
         <TableAction
@@ -136,6 +142,14 @@
         <TableAction
           :actions="[
             {
+              label: '鍑烘姤鍛�',
+              type: 'link',
+              icon: ACTION_ICON.AUDIT,
+              auth: ['qc-report:instance:generate'],
+              ifShow: row.status === MesQcStatusEnum.FINISHED,
+              onClick: handleReport.bind(null, row),
+            },
+            {
               label: $t('common.edit'),
               type: 'link',
               icon: ACTION_ICON.EDIT,

--
Gitblit v1.9.3