From 2e949e1e25db238f021ba6c1f033b79b1a13af69 Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期二, 26 十一月 2024 11:42:11 +0800
Subject: [PATCH] 联调聊天记录重命名

---
 src/layout/component/sidebar/components/ChatRecord.vue |   93 +++++++++++++++++++++++++++-------------------
 1 files changed, 55 insertions(+), 38 deletions(-)

diff --git a/src/layout/component/sidebar/components/ChatRecord.vue b/src/layout/component/sidebar/components/ChatRecord.vue
index 6204a7f..644f548 100644
--- a/src/layout/component/sidebar/components/ChatRecord.vue
+++ b/src/layout/component/sidebar/components/ChatRecord.vue
@@ -49,8 +49,7 @@
 					<div class="ywifont ywicon-xiaoxi1 flex-0 mr-2.5"></div>
 					<div class="flex-auto text-ellipsis text-nowrap text-sm group-hover:text-[#0084ff]">{{ item.title }}</div>
 					<div class="text-gray-100 flex items-center space-x-2 ml-1">
-						<!-- <div class="ywifont invisible ywicon-bianji group-hover:visible !text-sm"></div> -->
-
+						<div class="ywifont invisible ywicon-bianji group-hover:visible !text-sm" @click.stop="editChat(item)"></div>
 						<el-popconfirm title="纭畾鍒犻櫎鑱婂ぉ璁板綍?" @confirm.stop="confirmDeleteChatRoom(item)" width="180">
 							<template #reference>
 								<div class="ywifont invisible ywicon-shanchu3 group-hover:visible"></div>
@@ -65,23 +64,19 @@
 
 <script setup lang="ts">
 import { Search } from '@element-plus/icons-vue';
-import { computed, onMounted, onUnmounted, reactive, ref, watch } from 'vue';
-import type { ChatRoomItem } from './types';
-import { CreateHistoryGroup, DeleteHistoryGroups, GetHistoryGroups } from '/@/api/ai/chat';
-import router from '/@/router';
-import { activeChatRoom, activeRoomId, chatRoomList, gotoAnswerPage, newChatRoomClick } from '/@/stores/chatRoom';
-import { DateFilter, dateFilterMap } from '/@/model/types/date';
-import { debounce, getRecentDateRange } from '/@/utils/util';
+import { ElMessage, ElMessageBox } from 'element-plus';
 import moment from 'moment';
+import { computed, onMounted, ref, watch } from 'vue';
+import type { ChatRoomItem } from './types';
+import { DeleteHistoryGroups, setHistoryGroupTitle } from '/@/api/ai/chat';
 import { useSearch } from '/@/hooks/useSearch';
-import { gotoRoute } from '/@/utils/route';
-import emitter from '/@/utils/mitt';
-
+import { DateFilter, dateFilterMap } from '/@/model/types/date';
+import { activeRoomId, chatRoomList, gotoAnswerPage, newChatRoomClick } from '/@/stores/chatRoom';
+import { debounce, getRecentDateRange } from '/@/utils/util';
 const chatRoomRef = ref<HTMLDivElement>(null);
 const queryParams = ref({
 	title: '',
 });
-
 
 const roomClick = (room: ChatRoomItem) => {
 	activeRoomId.value = room.id;
@@ -103,7 +98,32 @@
 	roomClick(chatRoomList.value[0]);
 	chatRoomRef.value.firstElementChild?.scrollIntoView();
 };
-
+const editChat = (room: ChatRoomItem) => {
+	ElMessageBox.prompt('', '閲嶅懡鍚�', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/,
+		inputValue: room.title,
+		inputErrorMessage: '璇疯緭鍏ユ柊鐨勫悕绉�',
+	})
+		.then(async (edit) => {
+			const res = await setHistoryGroupTitle({
+				history_group_id: room.id,
+				title: edit.value,
+			});
+			if (res.json_ok) {
+				const foundIndex = chatRoomList.value.findIndex((item) => item.id === activeRoomId.value);
+				chatRoomList.value[foundIndex].title = edit.value;
+				chatRoomRef.value.firstElementChild?.scrollIntoView();
+			}
+		})
+		.catch(({ value }) => {
+			ElMessage({
+				type: 'info',
+				message: '鍙栨秷淇敼',
+			});
+		});
+};
 //#region ====================== 鏃ユ湡绛涢�� ======================
 
 const activeDateFilter = ref<DateFilter>(DateFilter.All);
@@ -150,31 +170,28 @@
 //#endregion
 
 onMounted(async () => {
-	const res = await GetHistoryGroups();
-
-	const resData = (res?.groups || []) as any[];
-	// 鎸夋渶鏅氭椂闂村埌鏈�鏃╂椂闂�
-	chatRoomList.value = resData
-		?.toSorted((a, b) => {
-			return b.create_time.localeCompare(a.create_time);
-		})
-		.map((item) => {
-			return {
-				id: item.group_id,
-				title: item.group_title,
-				createTime: item.create_time,
-				isInitial: Number(item.chat_count) === 0,
-			};
-		});
-	if (!chatRoomList.value || chatRoomList.value.length === 0) {
-		newChatRoomClick();
-	} else {
-		const toClickRoom = activeChatRoom.value ?? chatRoomList.value[0];
-		roomClick(toClickRoom);
-	}
+	// const res = await GetHistoryGroups();
+	// const resData = (res?.groups || []) as any[];
+	// // 鎸夋渶鏅氭椂闂村埌鏈�鏃╂椂闂�
+	// chatRoomList.value = resData
+	// 	?.toSorted((a, b) => {
+	// 		return b.create_time.localeCompare(a.create_time);
+	// 	})
+	// 	.map((item) => {
+	// 		return {
+	// 			id: item.group_id,
+	// 			title: item.group_title,
+	// 			createTime: item.create_time,
+	// 			isInitial: Number(item.chat_count) === 0,
+	// 		};
+	// 	});
+	// if (!chatRoomList.value || chatRoomList.value.length === 0) {
+	// 	newChatRoomClick();
+	// } else {
+	// 	const toClickRoom = activeChatRoom.value ?? chatRoomList.value[0];
+	// 	roomClick(toClickRoom);
+	// }
 });
-
-
 </script>
 <style scoped lang="scss">
 .set-input {

--
Gitblit v1.9.3