import {renderAsync} from "docx-preview"; //let docx = require("docx-preview"); import http from '../../packages/utils/request'; import Vue from 'vue'; window.openPreviewDialog = async function (fileId, suffixName, previewContainer, pageMarkerfun) { try { let formData = {fileId: fileId, suffixName: suffixName} console.log(previewContainer) Vue.prototype.$EventBus.$emit(pageMarkerfun) if (suffixName == 'pdf') { if (previewContainer != null) { previewContainer.src = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${fileId}`; } else { alert("iframe未加载") } } else if (suffixName == 'doc' || suffixName == 'docx') { const response = await http.get('/sys/oss/content2', {params: formData, responseType: 'blob'}); console.log(response) response.success = true; const arrayBuffer = await response.arrayBuffer(); setTimeout(async () => { if (previewContainer != null) { await renderAsync(arrayBuffer, previewContainer); } else { } }, 100); } else { alert("仅支持Word文件和PDF文件预览"); } } catch(error) { if (error.message=='Request failed with status code 404') alert("文件不存在请重新上传!") } } function setAccessoryFormatComm(row, pageMarker) { if (row.accessoryMap) { let data = ''; for (let key in row.accessoryMap) { let url = key; let fileName = row.accessoryMap[key]; let suffixName = ''; if (fileName != null) { let arr = fileName.split('.'); suffixName = arr[arr.length - 1].toLowerCase(); } let fileId = /_zt_oss_id=(\d+)/.exec(url); fileId = fileId ? fileId[1] : ''; // 获取匹配的内容,如果为空则赋值为空字符串 let pageMarker2 = pageMarker if (suffixName == 'pdf' || suffixName == 'doc' || suffixName == 'docx') { if (suffixName == 'pdf') { pageMarker2 = pageMarker + '-pdf' } else if (suffixName == 'doc' || suffixName == 'docx') { pageMarker2 = pageMarker + '-doc' } data += ' '; } data += '' + fileName + ''; } return data; } else { return '' } } function setAccessoryFormat2(row, pageMarker) { if (row.accessoryMap) { console.log(111) let data = ''; for (let key in row.accessoryMap) { let url = key; let fileName = row.accessoryMap[key]; let suffixName = ''; if (fileName != null) { let arr = fileName.split('.'); suffixName = arr[arr.length - 1].toLowerCase(); } let fileId = /_zt_oss_id=(\d+)/.exec(url); fileId = fileId ? fileId[1] : ''; // 获取匹配的内容,如果为空则赋值为空字符串 let pageMarker2 = pageMarker console.log(111) if (suffixName == 'pdf' || suffixName == 'doc' || suffixName == 'docx') { if (suffixName == 'pdf') { pageMarker2 = pageMarker + '-pdf' } else if (suffixName == 'doc' || suffixName == 'docx') { pageMarker2 = pageMarker + '-doc' } console.log(111) return openPreviewDialog(fileId, suffixName, document.getElementById(pageMarker2), pageMarker2); } else { alert("目前仅支持Word文件和PDF文件预览") } } return data; } else { return ''; } } export {setAccessoryFormatComm, setAccessoryFormat2}