$(function(){
|
//$(document).ajaxComplete
|
$(document).ajaxError(function(evt, request, settings){
|
if("ajax_login_time_out" == request.responseText){
|
alert("登录已超时,请重新登录系统!");
|
window.top.location.reload(true);
|
} else if(request.readyState==4 && request.status == 12029) {
|
alert("无法连接服务器,程序即将关闭,请联系管理员!");
|
window.top.location.href="about:blank";
|
}
|
});
|
})
|
jQuery.util = {
|
|
/**
|
* 如果参数未定义,或者定以后始终未赋值,返回true,空的字符串返回false
|
* @param param
|
*/
|
isNull : function(param){
|
return typeof(param) == "undefined";
|
},
|
|
/**
|
* 如果参数未定义,或者定以后始终未赋值,返回true,空的字符串返回true
|
* @param param
|
*/
|
isEmpty : function(param){
|
if($.util.isNull(param)) return true;
|
return /^\s*$/.test(param);
|
},
|
|
/**
|
* 去除字符串两侧的空字符
|
* @param param
|
*/
|
trim : function(param){
|
return param.replace(/(^\s*)|(\s*$)/g,"");
|
},
|
|
/**
|
* 去除字符串左侧的空字符
|
* @param param
|
*/
|
trimLeft : function(param){
|
return param.replace(/(^\s*)/g,"");
|
},
|
|
/**
|
* 去除字符串右侧的空字符
|
* @param param
|
*/
|
trimRight : function(param){
|
return param.replace(/(\s*$)/g,"");
|
},
|
/**
|
* 参数是否为数字
|
* @param param
|
*/
|
isNumber : function(param){
|
if($.util.isEmpty(param)) return false;
|
return /^(-)?\d*$/.test(param);
|
},
|
|
/**
|
* param是否以str开头
|
* @param param
|
* @str
|
* @lowercase 是否区分大小写
|
*/
|
startWith : function(param,str,lowercase){
|
var len = str.length;
|
if(param.length < len) return false;
|
var subStr = param.substring(0,len);
|
if(lowercase)
|
return subStr.toLowerCase() == str.toLowerCase();
|
else
|
return subStr == str;
|
},
|
|
/**
|
* param是否以str结尾
|
* @param param
|
* @str
|
* @lowercase 是否区分大小写
|
*/
|
endWith : function(param,str,lowercase){
|
var len = str.length;
|
var myLen = param.length;
|
if(myLen < len ) return false;
|
var subStr = param.substring(myLen-len,myLen);
|
if(lowercase)
|
return subStr.toLowerCase() == str.toLowerCase();
|
else
|
return subStr == str;
|
},
|
/**
|
* 删除param开头的str
|
* @param param
|
* @str
|
* @lowercase 是否区分大小写
|
*/
|
removeStart : function(param,str,lowercase){
|
if(!$.util.startWith(param,str,lowercase)) return param;
|
var len = str.length;
|
var myLen = param.length;
|
return param.substring(len,myLen);
|
},
|
|
/**
|
* 删除param结尾的str
|
* @param param
|
* @str
|
* @lowercase 是否区分大小写
|
*/
|
removeEnd : function(param,str,lowercase){
|
if(!$.util.endWith(param,str,lowercase)) return param;
|
var len = str.length;
|
var myLen = param.length;
|
return param.substring(0,myLen-len);
|
},
|
/**
|
* param中是否包含str
|
* @param param
|
* @str
|
* @lowercase 是否区分大小写
|
*/
|
contains : function(param,str,lowercase){
|
if($.util.isEmpty(str)) return true;
|
var len = str.length;
|
for(var i=0;i< (param.length - len +1);i++){
|
if(lowercase){
|
if(param.substr(i,len).toLowerCase() == str.toLowerCase()){
|
return true;
|
}
|
} else {
|
if(param.substr(i,len) == str){
|
return true;
|
}
|
}
|
}
|
return false;
|
},
|
|
/**
|
*是否为Email格式
|
*/
|
isEmail : function(str){
|
if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(str)){
|
return false;
|
}
|
return true;
|
},
|
|
/**
|
*是否为身份证号码
|
*/
|
isIdCard : function(str){
|
if(!/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(str) && !/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{4}|\d{3}X)$/.test(str)){
|
return false;
|
}
|
return true;
|
},
|
|
/**
|
* 是否为手机号码
|
*/
|
isMobile : function(str){
|
if(!/^[1][34578][0-9]{9}$/.test(str)){
|
return false;
|
}
|
return true;
|
},
|
|
/**
|
* 是否为电话号码
|
*/
|
isTelphone : function(str){
|
if(!/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/.test(str)){
|
return false;
|
}
|
return true;
|
},
|
|
/**
|
* 是否为数字
|
*/
|
isNumber : function(str){
|
return !isNaN(str);
|
},
|
|
|
/**
|
* 参数是否为整数(不包含0)
|
* @param param
|
*/
|
isInteger : function(param){
|
if($.util.isEmpty(param)) return true;
|
return /^[1-9]\d*$/.test(param);
|
},
|
|
isInt : function(param){
|
if($.util.isEmpty(param)) return false;
|
return /^\d*$/.test(param);
|
},
|
|
|
|
isZs : function(param) {
|
if($.util.isEmpty(param)) return false;
|
return /^-?[1-9]\d*$/.test(param);
|
},
|
|
/**
|
* 把毫秒变成 yyy-MM-dd格式的字符串
|
*/
|
getDateStr:function (Millisecond) {
|
var date = new Date(Millisecond);
|
var year = date.getFullYear();
|
var month = (date.getMonth() + 1).toString();
|
var day = date.getDate().toString();
|
month = month.length == 1 ? ('0' + month) : month;
|
day = day.length == 1 ? ( '0' + day) : day;
|
return year + "-" + month + "-" + day;
|
},
|
/**
|
* 把毫秒变成 yyyy-MM-dd HH:mm:ss格式的字符串
|
*/
|
getDateHHMMSSStr:function (Millisecond) {
|
var date = new Date(Millisecond);
|
var year = date.getFullYear();
|
var month = (date.getMonth() + 1).toString();
|
var day = date.getDate().toString();
|
var HH=date.getHours();
|
var MM=date.getMinutes();
|
var SS=date.getSeconds();
|
month = month.length == 1 ? ('0' + month) : month;
|
day = day.length == 1 ? ( '0' + day) : day;
|
return year + "-" + month + "-" + day +" "+HH+":"+MM+":"+SS;
|
},
|
/**
|
* ajax时汉字编码
|
*/
|
encode : function(str){
|
return encodeURIComponent(str);
|
}
|
};
|
|
/**
|
* V1.0
|
* HashMap javascript版
|
* 杨凯
|
* 2013-09-04
|
|
* var map = new $.HashMap();
|
map.put("age","20");
|
map.put("name","yk1");
|
alert(map.get("age"));
|
alert(map.toString());
|
|
map = new $.HashMap({"username":"ycyk_168","password":"123456"});
|
map.put("age","20");
|
map.put("name","yk1");
|
alert(map.get("username"));
|
alert(map.get("password"));
|
alert(map.get("age"));
|
alert(map.get("name"));
|
alert(map.toString());
|
*
|
*/
|
jQuery.HashMap = function(param) {
|
var _map = typeof(param)=="undefined" ? [{}] : [param];
|
/**
|
* 向HashMap中添加数据
|
*/
|
_map.put = function(key,value){
|
this[0][key] = value;
|
};
|
|
/**
|
* 从HashMap中获取指定的Key的值
|
*/
|
_map.get = function(key){
|
return this[0][key];
|
};
|
|
/**
|
* HashMap中是否包含指定的Key
|
*/
|
_map.containsKey = function(key){
|
return this.get(key) == null ? false : true;
|
};
|
|
/**
|
* 从HshMap中删除Key
|
*/
|
_map.remove = function(key){
|
delete this[0][key];
|
};
|
|
/**
|
* 获取HashMap的大小
|
*/
|
_map.size = function(){
|
var count = 0;
|
for(var item in this[0]){
|
count ++;
|
}
|
return count;
|
};
|
|
/**
|
* 将HashMap转换为string的数据
|
*/
|
_map.toString = function(){
|
var str = "{";
|
for(var item in this[0]){
|
str += ""+ item +":"+ this[0][item] +",";
|
}
|
str = $.util.removeEnd(str,",") + "}";
|
return str;
|
};
|
|
/**
|
* 将HashMap转换为JSON格式的数据
|
*/
|
_map.toJson = function(){
|
return this[0];
|
};
|
return _map;
|
};
|
|
jQuery.dom = {
|
|
disBtn : function(id,value){
|
$("#"+id+"").hide();
|
var buttonValue = value || "操作中...";
|
$("#"+id+"").after('<input style="width:57px; height:20px;" type="button" value="'+ buttonValue +'" disabled="disabled"');
|
},
|
//全选
|
checkAll:function(eventEleId,name){
|
var isChecked = document.getElementById(eventEleId).checked;
|
var eles = document.getElementsByName(name);
|
for(var i=0;i<eles.length;i++){
|
if(isChecked) eles[i].checked = true;
|
else eles[i].checked = false;
|
}
|
}
|
|
};
|
|
/**
|
*
|
*JavaScript处理URL参数类
|
*
|
*/
|
jQuery.http = {
|
|
/**
|
* 获取Http get的参数
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
*/
|
getParameter : function(param,url){
|
return this.getParam4HashMap(url).get(param);
|
},
|
|
/**
|
* 相对路径转绝对路径
|
*/
|
getAbsoluteUrl : function(url){
|
if(url && !$.util.startWith(url,"/") && !$.util.startWith(url,"http") && !$.util.startWith(url,"https")){
|
var fullPath = window.location.href;
|
var myFullPath = fullPath.substring(0,fullPath.lastIndexOf("/")+1);
|
if($.util.startWith(url,"../")){
|
var count = url.split("..").length;
|
var array = myFullPath.split("/");
|
var allCount = array.length;
|
var myUrl = "";
|
var j=1;
|
for(var i=0;i<allCount;i++){
|
if(allCount-i <= count){
|
break;
|
}
|
myUrl += array[i] + "/";
|
}
|
return (myUrl + url.split("../")[count-1] );
|
} else {
|
url = myFullPath + url;
|
return url;
|
}
|
}
|
|
},
|
|
/**
|
* 替换Http get的参数
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
* 返回全路径即:xxx.html?xx=xx
|
*/
|
replaceParameter : function(param,value,url){
|
var map = this.getParam4HashMap(url);
|
map.put(param,value);
|
var myurl = url || window.location.href;
|
myurl = myurl.split("?")[0];
|
var strParam = $.http.parseHashMap2ParamStr(map);
|
return myurl + (strParam == "" ? "" : "?" + strParam);
|
},
|
|
/**
|
* 获取Http get参数字符串"username=yangkai&password=8545"
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
*/
|
getParam4String : function(url){
|
var myUrl = url || window.location.search;
|
var index = myUrl.indexOf('?');
|
if(index <= 0) return "";
|
return myUrl.substring(index+1);
|
},
|
|
/**
|
* 获取Http get参数字符串,并解析为$.HashMap格式
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
*/
|
getParam4HashMap : function(url){
|
var strs = $.http.getParam4String(url);
|
var map = new $.HashMap();
|
if($.util.isEmpty(strs)) return map;
|
|
var pArrays = strs.split("&");
|
var len = pArrays.length;
|
for(var i=0; i<len ;i++){
|
var vals = pArrays[i].split("=");
|
map.put(vals[0],vals[1]);
|
}
|
return map;
|
},
|
/**
|
* 获取Http get参数字符串,并解析为JSON格式
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
*/
|
getParam4Json : function(url){
|
return $.http.getParam4HashMap(url).toJson();
|
},
|
|
/**
|
* 将HashMap转换为Http get参数字符串"username=yangkai&password=8545"
|
* 不传参数表示解析当前页面的URL,传入参数表示解析传入的参数URL
|
*/
|
parseHashMap2ParamStr : function(param){
|
var str = "";
|
for(var item in param[0]){
|
str += ""+ item +"="+ param[0][item] +"&";
|
}
|
str = $.util.removeEnd(str,"&");
|
return str;
|
},
|
|
/**
|
* 将Json转换为Http get参数字符串"username=yangkai&password=8545"
|
*/
|
parseJson2ParamStr : function(param){
|
var str = "";
|
for(var item in param){
|
str += ""+ item +"="+ param[item] +"&";
|
}
|
str = $.util.removeEnd(str,"&");
|
return str;
|
},
|
|
/**
|
* 将Http get参数字符串"username=yangkai&password=8545"解析为HashMap
|
*/
|
parseParamStr2HashMap : function(param){
|
var strs = param;
|
var map = new $.HashMap();
|
if($.util.isEmpty(strs)) return map;
|
|
var pArrays = strs.split("&");
|
var len = pArrays.length;
|
for(var i=0; i<len ;i++){
|
var vals = pArrays[i].split("=");
|
map.put(vals[0],vals[1]);
|
}
|
return map;
|
},
|
|
/**
|
* 将Http get参数字符串"username=yangkai&password=8545"解析为Json
|
*/
|
parseParamStr2Json : function(param){
|
return $.http.parseParamStr2HashMap(param).toJson();
|
}
|
};
|
|
function btnClickObj(index,funcName){
|
this.btnClick = function(){
|
var func = "document.getElementById('frame"+ index +"').contentWindow."+funcName;
|
$.globalEval(func);
|
}
|
}
|
|
function _initDialogButtons(index,config){
|
if(!config || !config.buttons){return [];}
|
var size = config.buttons.length;
|
for(var i=0;i<size;i++){
|
var btn = config.buttons[i];
|
btn.plain = true;
|
if(!btn.iconCls) btn.iconCls = "icon-edit";
|
|
if(btn._handler){
|
var col = new btnClickObj(index,btn._handler);
|
btn.handler = col.btnClick;
|
}
|
}
|
return config.buttons;
|
}
|
|
function _initMaximized(config){
|
return false;
|
}
|
|
var z_index = 10000;
|
|
function openDialog(index,width,height,title,url,config){
|
config = config || {};
|
title = title || '信息提示';
|
z_index = z_index+1;
|
var html = '<div name="dialogName" id="dialog'+ index +'">';
|
var iframeHtml = '<iframe name="frame'+ index +'" id="frame'+ index +'" frameborder="false" scrolling="auto" frameborder="0" style="border:none; margin:0px;width:100%;height:100%;" allowtransparency="true"></iframe>';
|
html += '</div>';
|
$(document.body).append(html);
|
/*
|
if(!config.disableProgress) {
|
var win = $.messager.progress({
|
title:'系统提示:',
|
msg:'正在加载,请稍后...'
|
});
|
}*/
|
$('#dialog'+index).dialog(
|
{
|
maximizable:true,
|
width:$(document).width()*0.01*width,
|
height:$(document).height()*0.01*height,
|
title : title,
|
maximized : _initMaximized(config),
|
draggable:true,
|
resizable:true,
|
content:iframeHtml,
|
iconCls:'icon-search',
|
zIndex:z_index,
|
modal:true,
|
onClose : function(){
|
$("#frame"+index).remove();
|
$("#dialog"+index).remove();
|
if($.browser.msie){CollectGarbage();}
|
},
|
buttons:_initDialogButtons(index,config)
|
});
|
$('#frame'+index)[0].src=url;
|
|
$('#frame'+index).bind('load', function() {
|
$('.dialog-content').css({overflow:"hidden"});
|
if(!config.disableProgress) {$.messager.progress('close');}
|
});
|
return "frame"+index;
|
}
|
|
function showDialog(xindex,xtitle,url,config){
|
return openDialog(xindex,80,80,xtitle,url,config)
|
}
|
|
function closeDialog(index){
|
$('#dialog'+index).dialog('close');
|
}
|
|
|
var DialogUtil = new Object();
|
|
//取得当前dialog索引
|
DialogUtil.getIndex = function(){
|
var dialogs = $(window.top.document).find("div[name='dialogName']");
|
var currentDialog = dialogs[dialogs.length-1];
|
return currentDialog.id.substr(6,currentDialog.id.length);
|
}
|
|
//关闭当前dialog
|
DialogUtil.close = function(){
|
window.top.closeDialog(DialogUtil.getIndex());
|
}
|
|
//取得父窗体
|
DialogUtil.getParent = function(){
|
var dialogs = $(window.top.document).find("div[name='dialogName']");
|
if(dialogs.length == 1){
|
return window.top.getDomID();
|
} else {
|
var parentDialog = dialogs[dialogs.length-2];
|
var parentDialogIndex = parentDialog.id.substr(6,parentDialog.id.length);
|
return eval("window.top.frame" + parentDialogIndex);
|
}
|
}
|
|
//获取dialog层次
|
DialogUtil.getNum = function(){
|
try{
|
return (parseInt(DialogUtil.getIndex())+1)
|
}catch(e){
|
return 0
|
};
|
}
|
/*
|
$(document).ready(function(){
|
//必填文本框后加*号
|
$("[type='text']").each(function(){
|
if(typeof($(this).attr("allowNull"))==("undefined")){
|
$(this).after("<font color='red'>*</font>");
|
}
|
});
|
});
|
*/
|