| src/components/filePreview/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/plugins/download.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/opportunityManagement/fileList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/filePreview/index.vue
@@ -78,9 +78,9 @@ transformData: (workbookData) => workbookData, }); // 计算属性 - 判断文件类型 // 计算属性 - 判断文件类型(支持URL带查询参数) const isImage = computed(() => { const state = /\.(jpg|jpeg|png|gif)$/i.test(fileUrl.value); const state = /\.(jpg|jpeg|png|gif)(\?.*)?$/i.test(fileUrl.value); if (state) { imgUrl.value = fileUrl.value.replaceAll('word', 'img'); } @@ -89,23 +89,23 @@ const isPdf = computed(() => { console.log(fileUrl.value) return /\.pdf$/i.test(fileUrl.value); return /\.pdf(\?.*)?$/i.test(fileUrl.value); }); const isDoc = computed(() => { return /\.(doc|docx)$/i.test(fileUrl.value); return /\.(doc|docx)(\?.*)?$/i.test(fileUrl.value); }); const isXls = computed(() => { const state = /\.(xls|xlsx)$/i.test(fileUrl.value); const state = /\.(xls|xlsx)(\?.*)?$/i.test(fileUrl.value); if (state) { options.value.xls = /\.(xls)$/i.test(fileUrl.value); options.value.xls = /\.(xls)(\?.*)?$/i.test(fileUrl.value); } return state; }); const isZipOrRar = computed(() => { return /\.(zip|rar)$/i.test(fileUrl.value); return /\.(zip|rar)(\?.*)?$/i.test(fileUrl.value); }); const isSupported = computed(() => { src/plugins/download.js
@@ -1,4 +1,4 @@ import axios from "axios"; import axios from "axios"; import { ElLoading, ElMessage } from "element-plus"; import { saveAs } from "file-saver"; import { getToken } from "@/utils/auth"; @@ -82,6 +82,16 @@ saveAs(text, name, opts) { saveAs(text, name, opts); }, byUrl(url, filename) { // 将URL中的preview替换成download const downloadUrl = url.replace(/preview/g, 'download') const link = document.createElement('a') link.href = downloadUrl link.download = filename || '' document.body.appendChild(link) link.click() document.body.removeChild(link) }, async printErrMsg(data) { const resText = await data.text(); const rspObj = JSON.parse(resText); src/views/salesManagement/opportunityManagement/fileList.vue
@@ -38,7 +38,7 @@ } const downLoadFile = (row) => { proxy.$download.name(row.url); proxy.$download.byUrl(row.url, row.originalFilename); } const lookFile = (row) => {