From 32dce44249f1b3fb8487a154517c381d55123fbc Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 19:31:49 +0800 Subject: [PATCH] feat: 1、库存管理各种单据导出对接 --- admin-web/src/views/mixins/listPage.js | 126 ++++++++++++++++++++++++++--------------- 1 files changed, 79 insertions(+), 47 deletions(-) diff --git a/admin-web/src/views/mixins/listPage.js b/admin-web/src/views/mixins/listPage.js index 2db0160..5aba8aa 100644 --- a/admin-web/src/views/mixins/listPage.js +++ b/admin-web/src/views/mixins/listPage.js @@ -1,22 +1,24 @@ import * as DateFormatter from '@/utils/DateFormatter'; -import { mapGetters } from 'vuex'; +import {mapGetters} from 'vuex'; +import * as dataExport from "@/api/exportExcel" + export default { data() { return { loading: false, list: [], - items:[], - filterFrom:{}, + items: [], + filterFrom: {}, editSetting: { - title: '', - id: '', - orgId: '', - show: false, + title: '', + id: '', + orgId: '', + show: false, }, detailSetting: { - title: '璇︽儏', - id: '', - show: false, + title: '璇︽儏', + id: '', + show: false, }, pageNum: 1, pageSize: 10, @@ -24,68 +26,98 @@ } }, computed: { - ...mapGetters(['userInfo']), - clientHeight() { - return document.documentElement.clientHeight; - }, + ...mapGetters(['userInfo']), + clientHeight() { + return document.documentElement.clientHeight; + }, }, created() { - this.fetchData(); }, filters: { - formatTime(time) { - if (!time) return '-'; - return DateFormatter.LongToDateTime(time); - }, + formatTime(time) { + if (!time) return '-'; + return DateFormatter.LongToDateTime(time); + }, }, - methods:{ - fetchData() {}, + methods: { // 瀵煎嚭 - handleExport() {}, + handleExport(api, fileName, params) { + console.log(fileName) + let loading = this.$loading({ + lock: true, + text: '瀵煎嚭涓紝璇风◢鍊�...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)', + }); + // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁� + dataExport[api](params) + .then((res) => { + const blob = new Blob([res], {type: 'application/vnd.ms-excel'}); + if ('download' in document.createElement('a')) { + // 闈濱E涓嬭浇 + const elink = document.createElement('a'); + elink.download = `${fileName}.xls`; + elink.style.display = 'none'; + elink.href = URL.createObjectURL(blob); + document.body.appendChild(elink); + elink.click(); + URL.revokeObjectURL(elink.href); + document.body.removeChild(elink); + } else { + // IE10+涓嬭浇 + navigator.msSaveBlob(blob, `${fileName}.xls`); + } + this.$message.success('瀵煎嚭鎴愬姛锛�'); + loading.close(); + }) + .catch(() => { + loading.close(); + }); + }, // 鏂板 handleAdd() { - this.editSetting.id = null; - this.editSetting.info = null; - this.editSetting.title = '鏂板'; - this.editSetting.show = true; + this.editSetting.id = null; + this.editSetting.info = null; + this.editSetting.title = '鏂板'; + this.editSetting.show = true; }, // 缂栬緫 handleEdit(row) { - this.editSetting.id = row.id; - this.editSetting.info = null; - this.editSetting.title = '缂栬緫'; - this.editSetting.show = true; + this.editSetting.id = row.id; + this.editSetting.info = null; + this.editSetting.title = '缂栬緫'; + this.editSetting.show = true; }, // 璇︽儏 handleDetail(row) { - this.detailSetting.id = row.id; - this.detailSetting.title = '璇︽儏'; - this.detailSetting.show = true; + this.detailSetting.id = row.id; + this.detailSetting.title = '璇︽儏'; + this.detailSetting.show = true; }, // 鍒嗛〉 handleSizeChange(pageSize) { - this.pageSize = pageSize; - this.search({ pageNum: 1 }); + this.pageSize = pageSize; + this.search({pageNum: 1}); }, handleCurrentChange(pageNum) { - this.pageNum = pageNum; - this.search(); + this.pageNum = pageNum; + this.search(); }, // 鏌ヨtable鍒楄〃 search(pageNum) { - if(pageNum){ - this.pageNum = pageNum - } - this.fetchData(); + if (pageNum) { + this.pageNum = pageNum + } + this.fetchData(); }, refreshData() { - this.pageNum = 1; - this.pageSize = 10; - this.search(); + this.pageNum = 1; + this.pageSize = 10; + this.search(); }, fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - this.search(1); + this.filterFrom = Object.assign(this.filterFrom, params); + this.search(1); }, } -} \ No newline at end of file +} -- Gitblit v1.9.1