<el-button v-arrow="'excel_export'" size="small" type="primary" @click="handleDownload" >导出</el-button>
`<script>
methods:{
handleDownload() {
this.downloadLoading = true
import('@/vendor/Export2Excel').then(async(excel) => {
const res = await getEmployeeList({ page: 1, size: this.total })
const list = res.data.rows
const tHeader = this.header
const data = this.formatJson(list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: 'web72', // 导出表格名字
autoWidth: true, // 自适应
bookType: 'xlsx'
})
this.downloadLoading = false
})
},
formatJson(list) {
const map = {
'id': '编号',
'password': '密码',
'mobile': '手机号',
'username': '姓名',
'timeOfEntry': '入职日期',
'formOfEmployment': '聘用形式',
'correctionTime': '转正日期',
'workNumber': '工号',
'departmentName': '部门',
'staffPhoto': '头像地址'
}
return list.map(item => {
const obj = {}
const enkeys = Object.keys(map)
enkeys.forEach(key => {
const chkeys = map[key]
obj[chkeys] = item[key]
// console.log(obj, 999)
})
const valueArr = Object.values(obj)
this.header = Object.keys(obj)
return valueArr
})
}
}
</script>`