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}