📄 manager.js
字号:
//获取最大号
var _maxId = new Array();
function _getMax(id){
if(isNaN(_maxId[id] ))
_maxId[id] =0;
return _maxId[id] ++;
}
/*
* 在指定的 TABLE 最后一行追加功能按钮
*/
function _BindTable(sTabID, sArrInputFields, h){
if(h==null) h=0;
var oTab = eval(sTabID);
var arrInputFields = eval(sArrInputFields);
var nRows = oTab.rows.length;
var oTR = oTab.insertRow(nRows);
oTR.bgColor = "#ffffff";
var oTD = oTR.insertCell();
oTD.className = "liebiao";
oTD.width = "50px";
oTD.innerHTML = "<INPUT TYPE=BUTTON id=\"btnAddNew_" + sTabID + "\" CLASS=btnAddNew STYLE='width:100%' ONCLICK=\"_AddNewRow('" + sTabID + "','" + sArrInputFields + "')\" VALUE='+'>";
oTD = oTR.insertCell();
oTD.className = "liebiao";
oTD.innerHTML = " ";
oTD.colSpan = arrInputFields.length;
for(var p=0; p<h; p++){
_AddNewRow(sTabID, sArrInputFields);
}
}
function _AddNewRow(sTabID, sArrInputFields){
var oTab = eval(sTabID);
var arrInputFields = eval(sArrInputFields);
var oTR = oTab.insertRow(oTab.rows.length - 1);
oTR.bgColor = "#ffffff";
var oTD = null;
var sHtml = "";
oTR.style.cursor = "hand";
for(var i = 0; i < arrInputFields.length + 1; i++){
oTD = oTR.insertCell();
oTD.className = "liebiao";
if(i == 0){
oTD.name = "ORDERTD";
oTD.width = "50px";
oTD.className = "liebiao";
sHtml =
"<input name=\"XH\" style='width:60%;font-weight:bold;border:0px solid;text-align:center' readonly value='" + oTR.rowIndex + "'>"
+ "<INPUT type=\"button\" onclick=_RemoveCurRow() value=\"X\" style='width:40%;height:100%'>";
}
else{
var elementInfo = arrInputFields[i - 1];
sHtml = _genElementHtml(elementInfo);
}
oTD.innerHTML = sHtml;
}
return oTR;
}
//取得表数据行数
function _getRowsNumber(tab){
return tab.rows.length -1;
}
//取得表数据列数
function _getColumnsNumber(tab){
return tab.rows(0).cells.length;
}
function _AddRow(tab){
var oTab = tab;
var cellNum = tab.rows(0).cells.length;
var oTR = oTab.insertRow(oTab.rows.length - 1);
oTR.bgColor = "#ffffff";
oTR.style.cursor = "hand";
for(var i = 0; i < cellNum; i++){
var oTD = oTR.insertCell();
oTD.className = "liebiao";
if(i == 0){
oTD.name = "ORDERTD";
oTD.width = "50px";
oTD.className = "liebiao";
var sHtml =
"<input name=\"XH\" style='width:60%;font-weight:bold;border:0px solid;text-align:center' readonly value='" + oTR.rowIndex + "'>"
+ "<INPUT type=\"button\" onclick=_RemoveCurRow() value=\"X\" style='width:40%;height:100%'>";
oTD.innerHTML = sHtml;
}
}
return oTR;
}
function _RemoveCurRow(){
if(!confirm("确定要删除吗?")) return;
var e = event.srcElement;
while(e.tagName != "TR") e = e.parentElement;
var oTab = e.parentElement;
e.removeNode(true);
_ReOrder(oTab);
}
function _ReOrder(oTab){
var oTab = eval(oTab);
var nRows = oTab.rows.length;
var oTD;
var sHtml;
for(var i = 0, j = 1; i < nRows; i++){
oTD = oTab.rows(i).cells(0);
if(oTD.name == "ORDERTD"){
sHtml =
"<input name=\"XH\" style='width:60%;font-weight:bold;border:0px solid;text-align:center' readonly value='" + (j++) + "'>"
+ "<INPUT type=\"button\" onclick=_RemoveCurRow() value=\"X\" style='width:40%;height:100%' id=\"button\" name=\"button\">";
oTD.innerHTML = sHtml;
}
}
}
//根据元素信息生成html文本
function _genElementHtml(elementInfo){
var sHtml = "";
//名称
var name = elementInfo.get('name');
//生成新的id
var id = name+"_" + _getMax(name);
//type 类型
var type = elementInfo.get('type');
//字典
var dic = elementInfo.get('dic');
//值
var value = elementInfo.get('value');
//属性集合
var properties = elementInfo.get('properties');
//事件集合
var events = elementInfo.get('events');
//校验数据类型
//var dataType = elementInfo.get('dataType');
//校验返回信息
//var msg = elementInfo.get('msg');
//拼写基本的id和name串
var commonInfo = " id=\"" + id + "\" NAME=\"" + name +"\"" ;
//拼写属性串
var propertiesString = _genPropertiesString(properties);
//拼写事件串
var eventsString = _genEventsString(events);
//拼写校验串
/*
var checkString = new String(" ");
if(!(dataType==null)){
checkString += "dataType=\"";
checkString += dataType
checkString += "\" ";
if(!(msg==null)){
checkString += "msg=\"";
checkString += msg
checkString += "\" ";
}
}*/
if(type.toUpperCase() == "SELECT"){
sHtml = "<SELECT " + commonInfo + propertiesString + eventsString + " style='width:100%;height:100%'>" + _genOptionsHtml(dic, value) +"</SELECT>";
}
else if(type.toUpperCase() == "TEXT"){//普通输入域
if(value == null)
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"\">" ;
else
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"" + value + "\">" ;
}
else if(type.toUpperCase() == "DATE"){//时间域
if( value == null)
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"\">" ;
else
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"" + value + "\">" ;
}
else if(type.toUpperCase() == "NUMBER"){//数据域
if( value == null)
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString + " class=\"unborder\" " + " style='width:100%;height:100%' value=\"\">" ;
else
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString + " class=\"unborder\" " + " style='width:100%;height:100%' value=\"" + value + "\">" ;
}else if(type.toUpperCase() == "HIDDEN"){//隐藏域
if(value == null)
sHtml = "<INPUT TYPE='HIDDEN' "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"\">" ;
else
sHtml = "<INPUT TYPE='HIDDEN' "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:100%;height:100%' value=\"" + value + "\">" ;
}else if(type.toUpperCase() == "FIXED1"){//宽度固定为1px的域
if(value == null)
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:1px;height:100%' value=\"\">" ;
else
sHtml = "<INPUT "+ commonInfo + propertiesString + eventsString +" class=\"unborder\" " + " style='width:1px;height:100%' value=\"" + value + "\">" ;
}else if (type.toUpperCase() == "OPERATION"){//操作域,加入图片集
sHtml = _genOperationHtml(elementInfo.get('imgs') );
}else if (type.toUpperCase() == "BLANK"){//空白域
sHtml = " ";
}
return sHtml;
}
/**
* 拼写属性串,供_genElementHtml调用,
* Lily You 2005-12-06修改
*/
function _genPropertiesString(properties){
var propertiesString = new String(" ");
if(!( properties == null )){
for(var iter = properties.keySet().iterator(); iter.hasNext();){
var pName = iter.next();
var pValue = properties.get(pName);
propertiesString += pName;
propertiesString += "=\"";
propertiesString += pValue;
propertiesString += "\" ";
}
}
return propertiesString;
}
/**
* 拼写事件串,供_genElementHtml调用
* Lily You 2005-12-06修改
*/
function _genEventsString(events){
var eventsString = new String(" ");
if(!( events == null )){
for(var iter = events.keySet().iterator();iter.hasNext();){
var eName = iter.next();
var eValue = events.get(eName);
eventsString += eName;
eventsString += "=\"";
eventsString += eValue;
if ( eValue.indexOf("(") == -1 ){
eventsString += "(this) ";
}
eventsString += "\" ";
}
}
return eventsString;
}
//供_genElementHtml调用
function _genOptionsHtml(dic, value){
var result = new String("");
if( dic ==null){
return result;
}
for(var iter = dic.keySet().iterator(); iter.hasNext();){
var code = iter.next();
var name = dic.get(code);
if(value != null && value == code)
result += "<option value=\"" + code + "\" selected>" + name + "</option>\n";
else
result += "<option value=\"" + code + "\">" + name + "</option>\n";
}
return result;
}
/********************************
** 操作域,供_genElementHtml调用
* imgs:含图片信息的数组集合,每一元素是包括属性及事件的Map集合
*********************************/
function _genOperationHtml(imgs){
var result = new String("");
if ( imgs == null ){
return result;
}
for(var i=0;i<imgs.length;i++){
if ( imgs[i] !=null ){
var src = imgs[i].get('src');
var commonInfo = "src=\""+src+"\" border=\"0\" style=\"cursor:hand\"";
//属性集合
var properties = imgs[i].get('properties');
//拼写属性串
var propertiesString = _genPropertiesString(properties);
//事件集合
var events = imgs[i].get('events');
//拼写事件串
var eventsString = _genEventsString(events);
result += " <img " + commonInfo + propertiesString + eventsString +">";
}
}
return result;
}
//高级方法,生成select元素的html文本
function _genSelectHTML(name,dic,value,properties,events){
var elementInfo = new Map();
elementInfo.put('name',name);
elementInfo.put('type','SELECT');
elementInfo.put('dic',dic);
elementInfo.put('value',value);
elementInfo.put('properties',properties);
elementInfo.put('events',events);
return _genElementHtml(elementInfo);
}
//高级方法,生成非select元素的html文本
function _genOtherHTML(name, type, value, properties, events){
var elementInfo = new Map();
elementInfo.put('name',name);
elementInfo.put('type',type);
elementInfo.put('value',value);
elementInfo.put('properties',properties);
elementInfo.put('events',events);
return _genElementHtml(elementInfo);
}
function _genOperationHTML(imgs){
var elementInfo = new Map();
elementInfo.put('type',"OPERATION");
elementInfo.put('imgs',imgs);
return _genElementHtml(elementInfo);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -