代码如下,具体不解释
var gz_rm =
{
// 统一定义web层返回关键字
SUCCESS : '0',
FAILED : '-1',
RESULTCODE : 'RESULTCODE',
TOTAL : 'TOTAL',
SUCCESS_NUM : 'SUCCESS_NUM',
ERROR_NUM : 'ERROR_NUM',
RESULTINFO : 'RESULTINFO',
RECORD_ID : 'RECORD_ID',
ERR_PATH : 'ERR_PATH',
/*
areaids 需要提交的区域(一般是指 div 的 id),如有多个则 "," 号分隔,若该 DOM 下有 uiid,则提交的数据模式如下uiid=[{新},{老}]
listener 当前页面的监听事件
params 额外的自定义POST提交参数集,格式为标准的application/x-www-form-urlencoded串,&a=b
partids 需要刷新的 Part 区域,必须是 jwcid="@Part" 对应的 id,多个则 "," 号分隔
例如: ajaxSubmit('QueryCond', 'queryCusts', '&CUST_NAME=' + encodeURIComponent($('#CUST_NAME').val()), 'QueryPart');
*/
submit: function(areaids, listener, params, partids) {
$.beginPageLoading('数据正在提交中....');
$.ajax.submit(areaids,listener,params,partids,function(data) {
gz_rm.success(data);
},function(code, info){
gz_rm.error(code, info);
},{timeout:300000});
},
//正常业务操作
success: function(data){
//是否程序异常
var resultCode = data.get(gz_rm.RESULTCODE,"");
if (resultCode == gz_rm.SUCCESS) {
//业务成功还是失败,但不是错误
var errorNum = data.get(gz_rm.ERROR_NUM, 0);
var errPath = data.get(gz_rm.ERR_PATH, "");
if (errorNum == 0 && errPath == '') {
gz_rm.BusinessSuccessAlert(data);
} else {
gz_rm.BusinessAlert(data);
}
} else if (resultCode == gz_rm.FAILED){
gz_rm.BusinessFailedAlert(data);
}
$.endPageLoading();
},
//系统错误,方法第一个形参为错误编码,第二个形参为错误描述
error: function(code, info){
info = "报错信息:" + info;
var msg = "<div class='e_size-xl e_red'>" + info + "</div>";
MessageBox.error("业务受理失败", msg, function(btn){
//直接点击按钮的方法,后续可根据状态执行 data.get(type)执行分支代码
//window.location.reload();//不清空页面数据,方便调试
});
$.endPageLoading();
},
//业务成功提示
BusinessSuccessAlert: function(data){
var msg = "<div class='e_size-xl e_blue'>" + gz_rm.baseMsg(data) + "</div>";
MessageBox.success("业务受理成功", msg, function(btn){
//直接点击按钮的方法,后续可根据状态执行 data..get(type)执行分支代码
window.location.reload();//清空页面数据
});
},
//业务警告提示
BusinessAlert: function(data){
var msg = "<div class='e_size-xl e_red'>" + gz_rm.baseMsg(data) + "</div>" + gz_rm.downloadMsg(data);
MessageBox.alert("业务有受理错误数据", msg, function(btn){
//直接点击按钮的方法,后续可根据状态执行 data.get(type)执行分支代码
//window.location.reload();//不清空页面数据,方便调试
});
},
//业务失败提示
BusinessFailedAlert: function(data){
var msg = "<div class='e_size-xl e_red'>" + gz_rm.baseMsg(data) + "</div>" + gz_rm.downloadMsg(data);
MessageBox.error("业务受理失败", msg, function(btn){
//直接点击按钮的方法,后续可根据状态执行 data.get(type)执行分支代码
//window.location.reload();//不清空页面数据,方便调试
});
},
baseMsg: function(data) {
return gz_rm.recordIdMsg(data) + gz_rm.totalMsg(data) + gz_rm.successNumMsg(data) + gz_rm.errorNumMsg(data) + gz_rm.resultInfoMsg(data);
},
recordIdMsg: function(data) {
var recordId = data.get(gz_rm.RECORD_ID, "");
if(recordId != ""){//有些参数维护类业务可能没recordId
recordId = "业务流水:" + recordId + "。";
}
return recordId;
},
totalMsg: function(data) {
var total = data.get(gz_rm.TOTAL, "");
if(total != ""){//有些参数维护类业务可能没total
total = "记录总数:" + total + "条。";
}
return total;
},
successNumMsg: function(data) {
var successNum = data.get(gz_rm.SUCCESS_NUM, "");
if(successNum > 0){//有些参数维护类业务可能没successNum
return "成功记录数:" + successNum + "条。";
} else {
return "";
}
},
errorNumMsg: function(data) {
var errorNum = data.get(gz_rm.ERROR_NUM, "");
if(errorNum > 0){//有些参数维护类业务可能没errorNum
return "失败记录数:" + errorNum + "条。";
} else {
return "";
}
},
resultInfoMsg: function(data) {
var resultInfo = data.get(gz_rm.RESULTINFO, "");
if(resultInfo != ""){
resultInfo = "<br/>提示信息:" + resultInfo + "。";
}
return resultInfo;
},
downloadMsg: function(data) {
var errPath = data.get(gz_rm.ERR_PATH, "");
if(errPath != ""){
errPath = "<br/><div class='e_size-xl'>错误详细信息:<a href='" + errPath + "'><i class='e_ico-download'></i>点击下载</a>。</div>";
}
return errPath;
}
}