From 6b5f0408ab95f5ea135f97924c6e414042cd2a88 Mon Sep 17 00:00:00 2001
From: yinbangzhong <zhongbangyin@126.com>
Date: 星期四, 05 九月 2024 11:27:41 +0800
Subject: [PATCH] 单文档
---
src/views/dmx/knowledgeLib/components/Pdf.vue | 4 +-
yarn.lock | 5 ++
package.json | 1
src/views/dmx/knowledgeLib/index.vue | 53 +++++++++++++-------------
src/views/sessionManager/index.vue | 6 ++-
src/views/dmx/knowledgeLib/components/txt.vue | 51 +++++++++++++++++++++++++
6 files changed, 89 insertions(+), 31 deletions(-)
diff --git a/package.json b/package.json
index 25a2cdf..e52a9eb 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
"@microsoft/fetch-event-source": "^2.0.1",
"@vue-office/docx": "^1.6.2",
"@vue-office/excel": "^1.7.11",
+ "@vue-office/pdf": "^2.0.2",
"@vueuse/core": "^9.3.0",
"arco-design-pro-vue": "^2.7.3",
"axios": "^0.24.0",
diff --git a/src/views/dmx/knowledgeLib/components/txtPdf.vue b/src/views/dmx/knowledgeLib/components/Pdf.vue
similarity index 78%
rename from src/views/dmx/knowledgeLib/components/txtPdf.vue
rename to src/views/dmx/knowledgeLib/components/Pdf.vue
index a76003a..02d456b 100644
--- a/src/views/dmx/knowledgeLib/components/txtPdf.vue
+++ b/src/views/dmx/knowledgeLib/components/Pdf.vue
@@ -1,5 +1,5 @@
<template>
- <iframe :src="previewSrc"></iframe>
+<vue-office-pdf :src="previewSrc" :style="comStyle" @rendered="renderedHandler" @error="errorHandler"></vue-office-pdf>
</template>
<script setup>
@@ -12,7 +12,7 @@
},
});
//寮曞叆VueOfficeExcel缁勪欢鐩稿叧
- import VueOfficeExcel from '@vue-office/excel';
+ import VueOfficePdf from '@vue-office/pdf';
import '@vue-office/excel/lib/index.css';
const comStyle = {
diff --git a/src/views/dmx/knowledgeLib/components/txt.vue b/src/views/dmx/knowledgeLib/components/txt.vue
new file mode 100644
index 0000000..6cd3f41
--- /dev/null
+++ b/src/views/dmx/knowledgeLib/components/txt.vue
@@ -0,0 +1,51 @@
+<template>
+ <div>
+ <pre v-html="content"></pre>
+ </div>
+</template>
+
+<script setup>
+import { ref, watch } from "vue";
+
+let content = ref("");
+// 鑾峰彇鐖剁粍浠朵紶閫掔殑璧勬簮url
+const props = defineProps({
+ previewSrc: {
+ type: String,
+ required: false,
+ default: () => ""
+ }
+});
+
+const getContent = (url) => {
+ fetch(url)
+ .then((res) => res.text())
+ .then((data) => {
+ content.value = data;
+ });
+};
+getContent(props.previewSrc);
+
+//寮曞叆VueOfficeExcel缁勪欢鐩稿叧
+import "@vue-office/excel/lib/index.css";
+
+const comStyle = {
+ width: "100%",
+ height: "100%"
+};
+
+const renderedHandler = () => {
+ console.log("rendered");
+};
+const errorHandler = (err) => {
+ console.log("error", err);
+};
+</script>
+
+<style scoped lang="less">
+ .aUpload {
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+</style>
diff --git a/src/views/dmx/knowledgeLib/index.vue b/src/views/dmx/knowledgeLib/index.vue
index 994f862..4beaa09 100644
--- a/src/views/dmx/knowledgeLib/index.vue
+++ b/src/views/dmx/knowledgeLib/index.vue
@@ -877,34 +877,8 @@
pagination.current = params.page;
pagination.total = data.data.total;
- if (timer) {
- clearInterval(timer);
- }
// 瀹氭椂鍣ㄦ煡璇㈡枃妗�
- timer = setInterval(async () => {
- let params = { ...basePagination, kb_id: kbobj.id };
- const data = await queryKbDocumentList(params);
- if (data.code == '0') {
- parser_ids = kbtenantInfo.parser_ids
- .split(',')
- .reduce((acc, pair) => {
- const [key, value] = pair.split(':');
- acc[key] = value;
- return acc;
- }, {});
- // console.log(parser_ids, 'parser_ids');
- kbtenantInfo.parser_idObj = parser_ids;
- renderData.value = data.data.docs || [];
- renderData.value = renderData.value.map((item) => {
- return {
- ...item,
- loading: false,
- parser_id: parser_ids[item.parser_id],
- };
- });
- // console.log(renderData.value, 'renderData');
- }
- }, 10000);
+ documentList()
}
} catch (err) {
// you can report use errorHandler or other
@@ -913,6 +887,31 @@
}
};
+ const documentList= async () => {
+ let params = { ...basePagination, kb_id: kbobj.id };
+ const data = await queryKbDocumentList(params);
+ if (data.code == '0') {
+ parser_ids = kbtenantInfo.parser_ids
+ .split(',')
+ .reduce((acc, pair) => {
+ const [key, value] = pair.split(':');
+ acc[key] = value;
+ return acc;
+ }, {});
+ // console.log(parser_ids, 'parser_ids');
+ kbtenantInfo.parser_idObj = parser_ids;
+ renderData.value = data.data.docs || [];
+ renderData.value = renderData.value.map((item) => {
+ return {
+ ...item,
+ loading: false,
+ parser_id: parser_ids[item.parser_id],
+ };
+ });
+ // console.log(renderData.value, 'renderData');
+ }
+ }
+
const search = () => {
basePagination.page = 1;
fetchData({
diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index a7332b5..6ac9d6c 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -486,7 +486,8 @@
<!-- <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>
+ <Pdf v-if="documenttype == 'pdf'" :previewSrc="previewSrc"></Pdf>
+ <txt v-if="documenttype == 'txt'" :previewSrc="previewSrc"></txt>
</a-modal>
<a-modal
v-model:visible="visible"
@@ -564,7 +565,8 @@
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 Pdf from '@/views/dmx/knowledgeLib/components/Pdf.vue';
+ import txt from '@/views/dmx/knowledgeLib/components/txt.vue';
import { is } from 'immutable';
import uploadFile from './components/uploadFile.vue';
diff --git a/yarn.lock b/yarn.lock
index 2bb026c..59a7c00 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1021,6 +1021,11 @@
resolved "https://registry.npmmirror.com/@vue-office/excel/-/excel-1.7.11.tgz"
integrity sha512-LF3R9IV573Sf4qTu6Ik5Ee8UMfkrsZQ6HEQE25/2m1c0CMcHX6KanIy6Cz0b0Q+FrLH3TjIsLTm6oPcqAbDGSA==
+"@vue-office/pdf@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/@vue-office/pdf/-/pdf-2.0.2.tgz#475010e4279c6dfb368e3dc7df81f56b597bd080"
+ integrity sha512-bQFqGxSOnKbvCS7OoJniYoTz1VIm1XOrRD27Msorxny9NFJ8RsQK1A4uhlnISJRFMaUwp1qlcVE9jMAhsiIyjg==
+
"@vue/babel-helper-vue-transform-on@1.2.2":
version "1.2.2"
resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz"
--
Gitblit v1.8.0