/**
|
* 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.open({
|
type: 2
|
});
|
}
|
$.ajax({
|
type: "post",
|
url: url,
|
data: this.attr("gs_parameter"),
|
async: this.attr("a"),
|
success: function (result) {
|
// 全局异常处理器发出的错误信息
|
if (result.status == "200") {
|
$this.attr("result", result);
|
layer.closeAll('loading');
|
if (callback != null) {
|
callback($this);
|
}
|
} else if (result.status == "700014") {
|
layer.closeAll('loading');
|
console.log(result.info)
|
layer.open({
|
content: result.info
|
});
|
return null;
|
} else if (result == "loginTimeOut...") {
|
layer.closeAll('loading');
|
layer.open({
|
content: "登陆超时请重新登陆!!",
|
end: function () {
|
MTools.toPredirect(basePath + "/common/redirect/login");
|
}
|
});
|
return null;
|
|
} else {
|
layer.closeAll('loading');
|
layer.open({
|
content: result.info
|
});
|
/*layer.msg(result.info, {
|
icon : 2
|
});*/
|
return null;
|
}
|
},
|
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
layer.closeAll('loading');
|
layer.open({
|
content: "请求遇到问题-错误编号:" + XMLHttpRequest.status,
|
});
|
/*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.log('getValue执行失败');
|
}
|
return temp;
|
}
|
,
|
/**
|
* @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.log('getString执行失败');
|
}
|
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').dataList[" + index + "]."
|
+ key);
|
if (!temp) {
|
temp = "";
|
}
|
} catch (e) {
|
console.log('getString执行失败');
|
}
|
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').dataList[" + index + "]."
|
+ key);
|
|
// 没有获取到值
|
if (!temp) {
|
// 是否存在默认值
|
if (params.empty) {
|
return params.empty;
|
} else {
|
return "";
|
}
|
} else {
|
return params[temp];
|
}
|
} catch (e) {
|
console.log('getString执行失败');
|
}
|
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() + "-" + setFomartZero((date.getMonth() + 1))
|
+ "-" + setFomartZero(date.getDate()) + " " + setFomartZero(date.getHours())
|
+ ":" + setFomartZero(date.getMinutes()) + ":" + setFomartZero(date.getSeconds());
|
}
|
} catch (e) {
|
console.log('getDate执行失败');
|
}
|
return temp;
|
}
|
,
|
|
/**
|
* 只获取时间的年月日
|
*/
|
getDateYMH: 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() + "-" + setFomartZero((date.getMonth() + 1))
|
+ "-" + setFomartZero(date.getDate());
|
}
|
} catch (e) {
|
console.log('getDate执行失败');
|
}
|
return temp;
|
}
|
})
|
;
|
$.extend({
|
/** 初始化过程请求参数 */
|
AjaxProxy: function (initparam) {
|
// 初始化参数
|
var process = {
|
gs_parameter: {},
|
a: true,
|
c: true
|
};
|
// initJSON 格式
|
// { p:[ 1,2,3 ], a : true , c : false }
|
if (initparam == undefined) {
|
var initparam = {};
|
}
|
if (initparam.p) {
|
process.gs_parameter = $.extend(process.gs_parameter,
|
initparam.p);
|
}
|
process = $.extend(process, initparam);
|
delete process.p;
|
return $(process);
|
}
|
|
});
|
|
})
|
(jQuery);
|
|
function setFomartZero(date) {
|
if (date < 10) {
|
return "0" + date;
|
}
|
return date;
|
}
|