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