可信代码库-AI大模型编辑对话功能开发
This commit is contained in:
@@ -415,6 +415,7 @@
|
||||
.card-actions {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
align-items: center;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,19 +25,41 @@
|
||||
>
|
||||
<!-- 卡片标题 -->
|
||||
<div class="card-header">
|
||||
<h4>{{ item.title }}</h4>
|
||||
<!-- 悬停操作按钮 -->
|
||||
<!-- <div class="card-actions" v-show="hoverIndex === index">-->
|
||||
<!-- <d-tooltip content="编辑">-->
|
||||
<!-- <d-icon style="font-size: 14px;margin-right: 2px" @click.stop="handleEdit(item)" name="icon-edit-3"></d-icon>-->
|
||||
<!-- </d-tooltip>-->
|
||||
<!-- <d-tooltip content="分享">-->
|
||||
<!-- <d-icon style="font-size: 14px;margin-right: 2px" @click.stop="handleShare(item)" name="icon-redo-new"></d-icon>-->
|
||||
<!-- </d-tooltip>-->
|
||||
<!-- <d-tooltip content="更多">-->
|
||||
<!-- <d-icon style="font-size: 14px;" @click.stop="handleMore(item)" name="icon-more-operate"></d-icon>-->
|
||||
<!-- </d-tooltip>-->
|
||||
<!-- </div>-->
|
||||
<!-- 编辑状态切换 -->
|
||||
<template v-if="item.isEditing">
|
||||
<!-- <d-input v-model="item.tempTitle" @blur="cancelEdit(item)" @keypress.enter="confirmEdit(item)" autofocus class="edit-input" />-->
|
||||
<d-input v-model="item.tempTitle" autofocus class="edit-input" />
|
||||
<div class="card-actions">
|
||||
<d-icon
|
||||
name="icon-right"
|
||||
style="font-size: 14px;"
|
||||
@click="confirmEdit(item)"
|
||||
/>
|
||||
<d-icon
|
||||
name="icon-error"
|
||||
style="font-size: 14px;"
|
||||
@click="cancelEdit(item)"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<h4 @dblclick="startEdit(item)">{{ item.title }}</h4>
|
||||
<div class="card-actions" v-show="hoverIndex === index">
|
||||
<d-tooltip content="编辑">
|
||||
<d-icon
|
||||
style="font-size: 14px; margin-right: 2px;"
|
||||
@click.stop="startEdit(item)"
|
||||
name="icon-edit-3"
|
||||
/>
|
||||
</d-tooltip>
|
||||
<d-tooltip content="分享">
|
||||
<d-icon style="font-size: 14px;margin-right: 2px" @click.stop="handleShare(item)" name="icon-redo-new"></d-icon>
|
||||
</d-tooltip>
|
||||
<d-tooltip content="更多">
|
||||
<d-icon style="font-size: 14px;" @click.stop="handleMore(item)" name="icon-more-operate"></d-icon>
|
||||
</d-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<!-- 卡片内容 -->
|
||||
<div class="card-content">
|
||||
@@ -263,11 +285,6 @@ const openBatchManageModal = () => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleEdit = (item) => {
|
||||
console.log('编辑:', item);
|
||||
// 这里添加编辑逻辑
|
||||
};
|
||||
|
||||
const handleShare = (item) => {
|
||||
console.log('分享:', item);
|
||||
// 这里添加分享逻辑
|
||||
@@ -277,6 +294,47 @@ const handleMore = (item) => {
|
||||
// 这里添加分享逻辑
|
||||
};
|
||||
|
||||
// 开始编辑
|
||||
const startEdit = (item) => {
|
||||
item.isEditing = true;
|
||||
item.tempTitle = item.title; // 保存临时标题
|
||||
};
|
||||
|
||||
// 确认编辑
|
||||
const confirmEdit = async (item) => {
|
||||
debugger
|
||||
if (!item.tempTitle.trim()) {
|
||||
Message.error('标题不能为空');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const res = await axios.post(`${VITE_AI_API_HOST}/api/changeConversationTitle`, {
|
||||
conversationId: item.conversationId,
|
||||
newTitle: item.tempTitle
|
||||
});
|
||||
|
||||
if (res.data.code === 20000) {
|
||||
item.title = item.tempTitle; // 更新标题
|
||||
item.isEditing = false; // 退出编辑状态
|
||||
Message.success('标题修改成功');
|
||||
} else {
|
||||
Message.error(res.data.message || '修改失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('编辑失败:', error);
|
||||
Message.error('网络请求失败,请重试');
|
||||
item.tempTitle = item.title; // 回滚临时标题
|
||||
}
|
||||
};
|
||||
|
||||
// 取消编辑
|
||||
const cancelEdit = (item) => {
|
||||
debugger
|
||||
item.isEditing = false;
|
||||
item.tempTitle = item.title; // 恢复原始标题
|
||||
};
|
||||
|
||||
// 模拟数据
|
||||
const cardList = ref([
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user