From 268b3e77f3beaba03a1273d643d8aa4fa5db1c10 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 16 十月 2026 13:08:27 +0800
Subject: [PATCH] feat: 全量列表页接入 Excel 导入按钮与共享弹窗
---
src/views/system/dict/modules/data-grid.vue | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/views/system/dict/modules/data-grid.vue b/src/views/system/dict/modules/data-grid.vue
index 2e18c70..402b04b 100644
--- a/src/views/system/dict/modules/data-grid.vue
+++ b/src/views/system/dict/modules/data-grid.vue
@@ -15,8 +15,12 @@
deleteDictDataList,
exportDictData,
getDictDataPage,
+ importDictData,
+ importDictDataTemplate,
} from '#/api/system/dict/data';
import { $t } from '#/locales';
+
+import ImportModalComponent from '#/components/import-modal';
import { useDataGridColumns, useDataGridFormSchema } from '../data';
import DataForm from './data-form.vue';
@@ -33,6 +37,11 @@
destroyOnClose: true,
});
+const [ImportModal, importModalApi] = useVbenModal({
+ connectedComponent: ImportModalComponent,
+ destroyOnClose: true,
+});
+
/** 鍒锋柊琛ㄦ牸 */
function handleRefresh() {
gridApi.query();
@@ -42,6 +51,18 @@
async function handleExport() {
const data = await exportDictData(await gridApi.formApi.getValues());
downloadFileFromBlobPart({ fileName: '瀛楀吀鏁版嵁.xls', source: data });
+}
+
+/** 瀵煎叆瀛楀吀鏁版嵁 */
+function handleImport() {
+ importModalApi
+ .setData({
+ title: $t('ui.actionTitle.import', ['瀛楀吀鏁版嵁']),
+ fileName: '瀛楀吀鏁版嵁瀵煎叆妯℃澘.xls',
+ importFn: importDictData,
+ templateFn: importDictDataTemplate,
+ })
+ .open();
}
/** 鍒涘缓瀛楀吀鏁版嵁 */
@@ -144,6 +165,7 @@
<template>
<div class="flex h-full flex-col">
<DataFormModal @success="handleRefresh" />
+ <ImportModal @success="handleRefresh" />
<Grid table-title="瀛楀吀鏁版嵁鍒楄〃">
<template #toolbar-tools>
@@ -164,6 +186,13 @@
onClick: handleExport,
},
{
+ label: $t('ui.actionTitle.import', ['瀛楀吀鏁版嵁']),
+ type: 'primary',
+ icon: ACTION_ICON.UPLOAD,
+ auth: ['system:dict:import'],
+ onClick: handleImport,
+ },
+ {
label: $t('ui.actionTitle.deleteBatch'),
type: 'primary',
danger: true,
--
Gitblit v1.9.3