From 77a9a64a410fa7b4f904c98c992edf3ec311a5bf Mon Sep 17 00:00:00 2001 From: Gsh <15170702455@163.com> Date: Wed, 31 Dec 2025 00:59:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E9=87=8D=E6=9E=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layouts/components/ChatAside/index.vue | 138 +----------------- .../Header/components/Collapse.vue | 38 ++--- .../Header/components/CreateChat.vue | 2 + .../pages/chat/layouts/chatDefaul/index.vue | 54 ++++++- .../pages/chat/layouts/chatWithId/index.vue | 62 ++++++-- Yi.Ai.Vue3/src/stores/modules/session.ts | 2 +- 6 files changed, 125 insertions(+), 171 deletions(-) diff --git a/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue b/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue index c0e8710d..90bc5731 100644 --- a/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue +++ b/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue @@ -124,141 +124,7 @@ function handleMenuCommand(command: string, item: ConversationItem) { - event.preventDefault(); - // 在折叠状态下触发删除确认 - ElMessageBox.confirm('删除后,聊天记录将不可恢复。', '确定删除对话?', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - confirmButtonClass: 'el-button--danger', - cancelButtonClass: 'el-button--info', - roundButton: true, - autofocus: false, - }) - .then(() => { - sessionStore.deleteSessions([item.id!]); - nextTick(() => { - if (item.id === active.value) { - sessionStore.createSessionBtn(); - } - }); - }) - .catch(() => { - // 取消删除 - }); -} - -// 折叠状态下点击更多按钮 -function handleCollapsedMenuClick(event: MouseEvent, item: ConversationItem) { - event.stopPropagation(); - - // 创建一个简单的菜单 - ElMessageBox({ - title: '对话操作', - message: ` -
- - -
- `, - showConfirmButton: false, - showCancelButton: false, - dangerouslyUseHTMLString: true, - customClass: 'collapsed-menu-dialog', - closeOnClickModal: true, - closeOnPressEscape: true, - }).then(() => { - // 对话框关闭 - }).catch(() => { - // 对话框关闭 - }); - - // 添加菜单项点击事件 - nextTick(() => { - const menuItems = document.querySelectorAll('.menu-item'); - menuItems.forEach((itemEl) => { - itemEl.addEventListener('click', (e) => { - const action = (e.currentTarget as HTMLElement).dataset.action; - if (action === 'delete') { - ElMessageBox.confirm('删除后,聊天记录将不可恢复。', '确定删除对话?', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - confirmButtonClass: 'el-button--danger', - cancelButtonClass: 'el-button--info', - roundButton: true, - autofocus: false, - }) - .then(() => { - sessionStore.deleteSessions([item.id!]); - nextTick(() => { - if (item.id === active.value) { - sessionStore.createSessionBtn(); - } - }); - }) - .catch(() => { - // 取消删除 - }); - } - else if (action === 'rename') { - ElMessageBox.prompt('', '编辑对话名称', { - confirmButtonText: '确定', - cancelButtonText: '取消', - inputErrorMessage: '请输入对话名称', - confirmButtonClass: 'el-button--primary', - cancelButtonClass: 'el-button--info', - roundButton: true, - inputValue: item.sessionTitle, - autofocus: false, - inputValidator: (value) => { - return !!value; - }, - }).then(({ value }) => { - sessionStore - .updateSession({ - id: item.id!, - sessionTitle: value, - sessionContent: item.sessionContent, - }) - .then(() => { - ElMessage({ - type: 'success', - message: '修改成功', - }); - nextTick(() => { - if (sessionStore.currentSession?.id === item.id) { - sessionStore.setCurrentSession({ - ...item, - sessionTitle: value, - }); - } - }); - }); - }); - } - - // 关闭菜单对话框 - document.querySelector('.collapsed-menu-dialog .el-message-box__headerbtn')?.dispatchEvent(new Event('click')); - }); - }); - }); + designStore.setIsCollapseConversationList(!designStore.isCollapseConversationList); } @@ -446,7 +312,7 @@ function handleCollapsedMenuClick(event: MouseEvent, item: ConversationItem diff --git a/Yi.Ai.Vue3/src/layouts/components0/Header/components/CreateChat.vue b/Yi.Ai.Vue3/src/layouts/components0/Header/components/CreateChat.vue index 5ec82222..9553e1bf 100644 --- a/Yi.Ai.Vue3/src/layouts/components0/Header/components/CreateChat.vue +++ b/Yi.Ai.Vue3/src/layouts/components0/Header/components/CreateChat.vue @@ -1,5 +1,7 @@