From e7a44b64dceb984b0bb243bfdcae73edb099e5f1 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 21:04:49 +0800
Subject: [PATCH] agent

---
 src/views/sessionManager/index.vue |  127 ++++++++++++++++++++++++-----------------
 1 files changed, 74 insertions(+), 53 deletions(-)

diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index 94c0d2a..2d252ee 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -87,42 +87,65 @@
                 <template #avatar>
                   <img
                     class="icon-user-jpg"
-                    src="../../assets/images/icon-chart.png"
+                    src="../../assets/images/icon-picture.png"
                     alt="鏈湴鍥剧墖"
                   />
                 </template>
                 <template #content>
                   <a-card v-if="isExistTip(sessionDetail.content)">
-                    <div  :class="{ chatItemAnswer: theme === 'light' }"
-                      :style="{backgroundColor: theme === 'light' ? '#ffffff' : '#000000'}" style="border: none;display: inline;"  v-for="(item,tipIndex) in tipMatch(sessionDetail)"
+                    <div
+                      :class="{ chatItemAnswer: theme === 'light' }"
+                      :style="{
+                        backgroundColor:
+                          theme === 'light' ? '#ffffff' : '#000000',
+                      }"
+                      style="border: none; display: inline"
+                      v-for="(item, tipIndex) in tipMatch(sessionDetail)"
                     >
                       <span v-if="tipIndex == 0">
                         {{ sessionDetail.content.substring(0, item.index) }}
-                        <a-tooltip background-color="#3491FA" :content="getTipContent(
-                          messagenList.reference,
-                          index
-                        )">
-                          <img style="width: 20px;height: 20px" :src="tipImage" />
+                        <a-tooltip
+                          background-color="#3491FA"
+                          :content="
+                            getTipContent(messagenList.reference, index)
+                          "
+                        >
+                          <img
+                            style="width: 20px; height: 20px"
+                            :src="tipImage"
+                          />
                         </a-tooltip>
                       </span>
                       <span v-else>
-                        {{ sessionDetail.content.substring(item.preIndex+item.item.length, item.index) }}
-                        <a-tooltip background-color="#3491FA" :content="getTipContent(
-                          messagenList.reference,
-                          index
-                        )">
-                          <img style="width: 20px;height: 20px" :src="tipImage" />
+                        {{
+                          sessionDetail.content.substring(
+                            item.preIndex + item.item.length,
+                            item.index
+                          )
+                        }}
+                        <a-tooltip
+                          background-color="#3491FA"
+                          :content="
+                            getTipContent(messagenList.reference, index)
+                          "
+                        >
+                          <img
+                            style="width: 20px; height: 20px"
+                            :src="tipImage"
+                          />
                         </a-tooltip>
                       </span>
-
                     </div>
                   </a-card>
-                  <a-card  v-else>
-                    <div :class="{ chatItemAnswer: theme === 'light' }"
-                         :style="{
-                      backgroundColor:
-                        theme === 'light' ? '#ffffff' : '#000000',
-                    }" style="border: none">
+                  <a-card v-else>
+                    <div
+                      :class="{ chatItemAnswer: theme === 'light' }"
+                      :style="{
+                        backgroundColor:
+                          theme === 'light' ? '#ffffff' : '#000000',
+                      }"
+                      style="border: none"
+                    >
                       {{ sessionDetail.content }}
                     </div>
                   </a-card>
@@ -174,7 +197,7 @@
                 <template #avatar>
                   <img
                     class="icon-user-jpg"
-                    src="../../assets/images/icon-chart.png"
+                    src="../../assets/images/icon-picture.png"
                     alt="鏈湴鍥剧墖"
                   />
                 </template>
@@ -389,7 +412,7 @@
   </div>
 </template>
 <script setup lang="ts">
-import { useAppStore, userModelState, useUserStore } from "@/store";
+  import { useAppStore, userModelState, useUserStore } from '@/store';
   import {
     computed,
     nextTick,
@@ -419,20 +442,20 @@
     sessionListApi,
     uploadWithoutKb,
   } from '@/api/session';
-import { getAuthorization } from "@/utils/auth";
-import { queryCanvasList } from "@/api/Agent";
-import { getAgentSessionDetailsApi } from "@/api/agentSession";
-import useClipboard from "vue-clipboard3";
-import pdfImg1 from "@/assets/session/PDF.png";
-import pdfImg2 from "@/assets/session/wps-write.png";
-import pdfImg3 from "@/assets/session/execl.png";
-import pdfImg4 from "@/assets/session/icon-txt.png";
-import pdfImg5 from "@/assets/session/txt.png";
-import tipImage from "@/assets/session/tip.png";
+  import { getAuthorization } from '@/utils/auth';
+  import { queryCanvasList } from '@/api/Agent';
+  import { getAgentSessionDetailsApi } from '@/api/agentSession';
+  import useClipboard from 'vue-clipboard3';
+  import pdfImg1 from '@/assets/session/PDF.png';
+  import pdfImg2 from '@/assets/session/wps-write.png';
+  import pdfImg3 from '@/assets/session/execl.png';
+  import pdfImg4 from '@/assets/session/icon-txt.png';
+  import pdfImg5 from '@/assets/session/txt.png';
+  import tipImage from '@/assets/session/tip.png';
 
-import docx from "@/views/dmx/knowledgeLib/components/docx.vue";
-import excel from "@/views/dmx/knowledgeLib/components/excel.vue";
-import txtPdf from "@/views/dmx/knowledgeLib/components/txtPdf.vue";
+  import docx from '@/views/dmx/knowledgeLib/components/docx.vue';
+  import excel from '@/views/dmx/knowledgeLib/components/excel.vue';
+  import txtPdf from '@/views/dmx/knowledgeLib/components/txtPdf.vue';
 
   // const url = ref('../../assets/session/PDF.png');
 
@@ -481,8 +504,7 @@
   let documenttype = ref('docx');
   let previewSrc = ref('');
 
-
-const modelStore = userModelState();
+  const modelStore = userModelState();
   const httpUrl = modelStore.hrefUrl;
 
   const rules = {
@@ -509,25 +531,25 @@
     }
   };
   let dataItem = [];
-  const isExistTip=(message:string):boolean=>{
+  const isExistTip = (message: string): boolean => {
     if (/##[0-9]\$\$/.test(message)) {
       return true;
     } else {
       return false;
     }
-  }
+  };
 
   const tipMatch = (session: any): any[] => {
     //match session.content涓殑##[0-9]$$鐨勭储寮�
     let indexs: any[] = [];
-    let preTip=0;
+    let preTip = 0;
     session.content.match(/##([0-9]+)\$\$/g)?.map((item) => {
       let i = session.content.indexOf(item);
       indexs.push({ index: i, item: item, preIndex: preTip });
       preTip = i;
     });
     return indexs;
-  }
+  };
 
   const getTxt = (data, role, message, index) => {
     if (isExistTip(message)) {
@@ -543,16 +565,15 @@
   };
 
   const getTipContent = (data, index): string => {
-    let maxSimilarityContent = "";
+    let maxSimilarityContent = '';
     let i = index / 2 - 1 > 0 ? index / 2 - 1 : 0;
     let maxSimilarity = 0;
     data[i].chunks.forEach((chunk) => {
-        if (chunk.similarity > maxSimilarity) {
-          maxSimilarity = chunk.similarity;
-          maxSimilarityContent = chunk.content_with_weight;
-        }
+      if (chunk.similarity > maxSimilarity) {
+        maxSimilarity = chunk.similarity;
+        maxSimilarityContent = chunk.content_with_weight;
       }
-    );
+    });
     return maxSimilarityContent;
   };
 
@@ -623,10 +644,7 @@
 
   const selectFileCallback = (data) => {
     console.log(data, 'selectFileCallback');
-    uploaditemList.value = [
-      ...uploaditemList.value,
-      ...data
-    ];
+    uploaditemList.value = [...uploaditemList.value, ...data];
   };
 
   let onFileSelectedLoading = ref(false);
@@ -711,6 +729,7 @@
   // 鍙戦��
   const sentClick = () => {
     sendMessage('click');
+    uploaditemList.value = [];
   };
   // 閲嶆柊鐢熸垚
   const reGenerate = () => {
@@ -744,7 +763,9 @@
             if (res.code == 200) {
               // console.log(res.data.conversation_id);
               activeSessionId.value = res.data?.conversation_id;
-              const { code, data } = await getSessionDetailsApi(res.data?.conversation_id);
+              const { code, data } = await getSessionDetailsApi(
+                res.data?.conversation_id
+              );
               if (code === 200) {
                 console.log(data, '鏂板缓浼氳瘽璇︽儏');
                 Object.assign(chatObj, data);

--
Gitblit v1.8.0