From fc9588232496a15bc0ee754d0d3ffe54103928e0 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期三, 21 八月 2024 18:29:30 +0800
Subject: [PATCH] 修改设计

---
 src/components/chat/Chat.vue |   22 ++++++----------------
 1 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/src/components/chat/Chat.vue b/src/components/chat/Chat.vue
index 009de90..0b172f2 100644
--- a/src/components/chat/Chat.vue
+++ b/src/components/chat/Chat.vue
@@ -119,7 +119,7 @@
 									</div>
 								</div>
 
-								<Loding v-else class="w-fit" :process="process" />
+								<Loding v-if="isTalking && index === messageList.length - 1" class="w-fit" :process="process" />
 							</div>
 						</div>
 					</div>
@@ -186,18 +186,7 @@
 const chatListDom = ref<HTMLDivElement>();
 const messageList = ref<ChatMessage[]>([]);
 const computedMessageList = computed(() => {
-
-
-
-	for (let index = 0; index < messageList.value.length; index++) {
-		const item = messageList.value[index];
-		if(item.role===RoleEnum.assistant){
-			continue
-		}
-		item.content.values = messageList.value[index+1]?.content?.origin?.question;
-	}
-	const filterList =  messageList.value.filter((v) => !!v);
-	return filterList;
+	return messageList.value.filter((v) => !!v);
 });
 
 const parseContent = (res) => {
@@ -332,7 +321,7 @@
 };
 
 const sendChatMessage = async (content: ChatContent = messageContent.value, cb?: any, isCallExtParams?: any) => {
-	if (!content?.values) return;
+	if (!content?.values || isTalking.value) return;
 	const isNewChat = messageList.value.length === 0;
 	if (isNewChat) {
 		if (activeSampleId.value) {
@@ -375,6 +364,7 @@
 			cb?.(resMsgContent);
 		}
 		userItem.historyId = questionRes.history_id;
+		userItem.content.values = questionRes?.question ?? userItem.content.values;
 		assistantItem.historyId = questionRes.history_id;
 		appendLastMessageContent(resMsgContent);
 	} catch (error: any) {
@@ -415,9 +405,10 @@
 	currentSampleId = res?.details?.[0]?.sample_id;
 	const resList = await Promise.all((res.details ?? []).map((item) => getAnswerById(item.history_id)));
 	let i = 0;
-
 	resList.map((item, index) => {
 		const insertIndex = index + 1 + i;
+		const userMsg = messageList.value[insertIndex - 1];
+		userMsg.content.values = item?.answer?.question ??userMsg.content.values;
 		messageList.value.splice(
 			insertIndex,
 			0,
@@ -432,7 +423,6 @@
 		);
 		i++;
 	});
-
 
 	if (messageList.value.length === 0) {
 		messageContent.value = {

--
Gitblit v1.9.3