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