vue 导入导出功能 方式1

封装的axios请求

const axiosInstance = axios.create({
    baseURL: window.g.URL,
    responseType: 'json',
    timeout: 50000
});
export function fetch(url, params,type){
    let promise  = new Promise((resolve, reject) => {
        axiosInstance({
            method: 'post',
            url,
            data: params,
            responseType: type?'blob':'json',
        }).then(res => {
            resolve(res)
        }).catch(err => {
            reject(err)
        })
    })
}

导出/下载

export function RecodExportTemp(params,type){
  return fetch('/abtclock/kqrecord/export',params,type);
}
 download(){
      let data = {comid:this.comid}
        //使用封装的axios请求
        RecodExportTemp(data,{responseType: 'arraybuffer'}).then(res=>{
        let aTag = document.createElement('a');
        let blob = new Blob([res.data],{
          type: "application/vnd.ms-excel",
        }); 
        aTag.download = '考勤记录.xls';    
        aTag.href = URL.createObjectURL(blob);
        aTag.click();              
        URL.revokeObjectURL(blob);
      }).catch(err=>{})
    },

导入 

export function UsersImport(params){
  return fetchFile('/abtclock/employee/employeeImport',params);
}
importFile(e) {
      let _this = this;
      let data = new FormData();
      data.append("file", e.target.files[0]);
      data.append("comid", this.comid);
      let name = e.target.files[0].name;
      let n1 = name.substring(name.lastIndexOf(".") + 1);
      this.$refs['file'].value = ''
      if (n1 != "xls"&&n1 != "xlsx") {
          this.$message({
          message: "请上传Excel文件!!!",
          type: "error"
          });
          return false;
      }
    //axios请求接口
      UsersImport(data).then(res=>{
        _this.$message({
            type:'success',
            message:'导入成功!'
          })
          _this.getlist()
        // _this.credentialVisible = false
      }).catch(err=>{

      })
    },

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值