/*
作者 : 墙辉 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