From 729d2fe6b3c0a9153da9b18e7b71b9ae78f7b273 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sun, 25 Jan 2026 23:00:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E6=BB=91=E5=8A=A8=E8=BF=87=E6=B8=A1=E6=95=88=E6=9E=9C=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE=E5=BA=93=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E8=B0=83=E6=95=B4=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/AgentChatComponent.vue | 36 +++++++++++++++----- web/src/components/MessageInputComponent.vue | 1 - web/src/components/RAGEvaluationTab.vue | 4 +-- web/src/stores/database.js | 12 +++++-- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/web/src/components/AgentChatComponent.vue b/web/src/components/AgentChatComponent.vue index af344c95..3504096c 100644 --- a/web/src/components/AgentChatComponent.vue +++ b/web/src/components/AgentChatComponent.vue @@ -166,14 +166,16 @@ -
- -
+ +
+ +
+
@@ -1146,6 +1148,7 @@ watch( flex-direction: column; overflow-y: auto; /* Scroll is here now */ position: relative; + transition: flex 0.4s ease; } .agent-panel-wrapper { @@ -1161,6 +1164,23 @@ watch( border: 1px solid var(--gray-200); } +/* Workbench transition animations */ +.panel-slide-enter-active, +.panel-slide-leave-active { + transition: + transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), + opacity 0.3s ease, + flex 0.4s ease; +} + +.panel-slide-enter-from, +.panel-slide-leave-to { + transform: translateX(30px) scale(0.98); + opacity: 0; + flex: 0 0 0; /* Shrink to zero width during transition */ + margin-left: -16px; /* Compensate for margin during close */ +} + .chat-examples { padding: 0 50px; text-align: center; diff --git a/web/src/components/MessageInputComponent.vue b/web/src/components/MessageInputComponent.vue index b88d46dd..d7aa55bf 100644 --- a/web/src/components/MessageInputComponent.vue +++ b/web/src/components/MessageInputComponent.vue @@ -327,7 +327,6 @@ defineExpose({ justify-self: start; display: flex; align-items: center; - margin-right: 8px; gap: 8px; } diff --git a/web/src/components/RAGEvaluationTab.vue b/web/src/components/RAGEvaluationTab.vue index 518fd369..5b2d652b 100644 --- a/web/src/components/RAGEvaluationTab.vue +++ b/web/src/components/RAGEvaluationTab.vue @@ -62,7 +62,7 @@ { } }) } - await getDatabaseInfo(undefined, true) // Skip query params when adding files + await delayedRefresh() // 延迟1秒后刷新 return true // Indicate success } else { message.error(data.message || '处理失败') @@ -357,7 +357,7 @@ export const useDatabaseStore = defineStore('database', () => { payload: { db_id: databaseId.value, count: fileIds.length } }) } - await getDatabaseInfo(undefined, true) + await delayedRefresh() // 延迟1秒后刷新 return true } else { message.error(data.message || '提交失败') @@ -389,7 +389,7 @@ export const useDatabaseStore = defineStore('database', () => { payload: { db_id: databaseId.value, count: fileIds.length } }) } - await getDatabaseInfo(undefined, true) + await delayedRefresh() // 延迟1秒后刷新 return true } else { message.error(data.message || '提交失败') @@ -482,6 +482,12 @@ export const useDatabaseStore = defineStore('database', () => { } } + // 延时刷新文件理解(延迟1秒后刷新) + async function delayedRefresh() { + await new Promise((resolve) => setTimeout(resolve, 1000)) + await getDatabaseInfo(undefined, true) + } + function toggleAutoRefresh() { const nextState = !state.autoRefresh state.autoRefresh = nextState