From 7fef8568c2c804a5ba0c8ff3c707572061d78285 Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Thu, 21 Dec 2017 13:25:29 +0800 Subject: [PATCH] perf: use import replace require.ensure --- src/views/example/table/complexTable.vue | 12 +++++++----- src/views/excel/exportExcel.vue | 5 ++--- src/views/excel/selectExcel.vue | 19 +++++++++---------- src/views/zip/index.vue | 5 ++--- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/views/example/table/complexTable.vue b/src/views/example/table/complexTable.vue index 04b808d2..4c126aa6 100644 --- a/src/views/example/table/complexTable.vue +++ b/src/views/example/table/complexTable.vue @@ -17,7 +17,7 @@ </el-select> <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">æœç´¢</el-button> <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" type="primary" icon="el-icon-edit">æ·»åŠ </el-button> - <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button> + <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button> <el-checkbox class="filter-item" style='margin-left:15px;' @change='tableKey=tableKey+1' v-model="showAuditor">æ˜¾ç¤ºå®¡æ ¸äºº</el-checkbox> </div> @@ -196,7 +196,8 @@ export default { type: [{ required: true, message: 'type is required', trigger: 'change' }], timestamp: [{ type: 'date', required: true, message: 'timestamp is required', trigger: 'change' }], title: [{ required: true, message: 'title is required', trigger: 'blur' }] - } + }, + downloadLoading: false } }, filters: { @@ -330,12 +331,13 @@ export default { }) }, handleDownload() { - require.ensure([], () => { - const { export_json_to_excel } = require('@/vendor/Export2Excel') + this.downloadLoading = true + import('@/vendor/Export2Excel').then(excel => { const tHeader = ['时间', '地区', '类型', 'æ ‡é¢˜', 'é‡è¦æ€§'] const filterVal = ['timestamp', 'province', 'type', 'title', 'importance'] const data = this.formatJson(filterVal, this.list) - export_json_to_excel(tHeader, data, 'tableæ•°æ®') + excel.export_json_to_excel(tHeader, data, 'tableæ•°æ®') + this.downloadLoading = false }) }, formatJson(filterVal, jsonData) { diff --git a/src/views/excel/exportExcel.vue b/src/views/excel/exportExcel.vue index 13359a2d..63e75764 100644 --- a/src/views/excel/exportExcel.vue +++ b/src/views/excel/exportExcel.vue @@ -60,13 +60,12 @@ export default { }, handleDownload() { this.downloadLoading = true - require.ensure([], () => { - const { export_json_to_excel } = require('@/vendor/Export2Excel') + import('@/vendor/Export2Excel').then(excel => { const tHeader = ['åºå·', 'æ–‡ç« æ ‡é¢˜', '作者', '阅读数', 'å‘布时间'] const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time'] const list = this.list const data = this.formatJson(filterVal, list) - export_json_to_excel(tHeader, data, this.filename) + excel.export_json_to_excel(tHeader, data, this.filename) this.downloadLoading = false }) }, diff --git a/src/views/excel/selectExcel.vue b/src/views/excel/selectExcel.vue index 43a90f1f..cc3e2fe3 100644 --- a/src/views/excel/selectExcel.vue +++ b/src/views/excel/selectExcel.vue @@ -66,16 +66,15 @@ export default { handleDownload() { if (this.multipleSelection.length) { this.downloadLoading = true - require.ensure([], () => { - const { export_json_to_excel } = require('@/vendor/Export2Excel') - const tHeader = ['åºå·', 'æ–‡ç« æ ‡é¢˜', '作者', '阅读数', 'å‘布时间'] - const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time'] - const list = this.multipleSelection - const data = this.formatJson(filterVal, list) - export_json_to_excel(tHeader, data, this.filename) - this.$refs.multipleTable.clearSelection() - this.downloadLoading = false - }) + import('@/vendor/Export2Excel').then(excel => { + const tHeader = ['åºå·', 'æ–‡ç« æ ‡é¢˜', '作者', '阅读数', 'å‘布时间'] + const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time'] + const list = this.multipleSelection + const data = this.formatJson(filterVal, list) + excel.export_json_to_excel(tHeader, data, this.filename) + this.$refs.multipleTable.clearSelection() + this.downloadLoading = false + }) } else { this.$message({ message: '请至少选择一æ¡è®°å½•', diff --git a/src/views/zip/index.vue b/src/views/zip/index.vue index 02abd103..98c3d7ad 100644 --- a/src/views/zip/index.vue +++ b/src/views/zip/index.vue @@ -59,13 +59,12 @@ export default { }, handleDownload() { this.downloadLoading = true - require.ensure([], () => { - const { export_txt_to_zip } = require('@/vendor/Export2Zip') + import('@/vendor/Export2Zip').then(zip => { const tHeader = ['åºå·', 'æ–‡ç« æ ‡é¢˜', '作者', '阅读数', 'å‘布时间'] const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time'] const list = this.list const data = this.formatJson(filterVal, list) - export_txt_to_zip(tHeader, data, this.filename, this.filename) + zip.export_txt_to_zip(tHeader, data, this.filename, this.filename) this.downloadLoading = false }) }, -- GitLab