可信代码库-AI大模型编辑对话功能开发
This commit is contained in:
@@ -415,6 +415,7 @@
|
|||||||
.card-actions {
|
.card-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
align-items: center;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,19 +25,41 @@
|
|||||||
>
|
>
|
||||||
<!-- 卡片标题 -->
|
<!-- 卡片标题 -->
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h4>{{ item.title }}</h4>
|
<!-- 编辑状态切换 -->
|
||||||
<!-- 悬停操作按钮 -->
|
<template v-if="item.isEditing">
|
||||||
<!-- <div class="card-actions" v-show="hoverIndex === index">-->
|
<!-- <d-input v-model="item.tempTitle" @blur="cancelEdit(item)" @keypress.enter="confirmEdit(item)" autofocus class="edit-input" />-->
|
||||||
<!-- <d-tooltip content="编辑">-->
|
<d-input v-model="item.tempTitle" autofocus class="edit-input" />
|
||||||
<!-- <d-icon style="font-size: 14px;margin-right: 2px" @click.stop="handleEdit(item)" name="icon-edit-3"></d-icon>-->
|
<div class="card-actions">
|
||||||
<!-- </d-tooltip>-->
|
<d-icon
|
||||||
<!-- <d-tooltip content="分享">-->
|
name="icon-right"
|
||||||
<!-- <d-icon style="font-size: 14px;margin-right: 2px" @click.stop="handleShare(item)" name="icon-redo-new"></d-icon>-->
|
style="font-size: 14px;"
|
||||||
<!-- </d-tooltip>-->
|
@click="confirmEdit(item)"
|
||||||
<!-- <d-tooltip content="更多">-->
|
/>
|
||||||
<!-- <d-icon style="font-size: 14px;" @click.stop="handleMore(item)" name="icon-more-operate"></d-icon>-->
|
<d-icon
|
||||||
<!-- </d-tooltip>-->
|
name="icon-error"
|
||||||
<!-- </div>-->
|
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>
|
||||||
<!-- 卡片内容 -->
|
<!-- 卡片内容 -->
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
@@ -263,11 +285,6 @@ const openBatchManageModal = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleEdit = (item) => {
|
|
||||||
console.log('编辑:', item);
|
|
||||||
// 这里添加编辑逻辑
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleShare = (item) => {
|
const handleShare = (item) => {
|
||||||
console.log('分享:', 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([
|
const cardList = ref([
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user