vue循环调接口
// 文件导出处理函数
funExport(exportTypes) {
//导出附件
const zip = new JSZip()
const cache = {}
const promises = []
this.loading = true
this.total = exportTypes.length
if (this.total === 0) {
this.$message({
message: '请选择要导出的信息!',
})
this.loading = false
return
}
let finished = 0
this.loadingTitle = '正在启动下载,请稍后······'
for (const i in exportTypes) {
const promise = this.getFile(exportTypes[i]).then((data) => {
finished++
this.loadingTitle = '正在下载数据,共' + this.total + '个,已完成' + finished + '个'
// 获取每个下载文件的文件名
const file_name = exportTypes[i] + '.' + this.titleCards[exportTypes[i]] + '.xls'
// 将文件压缩
zip.file(file_name, data, { binary: true })
cache[file_name] = data
})
promises.push(promise)
}
//全局loading
Promise.all(promises)
.then(() => {
let zipName = '排污辅助审核导出_' + moment().format('YYYY_MM_DD HH:mm:ss')
zip.generateAsync({ type: 'blob' })
.then((content) => {
//生成zip文件包
FileSaver.saveAs(content, `${zipName}.zip`)
this.loading = false
})
.catch((e) => {
console.log(e)
this.$message.error('排污辅助审核信息导出失败!')
this.loading = false
})
})
.catch((e) => {
console.log(e)
this.$message.error('排污辅助审核信息导出失败!')
this.loading = false
})
},
getFile(export_type) {
return new Promise((resolve, reject) => {
getAuxiliaryExport({ type: export_type })
.then((res) => {
resolve(res.data)
})
.catch((error) => {
reject(error.toString())
})
})
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具