如何给自定义导出按钮添加导出弹出框,并判断是否导出成功给出提示

image.png

已下是自定义导出js

var a= this.options.form.getWidgetByName("jg").getValue();

var b= this.options.form.getWidgetByName("qd").getValue();

var c= this.options.form.getWidgetByName("gf").getValue();

var d= this.options.form.getWidgetByName("tjq").getValue();

var e= this.options.form.getWidgetByName("tjz").getValue();

var REPORT_URL = '${servletURL}?viewlet=mqjgfqd.cpt&jg=' + a + '&qd=' + b + '&gf=' + c + '&tjq=' + d + '&tjz=' + e + '&format=excel&extype=simple';

window.location = (encodeURI(encodeURI(REPORT_URL)));

FineReport feverdream 发布于 2021-7-14 15:34 (编辑于 2021-7-14 15:52)
1min目标场景问卷 立即参与
回答问题
悬赏:13 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
杨朝健Lv5中级互助
发布于2021-7-14 16:58(编辑于 2021-7-14 17:20)

var url=...

var exportName=...

FR.Msg.alert("提示","正在导出,此过程大概需要1分钟到数分钟");

//console.log(url);

//window.location=(FR.cjkEncode(url));

//window.location=(encodeURI(url));

let xhr = new XMLHttpRequest()

xhr.open('GET', encodeURI(url), true)

// 这部至关重要,命令xhr返回给你的时blob(二进制大对象)类型的数据

xhr.responseType = 'blob'

xhr.send()

xhr.onreadystatechange = function () {

  if (xhr.readyState === 4 && xhr.status === 200) {

    const aTag = document.createElement('a');

    aTag.href = URL.createObjectURL(this.response);

    aTag.download = exportName+'.xlsx';

    aTag.click();

    FR.Msg.alert("提示","导出完成");

  }

}

  • 2关注人数
  • 790浏览人数
  • 最后回答于:2021-7-14 17:20
    请选择关闭问题的原因
    确定 取消
    返回顶部