<el-button type="success" size="mini" @click="exportModal = true">导出数据</el-button>
<el-dialog title="导出数据" :visible.sync="exportModal" width="40%">
		  <el-form :model="exportForm" ref="ruleForm">
		    <el-form-item label="订单类型" prop="tab">
		      <el-select v-model="exportForm.tab" placeholder="请选择">
		          <el-option
		            v-for="(item,index) in tabbars"
		            :key="index" :label="item.name" :value="item.key">
		          </el-option>
		        </el-select>
		    </el-form-item>
		    <el-form-item label="时间范围" prop="time">
		      <el-date-picker size="small"
		        v-model="exportForm.time"
		        type="daterange"
		        range-separator="至"
		        start-placeholder="开始日期"
		        end-placeholder="结束日期"
		        value-format="yyyy-MM-dd">
		      </el-date-picker>
		    </el-form-item>
		  </el-form>
		  <span slot="footer" class="dialog-footer">
		    <el-button @click="exportModal = false">取 消</el-button>
		    <el-button type="primary" @click="exportExcel">确 定</el-button>
		  </span>
		</el-dialog>
exportModal:false,

采用js前端处理技术即可完成下载

				this.axios.post(url + params,{},{
					token:true,
					responseType: 'blob'
				}).then(res=>{
					this.exportModal = false
					if (res.status == 200) {
					    let url = window.URL.createObjectURL(new Blob([res.data]))
					    let link= document.createElement('a')
					    link.style.display='none'
					    link.href=url
					    let filename = new Date().getTime() + '.xlsx';
					    link.setAttribute('download', filename)
					    document.body.appendChild(link)
					    link.click()
					}
					this.layout.hideLoading()
				}).catch(err=>{
					this.layout.hideLoading()
				})

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐