From 4c35da613ea83ca3cfddbd76a93755c88cafd3b0 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期六, 24 八月 2024 16:32:20 +0800
Subject: [PATCH] fix: bug

---
 src/views/sessionManager/index.vue |  140 ++++++++++++++++++++++++++++------------------
 1 files changed, 86 insertions(+), 54 deletions(-)

diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index 89c6beb..96bc8bb 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -23,14 +23,16 @@
                 <!--                <span class="title">{{ agentTitle }}</span>-->
 
                 <a-popover position="bottom" trigger="click">
-                  <a-button border
+                  <a-button border>
+                    <span
+                      style="
+                        width: 100px;
+                        overflow: hidden;
+                        text-overflow: ellipsis;
+                        white-space: nowrap;
+                      "
+                      >{{ from.name }}</span
                     >
-                    <span style="
-                       width: 100px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                    ">{{ from.name }}</span>
                     <icon-down style="margin-left: 4px" />
                   </a-button>
                   <template #content>
@@ -55,13 +57,12 @@
             ref="scrollbar"
             id="home"
             class="chat-list"
-            style="
-              width: 80%;
-              overflow: auto;
-              margin: 0px auto 20px;
-            "
+            style="width: 80%; overflow: auto; margin: 0px auto 20px"
             :style="{
-              height:uploaditemList.length > 0 ? 'calc(100vh - 480px)' : 'calc(100vh - 380px)'
+              height:
+                uploaditemList.length > 0
+                  ? 'calc(100vh - 480px)'
+                  : 'calc(100vh - 380px)',
             }"
           >
             <div
@@ -221,7 +222,11 @@
                 v-model="inputMsg"
                 @keydown.shift.enter="handleShiftEnter"
                 @keydown.enter="sendMessage"
-                :placeholder="uploaditemList.length>0?'鏁寸悊杩欎簺鏂囦欢鐨勬牳蹇冨唴瀹�':'杈撳叆鎮ㄦ兂浜嗚В鐨勫唴瀹癸紝Shift+Enter鎹㈣锛孍nter鍙戦��'"
+                :placeholder="
+                  uploaditemList.length > 0
+                    ? '鏁寸悊杩欎簺鏂囦欢鐨勬牳蹇冨唴瀹�'
+                    : '杈撳叆鎮ㄦ兂浜嗚В鐨勫唴瀹癸紝Shift+Enter鎹㈣锛孍nter鍙戦��'
+                "
                 allow-clear
                 show-word-limit
                 :disabled="chatDis"
@@ -235,8 +240,18 @@
                   maxRows: 5,
                 }"
               />
-              <div style="width: 100%;display: flex;justify-content: space-between">
-                <updataFile ref="fileInput" :sessionId="activeSessionId" @selectFileCallback="selectFileCallback"></updataFile>
+              <div
+                style="
+                  width: 100%;
+                  display: flex;
+                  justify-content: space-between;
+                "
+              >
+                <updataFile
+                  ref="fileInput"
+                  :sessionId="activeSessionId"
+                  @selectFileCallback="selectFileCallback"
+                ></updataFile>
                 <a-button
                   :disabled="chatDis"
                   @click="sentClick"
@@ -253,7 +268,12 @@
                 class="files"
                 v-for="(item, index) in uploaditemList"
                 :key="index"
-                style="position: relative; width: 200px; margin-top: 10px;margin-right: 20px"
+                style="
+                  position: relative;
+                  width: 200px;
+                  margin-top: 10px;
+                  margin-right: 20px;
+                "
               >
                 <a-comment
                   :author="item.name"
@@ -275,10 +295,10 @@
                       </template>
                     </a-spin>
                     <!--                    <a-button type="text" :loading="onFileSelectedLoading" v-if="onFileSelectedLoading"></a-button>-->
-<!--                    <a-avatar v-if="!onFileSelectedLoading">-->
-<!--                      <icon-file style="color: #0960bd" />-->
-<!--                    </a-avatar>-->
-                    <img :src="getIconByExtension(item.name)"  alt="" />
+                    <!--                    <a-avatar v-if="!onFileSelectedLoading">-->
+                    <!--                      <icon-file style="color: #0960bd" />-->
+                    <!--                    </a-avatar>-->
+                    <img :src="getIconByExtension(item.name)" alt="" />
                   </template>
                 </a-comment>
                 <icon-close-circle-fill
@@ -328,12 +348,7 @@
       :footer="false"
       title-align="start"
     >
-      <a-form
-        ref="formRef"
-        :rules="rules"
-        :model="from"
-        @submit="handleSubmit"
-      >
+      <a-form ref="formRef" :rules="rules" :model="from" @submit="handleSubmit">
         <a-form-item field="name" label="鍚嶇О">
           <a-input v-model="from.name" placeholder="璇疯緭鍏ュ悕绉�" />
         </a-form-item>
@@ -397,9 +412,9 @@
 
   const sessionDetailList = ref([
     {
-      "content": "浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�",
-      "role": "assistant"
-    }
+      content: '浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�',
+      role: 'assistant',
+    },
   ]); //鏍规嵁浼氳瘽id鍑烘潵鐨勪細璇濊鎯�
   const messagenList = ref({});
   const sessionList = ref([]); //浼氳瘽鍒楄〃
@@ -411,7 +426,7 @@
   const agentTitle = ref('鏈懡鍚嶄細璇�');
   let chatObj = reactive({});
   let from = reactive({
-    name:'鏈懡鍚嶄細璇�',
+    name: '鏈懡鍚嶄細璇�',
   });
   const isStopChat = ref(false);
   const currIndex = ref(0);
@@ -483,11 +498,11 @@
     });
   };
 
-   const downloadFile = ({
-                                 url,
-                                 filename,
-                                 target,
-                               }: {
+  const downloadFile = ({
+    url,
+    filename,
+    target,
+  }: {
     url: string;
     filename?: string;
     target?: string;
@@ -551,15 +566,13 @@
 
   const deleteFile = (item) => {
     console.log(uploaditemList.value);
-    uploaditemList.value.splice(item.index,1);
+    uploaditemList.value.splice(item.index, 1);
   };
 
   const { toClipboard } = useClipboard();
   const copy = async (text) => {
     await toClipboard(text); //鍙傛暟涓鸿澶嶅埗鐨勬枃鏈�
   };
-
-
 
   const DialogList = async () => {
     const { code, data } = await getDialogListApi();
@@ -647,21 +660,34 @@
           event.preventDefault(); // 闃绘榛樿琛屼负锛屽嵆涓嶆崲琛�
         }
 
-        // if (!activeSessionId.value) {
-        //   Message.warning("璇烽�夋嫨浼氳瘽");
-        //   chatDis.value = false;
-        //   loading.value = false;
-        //   return;
-        // }
-
         // if (displayedText.value) {
         //   querySessionList();
         // }
 
         if (inputMsg.value) {
-          startChat(inputMsg.value);
+          if (!activeSessionId.value) {
+            //鏂板缓浼氳瘽
+            // 濡傛灉鏈変細璇漣d
+            console.log(inputMsg.value, '鏂板缓浼氳瘽鍚嶇О');
 
-          inputMsg.value = '';
+            const res = await addSessionApi({
+              dialog_id: '',
+              conversation_desc: inputMsg.value,
+            });
+            // console.log(res, "res");
+            if (res.code == 200) {
+              // console.log(res.data.conversation_id);
+              activeSessionId.value = res.data?.conversation_id;
+              startChat(inputMsg.value);
+              inputMsg.value = '';
+              // queryNewSessionDetail(res.data?.conversation_id);
+            } else {
+              Message.error('鍒涘缓浼氳瘽澶辫触锛岃閲嶈瘯');
+            }
+          } else {
+            startChat(inputMsg.value);
+            inputMsg.value = '';
+          }
         } else {
           Message.warning('娑堟伅涓嶈兘涓虹┖');
         }
@@ -863,18 +889,24 @@
     querySessionList();
   };
   onBeforeMount(() => {
-    //鏂板缓浼氳瘽
-    createSession('');
+    activeSessionId.value = '';
   });
   onMounted(() => {
     let container = document.getElementById('container');
     container.addEventListener('click', () => {
       fileInput.value.cancel();
-
-    })
+    });
     EventBus.on('newChat', () => {
       agentType.value = '1';
-      createSession('');
+      // createSession('');
+      activeSessionId.value = '';
+      sessionDetailList.value = [
+        {
+          content: '浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�',
+          role: 'assistant',
+        },
+      ];
+      from.name = '鏈懡鍚嶄細璇�';
     });
   });
   onBeforeUnmount(() => {
@@ -1233,7 +1265,7 @@
   :deep(.arco-upload-list-item-operation) {
     //display: none;
   }
-  .uploadFileList{
+  .uploadFileList {
     width: 100%;
     max-height: 140px;
     overflow-y: auto;

--
Gitblit v1.8.0