From ff0ae974a1c561eaf2915988dac63cd066af189f Mon Sep 17 00:00:00 2001
From: yinbangzhong <zhongbangyin@126.com>
Date: 星期四, 12 九月 2024 09:23:44 +0800
Subject: [PATCH] bug fix

---
 src/api/session.ts                                     |   12 +++-
 src/views/sessionManager/index.vue                     |   26 ++++++++
 src/views/sessionManager/components/historySession.vue |  103 +++++----------------------------
 src/views/sessionManager/components/updataFile.vue     |   17 ++++-
 4 files changed, 62 insertions(+), 96 deletions(-)

diff --git a/src/api/session.ts b/src/api/session.ts
index ccdf1e5..031daf1 100644
--- a/src/api/session.ts
+++ b/src/api/session.ts
@@ -13,9 +13,15 @@
 }
 // 浼氳瘽鍒楄〃鍒嗛〉
 export function sessionListApiPage(data) {
-  return axios.get<ISessionListResult>(
-    `/api/conversation/list?modeltype=localragflow&dialogid=&page=${data.page}&per_page=${data.page_size}`,
-  );
+  if (data?.searchParam) {
+    return axios.get<ISessionListResult>(
+      `/api/conversation/list?modeltype=localragflow&search=${data.searchParam}&dialogid=&page=${data.page}&per_page=${data.page_size}`
+    );
+  } else {
+    return axios.get<ISessionListResult>(
+      `/api/conversation/list?modeltype=localragflow&dialogid=&page=${data.page}&per_page=${data.page_size}`
+    );
+  }
 }
 // 鍒犻櫎浼氳瘽
 export function deleteSessionApi(conversation_ids: string[]) {
diff --git a/src/views/sessionManager/components/historySession.vue b/src/views/sessionManager/components/historySession.vue
index 243d7dc..a7b9018 100644
--- a/src/views/sessionManager/components/historySession.vue
+++ b/src/views/sessionManager/components/historySession.vue
@@ -32,15 +32,9 @@
       <div class="historyTitle___F_iam">鍘嗗彶浼氳瘽</div>
 
       <div class="search">
-        <!--                  鏌ヨ妗�-->
-        <div class="search-box">
-          <icon-search />
-          <a-input
-            placeholder="鎼滅储鍘嗗彶浼氳瘽"
-            v-model="searchValue"
-            style="width: 90%"
-          />
-        </div>
+        <a-input-search @change="querySessionList('')"   v-model="searchValue" class="search-box" placeholder="鎸変笅Enter閿紝鎼滅储浼氳瘽鍚嶇О">
+
+        </a-input-search>
       </div>
 
       <div class="historyCenter">
@@ -82,41 +76,17 @@
   </div>
 </template>
 <script setup lang="ts">
-  import {
-    IconClose,
-    IconSearch,
-    IconTiktokColor,
-  } from '@arco-design/web-vue/es/icon';
-  import { useAppStore, useUserStore } from '@/store';
-  import {
-    computed,
-    nextTick,
-    onMounted,
-    watch,
-    reactive,
-    ref,
-    onBeforeMount,
-    onBeforeUnmount,
-  } from 'vue';
+import { IconClose, IconSearch } from "@arco-design/web-vue/es/icon";
+import { nextTick, onBeforeMount, onBeforeUnmount, onMounted, reactive, ref } from "vue";
 
-  import { Message, Modal } from '@arco-design/web-vue';
-  import EventBus from '@/utils/EventBus';
-  import moment from 'moment';
-  import {
-    addSessionApi,
-    chatApi,
-    getDialogListApi,
-    getSessionDetailsApi,
-    deleteSessionApi,
-    sessionListApiPage,
-  } from '@/api/session';
+import { Message, Modal } from "@arco-design/web-vue";
+import EventBus from "@/utils/EventBus";
+import moment from "moment";
+import { deleteSessionApi, sessionListApiPage } from "@/api/session";
+import logo from "@/assets/images/model.png";
 
-  import { queryCanvasList } from '@/api/Agent';
-  const emit = defineEmits(['querySessionDetail', 'changeAgentType']);
-  import logo from '@/assets/images/model.png';
-  import { deleteKnow } from '@/api/kbList';
-  import { getAgentSessionDetailsApi } from '@/api/agentSession';
-  const sessionList = ref([]); //浼氳瘽鍒楄〃
+const emit = defineEmits(['querySessionDetail', 'changeAgentType']);
+const sessionList = ref([]); //浼氳瘽鍒楄〃
   const activeSessionId = ref('');
   const fieldNames = { value: 'id', label: 'name' };
   const dialogs = ref([]);
@@ -138,54 +108,12 @@
   let sessionScrollList = ref([]);
   let isReached = ref(true);
 
-  const DialogList = async () => {
-    const { code, data } = await getDialogListApi();
-    if (code === 200) {
-      if (data) {
-        selectValue.value = data[0].id;
-        dialogs.value = data.map((item) => {
-          return {
-            ...item,
-            type: 1, //鏅鸿兘浣�
-          };
-        });
-        // console.log(data, "dialogs");
-        queryCanvas();
-      }
-    }
-  };
-
-  const queryCanvas = async (params = {}) => {
-    try {
-      const { data } = await queryCanvasList(params);
-      console.log(data, 'agent');
-      agentList.value = data.map((item) => {
-        return {
-          ...item,
-          name: item.title,
-          type: 2, //agent
-        };
-      });
-      // 鍚堝苟鏁扮粍
-      dialogs.value = dialogs.value.concat(agentList.value);
-
-      // 鍒ゆ柇褰撳墠鏄櫤鑳戒綋鎴朼gent
-      // console.log(val, 'val');
-      // if (dialogs.value.length > 0) {
-      //   dialogChange(dialogs.value[0].id);
-      // }
-      //鏂板缓浼氳瘽
-      querySessionList(dialogs.value[0].id);
-    } catch (err) {
-      // you can report use errorHandler or other
-    } finally {
-    }
-  };
 
   // 鏌ヨ浼氳瘽鍒楄〃
   const querySessionList = async (id) => {
     const { code, data } = await sessionListApiPage({
       dialog_id: id,
+      searchParam: searchValue.value,
       ...queryPage,
     });
     if (code === 200) {
@@ -281,6 +209,10 @@
         ...queryPage,
       });
       if (code === 200) {
+        if (data.length == 0) {
+          isReached.value = true;
+          return;
+        }
         sessionScrollList.value = data.map((item) => {
           return {
             ...item,
@@ -313,7 +245,6 @@
     console.log(httpUrl, '褰撳墠鍦板潃');
     EventBus.on('history', () => {
       emit('changeAgentType', '3');
-      // DialogList()
       queryPage.page = 1;
       querySessionList('');
     });
diff --git a/src/views/sessionManager/components/updataFile.vue b/src/views/sessionManager/components/updataFile.vue
index 6e5f47b..12c54d6 100644
--- a/src/views/sessionManager/components/updataFile.vue
+++ b/src/views/sessionManager/components/updataFile.vue
@@ -196,7 +196,7 @@
   ]);
   const parser_idsArr = ref([]);
   const uploadList = ref([]);
-  const props = defineProps(['sessionId']);
+  const props = defineProps(['sessionId','hide']);
   const emit = defineEmits(['selectFileCallback']);
   const uploadRef = ref();
   const files = ref([]);
@@ -365,13 +365,20 @@
   });
   onMounted(() => {});
 
+  //鐩戞帶澶氫釜灞炴�у彉鍖�
   watch(
-    () => props.sessionId,
-    (value) => {
-
-      activeSessionId.value = value;
+    () => [props.sessionId, props.hide],
+    ([in_sessionId, in_hide]) => {
+      if (visible.value != in_hide) {
+        visible.value = false;
+      }
+      if (activeSessionId.value != in_sessionId) {
+        activeSessionId.value = in_sessionId;
+      }
     }
   );
+
+
 </script>
 <style>
   .upload-wrap .arco-select-view-inner {
diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index 5a681db..6dfc3d0 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -363,6 +363,7 @@
                 <updataFile
                   ref="fileInput"
                   :sessionId="activeSessionId"
+                  :hide="hide_upload"
                   @selectFileCallback="selectFileCallback"
                 ></updataFile>
 
@@ -574,6 +575,7 @@
   const streamStr = ref('');
   const inputMsg = ref('');
   const activeSessionId = ref('');
+  const hide_upload=ref(2);
   const fieldNames = { value: 'id', label: 'name' };
   const dialogs = ref([]);
   const dialogObj = reactive({});
@@ -610,13 +612,16 @@
     if (errors) return;
     let chatData = {
       id: chatObj.id,
-      conversation_id: chatObj.id,
-      name: from.name,
+      dialog_id: chatObj.dialog_id,
+      conversation_desc: from.name,
     };
     const { code, data } = await addSessionApi(chatData);
     if (data) {
       Message.success('淇敼鎴愬姛');
       handleCancel();
+      if (data?.id) {
+        activeSessionId.value = data.id;
+      }
       queryNewSessionDetail(activeSessionId.value);
     }
   };
@@ -664,6 +669,12 @@
     if (isExistTip(message)) {
       if (role == 'assistant' && index) {
         let i = index / 2 - 1 > 0 ? index / 2 - 1 : 0;
+        if (data.length == 1) {
+          i = 0;
+        }
+        if (data.length == i) {
+          i = data.length-1;
+        }
         dataItem = data[i].doc_aggs;
       }
     } else {
@@ -676,6 +687,12 @@
   const getTipContent = (data, index): string => {
     let maxSimilarityContent = '';
     let i = index / 2 - 1 > 0 ? index / 2 - 1 : 0;
+    if (data.length == 1) {
+      i = 0;
+    }
+    if (data.length == i) {
+      i = data.length-1;
+    }
     let maxSimilarity = 0;
     data[i].chunks.forEach((chunk) => {
       if (chunk.similarity > maxSimilarity) {
@@ -1073,6 +1090,8 @@
   };
 
   const changeAgentType = (val, session) => {
+    hide_upload.value = hide_upload.value+1;
+    uploaditemList.value=[];
     agentType.value = val;
     console.log(val, 'val');
   };
@@ -1083,6 +1102,7 @@
     from.name = session.name;
     const { code, data } = await getSessionDetailsApi(session.id);
     if (code === 200) {
+      Object.assign(chatObj, data);
       sessionDetailList.value = data.message;
       messagenList.value = data;
       refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃�
@@ -1142,6 +1162,8 @@
     EventBus.on('newChat', () => {
       uploaditemList.value = [];
       agentType.value = '1';
+      chatObj = {};
+      hide_upload.value = hide_upload.value+1;
       // createSession('');
       activeSessionId.value = '';
       sessionDetailList.value = [

--
Gitblit v1.8.0