From 2c3f0e54c80f7a1015f94c6314653a682e7e966c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=98=E6=B0=91=E5=BA=B7?= Date: Mon, 9 Jun 2025 18:31:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BF=A1=E4=BB=A3=E7=A0=81=E5=BA=93-A?= =?UTF-8?q?I=E5=A4=A7=E6=A8=A1=E5=9E=8B=E6=89=B9=E9=87=8F=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E5=8A=9F=E8=83=BD=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewHistoryAside/BatchManageModal.vue | 77 +++++++++++++++++-- .../ViewHistoryAside/ViewHistoryAside.vue | 2 +- 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/src/views/Jyh/AI/Home/components/ViewHistoryAside/BatchManageModal.vue b/src/views/Jyh/AI/Home/components/ViewHistoryAside/BatchManageModal.vue index 88c3181..ec6ae0a 100644 --- a/src/views/Jyh/AI/Home/components/ViewHistoryAside/BatchManageModal.vue +++ b/src/views/Jyh/AI/Home/components/ViewHistoryAside/BatchManageModal.vue @@ -61,7 +61,7 @@ class="jyh-table" :data="collectionList" row-key="conversationId" - @check-change="handleCheckChange" + @check-change="handleColCheckChange" :pagination="false" :indent="32" > @@ -97,6 +97,7 @@ @@ -121,6 +131,19 @@ >你确认批量删除对话 ? + + + 你确认取消收藏对话 ? + @@ -252,7 +275,6 @@ const handlePageSizeChange = async (size) => { // 页码变化 const handlePageChange = async (page) => { - debugger let tabType = selectTab.value if (tabType === 'dhls') { dhlsPagination.value.page = page; @@ -267,7 +289,6 @@ const handlePageChange = async (page) => { const selectedRowKeys = ref([]); // 复选框选中状态变化 const handleCheckChange = (checked, row, selection) => { - debugger selectedRowKeys.value = selection.map(i=> i.conversationId); }; @@ -277,7 +298,7 @@ const initData = async () => { } // 删除对话 -const handleDelete = async (conversationIds, tabType) => { +const handleDelete = async (conversationIds) => { if (!props.username) { Message.error('请先登录'); return; @@ -305,7 +326,34 @@ const handleDelete = async (conversationIds, tabType) => { Message.error('网络错误,请重试'); } }; +// 取消收藏对话 +const toggleCollect = async (conversationIds) => { + if (!props.username) { + return Message.error('请先登录'); + } + try { + const res = await axios.post(`${VITE_AI_API_HOST}/api/toggleConversationCollect`, { + userId: props.username, + conversationIdList: conversationIds + }); + + if (res.data.code === 20000) { + Message.success(res.data.message || '取消收藏成功'); + // 刷新当前标签页的数据 + initData() + selectedRowKeys.value = []; // 清空选中项 + emits('loadData') + } else { + Message.error(res.data.message || '取消收藏失败'); + } + } catch (error) { + console.error('收藏操作失败:', error); + Message.error('网络请求失败,请重试'); + } +}; + +// 批量删除弹框 const deletevModels = ref(false); // 批量删除 const handleBatchDelete = () => { @@ -316,9 +364,28 @@ const handleBatchDelete = () => { deletevModels.value = true }; const confirmDelete = async () => { - await handleDelete(selectedRowKeys.value, selectTab.value === 'dhls' ? 'history' : 'collection'); + await handleDelete(selectedRowKeys.value); }; +// 收藏选中的行ID +const colSelectedRowKeys = ref([]); +// 收藏复选框选中状态变化 +const handleColCheckChange = (checked, row, selection) => { + colSelectedRowKeys.value = selection.map(i=> i.conversationId); +}; +// 取消收藏弹框 +const collteModels = ref(false); +// 批量删除 +const handleBatchCollete = () => { + if (!colSelectedRowKeys.value.length) { + Message.warning('请先选择要删除的对话'); + return; + } + collteModels.value = true +}; +const confirmCollete = async () => { + await toggleCollect(selectedRowKeys.value); +}; // 关闭模态框 const handleCancel = () => { diff --git a/src/views/Jyh/AI/Home/components/ViewHistoryAside/ViewHistoryAside.vue b/src/views/Jyh/AI/Home/components/ViewHistoryAside/ViewHistoryAside.vue index b3b557d..022f1a7 100644 --- a/src/views/Jyh/AI/Home/components/ViewHistoryAside/ViewHistoryAside.vue +++ b/src/views/Jyh/AI/Home/components/ViewHistoryAside/ViewHistoryAside.vue @@ -316,7 +316,7 @@ const confirmEdit = async (item) => { newTitle: item.tempTitle }); - if (res.data.code === 20000 ||res.data.code === 20001) { + if (res.data.code === 20000 ||res.data.code === 20001||res.data.code === 200) { item.title = item.tempTitle; // 更新标题 item.isEditing = false; // 退出编辑状态 Message.success('标题修改成功');