可信代码库-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"
:data="collectionList"
row-key="conversationId"
@check-change="handleCheckChange"
@check-change="handleColCheckChange"
:pagination="false"
:indent="32"
>
@@ -97,6 +97,7 @@
<template #footer>
<div style="text-align: center; margin-bottom: 16px;">
<d-button
v-if="selectTab==='dhls'"
variant="solid"
class="mr-8"
@click="handleBatchDelete"
@@ -104,6 +105,15 @@
>
删除所选
</d-button>
<d-button
v-else
variant="solid"
class="mr-8"
@click="handleBatchCollete"
:disabled="!colSelectedRowKeys.length"
>
取消收藏
</d-button>
<d-button @click="handleCancel">取消</d-button>
</div>
</template>
@@ -121,6 +131,19 @@
>你确认批量删除对话 </span
>
</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>
</template>
@@ -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 = () => {

View File

@@ -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('标题修改成功');