diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue index 576bb8e..5850965 100644 --- a/src/page/login/userlogin.vue +++ b/src/page/login/userlogin.vue @@ -88,9 +88,9 @@ //角色ID roleId: "", //用户名 - username: "zt_manager", + username: "", //密码 - password: "123456", + password: "", //账号类型 type: "account", //验证码的值 diff --git a/src/views/customer/index.vue b/src/views/customer/index.vue index 4d79721..98f567d 100644 --- a/src/views/customer/index.vue +++ b/src/views/customer/index.vue @@ -229,10 +229,43 @@ export default { cancelButtonText: "取消", type: "warning" }).then(() => { - NProgress.start(); + // NProgress.start(); exportBlob(`/api/weChatUser/export?${this.website.tokenHeader}=${getToken()}${this.query.phone ? '&phone=' + this.query.phone : ''}${this.query.username ? '&username=' + this.query.username : ''}`).then(res => { - downloadXls(res.data, `用户数据${dateNow()}.xlsx`); - NProgress.done(); + // const contentDisposition = res.headers['content-disposition'] + // const fileNameRegexp = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; + // const matches = fileNameRegexp.exec(contentDisposition); + // const filename = (matches != null && matches[1] ? decodeURIComponent(matches[1].replace(/['"]/g, '')) : '微信用户.xlsx'); + // downloadXls(res.data,filename); + // NProgress.done(); + if (!res || !res.data) { + this.$message({ + type: "error", + message: "导出失败!", + }); + return; + } + let blob = new Blob([res.data]); //response.data为后端传的流文件 + const contentDisposition = res.headers['content-disposition'] + const fileNameRegexp = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; + const matches = fileNameRegexp.exec(contentDisposition); + const filename = (matches != null && matches[1] ? decodeURIComponent(matches[1].replace(/['"]/g, '')) : '微信用户.xlsx'); + let downloadFilename = filename; //设置导出的文件名 + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + //兼容ie浏览器 + window.navigator.msSaveOrOpenBlob(blob, downloadFilename); + } else { + //谷歌,火狐等浏览器 + let url = window.URL.createObjectURL(blob); + let downloadElement = document.createElement("a"); + downloadElement.style.display = "none"; + downloadElement.href = url; + downloadElement.download = downloadFilename; + document.body.appendChild(downloadElement); + downloadElement.click(); + document.body.removeChild(downloadElement); + window.URL.revokeObjectURL(url); + } + this.$message({ type: "success", message: "导出成功!" }); }) }); }, diff --git a/src/views/order/index.vue b/src/views/order/index.vue index 7b087be..e88dcd8 100644 --- a/src/views/order/index.vue +++ b/src/views/order/index.vue @@ -778,7 +778,6 @@ export default { orderNo:this.form.orderNumber ? this.form.orderNumber : '' } exportList(params).then((res) => { - console.log(res); if (!res || !res.data) { this.$message({ type: "error", @@ -787,7 +786,11 @@ export default { return; } let blob = new Blob([res.data]); //response.data为后端传的流文件 - let downloadFilename = "订单" + ".xlsx"; //设置导出的文件名 + const contentDisposition = res.headers['content-disposition'] + const fileNameRegexp = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; + const matches = fileNameRegexp.exec(contentDisposition); + const filename = (matches != null && matches[1] ? decodeURIComponent(matches[1].replace(/['"]/g, '')) : '订单.xlsx'); + let downloadFilename = filename; //设置导出的文件名 if (window.navigator && window.navigator.msSaveOrOpenBlob) { //兼容ie浏览器 window.navigator.msSaveOrOpenBlob(blob, downloadFilename); diff --git a/src/views/statistics/index.vue b/src/views/statistics/index.vue index 146ae6f..891449c 100644 --- a/src/views/statistics/index.vue +++ b/src/views/statistics/index.vue @@ -669,7 +669,12 @@ export default { return; } let blob = new Blob([res.data]);//response.data为后端传的流文件 - let downloadFilename = '统计' + '.xlsx';//设置导出的文件名 + const contentDisposition = res.headers['content-disposition'] + const fileNameRegexp = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; + const matches = fileNameRegexp.exec(contentDisposition); + const filename = (matches != null && matches[1] ? decodeURIComponent(matches[1].replace(/['"]/g, '')) : '统计.xlsx'); + // console.log(filename) + let downloadFilename = filename;//设置导出的文件名 if (window.navigator && window.navigator.msSaveOrOpenBlob) { //兼容ie浏览器 window.navigator.msSaveOrOpenBlob(blob, downloadFilename)