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/ipqc/index.vue | 79 ++++++++++++++++++++++++++++++++++++---
1 files changed, 72 insertions(+), 7 deletions(-)
diff --git a/src/views/mes/qc/ipqc/index.vue b/src/views/mes/qc/ipqc/index.vue
index 022beb4..5906711 100644
--- a/src/views/mes/qc/ipqc/index.vue
+++ b/src/views/mes/qc/ipqc/index.vue
@@ -2,27 +2,68 @@
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { MesQcIpqcApi } from '#/api/mes/qc/ipqc';
-import { Page, useVbenModal } from '../../../../packages/effects/common-ui/src';
-import { MesQcStatusEnum } from '../../../../packages/constants/src';
-import { downloadFileFromBlobPart } from '../../../../packages/utils/src';
+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 { deleteIpqc, exportIpqc, getIpqcPage } from '#/api/mes/qc/ipqc';
+import {
+ deleteIpqc,
+ exportIpqc,
+ getIpqcPage,
+ importIpqc,
+ importIpqcTemplate,
+} from '#/api/mes/qc/ipqc';
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';
+
+/** 鏈〉瀵瑰簲 mes_qc_type 鐨勫�硷細2 杩囩▼妫�楠� */
+const QC_TYPE = 2;
const [FormModal, formModalApi] = useVbenModal({
connectedComponent: Form,
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: importIpqcTemplate,
+ importApi: importIpqc,
+ fileName: '杩囩▼妫�楠屽崟瀵煎叆妯℃澘.xls',
+ hints: [
+ '浠呭厑璁稿鍏� xls銆亁lsx 鏍煎紡鏂囦欢锛涘繀濉垪锛氭楠屽崟鍚嶇О銆佹楠岀被鍨嬨�佺敓浜у伐鍗曞彿銆佸伐浣嶅悕绉般�佸悎鏍煎搧鏁伴噺銆佷笉鍚堟牸鍝佹暟閲忋��',
+ '銆屼骇鍝佺墿鏂欑敱鐢熶骇宸ュ崟鑷姩鎺ㄥ銆嶏紝妯℃澘涓嶅~鐗╂枡锛涖�屾楠岀被鍨嬨�嶆寜瀛楀吀鍚嶇О濉啓锛堣嚜鍒跺伐搴忔楠� / 棣栨 / 宸℃ / 鑷 / 鎴愬搧妫�楠岋級銆�',
+ '銆岀敓浜у伐鍗曞彿銆嶉渶涓庛�岀敓浜х鐞� - 鐢熶骇宸ュ崟銆嶄腑鐨勫伐鍗曞彿涓�鑷达紱銆屽伐浣嶅悕绉般�嶉渶涓庛�屽熀纭�鏁版嵁 - 宸ヤ綅绠$悊銆嶄腑鐨勫悕绉颁竴鑷淬��',
+ '鍚堟牸鍝佹暟閲� + 涓嶅悎鏍煎搧鏁伴噺 蹇呴』绛変簬銆屾娴嬫暟閲忋�嶏紙鐣欑┖鏃惰嚜鍔ㄥ彇涓よ�呬箣鍜岋級锛涘伐搴� + 鏂欏簾 + 鍏朵粬搴熷搧 涔嬪拰涓嶅緱瓒呰繃涓嶅悎鏍煎搧鏁伴噺銆�',
+ '銆岃川妫�鏂规銆嶅~鏂规鍚嶇О锛岀暀绌哄垯鎸夌墿鏂欒嚜鍔ㄥ尮閰� IPQC 鏂规锛涖�屾娴嬩汉鍛樸�嶇暀绌哄彇褰撳墠鐧诲綍鐢ㄦ埛锛涖�屾娴嬫棩鏈熴�嶅彲鐣欑┖銆�',
+ '閫愯瀵煎叆锛屽け璐ヨ涓嶅奖鍝嶆垚鍔熻锛涘鍏ュ悗鐨勬楠屽崟涓恒�屽緟妫�楠屻�嶇姸鎬侊紝鍙湪鍒楄〃涓户缁紪杈戙�佸綍鍏ユ娴嬬粨鏋溿��',
+ ],
+ })
+ .open();
}
/** 鍒涘缓杩囩▼妫�楠屽崟 */
@@ -55,10 +96,17 @@
}
}
-/** 瀵煎嚭琛ㄦ牸 */
+/** 瀵煎嚭琛ㄦ牸锛堟寜鍒楄〃绛涢�夋潯浠跺鍑猴級 */
async function handleExport() {
const data = await exportIpqc(await gridApi.formApi.getValues());
downloadFileFromBlobPart({ fileName: '杩囩▼妫�楠屽崟.xls', source: data });
+}
+
+/** 鍑烘姤鍛婏細鏁版嵁鐢卞悗绔粠璇ヨ川妫�鍗曞彇锛屽墠绔彧閫夋ā鏉� */
+function handleReport(row: MesQcIpqcApi.Ipqc) {
+ reportModalApi
+ .setData({ qcType: QC_TYPE, qcId: row.id, qcNo: row.code })
+ .open();
}
const [Grid, gridApi] = useVbenVxeGrid({
@@ -93,8 +141,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
@@ -105,6 +155,13 @@
icon: ACTION_ICON.ADD,
auth: ['mes:qc-ipqc:create'],
onClick: handleCreate,
+ },
+ {
+ label: '鎵归噺瀵煎叆',
+ type: 'primary',
+ icon: ACTION_ICON.UPLOAD,
+ auth: ['mes:qc-ipqc:import'],
+ onClick: handleImport,
},
{
label: $t('ui.actionTitle.export'),
@@ -125,6 +182,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