Prechádzať zdrojové kódy

1.0.59修复查询类不可导出问题

liuyanpeng 2 rokov pred
rodič
commit
7d2a66054c

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pc-component-v3",
-  "version": "1.0.55",
+  "version": "1.0.59",
   "description": "",
   "main": "dist/pc-component-v3.js",
   "scripts": {

+ 2 - 2
packages/common/Common.js

@@ -154,8 +154,8 @@ export default {
 
   // 给请求头中加上account和token信息
   addTokenToRequest: function (request) {
-    var token = localStorage.getItem('#token');
-    var account = localStorage.getItem('#accountId');
+    var token = $.cookie('token');
+    var account = $.cookie('account');
     if (token == undefined) {
       var localStorageToken = localStorage.getItem('#token');
       if (localStorageToken != undefined) {

+ 23 - 6
packages/common/DownloadService.js

@@ -11,12 +11,29 @@ export default {
 	 * @param {*} fileName 
 	 */
   downloadFile: function (url, fileName) {
-    var a = document.createElement('a');
-    a.download = fileName;
-    a.href = url;
-    $('body').append(a); // 修复firefox中无法触发click
-    a.click();
-    $(a).remove();
+    var xhr = new XMLHttpRequest();
+    xhr.open('get', url, true);
+    const token = localStorage.getItem('#token');
+    xhr.setRequestHeader('token', token);
+    xhr.setRequestHeader('Content-type', 'application/json');
+    xhr.responseType = 'blob';
+    xhr.onreadystatechange = function(){
+      if(xhr.readyState === 4 && xhr.status === 200){
+        let res = xhr.response;
+        let type = xhr.getResponseHeader('Content-Type');
+        let blob = new Blob([res], { type: type });   
+        const blobUrl = URL.createObjectURL(blob);
+        const link = document.createElement('a');
+        link.download = fileName;
+        link.style.display = 'none';
+        link.href = blobUrl;
+        document.body.appendChild(link);
+        link.click();
+        URL.revokeObjectURL(blobUrl);
+        document.body.removeChild(link);  
+      }
+    };
+    xhr.send();
   },
 
 

+ 2 - 2
packages/info/src/QueryPage.vue

@@ -796,7 +796,7 @@ export default {
                 + '&infoFilterFieldValues=' + _self.uuid
                 + '&condition=' + condition;
         let timeStr = moment().format('_YYYYMMDD_hhmmss');
-        let fileName = (_self.infoWindowDto == null ? '导出数据' + timeStr + '.xls' : _self.infoWindowDto.name + timeStr + '.xls');
+        let fileName = (_self.infoWindowDto == null ? '导出数据' + timeStr + '.xlsx' : _self.infoWindowDto.name + timeStr + '.xlsx');
         DownloadService.downloadFile(downloadUrl, fileName);
       }else{
         let infoFilterFieldValues = _self.$refs.queryCondition.getQueryCondition();
@@ -807,7 +807,7 @@ export default {
 
 
         let timeStr = moment().format('_YYYYMMDD_hhmmss');
-        let fileName = (_self.infoWindowDto == null ? '导出数据' + timeStr + '.xls' : _self.infoWindowDto.name + timeStr + '.xls');
+        let fileName = (_self.infoWindowDto == null ? '导出数据' + timeStr + '.xlsx' : _self.infoWindowDto.name + timeStr + '.xlsx');
         let userStorageDtos = [
           {
             key: _self.uuid,