导入、导出功能
导入
<el-upload
action="#"
:show-file-list="false"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
:http-request="httpRequestP"
>
<el-button>导入</el-button>
</el-upload>
httpRequestP(file) {
const formData = new FormData()
formData.append('file', file.file)
importP(formData).then(res => {
const { data } = res
if(data){
this.showError=true
this.$message({
message: '部分数据导入失败,请查看',
type: 'error'
});
}else {
this.showError=false
this.$message({
message: '导入成功',
type: 'success'
});
}
this.dialogShop = false
this.goodsList()
}).catch(err => {
console.log(err)
this.$message.error(err)
})
},
beforeAvatarUpload(file) {
let fileArr = file.name.split('.')
let suffix = fileArr[fileArr.length - 1]
if (!/(xls|xlsx)/i.test(suffix)) {
this.$message('文件格式不正确')
return false
}
if (file.size > 2 * 1024 * 1024) {
this.$message('文件过大,请上传小于2MB的文件〜')
return false
}
return true
},
export function importP(data) {
return request({
url: '/admin/goods/import',
method: 'POST',
data,
headers: { 'Content-Type': 'application/json;charset=UTF-8' }
})
}
导出
export function exportTicket(data) {
return request({
url: '/admin/actives/list/cashBackItem/export',
method: 'POST',
data,
responseType: 'blob'
})
}
exportClick(className, excelName) {
this.exportLoad = true
exportTicket(this.pageInfo).then(res => {
this.exportLoad = false
var blob = new Blob([res], { type: 'application/vnd.ms-excel' })
var downloadElement = document.createElement('a')
var href = window.URL.createObjectURL(blob)
downloadElement.href = href
downloadElement.download = new Date().toLocaleDateString() + '券核销数据表导出.xls'
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement)
}).catch(err => {
this.$message.error('导出失败')
})
},