From 4c053946535ebfcbc3a6cbda0458fb0443f43520 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 17 十一月 2023 10:00:26 +0800 Subject: [PATCH] Changes --- web/src/commonJS/commonFile.js | 129 +++++++++++++++++++++++++++++++++++------- 1 files changed, 106 insertions(+), 23 deletions(-) diff --git a/web/src/commonJS/commonFile.js b/web/src/commonJS/commonFile.js index db5b066..7599513 100644 --- a/web/src/commonJS/commonFile.js +++ b/web/src/commonJS/commonFile.js @@ -2,71 +2,112 @@ //let docx = require("docx-preview"); import http from '../../packages/utils/request'; import Vue from 'vue'; +import LuckyExcel from 'luckyexcel'; + 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 (suffixName == 'pdf' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png') { if (previewContainer != null) { - previewContainer.src = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${fileId}`; + previewContainer.src = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${fileId}` } else { - alert("iframe鏈姞杞�") + alert("娓叉煋鍖哄煙鏈姞杞�") } } 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 { + alert("娓叉煋鍖哄煙鏈姞杞�") } }, 100); + } else if (suffixName == 'xls' || suffixName == 'xlsx') { + const response = await http.get('/sys/oss/content2', {params: formData, responseType: 'blob'}); + const arrayBuffer = await response.arrayBuffer(); + LuckyExcel.transformExcelToLucky( + arrayBuffer, + function (exportJson, luckysheetfile) { + luckysheet.create({ + container: pageMarkerfun, + data: exportJson.sheets, + lang: 'zh', + showtoolbar: false, + showinfobar: false, + }); + }) } else { - alert("浠呮敮鎸乄ord鏂囦欢鍜孭DF鏂囦欢棰勮"); + alert("鏂囦欢绫诲瀷涓嶆敮鎸侀瑙�"); } - } catch(error) { - if (error.message=='Request failed with status code 404') - alert("鏂囦欢涓嶅瓨鍦ㄨ閲嶆柊涓婁紶锛�") + } catch (error) { + if (error.message == 'Request failed with status code 404') + alert("鏂囦欢涓嶅瓨鍦ㄨ閲嶆柊涓婁紶锛�") } } -function setAccessoryFormatComm(row, pageMarker) { + + +function setAccessoryFormatComm(row, pageMarker, that) { if (row.accessoryMap) { let data = ''; + + // 瀹氫箟 title 鍑芥暟 + window.titleName = async function(suffixName, fileName) { + if (suffixName == 'pdf') { + that.pdfName = fileName; + } else if (suffixName == 'doc' || suffixName == 'docx') { + that.docName = fileName; + } else if (suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png') { + that.imgName = fileName; + } else if (suffixName == 'xls' || suffixName == 'xlsx') { + that.xlsName = fileName; + } + } + 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') { + let pageMarker2 = pageMarker; + + if (suffixName == 'pdf' || suffixName == 'doc' || suffixName == 'docx' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png' || suffixName == 'xls' || suffixName == 'xlsx') { if (suffixName == 'pdf') { pageMarker2 = pageMarker + '-pdf' } else if (suffixName == 'doc' || suffixName == 'docx') { pageMarker2 = pageMarker + '-doc' + } else if (suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png') { + pageMarker2 = pageMarker + '-img' + } else if (suffixName == 'xls' || suffixName == 'xlsx') { + pageMarker2 = pageMarker + '-xls' } - data += '<span><a href="javascript:void(0)" onclick="openPreviewDialog(\'' + fileId + '\',\'' + suffixName + '\',document.getElementById(\'' + pageMarker2 + '\'),\'' + pageMarker2 + '\');return false;"> <button>棰勮</button></a></span>'; + + // 灏� title 鍑芥暟鐨勫紩鐢ㄤ紶閫掔粰鎸夐挳鐨勭偣鍑讳簨浠� + data += '<span><a href="javascript:void(0)" onclick="openPreviewDialog(\'' + fileId + '\',\'' + suffixName + '\',document.getElementById(\'' + pageMarker2 + '\'),\'' + pageMarker2 + '\');return false;"> <button onclick="titleName(\'' + suffixName + '\', \'' + fileName + '\')">棰勮</button></a>' + fileName + '</span>'; + } else { + data += '<span><a href="' + url + '" style="display:block;overflow:hidden;word-break:keep-all;white-space:nowrap;text-overflow:ellipsis;">' + fileName + '</a></span>'; } - data += '<span><a href="' + url + '" style="display:block;overflow:hidden;word-break:keep-all;white-space:nowrap;text-overflow:ellipsis;">' + fileName + '</a></span>'; } + return data; } else { return '<span></span>' } } -function setAccessoryFormat2(row, pageMarker) { + +function setAccessoryFormat2(row, pageMarker,that) { if (row.accessoryMap) { - console.log(111) let data = ''; for (let key in row.accessoryMap) { let url = key; @@ -79,18 +120,23 @@ 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' || suffixName == 'doc' || suffixName == 'docx' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png' || suffixName == 'xls' || suffixName == 'xlsx') { if (suffixName == 'pdf') { pageMarker2 = pageMarker + '-pdf' + that.pdfName =fileName; } else if (suffixName == 'doc' || suffixName == 'docx') { pageMarker2 = pageMarker + '-doc' + that.docName =fileName; + } else if (suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png') { + pageMarker2 = pageMarker + '-img' + that.imgName =fileName; + } else if (suffixName == 'xls' || suffixName == 'xlsx') { + pageMarker2 = pageMarker + '-xls' + that.xlsName =fileName; } - console.log(111) return openPreviewDialog(fileId, suffixName, document.getElementById(pageMarker2), pageMarker2); } else { - alert("鐩墠浠呮敮鎸乄ord鏂囦欢鍜孭DF鏂囦欢棰勮") - + return alert("鏂囦欢绫诲瀷涓嶆敮鎸侀瑙�") } } return data; @@ -99,4 +145,41 @@ } } -export {setAccessoryFormatComm, setAccessoryFormat2} +function setAccessoryFormat3(row, pageMarker,that) { + if (row.files.groups[0].fields[0].files[0]) { + let data = ''; + let url = row.files.groups[0].fields[0].files[0].url; + let fileName = row.files.groups[0].fields[0].files[0].name; + 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' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png' || suffixName == 'xls' || suffixName == 'xlsx') { + if (suffixName == 'pdf') { + pageMarker2 = pageMarker + '-pdf' + that.pdfName =fileName; + } else if (suffixName == 'doc' || suffixName == 'docx') { + pageMarker2 = pageMarker + '-doc' + that.docName =fileName; + } else if (suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png') { + pageMarker2 = pageMarker + '-img' + that.imgName =fileName; + } else if (suffixName == 'xls' || suffixName == 'xlsx') { + pageMarker2 = pageMarker + '-xls' + that.xlsName =fileName; + } + return openPreviewDialog(fileId, suffixName, document.getElementById(pageMarker2), pageMarker2); + } else { + return alert("鏂囦欢绫诲瀷涓嶆敮鎸侀瑙�") + } + } + return data; + } else { + return '<span></span>'; + } +} + +export {setAccessoryFormatComm, setAccessoryFormat2, setAccessoryFormat3} -- Gitblit v1.9.1