<el-button type="primary" @click="_export">导出EXCEL</el-button>
_export() {
const data = {
基本信息: this.goodsList1,
分批信息: this.goodsList1[0].sendgoodsParamsBatchOpList,
}
let columnHeaders = {
基本信息: {
contractGoodsCode: '商品Code',
mschannelCode: '生产BOM',
contractGoodsPrice: '减免后价格',
goodsShowno: '下单BOM',
goodsNum: '商品数量',
sendgoodsGoodsCweight: '发货数量',
goodsKFnum: '未发数量',
goodsSupplynum: '可分数量',
},
分批信息: {
sendgoodsBatchNo: '批次号*',
sendgoodsBatchPno: '关联父批次号',
transportMoney: '运费*',
address: '收货地址*',
addressMember: '收货人姓名*',
addressPhone: '手机号*',
transportType: '配送方式*',
requestDate: '要货时间*',
shipSet: '发运集',
sendgoodsBatchKey: '分批Key',
sendgoodsBatchPcode: '父批次Code',
sendgoodsBatchCode: '批次Code',
},
}
})
})
console.log(columnHeaders, this.goodsList1, 'columnHeadersssssssssssssssssssssssssss')
let wscols = [
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
]
let sheetNames = []
let sheetsList = {}
const wb = XLSX.utils.book_new()
for (let key in data) {
sheetNames.push(key)
let columnHeader = columnHeaders[key]
let temp = this.transferData(data[key], columnHeader)
sheetsList[key] = XLSX.utils.aoa_to_sheet(temp)
sheetsList[key]['!cols'] = wscols
}
wb['SheetNames'] = sheetNames
wb['Sheets'] = sheetsList
XLSX.writeFile(wb, '分批单.xlsx')
},
transferData(data, columnHeader) {
let content = [],
header = []
for (let i in columnHeader) {
header.push(columnHeader[i])
}
content.push(header)
data.forEach((item, index) => {
let arr = []
for (let i in columnHeader) {
arr.push(item[i])
}
content.push(arr)
})
return content
},