浏览代码

Merge branch 'hjw-outexcel' into 'master'

Hjw outexcel

See merge request spfm/spfm-market-front!386
徐兴安 2 年之前
父节点
当前提交
7bb6d232d5
共有 4 个文件被更改,包括 146 次插入19 次删除
  1. 1 1
      src/pages/main/busitime/busiTimeout.vue
  2. 92 13
      src/pages/main/vendor/Export2Excel.js
  3. 49 1
      src/vendor/Export2Excel.js
  4. 4 4
      vue.config.js

+ 1 - 1
src/pages/main/busitime/busiTimeout.vue

@@ -266,7 +266,7 @@ export default {
                   ]; // 导出的表头字段名
 
                   let list = exdata;
-
+                   
                   const data = that.formatJson(filterVal, list);
                   export_json_to_excel(tHeader, data, `report`); // 导出的表格名称,根据需要自己命名
               });

+ 92 - 13
src/pages/main/vendor/Export2Excel.js

@@ -1,8 +1,38 @@
 /* eslint-disable */
 require('script-loader!file-saver');
 // require('script-loader!./Blob');
-const {blob} = require('./Blob')
+const { blob } = require('./Blob')
+// /static/js/util.js?v=1.0.0
 require('script-loader!xlsx/dist/xlsx.core.min');
+const getNowDate = () => {
+    var date = new Date();
+    var sign2 = ":";
+    var year = date.getFullYear() // 年
+    var month = date.getMonth() + 1; // 月
+    var day = date.getDate(); // 日
+    var hour = date.getHours(); // 时
+    var minutes = date.getMinutes(); // 分
+    var seconds = date.getSeconds() //秒
+    var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];
+    var week = weekArr[date.getDay()];
+    // 给一位数的数据前面加 “0”
+    if (month >= 1 && month <= 9) {
+        month = "0" + month;
+    }
+    if (day >= 0 && day <= 9) {
+        day = "0" + day;
+    }
+    if (hour >= 0 && hour <= 9) {
+        hour = "0" + hour;
+    }
+    if (minutes >= 0 && minutes <= 9) {
+        minutes = "0" + minutes;
+    }
+    if (seconds >= 0 && seconds <= 9) {
+        seconds = "0" + seconds;
+    }
+    return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;
+}
 function generateArray(table) {
     var out = [];
     var rows = table.querySelectorAll('tr');
@@ -29,7 +59,7 @@ function generateArray(table) {
             if (rowspan || colspan) {
                 rowspan = rowspan || 1;
                 colspan = colspan || 1;
-                ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}});
+                ranges.push({ s: { r: R, c: outRow.length }, e: { r: R + rowspan - 1, c: outRow.length + colspan - 1 } });
             }
             ;
 
@@ -52,16 +82,16 @@ function datenum(v, date1904) {
 
 function sheet_from_array_of_arrays(data, opts) {
     var ws = {};
-    var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}};
+    var range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } };
     for (var R = 0; R != data.length; ++R) {
         for (var C = 0; C != data[R].length; ++C) {
             if (range.s.r > R) range.s.r = R;
             if (range.s.c > C) range.s.c = C;
             if (range.e.r < R) range.e.r = R;
             if (range.e.c < C) range.e.c = C;
-            var cell = {v: data[R][C]};
+            var cell = { v: data[R][C] };
             if (cell.v == null) continue;
-            var cell_ref = XLSX.utils.encode_cell({c: C, r: R});
+            var cell_ref = XLSX.utils.encode_cell({ c: C, r: R });
 
             if (typeof cell.v === 'number') cell.t = 'n';
             else if (typeof cell.v === 'boolean') cell.t = 'b';
@@ -93,6 +123,7 @@ function s2ab(s) {
 }
 
 export function export_table_to_excel(id) {
+
     var theTable = document.getElementById(id);
     var oo = generateArray(theTable);
     var ranges = oo[1];
@@ -112,20 +143,29 @@ export function export_table_to_excel(id) {
     wb.SheetNames.push(ws_name);
     wb.Sheets[ws_name] = ws;
 
-    var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
+    var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });
 
-    saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx")
+    saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), "test.xlsx")
+    ajaxJson("数据加载中", '/market/clickCurrenLog/add', {//导出请求日志接口
+        "opName": JSON.parse(window.sessionStorage.userInfo).loginNo,
+        "fileName": "test.xlsx",
+        "opTime": getNowDate(),
+    }, function (res) {
+        console.log(res)
+    });
 }
 
 function formatJson(jsonData) {
     console.log(jsonData)
 }
-export function export_json_to_excel(th, jsonData, defaultTitle,   autoWidth = true,
-                                     bookType = 'xlsx',
-                                     myRowFont = '1') {
 
-    /* original data */
 
+export function export_json_to_excel(th, jsonData, defaultTitle, autoWidth = true,
+    bookType = 'xlsx',
+    myRowFont = '1') {
+
+    /* original data */
+    console.log('11111')
     var data = jsonData;
     data.unshift(th);
     var ws_name = "SheetJS";
@@ -167,7 +207,46 @@ export function export_json_to_excel(th, jsonData, defaultTitle,   autoWidth = t
     wb.SheetNames.push(ws_name);
     wb.Sheets[ws_name] = ws;
 
-    var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
+    var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });
     var title = defaultTitle || '列表'
-    saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx")
+    saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), title + ".xlsx")
+    ajaxJson("数据加载中", '/market/clickCurrenLog/add', {//导出请求日志接口
+        "opName": JSON.parse(window.sessionStorage.userInfo).loginNo,
+        "fileName": title + ".xlsx",
+        "opTime": getNowDate(),
+    }, function (res) {
+        console.log(res)
+    });
+}
+
+
+function ajaxJson(msg, url, param, callBack, beforeSend, async) {
+    $.ajax({
+        type: "POST",
+        url: url,
+        global: true,
+        data: JSON.stringify(param),
+        contentType: "application/json;charset=UTF-8",
+        beforeSend: function (req) {
+
+            req.setRequestHeader("agileauthtoken", JSON.parse(window.sessionStorage.agileauthtoken).replace(/"/g, ''));
+
+            if ($.isFunction(beforeSend)) {
+
+                beforeSend.call(this, req);
+            }
+
+
+        },
+        xhrFields: {
+            withCredentials: false //跨域session保持
+        },
+        async: async == undefined ? true : async,
+        dataType: "json",
+        success: function (page) {
+        },
+        error: function (xhr, textStatus, errorThrow) {
+        }
+    });
+
 }

+ 49 - 1
src/vendor/Export2Excel.js

@@ -115,13 +115,20 @@ export function export_table_to_excel(id) {
     var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
 
     saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx")
+    ajaxJson("数据加载中", '/market/clickCurrenLog/add', {//导出请求日志接口
+        "opName": JSON.parse(window.sessionStorage.userInfo).loginNo,
+        "fileName": "test.xlsx",
+        "opTime": getNowDate(),
+    }, function (res) {
+        console.log(res)
+    });
+    
 }
 
 function formatJson(jsonData) {
     console.log(jsonData)
 }
 export function export_json_to_excel(th, jsonData, defaultTitle) {
-
     /* original data */
 
     var data = jsonData;
@@ -138,4 +145,45 @@ export function export_json_to_excel(th, jsonData, defaultTitle) {
     var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
     var title = defaultTitle || '列表'
     saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx")
+    
+    ajaxJson("数据加载中", '/market/clickCurrenLog/add', {//导出请求日志接口
+        "opName": JSON.parse(window.sessionStorage.userInfo).loginNo,
+        "fileName":  title + ".xlsx",
+        "opTime": getNowDate(),
+    }, function (res) {
+        console.log(res)
+    });
 }
+
+
+function ajaxJson(msg, url, param, callBack, beforeSend, async) {
+    $.ajax({
+        type: "POST",
+        url: url,
+        global: true,
+        data: JSON.stringify(param),
+        contentType: "application/json;charset=UTF-8",
+        beforeSend: function (req) {
+
+            req.setRequestHeader("agileauthtoken", JSON.parse(window.sessionStorage.agileauthtoken).replace(/"/g, ''));
+
+            if ($.isFunction(beforeSend)) {
+
+                beforeSend.call(this, req);
+            }
+
+
+        },
+        xhrFields: {
+            withCredentials: false //跨域session保持
+        },
+        async: async == undefined ? true : async,
+        dataType: "json",
+        success: function (page) {
+        },
+        error: function (xhr, textStatus, errorThrow) {
+        }
+    });
+
+}
+

+ 4 - 4
vue.config.js

@@ -93,7 +93,7 @@ module.exports = {
         proxy: {
             // 开发环境变化可注释 ⬇️⬇️
             "/market/CMK": {
-                target: "http://124.223.66.248:9600",
+                target: "http://192.168.2.124:9113",
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -101,7 +101,7 @@ module.exports = {
                 },
             },
             "/market/mk": {
-                target: "http://124.223.66.248:9600",
+                target: "http://192.168.2.124:9113",
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -109,7 +109,7 @@ module.exports = {
                 },
             },
             "/market/techcentergj": {
-                target: "http://124.223.66.248:9600",
+                target: "http://192.168.2.124:9113",
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -117,7 +117,7 @@ module.exports = {
                 },
             },
             "/mkWangge": {
-                target: "http://124.223.66.248:9600",
+                target: "http://192.168.2.124:9113",
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {