diff --git a/demo/src/main.js b/demo/src/main.js index 0e46bb6..e641246 100644 --- a/demo/src/main.js +++ b/demo/src/main.js @@ -1,7 +1,6 @@ // 引入 Admin Framework(框架内部已包含所有依赖和样式) import AdminFramework from '../../dist/admin-framework.js' - // 引入组件映射表 import componentMap from './router/component-map.js' diff --git a/demo/src/views/ball/wch_users.vue b/demo/src/views/ball/wch_users.vue index c217cec..43b05f3 100644 --- a/demo/src/views/ball/wch_users.vue +++ b/demo/src/views/ball/wch_users.vue @@ -349,7 +349,9 @@ export default { this.query(1); }, async exportCsv(row) { - await wch_usersServer.exportCsv(row) + let res = await wch_usersServer.exportCsv(row) + debugger + window.framework.tools.downloadFile(res, '用户列表.csv'); } } } diff --git a/demo/src/views/ntrp/ntr_records.vue b/demo/src/views/ntrp/ntr_records.vue index 04c9089..577f98f 100644 --- a/demo/src/views/ntrp/ntr_records.vue +++ b/demo/src/views/ntrp/ntr_records.vue @@ -246,9 +246,7 @@ export default { this.query(1); }, exportCsv() { - ntr_recordsServer.exportCsv(this.gridOption.param).then(res => { - window.framework.tools.downloadFile(res, '测试记录.csv'); - }); + ntr_recordsServer.exportCsv(this.gridOption.param) } }, computed: { diff --git a/src/utils/http.js b/src/utils/http.js index d87fe87..fe689c1 100644 --- a/src/utils/http.js +++ b/src/utils/http.js @@ -194,7 +194,7 @@ class Http { return promise } - async fileExport(url, param) { + async fileExport(url, param, filename, is_down = true) { let formData = this.formatFormDataParam(param) let config = { @@ -206,14 +206,19 @@ class Http { url: url, responseType: 'blob' } + let res = await axios.post(url, formData, config) - const filename = res.headers.filename - const a = document.createElement('a') - const href = window.URL.createObjectURL(res.data) - a.href = href - a.download = filename - a.click() - window.URL.revokeObjectURL(url) + filename = filename || res.headers['content-disposition'].split('filename=')[1].split(';')[0] + + // 开头和结尾去掉 中间不去掉 + filename = filename.replace(/^[_-]+|[_-]+$/g, '') + + // 直接下载 + if (is_down) { + window.framework.uiTool.downloadFile(res.data, filename) + } + + return res } }