From 990cdf695852ef8eb6a257739dca83efc5cfefec Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期二, 05 十一月 2024 09:30:05 +0800
Subject: [PATCH] 用户询问的问题设置为常用语

---
 src/components/chat/Chat.vue |   71 +++++++++++++++++++++++++++--------
 1 files changed, 54 insertions(+), 17 deletions(-)

diff --git a/src/components/chat/Chat.vue b/src/components/chat/Chat.vue
index bd4abd2..e0cbd44 100644
--- a/src/components/chat/Chat.vue
+++ b/src/components/chat/Chat.vue
@@ -83,7 +83,6 @@
 											</div>
 											<template v-else>
 												<component :is="answerTypeMapCom[item.content.type]" :data="item.content.values" :originData="item" />
-
 												<div
 													v-if="item.role === RoleEnum.assistant && item.content.origin?.ext_call_list"
 													class="flex font-bold items-center mt-6"
@@ -103,8 +102,24 @@
 											</template>
 										</template>
 									</div>
-
 									<!-- 鎿嶄綔 -->
+									<div
+										v-if="item.role === RoleEnum.user && item.content?.values"
+										class="absolute flex items-center right-0 mr-4 space-x-2"
+									>
+										<div class="flex items-center justify-center size-[20px]">
+											<i
+												class="p-2 ywifont ywicon-copy cursor-pointer hover:text-[#0284ff] font-medium !text-[15px] hover:!text-[18px]"
+												@click="copyUserClick(item)"
+											/>
+										</div>
+										<div class="flex items-center justify-center size-[20px]">
+											<i
+												class="p-2 ywifont ywicon-cubelifangti cursor-pointer hover:text-[#0284ff] text-[#000] font-[590] !text-[15px] hover:!text-[18px]"
+												@click="setCommonQuestionClick(item)"
+											/>
+										</div>
+									</div>
 									<div
 										v-if="item.role === RoleEnum.assistant && item.content?.values"
 										class="absolute flex items-center right-0 mr-4 mt-2 space-x-2"
@@ -189,10 +204,10 @@
 					@showUpChatClick="showUpChatClick"
 					@showDownChatClick="showDownChatClick"
 					:style="{ width: chatWidth }"
+					:setCommonQuestionInfo="setCommonQuestionInfo"
 				></PlayBar>
 			</div>
 		</div>
-
 		<CustomDrawer v-model:isShow="drawerIsShow" @updateChatInput="updateChatInput" />
 	</div>
 </template>
@@ -200,24 +215,17 @@
 <script setup lang="ts">
 import _ from 'lodash';
 import moment from 'moment';
-import { computed, onMounted, ref, triggerRef } from 'vue';
+import { v4 as uuidv4 } from 'uuid';
+import { computed, onMounted, ref } from 'vue';
 import FeedbackPanel from './components/FeedbackPanel.vue';
+import Loding from './components/Loding.vue';
 import { useAssistantContentOpt } from './hooks/useAssistantContentOpt';
 import { useQueryProcess } from './hooks/useQueryProcess';
 import { convertProcessItem, useScrollLoad } from './hooks/useScrollLoad';
 import { useScrollToBottom } from './hooks/useScrollToBottom';
 import type { ChatContent, StepItem } from './model/types';
-import {
-	AnswerState,
-	AnswerType,
-	RoleEnum,
-	answerTypeMapCom,
-	roleImageMap,
-	type ChatMessage,
-	StepEnum,
-	stepEnumMap,
-} from './model/types';
-import { extCallQuery, questionStreamByPost } from '/@/api/ai/chat';
+import { AnswerState, AnswerType, RoleEnum, answerTypeMapCom, roleImageMap, type ChatMessage, stepEnumMap } from './model/types';
+import { QuestionAi, extCallQuery, questionStreamByPost } from '/@/api/ai/chat';
 import PlayBar from '/@/components/chat/components/playBar/PlayBar.vue';
 import CustomDrawer from '/@/components/drawer/CustomDrawer.vue';
 import router from '/@/router';
@@ -231,9 +239,7 @@
 	getRoomConfig,
 	roomConfig,
 } from '/@/stores/chatRoom';
-import { deepClone } from '/@/utils/other';
 import { ErrorCode } from '/@/utils/request';
-
 const chatWidth = '75%';
 const voicePageIsShow = ref(false);
 let isTalking = ref(false);
@@ -617,6 +623,15 @@
 	messageContent.value.values = content;
 };
 //#endregion
+//#region ====================== 鐢ㄦ埛璇㈤棶鐨勯棶棰樿缃负甯哥敤璇� ======================
+const setCommonQuestionInfo = ref({});
+//鐢ㄦ埛澶嶅埗闂
+const copyUserClick = () => {};
+//鐢ㄦ埛闂璁剧疆涓哄父鐢ㄨ
+const setCommonQuestionClick = (item) => {
+	setCommonQuestionInfo.value = item;
+};
+//#endregion
 </script>
 
 <style scoped lang="scss">
@@ -649,4 +664,26 @@
 :deep(.el-step__description) {
 	height: 20px;
 }
+.action {
+	left: 0;
+	padding: 4px;
+	gap: 4px;
+	border-radius: 4px;
+	display: flex;
+	align-items: center;
+	flex-direction: row;
+	position: absolute;
+	top: 0;
+}
+.action {
+	left: 0;
+	padding: 4px;
+	gap: 4px;
+	border-radius: 4px;
+	display: flex;
+	align-items: center;
+	flex-direction: row;
+	position: absolute;
+	top: 0;
+}
 </style>

--
Gitblit v1.9.3