Files
NLRX-WJC 7b824eccec .
2019-11-21 13:05:43 +08:00

59 lines
1.1 KiB
Vue

<template>
<el-button :loading="downloadLoading" type="primary" @click="handleDownload">导出 Excel</el-button>
</template>
<script>
export default {
name: 'ExportExcel',
props: {
list: {
required: true,
type: Array
},
tHeader: {
required: true,
type: Array
},
tValue: {
required: true,
type: Array
},
filename: {
type: String,
default: '导出数据'
}
},
data() {
return {
downloadLoading: false,
autoWidth: true,
bookType: 'xlsx'
}
},
methods: {
handleDownload() {
this.downloadLoading = true
import('./Export2Excel').then(excel => {
const data = this.formatJson(this.tValue, this.list)
excel.export_json_to_excel({
header: this.tHeader,
data,
filename: this.filename,
autoWidth: this.autoWidth,
bookType: this.bookType
})
this.downloadLoading = false
})
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => {
return v[j]
}))
}
}
}
</script>