From 20b20c8ab5ffbcd2f7ff4cd126e42e5be7e7dd3e Mon Sep 17 00:00:00 2001 From: wangwenrui Date: Mon, 24 Aug 2020 11:48:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=B5=B0=E5=90=8E=E5=8F=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/common/exportXLSX.vue | 46 +++++++------------ 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/nezha-fronted/src/components/common/exportXLSX.vue b/nezha-fronted/src/components/common/exportXLSX.vue index cd852742d..55509bfb1 100644 --- a/nezha-fronted/src/components/common/exportXLSX.vue +++ b/nezha-fronted/src/components/common/exportXLSX.vue @@ -177,48 +177,37 @@ }, downloadTemplate:function(){ let language=localStorage.getItem('nz-language-' + localStorage.getItem('nz-username')) || 'en'; //初始未选择默认 en 英文 - let fileName=this.exportFileName+'-'+'template'+'.xlsx'; - let xmlHttp = new XMLHttpRequest(); - xmlHttp.responseType = "blob"; - xmlHttp.onload=function(){ - if(this.status === 200){ - let blob=this.response; - let reader = new FileReader(); - reader.readAsDataURL(blob); // 转换为base64,可以直接放入a标签href - reader.onload = function(e) { - // 转换完成后创建a标签下载 - let a = document.createElement('a'); - a.download = fileName; - a.href = e.target.result; - document.body.appendChild(a); - a.click(); - a.remove(); - } - } + let fileName=this.exportFileName+'-'+'template-'+this.getTimeString()+'.xlsx'; + + let url=null; + if (this.importUrl.indexOf("asset") > -1) { + url = "/asset/template"; + } /*else if (this.importUrl.indexOf("endpoint") > -1) { + url = "/endpoint/template"; + }*/ + + let param={language:language} + if(!url){ + console.error('no interface support') } - xmlHttp.open("GET",'/static/template/'+language+'/'+fileName,true); - xmlHttp.send(); + this.exportExcel(url,param,fileName) }, formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j])) }, exportCur:function(){ - this.exportExcel(); + this.exportExcel(this.exportUrl,this.params,this.exportFileName+'-'+this.getTimeString()+'.xlsx'); this.closeDialog(); }, exportAll:function(){ let params=JSON.parse(JSON.stringify(this.params)); params.pageSize=-1; - this.exportExcel(params); + this.exportExcel(this.exportUrl,params,this.exportFileName+'-'+this.getTimeString()+'.xlsx'); this.closeDialog(); }, - exportExcel:function(params){ + exportExcel:function(url,params,fileName){ let temp=this; - if(!params){ - params=temp.params; - } - axios.get(this.exportUrl,{responseType:'blob',params:params}).then(res=>{ - let fileName=temp.exportFileName+'-'+temp.getTimeString()+'.xlsx'; + axios.get(url,{responseType:'blob',params:params}).then(res=>{ if(window.navigator.msSaveOrOpenBlob){ // 兼容ie11 let blobObject = new Blob([res.data]); @@ -255,7 +244,6 @@ let hours=this.formatNum(date.getHours()); let minutes=this.formatNum(date.getMinutes()); let seconds=this.formatNum(date.getSeconds()); - console.log(day) return year + split + month + split + day + ' ' + hours + split + minutes + split + seconds; }, formatNum:function(num){