From 7c55881bbdbbc6914a242693628c71faa06aa878 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 17 五月 2024 15:02:20 +0800 Subject: [PATCH] 文件下载 --- src/utils/request.js | 3 ++- /dev/null | 30 ------------------------------ src/views/onlineStudy/file.vue | 16 +++++++++++++--- src/router.js | 6 ------ 4 files changed, 15 insertions(+), 40 deletions(-) diff --git a/src/components/PDF.vue b/src/components/PDF.vue deleted file mode 100644 index 48635fb..0000000 --- a/src/components/PDF.vue +++ /dev/null @@ -1,30 +0,0 @@ -<template> - <div> - <vue-office-pdf :src="pdfUrl" @rendered="rendered" /> - </div> -</template> - -<script> -import VueOfficePdf from '@vue-office/pdf'; -export default { - name: "PDF", - components: { VueOfficePdf }, - data() { - return { - pdfUrl: '' - } - }, - methods: { - rendered() { - - }, - }, - mounted() { - this.pdfUrl = this.$route.query.pdfUrl - } -} -</script> - -<style scoped> - -</style> diff --git a/src/router.js b/src/router.js index dafb79e..23690a2 100644 --- a/src/router.js +++ b/src/router.js @@ -113,12 +113,6 @@ component: () => import('@/views/onlineStudy/file'), name: 'File', meta: { title: '瀛︿範鏂囦欢', noCache: true } - }, - { - path: 'pdf/view', - component: () => import('@/components/PDF'), - name: 'PDFView', - meta: { title: 'PDF鏌ョ湅', noCache: true } } ] }, diff --git a/src/utils/request.js b/src/utils/request.js index 9c397ae..eb58593 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -137,5 +137,6 @@ postWithOutLoadTip, get, form, - download + download, + bestDownload } diff --git a/src/views/onlineStudy/file.vue b/src/views/onlineStudy/file.vue index 609f826..ad90fdf 100644 --- a/src/views/onlineStudy/file.vue +++ b/src/views/onlineStudy/file.vue @@ -43,7 +43,7 @@ </el-table-column> <el-table-column prop="attachment" label="闄勪欢"> <template slot-scope="scope"> - <el-link type="primary" v-for="item in scope.row.attachment">{{ item.name }}</el-link> + <el-link type="primary" :href="'/api/upload/download?url=' + item.url +'&fileName=' + item.name" v-for="item in scope.row.attachment" :key="item.url">{{ item.name }}</el-link> </template> </el-table-column> <el-table-column fixed="right" label="鎿嶄綔" width="140"> @@ -94,6 +94,10 @@ <el-button type="primary" @click="handlerSubmit">淇� 瀛�</el-button> </span> </el-dialog> + + <el-dialog title="PDF鏌ョ湅" :visible.sync="pdfDialog" width="80%" :before-close="closePdfDialog"> + <vue-office-pdf :src="pdf" @rendered="rendered" /> + </el-dialog> </div> </template> @@ -103,9 +107,10 @@ import StudyTypeAPI from '@/api/study-type'; import Upload from '@/components/UploadC'; +import VueOfficePdf from '@vue-office/pdf'; export default { name: 'type', - components: { Upload, Pagination }, + components: { Upload, Pagination, VueOfficePdf }, computed: { fileContentUrl: () => { return this.form ? this.form.contentUrl ? [this.form.contentUrl] : [] : []; @@ -113,6 +118,7 @@ }, data() { return { + pdf: '', dialogTitle: '娣诲姞瀛︿範鍐呭', ids: [], typeList: [], @@ -151,11 +157,15 @@ }, methods: { checkPdf(url) { - window.open('/#/online/study/pdf/view?pdfUrl=' + url, '_blank') + this.pdf = url; + this.pdfDialog = true; }, closePdfDialog() { this.pdfDialog = false; }, + rendered() { + + }, fileChange() { this.form.contentUrl = []; }, -- Gitblit v1.8.0