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(&#45;&#45;color-bg-2);color: var(&#45;&#45;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