From 5df79be2b15c0c22e4c25f94b02464ad70d793c3 Mon Sep 17 00:00:00 2001 From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com> Date: 星期三, 16 七月 2025 14:52:28 +0800 Subject: [PATCH] 修改新增 --- src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue | 36 ++++++++++++++++++++++++------------ 1 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue b/src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue index b608d4a..ebee8de 100644 --- a/src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue +++ b/src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue @@ -101,13 +101,24 @@ }) const openFile = async(path)=>{ - try { - // 1. 获取文件 - const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); - const arrayBuffer = await response.arrayBuffer(); - // 2. 创建新窗口 - const win = window.open('', '_blank'); - win.document.write(` + const ext = path.split('.').pop().toLowerCase(); + if (ext === 'doc') { + ElMessageBox.confirm('暂不支持线上预览.doc文件,是否下载查看?', '提示', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then(() => { + window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); + }).catch(() => { + console.log('取消预览') + }); + return + }else if(ext === 'pdf'){ + window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); + }else{ + try { + // 1. 获取文件 + const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); + const arrayBuffer = await response.arrayBuffer(); + // 2. 创建新窗口 + const win = window.open('', '_blank'); + win.document.write(` <!DOCTYPE html> <html> <head> @@ -122,12 +133,13 @@ </body> </html> `); - // 3. 渲染 DOCX - await renderAsync(arrayBuffer, win.document.getElementById('container')); + // 3. 渲染 DOCX + await renderAsync(arrayBuffer, win.document.getElementById('container')); - } catch (error) { - console.error('预览失败:', error); - alert(`预览失败: ${error.message}`); + } catch (error) { + console.error('预览失败:', error); + alert(`预览失败: ${error.message}`); + } } } -- Gitblit v1.9.2