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

📄 table.js

📁 很全面的hrm管理。提供通用的企业人力资源管理。
💻 JS
📖 第 1 页 / 共 2 页
字号:
<PUBLIC:COMPONENT TAGNAME="QueryTable" id="" >

    <!--属性定义-->
    <PUBLIC:PROPERTY NAME="typeId" PUT="setTypeid" VALUE="" />
    <PUBLIC:PROPERTY NAME="name" PUT="setName" VALUE="" />

    <!--关联客户端事件-->
    <PUBLIC:ATTACH EVENT="ondocumentready" ONEVENT="_table_on_load()"/>
    
    <!--公用方法定义-->
    <PUBLIC:METHOD  NAME="getHql" INTERNALNAME="_get_hql" /> 
    <PUBLIC:METHOD  NAME="getSql" INTERNALNAME="_get_sql" /> 

</PUBLIC:COMPONENT> 

<!-- htc脚本 -->

<script language="javascript">
this.onclick = _table_on_click;
this.onkeydown = _table_on_keydown;
this.onchange = _table_on_change;

var tableId = "tableId_"+this.id;
var outerTableTitle =  "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"
							+ "<tr align=\"left\">"
							+ "	<td cospan=\"20\"  align=\"left\"  width=\"10\">"
							+ "      <table border=\"0\" style=\"border-top: 1px solid #87b0db;border-left: 1px solid #87b0db;border-right: 1px solid #87b0db;width:200px\">"
					        + "          <tr>"
					        + "            <td>"
					        + "				 <input type=\"button\" name=\"AddButton\" flag=\"Add\" value=\"增加\" class=\"Button\" onclick='_table_on_click()' title=\"增加一个查询条件\" />"
					        + "              <input type=\"button\" name=\"DeleteSelectedButton\" flag=\"DeleteSelectedRow\" value=\"删除\" class=\"Button\" onclick=\"deleteSelectedRow()\"  title=\"删除选中的查询条件\" />"
					        + "            	 <input type=\"button\" name=\"DeleteAllButton\" flag=\"DeleteAll\" value=\"全部删除\"  class=\"Button\" onclick=\"deleteAllRow()\"  title=\"删除所有的查询条件\" />"
					        + "				</td>"
					        + "         </tr>"
					        + "        </table>"
							+ "	</td>"
							+ "</tr>"
							+ "<tr>"
							+ " <td>"
					   +"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"commonTable\">"
	  						+ "<tr>"
							+ 	"<td>";
							
var outerTableFoot = 		  	"</td>"
	  						+ "</tr>"
						+ "</table>"
					+ "  </td>"
					+ " </tr>"
					+ "</table>";
var bodyTableTitle = "<table id=\""+tableId+"\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\">"
							+ "<tr class=\"rowTitle\">"
							+ 	"<td align=\"left\">选择</td>"
							+ 	"<td align=\"left\">前括号</td>"
							+ 	"<td align=\"left\">字段名称</td>"
							+ 	"<td align=\"left\">运算符</td>"
							+ 	"<td align=\"left\">字段值 </td>"
							+ 	"<td align=\"left\">后括号</td>"
							+ 	"<td align=\"left\">逻辑符</td>"
							+ 	"</tr>" ;
							

							
var bodyTableFoot = 			"</td>"
							+ "</tr>"
					+ "</table>";

var selectBoxNoChecked = "<input type='checkbox' value='checkbox' />";
var selectBoxChecked = "<input checked type='checkbox' value='checkbox' />";
					
//前后括弧					
var preBracket = "<select name=\"preBracket1\">"
                    +"	<option>无</option>"
                    +"	<option value=\"(\" selected=\"selected\">(</option>"
                 	 +"</select>";
                 	 
var tailBracket = "<select name=\"preBracket1\">"
                     +"	<option>无</option>"
                     +"	<option value=\")\" selected=\"selected\">)</option>"
                 	  +"</select>";
                 	 
var operator = "";
                 	  
var operatorString = "<select>"
			   + "<option value=\"like\" selected=\"selected\">包含</option>"
			   + "<option value=\"not like\">不包含</option>"
			   + "<option value=\"=\">等于</option>"
			   + "<option value=\"&lt;&gt;\">不等于</option>"
			   + "<option value=\"&lt;\">大于</option>"
			   + "<option value=\"&gt;\">小于</option>"
 				 + "<option value=\"&gt;=\">大于等于</option>"	   			   
			   + "<option value=\"&lt;=\">小于等于</option>"
			  +"</select>";

var operatorStatus = "<select>"
			   + "<option value=\"=\" selected=\"selected\">等于</option>"
			  +"</select>";

			  
var operatorForNotString = "<select>"
			   + "<option value=\"=\" selected=\"selected\">等于</option>"
			   + "<option value=\"&lt;&gt;\">不等于</option>"
			   + "<option value=\"&gt;\">大于</option>"
			   + "<option value=\"&lt;\">小于</option>"		
 				 + "<option value=\"&gt;=\">大于等于</option>"	   			   
			   + "<option value=\"&lt;=\">小于等于</option>"			  
			  +"</select>";
			  
			  
var logic = "<select>"
				 +" <option selected=\"selected\">无</option>"
				 +" <option value=\"and\" >并且</option>"
				 +" <option value=\"or\">或者</option>"
		  	 + "</select>";	
		  	 
var fieldNameArray = new Array();
var defaultFieldId = "";

var selectHeader = "<select flag=\"FieldName\">";
var selectFooter = "</select>";	
			 
var typeId;
   
function setTypeId(value){
	typeId = value;
}

function _table_on_load(){
	send_request("commonQuery.xml?QueryTypeId="+typeId,null,null,_build_table);
}

//ajax XMLHttpRequest请求对象
var http_request = false;
function send_request(url,data,asynch,callback,name,pwd) {
	//初始化、指定处理函数、发送请求的函数
	http_request = false;
	//开始初始化XMLHttpRequest对象
	if(window.XMLHttpRequest) { 
		//Mozilla 浏览器
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {//设置MiME类别
			http_request.overrideMimeType('xml');
		}
	}else if(window.ActiveXObject) { 
		// IE浏览器
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("创建请求控件错误!");
				return;
			}
		}
	}
	if (!http_request) { 
		// 异常,创建对象实例失败
		window.alert("不能创建XMLHttpRequest对象实例.");
		return false;
	}
	if(callback != undefined || callback != null){
		http_request.onreadystatechange = callback;
	}
	//确定发送请求的方式和URL以及是否同步执行下段代码
	if(asynch != undefined || asynch != null){
		http_request.open("GET", url, asynch);
	}else{
		http_request.open("GET", url, true);
	}
	http_request.send(data);
}
 
function parseXML(str){ 	
	if(!str || str == ""){
		alert("你所请求的页面异常");
		return ;
	}
  	if(window.ActiveXObject){
		var result = new ActiveXObject("microsoft.XMLDOM");
		result.loadXML(str);
  	}else{
	    var parser = new DOMParser();
	    var result = parser.parseFromString(str, "text/xml");
	}
  	return result ;
} 
  
function _build_table(){  
	if (http_request.readyState == 4) { // 判断对象状态
		if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
		   	var xmlDom = http_request.responseXML;
		   	//parseXML(http_request.responseText);
		   	if(!xmlDom){
				alert("你所请求的页面异常");
				return ;
			}	  			        
			var queryTypeArray = xmlDom.getElementsByTagName("query-type");
			var queryType = queryTypeArray[0];
			if(!queryType){
				alert("你所请求的页面异常");
				return ;
			}
			fieldNameArray["id"]         = queryType.getAttribute("id");
			fieldNameArray["name"]       = queryType.getAttribute("name");
			fieldNameArray["hql-select"] = queryType.getAttribute("hql-select");
			fieldNameArray["sql-select"] = queryType.getAttribute("sql-select");
			fieldNameArray["hql-from"]   = queryType.getAttribute("hql-from");
			fieldNameArray["sql-from"]   = queryType.getAttribute("sql-from");
			fieldNameArray["hql-where"]  = queryType.getAttribute("hql-where");
			fieldNameArray["sql-where"]  = queryType.getAttribute("sql-where");
			
			var dataArray = queryType.getElementsByTagName("field");
			if(!dataArray && dataArray.length < 0){
				alert("你所请求的页面异常");
				return ;
			}
			if(dataArray && dataArray.length > 0){
				fieldNameArray["fields"] = new Array();			
			    for(var i = 0; i < dataArray.length; i ++){		    
			    	var field = dataArray[i];
			    	var fielId = field.getAttribute("id")
			    	if(i == 0) {
			    		defaultFieldId = fielId;
			    	}
			      	fieldNameArray["fields"][fielId] = new Array();              	
			      	fieldNameArray["fields"][fielId]['name']      = field.getAttribute("name");  
			      	fieldNameArray["fields"][fielId]['property']  = field.getAttribute("property");  
			      	fieldNameArray["fields"][fielId]['column']    = field.getAttribute("column");  
			      	fieldNameArray["fields"][fielId]['addtional'] = field.getAttribute("addtional");  
			      	fieldNameArray["fields"][fielId]['type']      = field.getAttribute("type");  
			      	fieldNameArray["fields"][fielId]['field-hql'] = field.getAttribute("field-hql");
			      	fieldNameArray["fields"][fielId]['field-sql'] = field.getAttribute("field-sql");
			      	fieldNameArray["fields"][fielId]['display']   = field.getAttribute("display");
			      	if(fieldNameArray["fields"][fielId]['display'] == "list"){
		      			fieldNameArray["fields"][fielId]['list'] = new Array();
		      			var select = field.getElementsByTagName("select") ? field.getElementsByTagName("select")[0] : undefind;
		      			var selectOptions = select.getElementsByTagName("option");  
		      			if(selectOptions){
			      			for(var j = 0; j < selectOptions.length ; j ++){
			      				fieldNameArray["fields"][fielId]['list'][j] = new Array();
			      				var val = selectOptions[j].getAttribute("value");
			      				var text = selectOptions[j].getAttribute("text");
			      				fieldNameArray["fields"][fielId]['list'][j]['value'] = (!val || val == null) ? "" : val;
			      				fieldNameArray["fields"][fielId]['list'][j]['text'] = (!text || text == null) ? "" : text;
			      			}	
		      			}            			
			      	} else if(fieldNameArray["fields"][fielId]['display'] == "window"){
			      		var win = field.getElementsByTagName("window") ? field.getElementsByTagName("window")[0] : undefind;
			      		if(win){
			      			fieldNameArray["fields"][fielId]['window'] = new Array();
			      			fieldNameArray["fields"][fielId]['window']['href'] = win.getAttribute("href");
			      			fieldNameArray["fields"][fielId]['window']['javascript'] = win.getAttribute("javascript");
			      			fieldNameArray["fields"][fielId]['window']['readonly'] = win.getAttribute("read_only");
			      		}
			      	} else if(fieldNameArray["fields"][fielId]['display'] == "date"){
			      		var date = field.getElementsByTagName("date") ? field.getElementsByTagName("date")[0] : undefind;
			      		if(date){
			      			fieldNameArray["fields"][fielId]['date'] = new Array();
				      		fieldNameArray["fields"][fielId]['date']['value'] = date.getAttribute("value");
				      		fieldNameArray["fields"][fielId]['date']['format'] = date.getAttribute("format");
			      		}
			      	} else if(fieldNameArray["fields"][fielId]['display'] == "text"){
			      		var text = field.getElementsByTagName("text") ? field.getElementsByTagName("text")[0] : undefind;
			      		if(text){
			      			fieldNameArray["fields"][fielId]['text'] = new Array();
				      		fieldNameArray["fields"][fielId]['text']['value'] = text.getAttribute("value");
				      		fieldNameArray["fields"][fielId]['text']['size'] = text.getAttribute("size");
				      		fieldNameArray["fields"][fielId]['text']['length'] = text.getAttribute("length");
				      	}
			      	}
			    }
		    }
			var innerHTML = outerTableTitle;
			innerHTML += bodyTableTitle;
			innerHTML += bodyTableFoot;
			innerHTML += outerTableFoot;
			element.innerHTML = innerHTML;
	    } else { //页面不正常
	        alert("您所请求的页面有异常");
	    }
	}
}
  

  
function _table_on_click(){
 	var obj = event.srcElement;    	
	if (obj.flag == "Add") {
		_add_row(obj.flag);
	}else if(obj.flag == "SelectAllSwitch"){				
		_select_all(obj);
	}else if(obj.flag == "DeleteAll"){
		_delete_all_row();
	}else if(obj.flag == "DeleteSelectedRow"){
		_delete_selected_row();
	}else if(obj.flag == "Query"){
		_get_qualification();
	}else if(obj.flag == "FieldName"){
		_set_operator(obj.options[obj.selectedIndex].fieldType,obj);
		_set_field_value(obj);
	}else if(obj.flag == "OpenPopWindowByUrl"){
		_open_popwindow(obj);
	}else if(obj.flag == "OpenPopWindowByScript"){
		_execute_javascript(obj);
	}
	processCalendar();
}

function _table_on_keydown(){
 	var obj = event.srcElement;    	
	if(obj.flag == "FieldName"){
		_set_field_value(obj);
	}
}

function _table_on_change(){
 	var obj = event.srcElement;    	
	if(obj.flag == "FieldName"){
		_set_field_value(obj);
	}
}

function _add_row(){
	var obj = element.document.getElementById(tableId);
	var newRow = obj.insertRow();
	newRow.onfocus = function(){
		this.style.backgroundColor = "#D3E6FA";
	}	
	newRow.onblur = function(){
		this.style.backgroundColor = "#FFFFFF";
	}	
	
	
	var selectBoxCell=newRow.insertCell(0);
	selectBoxCell.align ="left";
	selectBoxCell.id = "checkebox"+obj.rows.length;
	selectBoxCell.innerHTML = selectBoxNoChecked;
		
	var preBracketCell=newRow.insertCell(1);
	preBracketCell.align ="left";				
	preBracketCell.innerHTML = preBracket;
		
		
	var fieldNameCell=newRow.insertCell(2);
	fieldNameCell.align ="left";
	fieldNameCell.innerHTML = getFieldName();
	
	var fieldValueInnerHTML =  getFieldValue(defaultFieldId);
		
	var operatorCell=newRow.insertCell(3);
	operatorCell.align ="left";
	operatorCell.innerHTML = operator;
	
	var fieldValueCell=newRow.insertCell(4);
	fieldValueCell.align ="left";
	fieldValueCell.innerHTML = fieldValueInnerHTML;
		
	var tailBracketCell=newRow.insertCell(5);
	tailBracketCell.align ="left";
	tailBracketCell.innerHTML = tailBracket;
		
	var logicCell=newRow.insertCell(6);
	logicCell.align ="left";
	logicCell.innerHTML = logic;	
}	

			              	  
function getFieldName(){	
	var content = selectHeader;
  	for(key in fieldNameArray["fields"]){  	
		var fieldId = key;
		var fieldName = fieldNameArray["fields"][key]["name"];
		var property  = fieldNameArray["fields"][key]["property"];
		var column    = fieldNameArray["fields"][key]["column"];
		var addtional = fieldNameArray["fields"][key]["addtional"];
		var fieldType = fieldNameArray["fields"][key]["type"];
		var fieldHql  = fieldNameArray["fields"][key]["field-hql"];
		var fieldSql  = fieldNameArray["fields"][key]["field-sql"];
		var display   = fieldNameArray["fields"][key]["display"];		
	
    	content += "<option ";
    	if(fieldId)
    	{
    		content +=" fieldId=\""+fieldId+"\" ";
    	}  
    	if(fieldName)
    	{
    		content +=" fieldName=\""+fieldName+"\" ";
    	}
    	if(property)
    	{
    		content +=" property=\""+property+"\" ";
    	}
    	if(column)
    	{
    		content +=" column=\""+column+"\" ";
    	}  
    	if(addtional)
    	{
    		content +=" addtional=\""+addtional+"\" ";
    	}  
    	if(fieldType)
    	{
    		content +=" fieldType=\""+fieldType+"\" ";
    	}
    	if(fieldHql)
    	{
    		content +=" fieldHql=\""+fieldHql+"\" ";
    	}
    	if(fieldSql)
    	{
    		content +=" fieldSql=\""+fieldSql+"\" ";
    	}
    	if(display)
    	{
    		content +=" display=\""+display+"\" ";
    	}
    	content += fieldId ? fieldId : "\"\"";
    	if(fieldId == defaultFieldId){
    		content += " selected ";
    	}
    	content +=" >";
    	content += fieldName ? fieldName : "\"\"";
    	content += "</option>";
   	}
   	content += selectFooter;

⌨️ 快捷键说明

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