From fe9852979b42fc4c8976f26432143c369356d0ed Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期四, 22 八月 2024 14:16:42 +0800 Subject: [PATCH] agent会话停止功能 --- src/views/sessionManager/components/agentSession.vue | 81 ++++++++++++++++++++++++++-------------- 1 files changed, 52 insertions(+), 29 deletions(-) diff --git a/src/views/sessionManager/components/agentSession.vue b/src/views/sessionManager/components/agentSession.vue index d0ee6a8..da912b4 100644 --- a/src/views/sessionManager/components/agentSession.vue +++ b/src/views/sessionManager/components/agentSession.vue @@ -108,14 +108,14 @@ > </a-textarea> </template> -<!-- <template #actions>--> -<!-- <div class="action"--> -<!-- @click="stopChat"--> -<!-- style="background: var(--color-bg-2);color: var(--color-primary-light-4);" v-if="displayedText != ''">--> -<!-- <icon-record-stop />--> -<!-- 鍋滄鐢熸垚--> -<!-- </div>--> -<!-- </template>--> + <template #actions> + <div class="action" + @click="stopChat" + style="background: var(--color-bg-2);color: var(--color-primary-light-4);" v-if="displayedText != ''"> + <icon-record-stop /> + 鍋滄鐢熸垚 + </div> + </template> </a-comment> </div> <!-- <div class="chartStart" v-if="isStart" @click="startChat" @@ -230,7 +230,7 @@ const visible = ref(false); let isHistory = ref(false);//鏄惁鏄巻鍙茶褰� let dsl = reactive({}); - +const chatDataMeg = reactive({}); const rules = { @@ -364,18 +364,18 @@ inputMsg.value = ''; } // 璋冪敤get鏂规硶 - const queryAgentSessionDetail = async (id) => { const { code, data } = await getAgentSessionDetailsApi(id); if (code == 0) { - console.log(data,'浼氳瘽璇︽儏'); + console.log(data,'agent浼氳瘽璇︽儏'); + Object.assign(chatObj, data); sessionDetailList.value = data.dsl.messages; - agentTitle.value = `鍜�${data.title}鐨勪細璇漙 || '鏈懡鍚嶄細璇�'; + agentTitle.value = `${data.title}` || '鏈懡鍚嶄細璇�'; refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� } }; -// 鑾峰彇agent浼氳瘽璇︽儏 +// 鍘嗗彶璁板綍璺宠浆鑾峰彇agent浼氳瘽璇︽儏 const querySessionDetail = async (session) => { Object.assign(agentObj, session); agentObj.id = session.dialog_id; @@ -387,7 +387,8 @@ sessionDetailList.value = data.message.messages; const res = await getAgentSessionDetailsApi(session.dialog_id); if (res.code == 0) { - console.log(res.data,'浼氳瘽璇︽儏'); + console.log(res.data,'agent浼氳瘽璇︽儏'); + Object.assign(chatObj, data); Object.assign(dsl, res.data.dsl); refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� } @@ -495,8 +496,13 @@ if (done) { console.info('done'); displayedText.value = ''; - queryAgentSessionDetail(agentObj.id); - EventBus.emit('queryAppUsageList'); + if (isStopChat.value) { + isStopChat.value = false; + setChatDataMeg(chatDataMeg); + } else { + queryAgentSessionDetail(agentObj.id); + EventBus.emit('queryAppUsageList'); + } break; } } @@ -509,7 +515,6 @@ // const { code, data } = await stopChatApi(activeSessionId.value); // if (code === 200) { // Message.success("宸插仠姝�"); - // queryNewSessionDetail(activeSessionId.value); // } loading.value = false; chatDis.value = false; @@ -529,21 +534,39 @@ sessionDetailList.value = sessionDetailList.value.splice(0, sessionDetailList.value.length-2).concat(lastArr); console.log(sessionDetailList.value, 'sessionDetailList2'); console.log(chatObj, 'chatObj瀵硅薄'); - chatObj.message = chatObj.message.concat(lastArr); - // clearTimeout(timer!); - // timer = null; - // const { code, data } = await addSessionApi(chatObj); - // if (data) { - // //鍋滄瀹氭椂鍣� - // clearTimeout(timer!); - // timer = null; - // displayedText.value = ""; - // queryNewSessionDetail(activeSessionId.value); - // } - + chatObj.dsl.message = chatObj.dsl.message.concat(lastArr); + Object.assign(chatDataMeg, { + id: chatObj.id, + conversation_id: chatObj.id, + message: sessionDetailList.value, + }); } + +const setChatDataMeg = async (chatData) => { + const { code, data } = await addSessionApi(chatData); + if (data) { + //鍋滄瀹氭椂鍣� + clearTimeout(timer!); + timer = null; + // displayedText.value = ""; + queryNewSessionDetail(activeSessionId.value); + } +}; + +// const queryNewSessionDetail = async (id) => { +// activeSessionId.value = id; +// const { code, data } = await getSessionDetailsApi(id); +// if (code === 200) { +// console.log(data, 'agent浼氳瘽璇︽儏'); +// Object.assign(chatObj, data); +// sessionDetailList.value = data.message; +// agentTitle.value = data.name; +// refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� +// } +// }; + const handleShiftEnter = (event) => { event.preventDefault(); inputMsg.value += '\n'; -- Gitblit v1.8.0