/**
|
* ajax请求的代理类 1、系统在一般情况都使用本类进行ajax请求不在使用原生的或者jQuery的ajax 原因:
|
* 1、本类对异常信息,错误信息进行了信息提示处理 2、本类与服务器端的AjaxResult.java 对应,接收的数据格式是AjaxResult.java
|
* 的json格式数据
|
*
|
* author :姜友瑶; 2016-06-02
|
*/
|
(function($) {
|
$.fn.extend({
|
invoke : function(url, callback) {
|
$this = this;
|
// 是否开启遮罩
|
if (this.attr("c")) {
|
layer.load(2, {
|
time : 10 * 1000,
|
shade : [ 0.4, '#aeaeae' ]
|
});
|
}
|
var data=this.attr("data");
|
if(this.attr("json")){
|
data=JSON.stringify(data);
|
}
|
$.ajax({
|
type : this.attr("method"),
|
url : url,
|
data : data,
|
async : this.attr("a"),
|
timeout : 60000,
|
contentType: this.attr("json")?'application/json;charset=utf-8':'application/x-www-form-urlencoded; charset=UTF-8',
|
dataType:this.attr("json")?'json':'',
|
success : function(result) {
|
// 全局异常处理器发出的错误信息
|
if (result.status == "200") {
|
$this.attr("result", result);
|
layer.closeAll('loading');
|
if (callback != null) {
|
callback($this,result);
|
}
|
} else if(result=="loginTimeOut..."){
|
layer.closeAll('loading');
|
layer.msg("登陆超时请重新登陆!!", {
|
icon : 2
|
},function(){
|
MTools.toPredirect(basePath+"/common/toLogin");
|
});
|
} else {
|
if(result.info){
|
layer.closeAll('loading');
|
layer.msg(result.info, {
|
icon : 2,time:5000
|
});
|
}
|
return null;
|
}
|
},
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
layer.closeAll('loading');
|
layer.msg("请求遇到问题-错误编号:" + XMLHttpRequest.status, {
|
icon : 2
|
});
|
|
},
|
});
|
},
|
getRowCount : function() {
|
if(this.attr("result").rows==null){
|
return 0;
|
}
|
return this.attr("result").rows.length;
|
},
|
// * @param key列名
|
getValue : function(key) {
|
var temp = "";
|
try {
|
temp = eval("this.attr('result')." + key);
|
} catch (e) {
|
console.error('getValueg执行失败');
|
console.log(e);
|
}
|
return temp;
|
},
|
getResult : function() {
|
return this.attr('result');
|
},
|
/**
|
* @param mapName游标名称
|
* @param index
|
* 角标
|
* @param key列名
|
* @returns
|
*/
|
getString : function(index, key) {
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]." + key);
|
if (!temp) {
|
temp = "";
|
}
|
} catch (e) {
|
console.error('getString执行失败');
|
console.log(e);
|
}
|
return temp;
|
},
|
/**
|
* 获取一个Img 标签
|
*
|
* @param index
|
* 角标
|
* @param key列名
|
* @param w
|
* 宽
|
* @param h
|
* 高
|
* @returns
|
*/
|
getImg : function(index, key, w, h) {
|
if (!w) {
|
w = 120;
|
}
|
if (!h) {
|
h = 100;
|
}
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]."
|
+ key);
|
if (!temp) {
|
return "";
|
}
|
} catch (e) {
|
console.error('getImg执行失败');
|
console.log(e);
|
}
|
return "<img height='" + h + "' width='" + w + "' src=" + temp
|
+ " >";
|
},
|
/**
|
*
|
* 根据传入的键值对 对象选取匹配结构的值返回
|
*
|
* @param index
|
* 角标
|
* @param key
|
* 列名
|
* @param params
|
* 需要被判断的键值对
|
*
|
* @returns
|
*/
|
getSwitch : function(index, key, paramsStr) {
|
var params = eval("(" + paramsStr + ")");
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]."+key);
|
// 没有获取到值
|
if (!temp) {
|
// 是否存在默认值
|
if (params.empty) {
|
return params.empty;
|
} else {
|
return "";
|
}
|
} else {
|
return params[temp];
|
}
|
} catch (e) {
|
console.error('getSwitch执行失败');
|
console.log(e);
|
}
|
return temp;
|
},
|
getDate : function(index, key) {
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]['" + key
|
+ "']");
|
var date = new Date(temp);
|
if (!temp) {
|
return "";
|
} else {
|
return date.getFullYear() + "-" + (date.getMonth() + 1)
|
+ "-" + date.getDate() + " " + date.getHours()
|
+ ":" + date.getMinutes();
|
}
|
} catch (e) {
|
console.error('getDate执行失败');
|
console.log(e);
|
}
|
return temp;
|
},
|
getDateDD : function(index, key) {
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]['"
|
+ key + "']");
|
var date = new Date(temp);
|
if(!temp){
|
return "";
|
}else{
|
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
|
}
|
} catch (e) {
|
console.log('getDate执行失败');
|
}
|
return temp;
|
},
|
getDateDDHH : function(index, key) {
|
var temp = "";
|
try {
|
temp = eval("this.attr('result').rows[" + index + "]['"
|
+ key + "']");
|
var date = new Date(temp);
|
if(!temp){
|
return "";
|
}else{
|
return (date.getMonth()+1)+"月"+(date.getDate())+"日";
|
}
|
} catch (e) {
|
console.log('getDate执行失败');
|
}
|
return temp;
|
}
|
});
|
$.extend({
|
/** 初始化过程请求参数 */
|
AjaxProxy : function(option) {
|
// 初始化参数
|
var initParam = {
|
data : {},
|
a : true,
|
c : true,
|
method:'post',
|
};
|
if (option == undefined) {
|
var option = {};
|
}
|
if (option.p) {
|
initParam.data = $.extend(initParam.data,
|
option.p);
|
}
|
initParam = $.extend(initParam, option);
|
delete initParam.p;
|
return $(initParam);
|
}
|
});
|
|
})(jQuery);
|