From b9bfd6535e15d700f469c25008dfb323e28dbfaa Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期二, 27 八月 2024 14:23:25 +0800
Subject: [PATCH] fix: 修改bug

---
 src/views/sessionManager/index.vue |  191 +++++++++++++++++++++++++++++++----------------
 1 files changed, 125 insertions(+), 66 deletions(-)

diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index a46713c..e0adb16 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -78,9 +78,38 @@
                   />
                 </template>
                 <template #content>
-                  <div :class="{ chartUserText: theme === 'light' }"
-                    >{{ sessionDetail.content }}
+                  <div :class="{ chartUserText: theme === 'light' }">
+                    {{ sessionDetail.content }}
+                    <!-- <a-input
+                      :style="{ width: '100%' }"
+                      v-model="sessionDetail.content"
+                      v-if="isEdit"
+                    />
+
+                    <div v-else>
+                      {{ sessionDetail.content }}
+                    </div> -->
                   </div>
+                  <!-- <div v-if="!isEdit">
+                    <span
+                      class="action"
+                      v-if="index != 0"
+                      @click="copy(sessionDetail.content)"
+                    >
+                      <icon-copy /> 澶嶅埗
+                    </span>
+                    <span class="action" @click="edit()">
+                      <icon-pen /> 缂栬緫
+                    </span>
+                  </div>
+                  <a-space v-else>
+                    <a-button type="outline" size="mini" @click="cancelEdit(1)"
+                      >鍙栨秷</a-button
+                    >
+                    <a-button type="primary" size="mini" @click="cancelEdit(2)"
+                      >纭畾</a-button
+                    >
+                  </a-space> -->
                 </template>
               </a-comment>
               <a-comment v-else-if="sessionDetail.role === 'assistant'">
@@ -99,81 +128,82 @@
                         backgroundColor:
                           theme === 'light' ? '#ffffff' : '#000000',
                       }"
-                      style="border: none;"
-                      v-for="(breakContent, breakIndex) in breakLine(sessionDetail.content)"
+                      style="border: none"
+                      v-for="(breakContent, breakIndex) in breakLine(
+                        sessionDetail.content
+                      )"
                     >
                       <div
                         :class="{ chatItemAnswer: theme === 'light' }"
                         :style="{
-                        backgroundColor:
-                          theme === 'light' ? '#ffffff' : '#000000',
-                      }"
-                        style="border: none;"
-                      v-if="isExistTip(breakContent)">
+                          backgroundColor:
+                            theme === 'light' ? '#ffffff' : '#000000',
+                        }"
+                        style="border: none"
+                        v-if="isExistTip(breakContent)"
+                      >
                         <div
                           :class="{ chatItemAnswer: theme === 'light' }"
                           :style="{
-                        backgroundColor:
-                          theme === 'light' ? '#ffffff' : '#000000',
-                      }"
-                          style="border: none;"
+                            backgroundColor:
+                              theme === 'light' ? '#ffffff' : '#000000',
+                          }"
+                          style="border: none"
                           v-for="(item, tipIndex) in tipMatch(breakContent)"
                         >
-                      <span v-if="tipIndex == 0">
-                        {{ breakContent.substring(0, item.index) }}
-                        <a-tooltip
-                          background-color="#3491FA"
-                          :content="
-                            getTipContent(messagenList.reference, index)
-                          "
-                        >
-                          <img
-                            style="width: 20px; height: 20px"
-                            :src="tipImage"
-                          />
-                        </a-tooltip>
-                      </span>
-                          <span v-else-if ="tipIndex == item.len - 1">
-                        {{
+                          <span v-if="tipIndex == 0">
+                            {{ breakContent.substring(0, item.index) }}
+                            <a-tooltip
+                              background-color="#3491FA"
+                              :content="
+                                getTipContent(messagenList.reference, index)
+                              "
+                            >
+                              <img
+                                style="width: 20px; height: 20px"
+                                :src="tipImage"
+                              />
+                            </a-tooltip>
+                          </span>
+                          <span v-else-if="tipIndex == item.len - 1">
+                            {{
                               breakContent.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>
-                        {{
-                              breakContent.substring(item.index+5)
-                            }}
-                      </span>
+                            <a-tooltip
+                              background-color="#3491FA"
+                              :content="
+                                getTipContent(messagenList.reference, index)
+                              "
+                            >
+                              <img
+                                style="width: 20px; height: 20px"
+                                :src="tipImage"
+                              />
+                            </a-tooltip>
+                            {{ breakContent.substring(item.index + 5) }}
+                          </span>
                           <span v-else>
-                        {{
+                            {{
                               breakContent.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>
+                            <a-tooltip
+                              background-color="#3491FA"
+                              :content="
+                                getTipContent(messagenList.reference, index)
+                              "
+                            >
+                              <img
+                                style="width: 20px; height: 20px"
+                                :src="tipImage"
+                              />
+                            </a-tooltip>
+                          </span>
                         </div>
                       </div>
                       <div v-else>
@@ -185,15 +215,18 @@
                     <a-textarea
                       readonly
                       auto-size
-                      v-model="sessionDetail.content"
+                      :default-value="chartText(sessionDetail.content)"
                       :class="{ chatItemAnswer: theme === 'light' }"
                       :style="{
-                      backgroundColor:
-                        theme === 'light' ? '#ffffff' : '#000000',
-                    }"
+                        backgroundColor:
+                          theme === 'light' ? '#ffffff' : '#000000',
+                      }"
                       style="border: none"
                     >
                     </a-textarea>
+                    <!-- <div v-html="chartText(sessionDetail.content)">
+
+                    </div> -->
                   </a-card>
                 </template>
                 <!-- <div>{{ sessionDetail.role === 'assistant' }}</div> -->
@@ -237,6 +270,7 @@
                   >
                     <icon-refresh /> 閲嶆柊鐢熸垚
                   </span>
+                  <!-- <span class="action"><icon-to-bottom />涓嬭浇 </span> -->
                 </template>
               </a-comment>
               <a-comment v-else-if="sessionDetail.role === 'last'">
@@ -502,7 +536,7 @@
   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 { is } from "immutable";
+  import { is } from 'immutable';
 
   // const url = ref('../../assets/session/PDF.png');
 
@@ -589,17 +623,29 @@
   const breakLine = (message: string): string[] => {
     //鎸塡n鍒嗗壊瀛楃涓�
     let arr = message.split('\n');
-    return arr
-  }
+    return arr;
+  };
+
+  const chartText = (message: string): string => {
+    //鍘婚櫎鎵�鏈夌殑#鍜�**
+    let arr = message.replace(/\*\*|\#\#\#/g, '');
+    return arr;
+  };
 
   const tipMatch = (msg: string): any[] => {
     //match session.content涓殑##[0-9]$$鐨勭储寮�
+
     let indexs: any[] = [];
     let preTip = 0;
-    let matches=msg.match(/##([0-9]+)\$\$/g)
+    let matches = msg.match(/##([0-9]+)\$\$/g);
     matches?.map((item) => {
       let i = msg.indexOf(item);
-      indexs.push({ index: i, item: item, preIndex: preTip, len: matches.length });
+      indexs.push({
+        index: i,
+        item: item,
+        preIndex: preTip,
+        len: matches.length,
+      });
       preTip = i;
     });
     return indexs;
@@ -713,6 +759,19 @@
     await toClipboard(text); //鍙傛暟涓鸿澶嶅埗鐨勬枃鏈�
   };
 
+  const isEdit = ref(false);
+  const edit = () => {
+    isEdit.value = !isEdit.value;
+  };
+  const cancelEdit = (val) => {
+    if (val == 1) {
+      isEdit.value = !isEdit.value;
+    } else {
+      //缂栬緫淇濆瓨
+      isEdit.value = !isEdit.value;
+    }
+  };
+
   const DialogList = async () => {
     const { code, data } = await getDialogListApi();
     if (code === 200) {

--
Gitblit v1.8.0