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/infra/dataSourceConfig/index.vue |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/views/infra/dataSourceConfig/index.vue b/src/views/infra/dataSourceConfig/index.vue
index f6c45e8..c1e4ecc 100644
--- a/src/views/infra/dataSourceConfig/index.vue
+++ b/src/views/infra/dataSourceConfig/index.vue
@@ -14,8 +14,12 @@
   deleteDataSourceConfig,
   deleteDataSourceConfigList,
   getDataSourceConfigList,
+  importDataSourceConfig,
+  importDataSourceConfigTemplate,
 } from '#/api/infra/data-source-config';
 import { $t } from '#/locales';
+
+import ImportModalComponent from '#/components/import-modal';
 
 import { useGridColumns } from './data';
 import Form from './modules/form.vue';
@@ -25,9 +29,26 @@
   destroyOnClose: true,
 });
 
+const [ImportModal, importModalApi] = useVbenModal({
+  connectedComponent: ImportModalComponent,
+  destroyOnClose: true,
+});
+
 /** 鍒锋柊琛ㄦ牸 */
 function handleRefresh() {
   gridApi.query();
+}
+
+/** 瀵煎叆鏁版嵁婧� */
+function handleImport() {
+  importModalApi
+    .setData({
+      title: $t('ui.actionTitle.import', ['鏁版嵁婧�']),
+      fileName: '鏁版嵁婧愰厤缃鍏ユā鏉�.xls',
+      importFn: importDataSourceConfig,
+      templateFn: importDataSourceConfigTemplate,
+    })
+    .open();
 }
 
 /** 鍒涘缓鏁版嵁婧� */
@@ -110,6 +131,7 @@
 <template>
   <Page auto-content-height>
     <FormModal @success="handleRefresh" />
+    <ImportModal @success="handleRefresh" />
     <Grid table-title="鏁版嵁婧愬垪琛�">
       <template #toolbar-tools>
         <TableAction
@@ -122,6 +144,13 @@
               onClick: handleCreate,
             },
             {
+              label: $t('ui.actionTitle.import', ['鏁版嵁婧�']),
+              type: 'primary',
+              icon: ACTION_ICON.UPLOAD,
+              auth: ['infra:data-source-config:import'],
+              onClick: handleImport,
+            },
+            {
               label: $t('ui.actionTitle.deleteBatch'),
               type: 'primary',
               danger: true,

--
Gitblit v1.9.3