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

📄 table.js

📁 很全面的hrm管理。提供通用的企业人力资源管理。
💻 JS
📖 第 1 页 / 共 2 页
字号:
   	return content;		
}             	  
   
function getFieldValue(fieldId){	
	var content;
	if(!fieldNameArray["fields"][fieldId]["display"] || fieldNameArray["fields"][key]["display"] == ""){
		alert("获取服务器数据错误");
		return;
	}
	//设置该域数据是那种类型(数值|非数值)
	_set_operator(fieldNameArray["fields"][fieldId]["type"]);
	var display = fieldNameArray["fields"][fieldId]["display"];
	if(display == "list"){
		content = "<select flag=\"FieldValue\">";
		if(fieldNameArray["fields"][fieldId]['list']){
		 	for(var i = 0; i < fieldNameArray["fields"][fieldId]['list'].length; i ++){
		 		content += "<option value=\""; 
		 		if(fieldNameArray["fields"][fieldId]['list'][i]){
		 			var val = fieldNameArray["fields"][fieldId]['list'][i]["value"] ? fieldNameArray["fields"][fieldId]['list'][i]["value"] : "";
		 			content += (val == null || !val) ? val : val;
		 		}
		 		content += "\">";
		 		if(fieldNameArray["fields"][fieldId]['list'][i]){
		 			var text = fieldNameArray["fields"][fieldId]['list'][i]["text"] ? fieldNameArray["fields"][fieldId]['list'][i]["text"] : ""
		 			content += (!text || text == null) ? ""  : text ;
		 		}
		 		content += "</option>";
		 	}
	 	}
	 	content += "</select>";
	} else if(display == "text"){
		content = "<input type=\"text\"";
		if(fieldNameArray["fields"][fieldId]['text'] && fieldNameArray["fields"][fieldId]['text']["value"]){
			content += "  value=\""+fieldNameArray["fields"][fieldId]['text']["value"]+"\"";
		}
		if(fieldNameArray["fields"][fieldId]['text'] && fieldNameArray["fields"][fieldId]['text']["size"]){
			content += "size=\""+fieldNameArray["fields"][fieldId]['text']["size"]+"\"";
		}
		if(fieldNameArray["fields"][fieldId]['text'] && fieldNameArray["fields"][fieldId]['text']["length"]){
			content += "  maxlength=\""+fieldNameArray["fields"][fieldId]['text']["length"]+"\"";
		}
		content += " />";
	} else if(display == "window"){				
		if(!fieldNameArray["fields"][fieldId]["window"]["readonly"] || fieldNameArray["fields"][fieldId]["window"]["readonly"] == "true"){
			content = "<input type=\"hidden\" name=\"windowId\" />";
			content +="<input type=\"text\" name=\"windowName\"";///>&nbsp;";
			content += " readOnly=true";
			if(fieldNameArray["fields"][fieldId]["window"]){
				if(fieldNameArray["fields"][fieldId]["window"]["href"]){	
					content += " flag=\"OpenPopWindowByUrl\" winUrl=\""+fieldNameArray["fields"][fieldId]["window"]["href"]+"\" ";
				} else if(fieldNameArray["fields"][fieldId]["window"]["javascript"]){
					content += " flag=\"OpenPopWindowByScript\" javascript=\""+fieldNameArray["fields"][fieldId]["window"]["javascript"]+"\" ";
				}
			}
			content += " />";
		} else if(fieldNameArray["fields"][fieldId]["window"]["readonly"] && fieldNameArray["fields"][fieldId]["window"]["readonly"] == "false") {	
			content = "<input type=\"text\" name=\"windowId\" />";
			content +="<input type=\"hidden\" name=\"windowName\"/>";
			content +="<input type=\"Image\" src=\"../images/popupSelector.gif\" ";
			if(fieldNameArray["fields"][fieldId]["window"]){
				if(fieldNameArray["fields"][fieldId]["window"]["href"]){	
					content += " flag=\"OpenPopWindowByUrl\" winUrl=\""+fieldNameArray["fields"][fieldId]["window"]["href"]+"\" ";
				} else if(fieldNameArray["fields"][fieldId]["window"]["javascript"]){
					content += " flag=\"OpenPopWindowByScript\" javascript=\""+fieldNameArray["fields"][fieldId]["window"]["javascript"]+"\" ";
				}
			}
			content += " />";
		}		
	} else if(display == "date"){
		content  = "<input type=\"text\" dispName=\"" + fieldNameArray["fields"][fieldId]["name"] + "\" dataType=\"日期\" ";
		if(fieldNameArray["fields"][fieldId]["date"]){
			if(fieldNameArray["fields"][fieldId]["date"]["value"]){
				content +=" value=\""+fieldNameArray["fields"][fieldId]["date"]["value"]+"\"";
			}
			if(fieldNameArray["fields"][fieldId]["date"]["format"]){
				content +=" format=\""+fieldNameArray["fields"][fieldId]["date"]["format"]+"\"";
			}
			content +=" onClick=\"popUpCalendar(this, this, ";
			if(fieldNameArray["fields"][fieldId]["date"]["format"]){
				content +="'"+fieldNameArray["fields"][fieldId]["date"]["format"]+"'"
			} else {
				content +="'yyyy-mm-dd'";
			}
			content +=")\" />";
		} else {
	 		content +=" onClick=\"popUpCalendar(this, this, 'yyyy-mm-dd')\"  />";
	 	}
	}	
	return content;
}
	


function _select_all(sel){	
	var isChecked = sel.checked;
	var table = element.document.getElementById(tableId);
	for(var i = 1; i < table.rows.length; i ++){
		var perCheck = table.rows[i].cells[0].document.getElementsByTagName("INPUT");
		if(isChecked && perCheck[0].type == "checkbox"){	
			table.rows[i].cells[0].innerHTML = selectBoxChecked;
		}else if(!isChecked && perCheck[0].type == "checkbox"){
			table.rows[i].cells[0].innerHTML = selectBoxNoChecked;
		}
	}	
}	

function _delete_all_row(){
	var table = element.document.getElementById(tableId);
	if(table.rows.length > 1){
		table.deleteRow(1);
		_delete_all_row();
	}	
}

function _delete_selected_row(){
	var table = element.document.getElementById(tableId);
	var i = 0;
	for(i = 1; i < table.rows.length; i ++){
			var perCheckbox = table.rows[i].cells[0].document.getElementsByTagName("INPUT");
			var cellInnerHTML = table.rows[i].cells[0].innerHTML;
			if(cellInnerHTML.indexOf("CHECKED") > -1 ){
				break;
			}
	}
	table.deleteRow(i);
	var tempTable = element.document.getElementById(tableId);
	if(tempTable.rows.length > 1){
		_delete_selected_row();
	}
}

function _get_qualification(qlType){
	//获得table对象
	var obj = element.document.getElementById(tableId);
	if(obj.rows.length <= 1){
		//alert("没有条件");
		return;
	}
	//判断该对象的逻辑符号是否匹配
	if(!isRightLogic(obj)){
		return;
	}
	var hqlFromArray = new Array();
	var hqlFromAliasArray = new Array();
	var hqlJoinArray = new Array();
	
	var sqlFromAliasArray = new Array();
		
	//组装where部门的hql或者sql
	var fieldWhere = "";
	for(var i = 1; i < obj.rows.length; i ++){	
		//获得前括号
		var preBracket = obj.rows[i].cells[1].getElementsByTagName("SELECT")[0].value;
		//获得字段名称的值
		var fieldName = obj.rows[i].cells[2].getElementsByTagName("SELECT");
		var fieldId = fieldName[0].options[fieldName[0].selectedIndex].fieldId;
		var property = fieldName[0].options[fieldName[0].selectedIndex].property;
		var column = fieldName[0].options[fieldName[0].selectedIndex].column;
		var addtional = fieldName[0].options[fieldName[0].selectedIndex].addtional;
		var fieldType = fieldName[0].options[fieldName[0].selectedIndex].fieldType;
		var fieldHql = fieldName[0].options[fieldName[0].selectedIndex].fieldHql;
		var fieldSql = fieldName[0].options[fieldName[0].selectedIndex].fieldSql;
		
		//获得运算符
		var operatorValue = obj.rows[i].cells[3].getElementsByTagName("SELECT")[0].value;
		//获取字段值
		var fieldValueObj = obj.rows[i].cells[4].getElementsByTagName("SELECT");			
		if(!fieldValueObj || !fieldValueObj[0]){
			fieldValueObj = obj.rows[i].cells[4].getElementsByTagName("INPUT");
		} else {
			
		}	
		
		
		//获取当前这条条件的所属对象或者表如:lzbasecodes.codeUuid
		var fieldNameValue = property;
		if(qlType == "hql") {
			if(fieldType == "date"){				
				fieldNameValue = "to_char("+property+",'";
				if(fieldValueObj[0].format && fieldValueObj[0].format != ""){
					fieldNameValue += fieldValueObj[0].format;
				} else {
					fieldNameValue += "yyyy-mm-dd";
				}
				fieldNameValue += "')"
			}
		} else if(qlType == "sql") {
			fieldNameValue = column;		
		}	
		
		var fieldValue = fieldValueObj[0].value;
		//根据数据类型和运算符来组合字段值
		if(fieldType == "string"){
			if(operatorValue.indexOf("like") > -1){
				fieldValue = "'%"+fieldValueObj[0].value+"%'";				
			} else {
				fieldValue = "'"+fieldValueObj[0].value+"'";
			}
		} else if(fieldType == "date") {
			if(qlType == "hql"){
				fieldValue = "'"+fieldValueObj[0].value+"'";
			} else if(qlType == "sql"){
				fieldValue = "TO_TIMESTAMP ('"+fieldValueObj[0].value+"', '";
				if(fieldValueObj.format && fieldValueObj[0].format != ""){
					fieldValue += fieldValueObj[0].format;
				} else {
					fieldValue += "YYYY-MM-DD";
				}
				fieldValue +=" HH:MI:SS')";
			}
		} 
		//获取后括号
		var behindBracket = obj.rows[i].cells[5].getElementsByTagName("SELECT")[0].value;
		//获取逻辑符号
		var logicSymbol = obj.rows[i].cells[6].getElementsByTagName("SELECT")[0].value;
		if(!fieldValueObj[0].value || fieldValueObj[0].value == ""){
			fieldWhere += " "+preBracket+" 1=1 "  + behindBracket+" "+logicSymbol;		
			continue;
		} 
		if(addtional && addtional == "true"){
			var addtionalValue;
			if(qlType == "hql" && fieldHql){
				addtionalValue = fieldHql;
				addtionalValue = addtionalValue.replace("#"+property+"#"," "+operatorValue+" "  +  fieldValue+" ");
			} else if(qlType == "sql" && fieldSql){
				addtionalValue = fieldSql;
				addtionalValue = addtionalValue.replace("#"+column+"#"," "+operatorValue+" "  +  fieldValue+" ");
			}
			fieldWhere += " "+preBracket+" "   + addtionalValue +" " + behindBracket + " " + logicSymbol;		
		} else {
			fieldWhere += " "+preBracket+" "   + fieldNameValue+" "+ operatorValue+" "  +  fieldValue+" "  + behindBracket+" "+logicSymbol;		
		}
	}	
	var select="",from ="",where="";
	if( qlType == "hql" || qlType == undefined || qlType == "" || qlType == null){
		select = fieldNameArray["hql-select"] ? fieldNameArray["hql-select"] : "";
		from   = fieldNameArray["hql-from"]   ? fieldNameArray["hql-from"]   : "";
		if(from.indexOf("from") == -1 && from.indexOf("FROM") == -1){
			from = " from ".concat(from);
		}
		where  = fieldNameArray["hql-where"]  ? fieldNameArray["hql-where"]  : "";
		if(where.indexOf("where") == -1 && where.indexOf("WHERE") == -1){
			where = " where ".concat(where);
		}
	} else if( qlType == "sql"){
		select = fieldNameArray["sql-select"] ? fieldNameArray["sql-select"] : "";
		if(select.indexOf("select") == -1 && from.indexOf("SELECT") == -1){
			select = " select * ".concat(select);
		}
		from   = fieldNameArray["sql-from"]   ? fieldNameArray["sql-from"]   : "";
		if(from.indexOf("from") == -1 && from.indexOf("FROM") == -1){
			from = " from ".concat(from);
		}
		where  = fieldNameArray["sql-where"]  ? fieldNameArray["sql-where"]  : "";
		if(where.indexOf("where") == -1 && where.indexOf("WHERE") == -1){
			where = " where ".concat(where);
		}
	}
	var tempWhere = (where.trim()).replace("where","");
	if(tempWhere){
		if(tempWhere.length > 0){
			var orLogic = tempWhere.substring(tempWhere.length - 2,tempWhere.length);
			if(orLogic.toLowerCase() == "or"){
				if( !fieldWhere && fieldWhere.length <= 0){
					where += " 1=1 "
				}
			} else {
				var andLogic = tempWhere.substring(tempWhere.length - 3,tempWhere.length);
				if(andLogic.toLowerCase() == "and" ){
					if(!fieldWhere || fieldWhere.length <= 0){
						where += " 1=1 "
					} 
				} else {
					if(fieldWhere && fieldWhere.length > 0){
						where += " and "
					} 
				}
			}
		}		
	} else {
		if(!fieldWhere || fieldWhere.length <= 0){
			where += " 1=1 "
		}
	}
	var sentence = (select ? select : "") + 
				   (from ? from : "") + 
				   (where ? where : "") + 
				   (fieldWhere ? "("+fieldWhere+")" : "");
	if(!isRightExpression(sentence)){
		return;
	}
	return sentence;
}

function _get_hql(){
	return _get_qualification("hql");
}

function _get_sql(){
	return _get_qualification("sql");
}

function _set_operator(type,obj){
	if(type){
		if(type == "string"){
			operator = operatorString;
		} else if(type == "status") {
			operator = operatorStatus;
		} else {
			operator = operatorForNotString;
		}
	} else {
		operator = operatorString;
	}
	if(obj){
		obj.parentElement.parentElement.cells[3].innerHTML = operator;	
	}
}

function _set_field_value(obj){
	obj.parentElement.parentElement.cells[4].innerHTML = getFieldValue(obj.options[obj.selectedIndex].fieldId);
}

function isRightLogic(obj){
	if((obj.rows[obj.rows.length - 1].cells[6].getElementsByTagName("SELECT"))[0].value != ""){
		alert("最后一个逻辑符号只能为空");
		return false;
	}
	for(var i = 1; i < obj.rows.length - 1; i ++){	
		var logic = obj.rows[i].cells[6].getElementsByTagName("SELECT");
		if(logic[0].value == ""){
			alert("缺少逻辑符号");
			return false;
		}
	}	
	return true;
}

function isRightExpression(expression){
	var tempExpression = expression;
	var eArray =tempExpression.split("");
	var stack = new Array();
	for(var i = 0; i < eArray.length; i ++){		
		if(eArray[i] == '('){		
			stack.push('(');
		} else if(eArray[i] == ')'){
			if(stack.pop() == undefined){
				alert("括号不匹配");
				return false;
			}
		}
	}
	if(stack.length > 0) {
		alert("括号不匹配");
		return false;
	}
	return true;
}


function _open_popwindow(obj){
	var parameterWindows = window.showModalDialog(obj.winUrl);
	var value = parameterWindows['id'];
	var text = parameterWindows['name'];
	if(!value){
		value = parameterWindows[0]['id'];
	}
	if(!text){
		text = parameterWindows[0]['name'];
	}	
	if( value  && text ){
		var inputs = obj.parentElement.getElementsByTagName("INPUT");
		for(var i = 0; i < inputs.length ; i ++){
			if(inputs[i].name == "windowId"){
				inputs[i].value = value;
			}
			if(inputs[i].name == "windowName"){
				inputs[i].value = text;
			}
		}
	}
}

function _execute_javascript(obj){
	var parameterWindows = eval(obj.javascript); 
	var value = parameterWindows['id'];
	var text = parameterWindows['name'];
	if(!value){
		value = parameterWindows[0]['id'];
	}
	if(!text){
		text = parameterWindows[0]['name'];
	}	
	if( value  && text ){
		var inputs = obj.parentElement.getElementsByTagName("INPUT");
		for(var i = 0; i < inputs.length ; i ++){
			if(inputs[i].name == "windowId"){
				inputs[i].value = value;
			}
			if(inputs[i].name == "windowName"){
				inputs[i].value = text;
			}
		}
	}
}

String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim = function()
{
    return this.replace(/(^\s*)/g, "");
}
String.prototype.rtrim = function()
{
    return this.replace(/(\s*$)/g, "");
}


function killErrors() {
	return true;
}
window.onerror = killErrors;
</script>

⌨️ 快捷键说明

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