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