From 945cf6c9509c82cc56c18d9c879e335a22361f7a Mon Sep 17 00:00:00 2001 From: "DESKTOP-72TV0V4\\caoxiaozhu" Date: Sat, 7 Mar 2026 10:33:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=A9=BA=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0DDL=E7=BC=96=E8=BE=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复无数据时重复显示空状态的问题 - 将DDL展示改为可编辑的textarea - 优化空状态UI样式和提示文案 Co-Authored-By: Claude Opus 4.6 --- web/src/assets/styles/index.css | 10 +++- web/src/views/Database.vue | 68 +++++++-------------------- web/src/views/database/database.css | 62 ++++++++++++++++++++++-- web/src/views/database/useDatabase.ts | 5 +- 4 files changed, 85 insertions(+), 60 deletions(-) diff --git a/web/src/assets/styles/index.css b/web/src/assets/styles/index.css index 08c883e..fcfef52 100644 --- a/web/src/assets/styles/index.css +++ b/web/src/assets/styles/index.css @@ -286,8 +286,14 @@ html.dark .el-select-dropdown__item.is-selected { /* el-checkbox */ html.dark .el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #ffb700; - border-color: #ffb700; + background-color: transparent; + border-color: #ff9500; +} + +html.dark .el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner::after { + border-color: #ff9500 !important; + width: 4px; + height: 8px; } html.dark .el-checkbox .el-checkbox__label { diff --git a/web/src/views/Database.vue b/web/src/views/Database.vue index de5e5e0..d11ef2a 100644 --- a/web/src/views/Database.vue +++ b/web/src/views/Database.vue @@ -85,7 +85,7 @@ const {

Loading...

- +
@@ -142,9 +142,12 @@ const {
Database Name
-
- -

No databases found

+
+
+ +
+

No databases found

+

Click "New Connection" to add a database

@@ -516,11 +519,11 @@ const { - + diff --git a/web/src/views/database/database.css b/web/src/views/database/database.css index 2a1ed25..fde1b9b 100644 --- a/web/src/views/database/database.css +++ b/web/src/views/database/database.css @@ -30,13 +30,69 @@ @apply border-b border-dark-600 hover:bg-dark-600/50 transition-colors; } -/* 空状态 */ +/* 空状态(已不使用) */ .empty-state { - @apply py-16 text-center text-gray-500; + @apply py-16 text-center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +/* 自定义空状态盒子 */ +.empty-box { + min-height: 340px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.empty-icon { + width: 100px; + height: 100px; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(135deg, #1f2937, #111827); + border-radius: 24px; + margin-bottom: 20px; +} + +.empty-icon i { + font-size: 40px; + color: #6b7280; +} + +.empty-text { + color: #d1d5db; + font-size: 1.25rem; + font-weight: 500; + margin-bottom: 8px; +} + +.empty-tip { + color: #6b7280; + font-size: 0.875rem; } .empty-state-icon { - @apply text-4xl mb-4 block; + font-size: 3rem; + margin-bottom: 1rem; + display: block; + color: #4b5563; +} + +.empty-state-title { + color: #d1d5db; + font-size: 1.25rem; + font-weight: 500; +} + +.empty-state-hint { + color: #6b7280; + font-size: 0.875rem; + margin-top: 0.5rem; } /* 表格复选框 */ diff --git a/web/src/views/database/useDatabase.ts b/web/src/views/database/useDatabase.ts index e0283c4..295890d 100644 --- a/web/src/views/database/useDatabase.ts +++ b/web/src/views/database/useDatabase.ts @@ -482,10 +482,7 @@ export function useDatabase() { parent_table: table.name, sub_table_name: table.table_comment || table.name, sub_table_comment: table.table_comment || '', - fields: (table.columns || []).map(col => ({ - column_name: col.name, - mapped_name: col.mapped_name || '', - })), + ddl: table.ddl || '', })) try {