⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.js

📁 管理公司合同
💻 JS
字号:
var contextPath = "/hetong";
//import Check.js
$import('Check.js', 'js');
$import('list.js', 'js');
$import('keyhandler.js', 'js');
//js的import add by yehailong 
function $import(path, type){
	var i, 
	  base, 
	  src = "COMMON.js", 
	  scripts = document.getElementsByTagName("script"); 

	for (i = 0; i < scripts.length; i++) {
	  if (scripts[i].src.match(src)) {
		  base = scripts[i].src.replace(src, "");
		  break;
	  }
	}
	
	if (type == "css") {
	  document.write("<" + "link href=\"" + base + path + "\" rel=\"stylesheet\" type=\"text/css\"></" + "link>");
	} else {
	  document.write("<" + "script src=\"" + base + path + "\"></" + "script>");
	}
}

//使用prototype动态创建对象方法
function addSetMethod(obj,prop){
	var temp = (prop.substring(0,1).toUpperCase())+prop.substring(1);
	eval(obj+".prototype.set"+temp+" = function("+prop+"){if(!isNull("+prop+")){this."+prop+" = "+prop+"}}");
}

function isNull(str){
	return str==null||str=="null";
}

function back(){
	//if(window.history.length!=0){
	if(document.referrer!=""){
		window.history.back();	
		return;
	}else{
		window.close();
		return;
	}
}

function Tree(){
	this.treeType = null;//树类型 sysorg 。。。
	this.rootId = null;//树根
	this.checkedId = null;//选中的节点ID,“,”分隔
	this.selectType = null;//checkbox or radio
	this.selectAll = null;//是否自动选择所有子节点
	this.width = null;//对话框的宽度
	this.height = null;//对话框的高度
	this.params = null;//附加参数值,用于TreeService的构造函数(数组)
	this.sql = null;//根据特定sql语句直接构造树
	this.treeName = null;//树显示名
	this.showParent = null;//是否显示父节点名
}
var _tree = new Tree();
for(var obj in _tree)
{
  	addSetMethod("Tree",obj);
}

//树形选择器
function selectTree(tree){
	if(tree.treeType==null&&tree.sql==null){
		alert("使用错误,未设置treeType或者sql属性!");
		return false;
	}
	
	if(tree.height==null)
		tree.height = 380;
	if(tree.width==null)
		tree.width = 400;
		
	var Y=(window.screen.height-tree.height)/2;
    var X=(window.screen.width-tree.width)/2;
    var dm="dialogHeight:"+tree.height+"px;dialogWidth:"+tree.width+"px;dialogLeft:"+X+"px;dialogTop:"+Y+"px;center:yes;resizable:no;status:no;";
	var url = contextPath+"/common/selectTree.jsp?time="+((new Date()).getTime());
	if(tree.treeType!=null)
		url += "&treeType="+tree.treeType;
	if(tree.selectType!=null)
		url += "&selectType="+tree.selectType;
	if(tree.selectAll!=null)
		url += "&selectAll="+tree.selectAll;	
	if(tree.rootId!=null)
		url += "&rootId="+tree.rootId;
	if(tree.checkedId!=null)
		url += "&checkedId="+tree.checkedId;	
	if(tree.params!=null){
		for(var i=0;i<tree.params.length;i++){
			url += "&param="+tree.params[i];
		}
	}
	if(tree.treeName!=null){
		url += "&treeName="+tree.treeName;
	}
	if(tree.sql!=null)
		url += "&sql="+tree.sql;	
	if(tree.showParent!=null)
		url += "&showParent="+tree.showParent;		
	//alert(url);
	var retv=window.showModalDialog(url,"",dm);
	return retv;
}

/**
 * 解析树选择器的返回值
 * @param tree  构造树对象
 * @return Array
 * 		Array[0]:逗号分隔的ID字符串
 *		Array[1]:逗号分隔的名字字符串	
 */
function getValues(tree){
	var retv = selectTree(tree);
	if(retv==null||retv=="undefined"){
		return null;
	}
	if(retv==""){
		//return new Array("","");
		return null;
	}else{
		//取ID
		var ids = "";
		//取NAME
		var names = "";
		var arr = retv.split(";");
		for(var i=0;i<arr.length;i++){
			var temp = arr[i];
			if(i!=0){
				ids += ",";
				names += ",";
			}
			ids += temp.substring(0,temp.indexOf(","));
			names += temp.substring(temp.indexOf(",")+1);
		}
		
		return new Array(ids,names);
	}
}

/**
 * 日期格式及合法性验证
 * @author yehailong
 * @param obj  需要验证的对象
 * @param fmt  日期格式字符串, 由yyyymmdd(不区分大小写)组合而成,分隔符可以为'-'、'.'、'/'之一
 * @param name 对象显示名,便于提示 ,如果不传,不alert提示
 * @return boolean 通过返回true,否则false
 */
 function checkDate(obj,fmt,name){
	if(obj==null||obj=="undefined"||obj.disabled||obj.value==""){
		return true;
	}
	if(name==null){
		name="";
	}else{
		name="“"+name+"”";
	}
	var regex = new Array("-",".","/");
	var regex0 = "";
	for (var i=0;i<regex.length ;i++ ){
		if(fmt.indexOf(regex[i])!=-1){
			regex0 = regex[i];
			break;
		}
	}
	var y = 0;
	var m = 0;
	var d = 0;
	var yearIndex = 0;
	var monthIndex = 0;
	var dayIndex = 0;
	var number = new Array(0,0,0);
	var ch = '';
	var index = 0;
	for (var i=0;i<fmt.length ;i++ )
	{	
		if(ch==''||fmt.charAt(i)==ch){
			number[index] = number[index]+1;
		}else if(fmt.charAt(i)!=regex0){
			index++;
			number[index] = number[index]+1;
		}
		ch = fmt.charAt(i);
		if(fmt.charAt(i)=='Y'||fmt.charAt(i)=='y'){
			if(y==0){
				yearIndex = i;
			}
			y++;
		}
		if(fmt.charAt(i)=='M'||fmt.charAt(i)=='m'){
			if(m==0){
				monthIndex = i;
			}
			m++;
		}
		if(fmt.charAt(i)=='D'||fmt.charAt(i)=='d'){
			if(d==0){
				dayIndex = i;
			}
			d++;
		}
	}
	var sreg = "";
	for(i in number){
		if(number[i]!=0){
			if(sreg!=""){
				sreg += regex0;	
			}
			sreg += "\\d{"+number[i]+"}"; 
		}
	}
	sreg = "^"+sreg+"$";
	var reg = new RegExp(sreg ,"i");
	if(!reg.test(obj.value)){
		if(name!=""){
			alert(name+"格式应匹配'"+fmt+"'");
		}
		setFocus(obj);
		return false;
	}
	
	//判断日期的合法性
	var dateStr = obj.value;
	var year = "";
	var month = "";
	var day = "";
	year = dateStr.substring(yearIndex,yearIndex+y);
	month = dateStr.substring(monthIndex,monthIndex+m);
	day = dateStr.substring(dayIndex,dayIndex+d);
	
	if(month.charAt(0)=='0'){
		month = month.charAt(1);
	}
	if(day=="")
		day = 1;
	var date = new Date(year,(month-1)<0?0:(month-1),day);
	var newYear = date.getFullYear();
	var newMonth = date.getMonth()+1;
	if(newMonth<10) newMonth = "0"+newMonth;
	var newDay = date.getDate();
	if(newDay<10) newDay = "0"+newDay;
	
	var newDate = dateStr;
	function temp(src,start,end,tgt){
		var pre = "";
		if(start!=0){
			pre = src.substring(0,start);
		}
		var back = "";
		if((end+1)!=src.length){
			back = src.substring(end+1,src.length);
		}
		
		return pre+tgt+back;
	}
	
	if(y!=0){
		newDate = temp(newDate,yearIndex,yearIndex+y-1,newYear);
	}
	if(m!=0){
		newDate = temp(newDate,monthIndex,monthIndex+m-1,newMonth);
	}
	if(d!=0){
		newDate = temp(newDate,dayIndex,dayIndex+d-1,newDay);
	}
	if(dateStr!=newDate){
		/*
		if(confirm(name+"'"+dateStr+"'自动转换为'"+newDate+"'")){
			obj.value = newDate;
		}
		*/
		return false;
	}
	return true;
}

//对象焦点定位
function setFocus(obj){
	try{
		obj.focus();
		var rng = obj.createTextRange(); rng.collapse(false); rng.select();
	}catch(e){}
}

var objArray = new Array();
function formatAllInput(doc){
	//document.oncontextmenu = function(){
		//return false;
	//}
	var allInput;
	if(doc==null){
		allInput = document.all.tags("INPUT");
	}else{
		allInput = doc.all.tags("INPUT");
	}
	for(var i=0;i<allInput.length;i++){
		if((allInput[i].type!="text"&&allInput[i].type!="password")
			||allInput[i].readOnly
			||allInput[i].disabled)
			continue;

		var obj = allInput[i];
		var onblurF = obj.onblur;
		if(onblurF!=null&&onblurF!=""){
			if((onblurF+"").indexOf("this")==-1){
				//如果input自身定义的onblur函数含有this对象参数传递,无法合并函数
				objArray[""+obj.uniqueID] = onblurF;
				obj.onblur = formatInput;
			}
		}else{
			obj.onblur = formatInput;
		}
		
	}
	//textarea的处理
	var allArea;
	if(doc==null){
		allArea = document.all.tags("TEXTAREA");
	}else{
		allArea = doc.all.tags("TEXTAREA");
	}
	for(var i=0;i<allArea.length;i++){
		var area = allArea[i];
		if(area.maxLength!=null||area.maxlength!=null){
			area.onpropertychange = limitLength;
		}
	}
}

function limitLength(){
	var ele = event.srcElement;
	var maxL = ele.maxLength;
	if(maxL==null){
		maxL = ele.maxlength;
	}
	//var realLength = ele.value.replace(/[^\x00-\xff]/g,"**").length;
	var realLength = ele.value.length;
	if (realLength > maxL) {
		alert("所输入的内容超过最大长度!最大长度为["+maxL+"]个字符");
		ele.value = ele.value.substring(0,maxL);
		event.returnValue = false;
	}
}
	
//格式化
function formatInput(){
	//var ele = event.srcElement;
	var ele = null;
	try{
		ele = parent.mainFrame.event.srcElement;
	}catch(e){
		ele = event.srcElement;
	}
	if(ele.format!="false"){
		//var value = ele.value.toUpperCase();
		var value = ele.value;
		//全角转半角
		var qj = new Array('0','1','2','3','4','5','6','7','8','9','(',')','-','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

		var bj = new Array('0','1','2','3','4','5','6','7','8','9','(',')','-','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
		
		var newValue = "";
		var change = false;
		for(var i=0;i<value.length;i++){
			var ch = value.charAt(i);
			var isQj = false;
			for(var j=0;j<qj.length;j++){
				if(qj[j]==ch){
					newValue += bj[j];
					isQj = true;
					change = true;
					break;
				}
			}
			if(!isQj){
				newValue += ch;
			}
		}
		if(ele.value!=newValue){
			ele.value = newValue;
		}
	}
	//属性是否定义
	function isDefined(prop){
		if(prop==null||prop=="undefined"||prop==""){
			return false;
		}
		return true;
	}
	var showName = "";
	if(isDefined(ele.showName)){
		showName = ele.showName;
	}else{
		var parentEle = ele.parentElement;
		if(parentEle.tagName=="TD"){
			if(parentEle.previousSibling!=null)
				showName = parentEle.previousSibling.innerText;
		}
		
	}
	/*
	if(isDefined(ele.required)){
		if(!checkEle(ele,"required",showName)){
			return false;
		}	
	}
	if(isDefined(ele.check)){
		if(ele.value!=""){
			if(!checkEle(ele,ele.check,showName)){
				return false;
			}
		}
	}
	*/
	
	if(objArray[""+ele.uniqueID]!=null){
		objArray[""+ele.uniqueID]();
	}
}

//清除字符串两端的空字符
function trim(str){
	if(str == null) return "";
	var begin = 0;
	var end = str.length-1;
	while(begin<=end){
		if(str.charAt(begin) == ' '){
			begin ++;
		}else{
			break;
		}
	}
	while(begin<=end){
		if(str.charAt(end) == ' '){
			end--;
		}else{
			break;
		}
	}

	return str.substring(begin,end+1);
}

//新窗口打开
function openWindow(url,width,height){
	var x,y;
	x = (screen.availWidth - width)/2;
	y = (screen.availHeight - height)/2 - 40;
	if(x<0) x=0;
	if(y<0) y=0;
	
	if(url.indexOf(contextPath+"/")!=0){
		url = contextPath+"/"+url;
	}
	
	if(url.indexOf("?")<0){
	 	url += "?";
	}else{
		url += "&";
	}
	url += "time="+(new Date().getTime());
	
	window.open (url, "", "scrollbars=yes,status=yes,resizable=yes,top=" + y + ",left=" + x + ",height=" + height + ",width=" + width);
}

//打开对话框
function openDialog(url,width,height){
    var x,y;
	x = (screen.availWidth - width)/2;
	y = (screen.availHeight - height)/2 - 40;
	if(x<0) x=0;
	if(y<0) y=0;
	
	if(url.indexOf(contextPath+"/")!=0){
		url = contextPath+"/"+url;
	}
	
	if(url.indexOf("?")<0){
	 	url += "?";
	}else{
		url += "&";
	}
	url += "time="+(new Date().getTime());

    var dm="dialogHeight:"+height+"px;dialogWidth:"+width+"px;dialogLeft:"+x+"px;dialogTop:"+y+"px;center:yes;resizable:no;status:no;";
	return window.showModalDialog(url,"",dm);
}

/**
 *	Purpose: 获取字段的值
 *	Inputs: String fieldName 字段名称
 *	Returns: 值
 */
function getFieldValue(fieldName){
	if (document.all.item(fieldName)!=null){
		//判断是否多个相同的Name的输入框,如果是,合成一个值返回
		//alert(111 + strID);
		if (document.all.item(fieldName).length==null){//单个值
			//alert(112);
			if (document.all.item(fieldName).type=="checkbox" || document.all.item(fieldName).type=="radio"){
				if (document.all.item(fieldName).checked==true){
				    return document.all.item(fieldName).value;
				}
			}else{
			 	//去掉日期的后面部分,可能有隐患,如果真是有这样的情况
				if (document.all.item(fieldName).value.indexOf("00:00:00")>0){
					return trim(document.all.item(fieldName).value).substring(0,11);
				}else{
					return trim(document.all.item(fieldName).value);
				}					
			}	
			
		}else{//多个值
			var  paraValue="";
			//alert(113);
			for (var i=0;i<document.all.item(fieldName).length;i++){				
				if (document.all.item(fieldName)[i].type=="radio"){
					if (document.all.item(fieldName)[i].checked==true){
						return document.all.item(fieldName)[i].value;
					}	
				}else if (document.all.item(fieldName)[i].type=="checkbox"){
					if (document.all.item(fieldName)[i].checked==true){
						paraValue = paraValue + document.all.item(fieldName)[i].value + ",";
					}					
				}else{	
					paraValue = paraValue + document.all.item(fieldName)[i].value + ",";
				}
			}	
			//alert(114);
			return paraValue.substr(0,paraValue.length-1);
		}			
		//alert(trim(formElm.all.item(strID).value));
	}else{
		return "";
	}	
	return "";	
}

//设置字典的值,并同步
function setDicValue(name,value){
	var obj = window.document.getElementById(name);
	obj.value = value;
	obj.click();
}

function setValue(field,value){
	var obj = document.getElementById(field);
	if(obj.tagName=="INPUT"){
		if(obj.type=="text"||obj.type=="hidden"){
			obj.value = value;
		}
		if(obj.type=="radio"){
			var objs = parentDocument.getElementsByName(field);
			for(var i=0;i<objs.length;i++){
				if(objs[i].value==value){
					objs[i].checked = true;
				}
			}
		}
	}
	if(obj.tagName=="TEXTAREA"){
		obj.value = value;
	}
	if(obj.tagName=="SELECT"){
		var options = obj.options;
		var len = options.length;
		for(var i=0;i<len;i++){
			if(options[i].value==value){
				options[i].selected = true;
			}
		}
	}
}


function dateformatCheck(str) {
      if(str==null||str=='')
	   return true;
       ymd1=str.split("-");
       month1=ymd1[1]-1;
       var Date1 = new Date(ymd1[0],month1,ymd1[2]); 
	   if (Date1.getMonth()+1!=ymd1[1]||Date1.getDate()!=ymd1[2]||Date1.getFullYear()!=ymd1[0]||ymd1[0].length!=4)
	     {
           alert("格式错误,请按YYYY-MM-DD样式");
           return false;          
         }
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -