/**************************************************************************************************************/ /**************************************************************************************************************/ /*1)parseList 结果集转化为LIST /*2) /*3) /*4) /*5) /***************************************************************************************************************/ /* *@desc : 将结果集转化为LIST *@param : nodePath 例:Customer_VO * arrayName 例:var arrayName = new Array() */ function parseList(nodePath,arrayName) { var node = instance1.selectSingleNode(nodePath); var index = 0; if(node.hasChildNodes()) { var List = node.childNodes; while (Map = List.nextNode()) { var Child = Map.childNodes; arrayName[index] = new Array(); while (Element = Child.nextNode()) { var tagName = Element.tagName; var value = Element.value; arrayName[index][tagName]= value; } index++; } } } /* *@desc : 将结果集转化为json格式的字符串 *@param : nodePath,VO赋值后的数据源.例:/root/datagrid1比如页面存在model.copyNode("/root/datagrid1" , "/root/resData/WgtList_VO"). * 推荐使用 /root/datagrid1,虽然/root/resData/WgtList_VO也能取到值,但只限首次. *return : str */ function parseVoToStr(nodePath) { var str = "["; var node = instance1.selectSingleNode(nodePath); if(node.hasChildNodes()) { var List = node.childNodes; while (Map = List.nextNode()) { var Child = Map.childNodes; str += "{"; while (Element = Child.nextNode()) { var tagName = Element.tagName; var value = Element.value; str += "\""+tagName+"\":\""+value+"\","; } str=str.substring(0,str.length-1); str += "},"; } str=str.substring(0,str.length-1); } str += "]"; return str; } /* *@desc : 获取datagrid列对应字段,以^连接 *@param : nodePath,VO赋值后的数据源.例:/root/datagrid1 *return : str */ function getVoColrefs(nodePath) { var str = ""; var node = instance1.selectSingleNode(nodePath); if(node.hasChildNodes()) { var tagName=""; var List = node.childNodes; Map = List.nextNode(); var Child = Map.childNodes; while (Element = Child.nextNode()) { tagName = Element.tagName; str += tagName+"^"; } str=str.substring(0,str.length-1); } return str; } /* *@desc : 公用导出EXCEL方法 *@param : sheetName,工作表名称.例:XX报表 * title,首行列名.例:序号^班组 * nodePath,VO赋值后的数据源.例:/root/datagrid1 * serviceName,请求service地址.例:UIG100001-service * jsonMerges,合并行列json格式字符串.导出正常表格请传空值. * oType,导出文件类型.例:Excel */ function commonOutExcel(sheetName,title,nodePath,serviceName,jsonMerges,oType) { model.removenode("/root/reqData"); model.makeNode("/root/reqData"); if ( oType == "" ) { window.alert("请选择导出文件类型","提示"); return; } model.makeValue("/root/reqData/oType",oType); model.makeValue("/root/reqData/sheetName",sheetName); model.makeValue("/root/reqData/title",title); model.makeValue("/root/reqData/colRef",getVoColrefs(nodePath)); var list = parseVoToStr(nodePath);//数据集 model.makeValue("/root/reqData/list",list); model.makeValue("/root/reqData/jsonMerges",jsonMerges); commSubmit(serviceName , "outExcel" , "glueAction.do"); var errorMes = model.getValue("/root/resData/errorData"); if(errorMes != "") { window.alert(errorMes,"错误"); model.removenode("/root/resData/errorData"); }else{ window.alert("导出成功!" , "提示"); window.load(url+"excelDown.down?filepath="+sheetName+"."+oType,"html"); } } /* *@desc : 公用导出EXCEL方法 *@param : sheetName,工作表名称.例:XX报表 * title,首行列名.例:序号^班组 * colRef,列对应字段.例:NAME^SUM_DAY_WGT * jsonDatas,要导出的json格式数据集.例:/root/datagrid1 * serviceName,请求service地址.例:UIG100001-service * jsonMerges,合并行列json格式字符串.导出正常表格请传空值. * oType,导出文件类型.例:Excel */ function commonOuterExcel(sheetName,title,colRef,jsonDatas,serviceName,jsonMerges,oType) { model.removenode("/root/reqData"); model.makeNode("/root/reqData"); if ( oType == "" ) { window.alert("请选择导出文件类型","提示"); return; } model.makeValue("/root/reqData/oType",oType); model.makeValue("/root/reqData/sheetName",sheetName); model.makeValue("/root/reqData/title",title); model.makeValue("/root/reqData/colRef",colRef); model.makeValue("/root/reqData/list",jsonDatas); model.makeValue("/root/reqData/jsonMerges",jsonMerges); commSubmit(serviceName , "outExcel" , "glueAction.do"); var errorMes = model.getValue("/root/resData/errorData"); if(errorMes != "") { window.alert(errorMes,"错误"); model.removenode("/root/resData/errorData"); }else{ window.alert("导出成功!" , "提示"); //var filename = window.fileDialog("save", ",", false, "", "xls", "Excel File(*.xls)|*.xls"); window.load(url+"excelDown.down?filepath="+sheetName+"."+oType,"html"); //window.download(url+"excelDown.down?filepath="+sheetName+"."+oType,filename,false); } }