<a
-upload
:beforeUpload
="beforeUpload" :showUploadList
="false">
<a
-button type
="primary" icon
="upload">导入
</a
-button
>
</a
-upload
>
<a
-button @click
="downExcel" type
="primary" icon
="download">导出
</a
-button
>
methods下
import { downFileExcel
} from '@/api/manage'
beforeUpload(file
) {
return new Promise((resolve
, reject
) => {
let fileType
= file
.type
if (
fileType
.indexOf('application/vnd.ms-excel') < 0 &&
fileType
.indexOf('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') < 0
) {
this.$message
.warning('请上传excl')
reject(false)
} else {
let formData
= new FormData()
formData
.set('file', file
)
importExcel(formData
).then(res
=> {
if (!res
.msg
) {
resolve(file
)
this.$message
.success('上传成功')
setTimeout(() => {
this.$refs
.modalTable
.loadData(true)
}, 500)
} else {
this.$message
.error(res
.msg
)
}
})
}
})
},
downExcel(fileName
) {
if (!fileName
|| typeof fileName
!= 'string') {
fileName
= `游戏列表-${dayjs().format('YYYY-MM-DD')}`
}
let param
= {}
downFileExcel(this.exportXlsUrl
, param
).then(data
=> {
if (!data
) {
this.$message
.warning('文件下载失败')
return
}
if (typeof window
.navigator
.msSaveBlob
!== 'undefined') {
window
.navigator
.msSaveBlob(new Blob([data
]), fileName
+ '.xls')
} else {
let url
= window
.URL.createObjectURL(new Blob([data
], { type
: 'application/octet-stream' }))
let link
= document
.createElement('a')
link
.style
.display
= 'none'
link
.href
= url
link
.setAttribute('download', fileName
+ '.xls')
document
.body
.appendChild(link
)
link
.click()
document
.body
.removeChild(link
)
window
.URL.revokeObjectURL(url
)
}
})
}
api文件下的manage.js
export function downFile(url
,parameter
){
return axios({
url
: url
,
params
: parameter
,
method
:'get' ,
responseType
: 'blob'
})
}
export function downFileExcel(url
,parameter
){
return axios({
url
: url
,
data
: parameter
,
method
:'post' ,
responseType
: 'blob'
})
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-15622.html