From a241b66efcc41e973290a6722fb7a4d79b833ea1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 13 十月 2026 09:54:32 +0800
Subject: [PATCH] feat(bi): 为图表配置接口添加名称字段

---
 src/views/mes/qc/iqc/index.vue |   72 ++++++++++++++++++++++++++++++++++--
 1 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/src/views/mes/qc/iqc/index.vue b/src/views/mes/qc/iqc/index.vue
index 44e0901..a2c7514 100644
--- a/src/views/mes/qc/iqc/index.vue
+++ b/src/views/mes/qc/iqc/index.vue
@@ -12,13 +12,24 @@
 import { Button, message } from 'ant-design-vue';
 
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
-import { deleteIqc, exportIqc, getIqcPage } from '#/api/mes/qc/iqc';
+import {
+  deleteIqc,
+  exportIqc,
+  getIqcPage,
+  importIqc,
+  importIqcTemplate,
+} from '#/api/mes/qc/iqc';
 import { $t } from '#/locales';
+import QcImportFormModal from '#/views/mes/qc/components/import-form-modal.vue';
+import QcReportGenerateModal from '#/views/mes/qc/components/report-generate-modal.vue';
 
 import { useGridColumns, useGridFormSchema } from './data';
 import Form from './modules/form.vue';
 
 defineOptions({ name: 'MesQcIqc' });
+
+/** 鏈〉瀵瑰簲 mes_qc_type 鐨勫�硷細1 鏉ユ枡妫�楠� */
+const QC_TYPE = 1;
 
 const route = useRoute();
 
@@ -27,9 +38,38 @@
   destroyOnClose: true,
 });
 
+const [ReportModal, reportModalApi] = useVbenModal({
+  connectedComponent: QcReportGenerateModal,
+  destroyOnClose: true,
+});
+
+const [ImportModal, importModalApi] = useVbenModal({
+  connectedComponent: QcImportFormModal,
+  destroyOnClose: true,
+});
+
 /** 鍒锋柊琛ㄦ牸 */
 function handleRefresh() {
   gridApi.query();
+}
+
+/** 鎵归噺瀵煎叆鏉ユ枡妫�楠屽崟 */
+function handleImport() {
+  importModalApi
+    .setData({
+      title: '鎵归噺瀵煎叆鏉ユ枡妫�楠屽崟',
+      templateApi: importIqcTemplate,
+      importApi: importIqc,
+      fileName: '鏉ユ枡妫�楠屽崟瀵煎叆妯℃澘.xls',
+      hints: [
+        '浠呭厑璁稿鍏� xls銆亁lsx 鏍煎紡鏂囦欢锛涘繀濉垪锛氭楠屽崟鍚嶇О銆佷骇鍝佺墿鏂欑紪鐮併�佸悎鏍煎搧鏁伴噺銆佷笉鍚堟牸鍝佹暟閲忋�佹娴嬫棩鏈熴�佹潵鏂欐棩鏈熴��',
+        '銆屼骇鍝佺墿鏂欑紪鐮併�嶉渶涓庛�岀墿鏂欑鐞嗐�嶄腑鐨勭紪鐮佸畬鍏ㄤ竴鑷达紱銆屼緵搴斿晢鍚嶇О銆嶉潪蹇呭~锛屽彲鐩存帴濉啓鍚嶇О锛屾棤闇�鍦ㄧ郴缁熶腑寤虹珛渚涘簲鍟嗘。妗堛��',
+        '鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺 蹇呴』绛変簬銆屾湰娆℃帴鏀舵暟閲忋�嶏紙鐣欑┖鏃惰嚜鍔ㄥ彇涓よ�呬箣鍜岋級锛涖�屾娴嬬粨鏋溿�嶆寜瀛楀吀鍚嶇О濉啓锛堟牎楠岄�氳繃 / 鏍¢獙涓嶉�氳繃锛夈��',
+        '銆岃川妫�鏂规銆嶅~鏂规鍚嶇О锛岀暀绌哄垯鎸夌墿鏂欒嚜鍔ㄥ尮閰� IQC 鏂规锛涖�屾娴嬩汉鍛樸�嶇暀绌哄彇褰撳墠鐧诲綍鐢ㄦ埛锛涙棩鏈熸敮鎸� 2026-01-01 10:00:00 鎴� 2026-01-01銆�',
+        '閫愯瀵煎叆锛屽け璐ヨ涓嶅奖鍝嶆垚鍔熻锛涘鍏ュ悗鐨勬楠屽崟涓恒�屽緟妫�楠屻�嶇姸鎬侊紝鍙湪鍒楄〃涓户缁紪杈戙�佸綍鍏ユ娴嬬粨鏋溿��',
+      ],
+    })
+    .open();
 }
 
 /** 鍒涘缓鏉ユ枡妫�楠屽崟 */
@@ -62,10 +102,17 @@
   }
 }
 
-/** 瀵煎嚭琛ㄦ牸 */
+/** 瀵煎嚭琛ㄦ牸锛堟寜鍒楄〃绛涢�夋潯浠跺鍑猴級 */
 async function handleExport() {
   const data = await exportIqc(await gridApi.formApi.getValues());
   downloadFileFromBlobPart({ fileName: '鏉ユ枡妫�楠屽崟.xls', source: data });
+}
+
+/** 鍑烘姤鍛婏細鏁版嵁鐢卞悗绔粠璇ヨ川妫�鍗曞彇锛屽墠绔彧閫夋ā鏉� */
+function handleReport(row: MesQcIqcApi.Iqc) {
+  reportModalApi
+    .setData({ qcType: QC_TYPE, qcId: row.id, qcNo: row.code })
+    .open();
 }
 
 const [Grid, gridApi] = useVbenVxeGrid({
@@ -107,8 +154,10 @@
 </script>
 
 <template>
-  <Page auto-content-height><FormModal @success="handleRefresh" />
-
+  <Page auto-content-height>
+    <FormModal @success="handleRefresh" />
+    <ReportModal />
+    <ImportModal @success="handleRefresh" />
     <Grid table-title="鏉ユ枡妫�楠屽崟鍒楄〃">
       <template #toolbar-tools>
         <TableAction
@@ -119,6 +168,13 @@
               icon: ACTION_ICON.ADD,
               auth: ['mes:qc-iqc:create'],
               onClick: handleCreate,
+            },
+            {
+              label: '鎵归噺瀵煎叆',
+              type: 'primary',
+              icon: ACTION_ICON.UPLOAD,
+              auth: ['mes:qc-iqc:import'],
+              onClick: handleImport,
             },
             {
               label: $t('ui.actionTitle.export'),
@@ -139,6 +195,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