From 8cae2c594578c01b0d6686a4d155a2bbcb0e8636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E9=98=94?= Date: Mon, 4 Nov 2024 17:06:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PreViewFile/src/PreViewFile.vue | 8 +++---- .../RepDataProblem/RepDataProblem.vue | 21 ++++++++++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/components/PreViewFile/src/PreViewFile.vue b/src/components/PreViewFile/src/PreViewFile.vue index c61aca0..a0a5e7a 100644 --- a/src/components/PreViewFile/src/PreViewFile.vue +++ b/src/components/PreViewFile/src/PreViewFile.vue @@ -3,6 +3,7 @@ import mammoth from 'mammoth'; import "@vue-office/docx/lib/index.css"; import { reactive,ref } from "vue"; import { useRoute } from 'vue-router'; +import {queryFileFlowRepTemplateApi} from '@/api/reporting/RepTemplate/RepTemplate'; const route = useRoute(); // 也可以直接是在线地址 //获取当前文件的信息 @@ -13,10 +14,9 @@ let htmlContent = ref(""); const fetchDocFile = async ()=>{ try { // 假设你有一个API可以返回DOC文件流 - // const response = await axios.get('/api/get-doc-file', { - // responseType: 'blob' // 确保返回的是blob类型 - // }); - const arrayBuffer = new Blob(fileData).arrayBuffer(); + const response = await queryFileFlowRepTemplateApi(fileData); + console.log(response,"response文件流信息"); + const arrayBuffer = response.data.arrayBuffer(); // 或者使用FileReader // const reader = new FileReader(); // reader.onload = function(event) { diff --git a/src/views/reporting/RepDataProblem/RepDataProblem.vue b/src/views/reporting/RepDataProblem/RepDataProblem.vue index c283f52..37fcdb5 100644 --- a/src/views/reporting/RepDataProblem/RepDataProblem.vue +++ b/src/views/reporting/RepDataProblem/RepDataProblem.vue @@ -23,7 +23,9 @@ import { useValidator } from '@/hooks/web/useValidator' import { getOrganTree } from '@/api/common' import { getLoginOrganCodeByUserInfo } from '@/utils/auth' import { getCategory } from '@/api/reporting/RepTemplate/RepTemplate' +import { useRouter } from 'vue-router'; +const router = useRouter() const { t } = useI18n(); const { required } = useValidator(); // 获取当前用户机构号 @@ -87,7 +89,7 @@ const tableColumns = reactive([ action(data.row, 'detail')}> {'生成'} - action(data.row, 'detail')}> + ShowPreViewFile(data.row)}> {'预览'} @@ -192,6 +194,23 @@ const action = async (row: TableData, type: string) => { dialogVisible.value = true } } +/** 预览 **/ +const ShowPreViewFile = (data)=>{ + console.log(data); + router.push({ + name:'PreViewFile', + query:{ + fileData:data.tId, + } + }) + // const routeData = router.resolve({ + // name:'PreViewFile', + // query:{ + // fileData:JSON.stringify(data), + // } + // }) + // window.open(routeData.href,'_blank') +} const AddAction = () => { dialogTitle.value = t('tableDemo.add')