可信代码库-AI大模型批量收藏功能对接

This commit is contained in:
付民康
2025-06-09 18:31:15 +08:00
parent a60db08794
commit 2c3f0e54c8
2 changed files with 73 additions and 6 deletions

View File

@@ -61,7 +61,7 @@
class="jyh-table" class="jyh-table"
:data="collectionList" :data="collectionList"
row-key="conversationId" row-key="conversationId"
@check-change="handleCheckChange" @check-change="handleColCheckChange"
:pagination="false" :pagination="false"
:indent="32" :indent="32"
> >
@@ -97,6 +97,7 @@
<template #footer> <template #footer>
<div style="text-align: center; margin-bottom: 16px;"> <div style="text-align: center; margin-bottom: 16px;">
<d-button <d-button
v-if="selectTab==='dhls'"
variant="solid" variant="solid"
class="mr-8" class="mr-8"
@click="handleBatchDelete" @click="handleBatchDelete"
@@ -104,6 +105,15 @@
> >
删除所选 删除所选
</d-button> </d-button>
<d-button
v-else
variant="solid"
class="mr-8"
@click="handleBatchCollete"
:disabled="!colSelectedRowKeys.length"
>
取消收藏
</d-button>
<d-button @click="handleCancel">取消</d-button> <d-button @click="handleCancel">取消</d-button>
</div> </div>
</template> </template>
@@ -121,6 +131,19 @@
>你确认批量删除对话 </span >你确认批量删除对话 </span
> >
</GModal> </GModal>
<!-- 取消收藏组件 -->
<GModal
v-model="collteModels"
ref="collteModel"
title="取消收藏?"
@confirm="confirmCollete"
showWarnIcon
confirmColor="danger"
>
<span class="inline-block text-G900 text-sm font-normal leading-[20px] break-all"
>你确认取消收藏对话 </span
>
</GModal>
</d-modal> </d-modal>
</template> </template>
@@ -252,7 +275,6 @@ const handlePageSizeChange = async (size) => {
// 页码变化 // 页码变化
const handlePageChange = async (page) => { const handlePageChange = async (page) => {
debugger
let tabType = selectTab.value let tabType = selectTab.value
if (tabType === 'dhls') { if (tabType === 'dhls') {
dhlsPagination.value.page = page; dhlsPagination.value.page = page;
@@ -267,7 +289,6 @@ const handlePageChange = async (page) => {
const selectedRowKeys = ref([]); const selectedRowKeys = ref([]);
// 复选框选中状态变化 // 复选框选中状态变化
const handleCheckChange = (checked, row, selection) => { const handleCheckChange = (checked, row, selection) => {
debugger
selectedRowKeys.value = selection.map(i=> i.conversationId); 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) { if (!props.username) {
Message.error('请先登录'); Message.error('请先登录');
return; return;
@@ -305,7 +326,34 @@ const handleDelete = async (conversationIds, tabType) => {
Message.error('网络错误,请重试'); 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 deletevModels = ref(false);
// 批量删除 // 批量删除
const handleBatchDelete = () => { const handleBatchDelete = () => {
@@ -316,9 +364,28 @@ const handleBatchDelete = () => {
deletevModels.value = true deletevModels.value = true
}; };
const confirmDelete = async () => { 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 = () => { const handleCancel = () => {

View File

@@ -316,7 +316,7 @@ const confirmEdit = async (item) => {
newTitle: item.tempTitle 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.title = item.tempTitle; // 更新标题
item.isEditing = false; // 退出编辑状态 item.isEditing = false; // 退出编辑状态
Message.success('标题修改成功'); Message.success('标题修改成功');