/* 作者 : 墙辉 2004/05/13 splitString(str,separator): 根据分割字符将字符串分割为数组 参数说明:       str: 原始字符串       separator :分隔符     返回值说明:分割后的字符串数组 saveRowSet(aUrl,aRowSets,isSetStsToOld):保存RowSet数组 参数说明:           aUrl: URL地址 aRowSets: RowSet数组 isSetStsToOld:是否在保存操作后将rowset得状态置为old 。 true/false 返回值说明:UserDataClass 对象 copyRowSet(source,sourceRowIndex,dest,destRowIndex):拷贝数据集的一行数据   source: 源数据集 sourceRowIndex: 源行号 dest: 目标数据集 destRowIndex: 目的行号 g_getListBox(id):获取下来列表框对象。之后可以使用方法:   getID():获取ID值 getValue():获取文本值 setValue(value):设置下拉数据源的选中项目 setTabItem(tabId,itemId): 设置Tab当前页 tabId: itemId: g_GetUserInfo():在js脚本中获取当前登陆用户信息的方法v g_ShowDefineQryDlg(pFuncCode,pStaffId ) 弹出对话框,显示自定义查询的设置对话框 pFuncCode 功能模块编码 pStaffId 员工的staffid值,如果为空显示当前登陆员工的staffid return true/false 表示数据是否更新过。 */ var _gModuleName = ""; var _WBS_LOGINOUT_FLAG ="LOGINOUT";//登出标志 var _LOGIN_OUT_PAGE = _gModuleName+"/webframe/Loginout.jsp"; function gCheckLogOut(pXml){ if(pXml == _WBS_LOGINOUT_FLAG){ window.location = _LOGIN_OUT_PAGE; } else if(pXml.indexOf(_WBS_LOGINOUT_FLAG)>0) window.location = _LOGIN_OUT_PAGE; else return pXml; } function splitString(str,separator) { if (!(str)) return new Array(0); if (!(separator)) return new Array(str); var List = new Array(0); var tmpStr = ""; var index = 0; while (str) { index = str.indexOf(separator); if (index < 0) //没有找到 { List[List.length] = (str); str = null; break; } else if (index ==0) // 分隔符号前面没有其它字符 str = str.substr(index + separator.length); else { tmpStr = str.substring(0,index); List[List.length]=(tmpStr); str = str.substr(index + separator.length); } } return List; } //modify by qianghui 2004/09/03 add parameter isOnlySendModifyData function saveRowSet(aUrl,aRowSets,isSetStsToOld,isOnlySendModifyData){ if(isSetStsToOld==null) isSetStsToOld = true; if (aRowSets == null || aRowSets.length == 0){ alert("没有设置需要保存的数据集!"); return ; } var tmpstr = "" for(var i =0 ; i < aRowSets.length;i ++) tmpstr = tmpstr + aRowSets[i].toXmlString(isOnlySendModifyData); tmpstr = tmpstr + ""; var sRe=PostInfotoServer(aUrl,tmpstr); var xml = new ActiveXObject("Msxml.DOMDocument"); xml.loadXML(sRe); var xmlNode = xml.documentElement; var ud = createUserDataClass(xmlNode,true); var flag =ud.getValueByName("FLAG"); var message =ud.getValueByName("MESSAGE"); if((flag != "ERROR") && (isSetStsToOld == true)){ for(var i =0 ; i < aRowSets.length;i ++) aRowSets[i].setStsToOld(); } if(message){ var infoDiv = document.all("ErrorOrInfo"); if (infoDiv) infoDiv.innerText = message; else alert(message); } return ud; } /** * 拷贝数据集的一行数据  * source: 源数据集 * sourceRowIndex: 源行号 * dest: 目标数据集 * destRowIndex: 目的行号 */ function copyRowSet(source,sourceRowIndex,dest,destRowIndex){ var cols = source.getColNames(); var sourceClassName = source.getClassName(); var destClassName = dest.getClassName(); if((sourceClassName == "FormRowSet") && (destClassName == "FormRowSet")){ for(var i=0;i 1) for(i=1;i")>=0) { index=str.indexOf(">"); str=str.substring(0,index)+">"+str.substring(index+1,str.length); } while(str.indexOf("<")>=0) { index=str.indexOf("<"); str=str.substring(0,index)+"<"+str.substring(index+1,str.length); } while(str.indexOf("'")>=0) { index=str.indexOf("'"); str=str.substring(0,index)+"'"+str.substring(index+1,str.length); } while(str.indexOf('"')>=0) { index=str.indexOf('"'); str=str.substring(0,index)+"""+str.substring(index+1,str.length); } return str; } /** * 自定义查询下拉列表对应的tag类相匹配的js方法。 */ function g_ListBoxOnChange(listBoxObj) { if(listBoxObj!=null && listBoxObj.options && listBoxObj.selectedIndex>=0) { var id = listBoxObj.options[listBoxObj.selectedIndex].value; var text = listBoxObj.options[listBoxObj.selectedIndex].text; if(listBoxObj.S_OnChange && listBoxObj.S_OnChange!="") { eval(listBoxObj.S_OnChange+"('"+id+"','"+text+"')"); } } } function g_getListBox(id){ var UIObject = document.all(id); if(UIObject == null){ alert("未能找到下拉列表对象:" + id); return; } if(UIObject.getID == null){ // alert("Initial"); UIObject.getID = DBListBox_getID; UIObject.getValue = DBListBox_getValue; UIObject.setValue = DBListBox_setValue; } return UIObject; } /** * 弹出对话框,显示自定义查询的设置对话框 * pFuncCode 功能模块编码 * pStaffId 员工的staffid值,如果为空显示当前登陆员工的staffid * return true/false 表示数据是否更新过。 */ function g_ShowDefineQryDlg(pFuncCode,pStaffId) { var staffId = pStaffId; if(pStaffId==null) staffId = g_GetUserInfo().STAFF_ID; var flag = window.showModalDialog( _gModuleName+ "/webframe/defineqry/querydefinedlg.jsp?STAFF_ID="+staffId+"&FUNC_CODE="+pFuncCode,window,"scroll:no;resizable:no;status:no;dialogHeight:530px;dialogWidth:745px"); return flag; } /* * 对自定义查询的列表进行refresh,id为自定义下拉列表tag类的id值 */ function g_RefreshDefineQryListBox(id) { var obj = document.all.item(id); if(obj!=null && obj.FUNC_CODE && obj.STAFF_ID) { var funcCode = obj.FUNC_CODE; var staffId = obj.STAFF_ID; //alert(funcCode+","+staffId); var ListDataSourceStatic = createStaticListDataSource("com.ai.appframe2.defineqry.bean.DSDefineQryListBox","arg0="+funcCode+"&arg1="+staffId); if(ListDataSourceStatic!=null) { obj.options.length = 0; ListDataSourceStatic.fillListBox(null,0,obj,null,null); } } } /** * 在js脚本中获取当前登陆用户信息的方法 */ function g_GetUserInfo() { var obj = document.all("AIFRAME2_LOGIN_USER"); if(obj) { if(obj.length && obj.length>1) { alert("每一个页面中只能加入唯一的一个标签"); return; } return obj; } else { alert("获取当前登陆用户信息出错,请确认您是否在页面中加入标签"); return null; } } function setTabItemEnable(tagId,itemId,aEnable){ // document.all(tagId +"_Title_"+ itemId).className="sec2"; // document.all(tagId +"_TableBody_"+ itemId).style.display="block"; } /* 设置Tab当前页 tabId: itemId: */ function setTabItem(tabId,itemId){ var headTable = document.all(tabId + "_secTable"); var mainTable = document.all(tabId + "_mainTable"); for(i=0;i=0||str.indexOf(">")>=0||str.indexOf("<")>=0||str.indexOf("'")>=0||str.indexOf('"')>=0) return true; else return false; } //进行特殊字符替换,add by zhuwg function TableRowSet_transStr(str) { if(str=="")return str; strArray=str.split("&"); tmpStr=strArray[0]; if(strArray.length>1) for(i=1;i")>=0) { index=str.indexOf(">"); str=str.substring(0,index)+">"+str.substring(index+1,str.length); } while(str.indexOf("<")>=0) { index=str.indexOf("<"); str=str.substring(0,index)+"<"+str.substring(index+1,str.length); } while(str.indexOf("'")>=0) { index=str.indexOf("'"); str=str.substring(0,index)+"'"+str.substring(index+1,str.length); } while(str.indexOf('"')>=0) { index=str.indexOf('"'); str=str.substring(0,index)+"""+str.substring(index+1,str.length); } return str; } //请求数据库获取数据库时间 function g_GetSysDateTime() { var _gNode = null; var xml= new ActiveXObject("Msxml.DOMDocument"); xml.async = false; var url= _gModuleName+ "/business/com.ai.appframe2.web.DefaultAction?action=getSysDateTime"; var b = xml.load(url); if(!b){ alert("无法获取菜单信息,请检查:\n当前用户是否已经失效或者被管理员注销.\n网络连接是否正常.\n数据库运行是否正常"); return; } var xmlNode = xml.documentElement; var ud = createUserDataClass(xmlNode,true); return ud.getValueByName("DateTime"); } //请求数据库获取数据库日期 function g_GetSysDate() { var dateTime = g_GetSysDateTime(); var date = null; if(dateTime!=null && dateTime.indexOf(' ')!=null) { date = dateTime.substring(0,dateTime.indexOf(' ')); } return date; } //请求数据库获取数据库的时间 function g_GetSysTime() { var dateTime = g_GetSysDateTime(); var time = null; if(dateTime!=null && dateTime.indexOf(' ')!=null) { time = dateTime.substring(dateTime.indexOf(' ')+1,dateTime.length); } return time; } function g_getStringLength(str){ if(str == null) return 0; var len = 0; for(var i=0;i 255) len =len + 2; else len = len + 1; return len; } /* 将datarowset导出到excel中 pDataRowSet -要导出的datarowset pIsShowHeadText-是否显示表头 pHeadShowColNums--显示表头栏目的个数 pTitle--报表的标题 关于excel的常量定义与使用: excel的使用可在Excel中录制宏,然后进行实际操作 如填充颜色、划线、合并单元格等,然后编辑该宏查看源代码。 关于查看宏中的常量定义,方法如下: 1、在Excel中按Alt+F11运行Visual Basic帮助 2、在Visual Basic帮助中按F2显示对象浏览器 3、在对象浏览器中输入需要查询的常量查看常量的数值。 */ function g_DataRowSet2Excel(pDataRowSet,pIsShowHeadText,pHeadShowColNums,pTitle) { if (pDataRowSet) { var xlApp = null; try { xlApp =new ActiveXObject("excel.APPLICATION"); var xlBook = xlApp.Workbooks.Add; var xlSheet1 = xlBook.Worksheets(1); var rows=pDataRowSet.count(); var fieldList = pDataRowSet.FieldTypeSet.FieldList; var cols = 0; if (pHeadShowColNums!=null&&pHeadShowColNums!="0"){ cols=pHeadShowColNums;//如果设置了显示表头的栏目个数,则按此显示 }else{ cols = fieldList.length;//否则显示所有的栏目 } var i,j; var curRow =0; var colName =""; var colVal =""; //显示报表表头 //合并单元格,并显示 var m=0; if (pTitle){ xlSheet1.Range(xlSheet1.cells(1,1),xlSheet1.cells(1,cols)).Merge();//Select(); xlSheet1.cells(1,1).value=pTitle; //居中。。。 xlSheet1.cells(1,1).HorizontalAlignment = -4108; xlSheet1.cells(1,1).VerticalAlignment = -4108; m=1; curRow=1; } //显示标题 if(pIsShowHeadText) { var n=0; for(n=0;n