1. 封装导出方法
function exportMethod(data) {
    axios({
        method: data.method,
        url: data.url,
        data: data.data,
        responseType: 'blob',
        headers: {
            'Content-Type': 'application/json'
        }
    }).then((res) => {
        const link = document.createElement('a')
        let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
        link.style.display = 'none'
        link.href = URL.createObjectURL(blob)
 
        link.download = data.fileName + '.xls' //下载的文件名  注意:加.xls是兼容火狐浏览器
        document.body.appendChild(link)
        link.click()
        document.body.removeChild(link)
    }).catch(error => {
        console.log(error)
    })
}
2. 调用处:
this.$confirm('确认导出吗?', '提示', {}).then(() => {
              let params={ list: this.overlays };
              let myObj = {
                    method: 'post',                         
       url: ‘http://172.16.82.63:8082/stationManage/exportScen’,  //接口地址
                    fileName: '下载文件名字', 
                    data:params,
                  }
                exportMethod(myObj); 
            }).catch(() => {
                console.log("cancel");
            });
注意:项目main.js 需要去掉mock.js 的引用