From 64920403797a80149ac1ba2cd2426ad5db044bec Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 14:58:01 +0800
Subject: [PATCH] fix: 修改settings 备注
---
src/views/sessionManager/index.vue | 125 ++++++++++++++++++++++++++---------------
1 files changed, 79 insertions(+), 46 deletions(-)
diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index 98e1f73..d140f21 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>
@@ -355,6 +378,12 @@
</div>
</a-col>
</a-row>
+ <a-modal title=" " v-model:visible="fileVisible" :footer="false" fullscreen>
+ <!-- <docx previewSrc="http://192.168.20.116:1080/v1/document/get/405c3efa4d8c11ef97560242ac120006"></docx>-->
+ <docx v-if="documenttype == 'docx'" :previewSrc="previewSrc"></docx>
+ <excel v-if="documenttype == 'excel'" :previewSrc="previewSrc"></excel>
+ <txtPdf v-if="documenttype == 'txtPdf'" :previewSrc="previewSrc"></txtPdf>
+ </a-modal>
<a-modal
v-model:visible="visible"
title="淇敼鍚嶇О"
@@ -383,7 +412,7 @@
</div>
</template>
<script setup lang="ts">
- import { useAppStore, useUserStore } from '@/store';
+ import { useAppStore, userModelState, useUserStore } from '@/store';
import {
computed,
nextTick,
@@ -423,7 +452,10 @@
import pdfImg4 from '@/assets/session/icon-txt.png';
import pdfImg5 from '@/assets/session/txt.png';
import tipImage from '@/assets/session/tip.png';
- import { number } from "@intlify/core-base";
+
+ 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');
@@ -467,7 +499,13 @@
const fileInput = ref(null);
const chatDataMeg = reactive({});
const visible = ref(false);
+ const fileVisible = ref(false);
let toStop = false;
+ let documenttype = ref('docx');
+ let previewSrc = ref('');
+
+ const modelStore = userModelState();
+ const httpUrl = modelStore.hrefUrl;
const rules = {
name: [
@@ -493,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)) {
@@ -527,26 +565,22 @@
};
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;
};
- const clickHref = (item) => {
- // return Message.warning('鏆傛棤娉曟煡鐪�');
- // window.open(`/api/v1/document/get/${item.doc_id}`, '_blank');
- downloadFile({
- url: `/api/v1/document/get/${item.doc_id}`,
- filename: item.doc_name,
- });
+ const clickHref = async (item) => {
+ documenttype.value = item.doc_name.split('.').pop();
+ previewSrc.value = httpUrl + `/api/v1/document/get/${item.doc_id}`;
+ fileVisible.value = true;
};
const downloadFile = ({
@@ -610,10 +644,7 @@
const selectFileCallback = (data) => {
console.log(data, 'selectFileCallback');
- uploaditemList.value = [
- ...uploaditemList.value,
- ...data
- ];
+ uploaditemList.value = [...uploaditemList.value, ...data];
};
let onFileSelectedLoading = ref(false);
@@ -731,7 +762,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