From 219e4f7eff8cb870be0239374b97052638dcd81a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AD=90=E9=BB=98?= <925456043@qq.com> Date: Mon, 3 Aug 2026 11:39:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=AD=E6=9E=A2=20Excel=20=E8=BF=9E=E6=8E=A5=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在新增连接中完成 Excel 上传并自动填写连接名称 - 限制上传格式并提供空表和无表头错误反馈 - 移除旧导入入口和无效测试连接操作 --- .../views/datacenter/DatacenterWorkspace.vue | 224 ++---------------- .../components/SourceFormDrawer.vue | 178 +++++++++++++- .../datacenter/components/TableDetailView.vue | 2 +- .../datacenter-excel-upload.test.ts | 22 ++ .../composables/datacenter-excel-upload.ts | 22 ++ .../datacenter/composables/datacenter-id.ts | 4 + .../composables/use-connection-tree.ts | 4 +- .../composables/use-datacenter-sources.ts | 35 ++- .../composables/use-datacenter-tables.ts | 29 ++- .../datacenter/composables/use-source-form.ts | 9 +- .../src/ui/form-modal/form-modal.vue | 5 +- 11 files changed, 301 insertions(+), 233 deletions(-) create mode 100644 easyflow-ui-admin/app/src/views/datacenter/composables/datacenter-excel-upload.test.ts create mode 100644 easyflow-ui-admin/app/src/views/datacenter/composables/datacenter-excel-upload.ts create mode 100644 easyflow-ui-admin/app/src/views/datacenter/composables/datacenter-id.ts diff --git a/easyflow-ui-admin/app/src/views/datacenter/DatacenterWorkspace.vue b/easyflow-ui-admin/app/src/views/datacenter/DatacenterWorkspace.vue index 9a073256..23603ddc 100644 --- a/easyflow-ui-admin/app/src/views/datacenter/DatacenterWorkspace.vue +++ b/easyflow-ui-admin/app/src/views/datacenter/DatacenterWorkspace.vue @@ -1,37 +1,26 @@ @@ -125,6 +198,7 @@ defineExpose({ close, open, setTestResult }); :open="visible" :title="modalTitle" :before-close="handleBeforeClose" + :confirm-disabled="confirmDisabled" :confirm-loading="saving" confirm-text="保存" :submitting="saving" @@ -141,13 +215,19 @@ defineExpose({ close, open, setTestResult }); >