From 3a022dc2caa78267a681824ea1c303f140cd6797 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 02 八月 2024 19:57:45 +0800
Subject: [PATCH] 智能体管理的页面开发和功能开发

---
 src/views/session/sessionManager/index.vue |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/views/session/sessionManager/index.vue b/src/views/session/sessionManager/index.vue
index fd1e5fd..4c3b45a 100644
--- a/src/views/session/sessionManager/index.vue
+++ b/src/views/session/sessionManager/index.vue
@@ -4,7 +4,7 @@
     import img2 from '@/assets/images/u69.png'
     import img3 from '@/assets/images/u74.png';
     import AddSession from './components/addSession.vue'
-    import { ref, onMounted, computed, reactive, nextTick } from 'vue';
+    import { ref, onMounted, computed, reactive, nextTick,watch } from 'vue';
     import { useUserStore,useAppStore } from '@/store';
     import { sessionListApi, deleteSessionApi,getSessionDetailsApi,chatApi }from '@/api/session';
     import { Message } from '@arco-design/web-vue';
@@ -25,20 +25,20 @@
     const streamStr=ref('');
     const modalObj=reactive({ add:false });
     //鏌ヨ浼氳瘽鍒楄〃
-  const querySessionList = async () => {
+    const querySessionList = async () => {
         const { code, data } =await sessionListApi();
-    if (code === 200) {
-      sessionList.value = data;
-            if(Array.isArray(data)&&data.length>0){
-                activeSessionId.value=data[0].id;
-                const res= await getSessionDetailsApi(data[0].id);
-                if(res.code===200){
-                    sessionDetailList.value=res.data.message;
-                    refreshScroll();
+        if (code === 200) {
+          sessionList.value = data;
+          if(Array.isArray(data)&&data.length>0){
+                    activeSessionId.value=data[0].id;
+                    const res= await getSessionDetailsApi(data[0].id);
+                    if(res.code===200){
+                        sessionDetailList.value=res.data.message;
+                        refreshScroll();
+                    }
                 }
-            }
         }else{
-            Message.warning('鏌ヨ澶辫触');
+          Message.warning('鏌ヨ澶辫触');
         }
     };
     //鏍规嵁浼氳瘽id鍒犻櫎浼氳瘽
@@ -88,6 +88,8 @@
                 sessionDetailList.value=res.data.message.map((item,index)=>{
                     if(index===res.data.message.length-1){
                         item.role='last';
+                        displayedText.value='';
+                        currIndex.value=0;
                         streamStr.value=item.content;
                         startDisplayStr();
                     }
@@ -103,7 +105,7 @@
     onMounted(()=>{
        initData();
     });
-    //鏂囧瓧涓�涓竴涓緭鍑�
+    //鏂囧瓧鍔ㄦ�佽緭鍑�
     const startDisplayStr = () => {
         if (timer) {
             clearTimeout(timer!);
@@ -119,7 +121,13 @@
             timer = null
         }
     }
-
+    watch(() => scrollbar.value, (newScroll, oldScroll) => {
+      if (newScroll) {
+        // 鑾峰彇a-scroll鐨勯珮搴�
+        const height = newScroll.$el.offsetHeight;
+        console.log('a-scroll height changed to:', height);
+      }
+    },{deep:true})
 </script>
 
 <template>
@@ -134,7 +142,7 @@
                         </a-button>
                     </template>
                     <a-scrollbar class="left-list" style="height: 60vh;overflow-y: auto;">
-                        <div class="item" :class="{isLeftActive:activeSessionId===session.id}" v-for="session in sessionList" :key="session.id" @click="querySessionDetail(session)">
+                        <div class="item" :class="{ isLeftActive:activeSessionId===session.id }" v-for="session in sessionList" :key="session.id" @click="querySessionDetail(session)">
                             <div class="item-left">
                                 <IconQuestionCircleFill/>銆�
                                 {{session.name}}
@@ -222,16 +230,15 @@
                                 avatar="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/9eeb1800d9b78349b24682c3518ac4a3.png~tplv-uwbnlip3yd-webp.webp"
                             >
                                 <template #content>
-                                    <a-card class="chat-item-answer"  style="background-color: rgba(63, 64, 79, 1);">
-                                        <div :class="{light:theme==='light'}"> {{displayedText}}</div>
-                                    </a-card>
+                                    <a-textarea readonly auto-size v-model="displayedText" class="chat-item-answer"  style="background-color: rgba(63, 64, 79, 1);">
+                                    </a-textarea>
                                 </template>
                             </a-comment>
                         </div>
                     </a-scrollbar>
                     <div class="bottom">
                         <div class="input">
-                            <a-input v-model="inputMsg">
+                            <a-input v-model="inputMsg" @keydown.enter="sendMessage" placeholder="杈撳叆鎮ㄦ兂浜嗚В鐨勫唴瀹癸紝鎸塃nter鍙戦��">
                             <template #suffix>
                                 <icon-send  style="cursor: pointer" @click="sendMessage"/>
                             </template>

--
Gitblit v1.8.0