参照Java实现点击导出excel页面遮罩屏蔽,下载完成后解除遮罩
var endFlg = 0;
Java实现点击导出excel页面遮罩屏蔽,下载完成后解除遮罩
/**
*全量导出
* @author Jamin
* @date 2020/11/12 10:46
*/
//投诉导出
form.on('submit(fullExportData)', function (data) {
endFlg = 0;
let loadIndex = layer.msg("导出中,请稍后......", {icon: 16, shade: 0.01, time: 0});
location.href = ctx + "complain/exportFullCompData?swiftNumber=" + data.field.fullSwiftNumber + "&complaintContent=" +
data.field.fullComplaintContent + "&fromDate=" + data.field.fullFromDate + "&toDate=" + data.field.fullToDate +
"&compState=" + data.field.allCompState;
listenEnd(loadIndex);
return false;
});
/**
* 循环监听是否结束
* @param loadIndex
*/
function listenEnd(loadIndex) {
var loop = setInterval(function () {
if (endFlg == "1") {
clearInterval(loop);
layer.close(loadIndex);
} else {
getFlag();
}
}, 1000);
}
/**
*获取标识
* @author Jamin
* @date 2020/11/12 15:51
*/
function getFlag() {
$.ajax(ctx + 'complain/getEndFlag', {
type: 'get',
dataType: 'json',
success: function (res) {
endFlg = res.flag;
}
})
}
/**
* 全量投诉导出
*
* @param
* @author Jamin
* @date 2020/11/12 10:50
*/
@RequestMapping("exportFullCompData")
public void exportFullCompData(HttpServletResponse response, HttpServletRequest request, Complain complain, String fromDate, String toDate,
String compState) {
request.getSession().removeAttribute("endFlag");
complainService.exportFullCompData(response, complain, fromDate, toDate, compState);
request.getSession().setAttribute("endFlag", "1");
}
/**
* 从session获取结束标识
*
* @param request
* @return {@link com.alibaba.fastjson.JSONObject}
* @author Jamin
* @date 2020/11/12 15:26
*/
@ResponseBody
@RequestMapping("getEndFlag")
public JSONObject getEndFlag(HttpServletRequest request) {
Object endFlag = request.getSession().getAttribute("endFlag");
JSONObject jsonObject = new JSONObject();
jsonObject.put("flag", endFlag);
return jsonObject;
}