| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- /* 炼钢实绩查询及录入的相关常量和函数 */
- /**************************************************************************************************************/
- var METALFLAG = false;//炼钢实绩表查询及录入中,判断铁合金实绩表是否更新
- var NONMETALFLAG = false;//炼钢实绩表查询及录入中,判断辅料实绩表是否更新
- var SCRAPFLAG = false;//炼钢实绩表查询及录入中,判断废料实绩表是否更新
- var SELECTFLAG = false;//执行查询后才能进行更新操作的标记
- var HNUMBER = 11; //铁合金CODE有11个
- var BNUMBER = 14; //辅原料CODE有14个
- var SNUMBER = 5; //废料CODE共有5个
- /***************************************************************************************************************/
- /***************************************************************************************************************/
- /*
- /*1) dynamicChemColumn
- /*2) matchChargeNo
- /*3) caiLiaoSelect
- /*
- /***************************************************************************************************************/
- function CurentYear(){
- var now = new Date();
- var yy = now.getYear();
- return yy;
- }
- function CurentMonth(){
- var clock = "";
- var now = new Date();
- var mm = now.getMonth()+1;
- if(mm < 10) clock += '0';
- clock += mm + "";
- return clock;
- }
-
- function CurentDate(){
- var now = new Date();
- var yy = now.getYear();
- var mm = now.getMonth()+1;
- var dd = now.getDate();
- var clock = yy + "";
- if(mm < 10) clock += '0';
- clock += mm + "";
- if(dd < 10) clock += '0';
- clock += dd + "";
- return clock;
- }
- function CurentTime(){
- var now = new Date();
- var yy = now.getYear();
- var mm = now.getMonth()+1;
- var dd = now.getDate();
- var hh = now.getHours();
- var mi = now.getMinutes();
- var ss = now.getTime() % 60000;
- ss = (ss - (ss % 1000)) / 1000;
- var clock = yy + "";
- if(mm < 10) clock += '0';
- clock += mm + "";
- if(dd < 10) clock += '0';
- clock += dd + "";
- if(hh < 10)clock += '0';
- clock += hh + "";
- if (mi < 10) clock += '0';
- clock += mi + "";
- if (ss < 10) clock += '0';
- clock += ss + "";
- return clock;
- }
- /**
- * @desc :datagrid中化学成分动态展示
- * @param :datagridID
- * @author 王小炎
- * @date 2009-1-13
- */
- function dynamicChemGridDisplay(gridID){
- // delete the created columns,rows
- for(var i = gridID.cols ; i > 1 ; i--){
- gridID.deleteColumn(1,false);
- }
- for(var i = gridID.rows ; i > 1 ; i--){
- gridID.deleteRow(1,false);
- }
-
- var chmChildDatas = instance1.selectSingleNode("/root/resData/AAAAAA_VO/AAAAAA_Row").childNodes;
- if(chmChildDatas.length <1)return;
- // 成份表的行数-1 因为gridRows是数组的下标 从零开始 ,所以行数 = gridRows + 1
- // 成份表的列数-1 因为gridCols是数组的下标 从零开始 ,所以列数 = gridCols + 1
- var gridRows = 0;
- var gridCols = 0;
- // 遍历所有节点,获得最大的行下标,列下标,即为成份表的行 和 列数
- while (tempNode = chmChildDatas.nextNode()){
- if(parseInt(tempNode.nodeName.substr(3,1)) > gridRows)gridRows = parseInt(tempNode.nodeName.substr(3,1));
- if(parseInt(tempNode.nodeName.substr(4,1)) > gridCols)gridCols = parseInt(tempNode.nodeName.substr(4,1));
- }
-
- // 根据已经获得的成份表的行数 gridRows + 1 ,列数 gridCols + 1 定义一个数组,用来保存每一行的数据,包括列标题
- var rowsArray = new Array();
- for(var i = 0 ; i <= gridRows ; i++){
- rowsArray[i] = new Array();
- }
- // 必须加上这句 以为前面已经遍历过一次 相当于指针已经指导最后一条记录,必须重新赋值,从头开始遍历
- chmChildDatas = instance1.selectSingleNode("/root/resData/AAAAAA_VO/AAAAAA_Row").childNodes;
- while (tempNode = chmChildDatas.nextNode()){
- rowsArray[tempNode.nodeName.substr(3,1)][tempNode.nodeName.substr(4,1)] = tempNode.value;
- }
- // 动态生成列啊
- for( var i = 0; i <= gridCols; i++){
- gridID.addColumn("ref:" + rowsArray[0][i],false);
- gridID.caption = gridID.caption + "^" + rowsArray[0][i];
- }
-
- // 根据获得的行数生成表的行数
- for(var i = 0 ; i < gridRows ; i++){
- gridID.addRow(false);
- }
-
- // 对表第一列的表头数据项赋值,目标值,最大值,最小值,1次处理
- gridID.valueMatrix(1,0) = "目标值";
- gridID.valueMatrix(2,0) = "最小值";
- gridID.valueMatrix(3,0) = "最大值";
- for(var i = 1 ; i <= (gridRows - 3) ; i++){
- gridID.valueMatrix(i+3,0) = i + "次处理";
- }
-
- // 对每个单元格赋值
- for(var i = 1 ; i <= gridRows ; i++){
- for(var j = 0 ; j <= gridCols ; j++){
- gridID.valueMatrix(i,j+1) = rowsArray[i][j];
- }
- }
- }
-
-
- /**
- * @desc :getDate 获取当前时间
- * @param :
- * @author 王小炎
- * @date 2009-2-21
- * @return String YYYYMMDD
- */
- function getData(){
- var now = new Date();
- var year = now.getYear();
- var month = now.getMonth()+1;
- var date = now.getDate();
- if(month < 10) month = "0" + month;
-
- nowData = year + month + date + "";
-
- return nowData;
- }
- /**
- * @desc :datagrid中动态增加成分列
- * @param :chemXpath 返回值(resData)的xpath
- * @author 梅贵平
- * @date 2008-8-29
- */
- function dynamicChemColumn(chemXpath,gridID)
- {
- var datagridID = (typeof gridID == 'string')?document.controls(gridID):gridID;
- //获得CasChemResult_Row集合数
- var nodeListChemResult_Row = instance1.selectNodes(chemXpath); //alert(typeof nodeListChemResult_Row);
- var numberChemResult_Row = nodeListChemResult_Row.length; // alert(numberCasChemResult_Row);
- if(numberChemResult_Row < 3 ) return;//无实绩值则退出
-
- var childNodeChem;
- var nodeListChem = new Array();
- for(var i=3; i <= numberChemResult_Row; i++)
- {
- //将各CasChemResult_Row对应的xPath生成为Node对象
- childNodeChem = instance1.selectSingleNode(chemXpath+"["+i+"]");
- //将各对象Node转换为NodeList集合对象
- nodeListChem[i] = childNodeChem.childNodes;
- }
-
- //获得成分的数量(长度)
- var chemLength = instance1.selectSingleNode(chemXpath).childNodes.length;
- var BASICCOLUMN = 3; //增加列的caption和ref
- var BASICITEM = 3;//Max与Min不做为标准,从第三组开始
-
- //判断每列值是否为空
- for(var i=BASICCOLUMN; i < chemLength; i++)//列数
- {
- var flag = false;
- //判断每一列的值是否全为空
- for(var j=BASICITEM; j <=numberChemResult_Row; j++)//行数
- {
- flag = (nodeListChem[j].item(i).value != "")||flag;
- }
- if(flag)//若i列有值存在
- {
- var nodeName = nodeListChem[BASICITEM].item(i).nodeName;
- datagridID.addColumn("ref:"+nodeName+";",false);
- datagridID.caption = datagridID.caption+"^"+nodeName;
- }
- }
- }
-
- /**
- * @desc :判断炉次号格式是否匹配
- * @param :strChargeNo 炉次号,为字符串类型
- */
- function matchChargeNo(strChargeNo)
- {
- var strReg = "^[J][\\d]{2}[-][^\\s]{6}$";
- var reg = new RegExp(strReg);
- var flag = reg.test(strChargeNo);
- if(!flag)
- {
- window.alert("请输入正确的炉次号","提示");
- }
- return flag;
- }
-
- /**
- * @desc :通过选择铁合金,辅料、废料实绩表中CODE,更新相应的CODE内容
- * @param :gridID为datagrid的ID号,caiXpath如:"root/datagrid4/BofMetalResult_Row",
- * flag为标记变量,查询前的判断条件。一般设定它的值为:铁合金为metal,废物为scrap,辅料为nonMetal
- * @return :boolean
- */
- function caiLiaoSelect(gridID,caiXpath,flag)
- {
- var datagridID = (typeof gridID == 'string')?document.controls(gridID):gridID;
- //当datagrid中值被改变且是第一列的值发生改变时,按MAINRAW_CD的值对该行进行查询,获得MAINRAW_CD_DESC和MAINRAW_WGT
- mainRowflag = true;//表示录入时候可更新或插入原料表中的更改记录
- var itemNumber = datagridID.row-1; //判断当前是哪列
- var codeStringNode = caiXpath+"["+itemNumber+"]/MAINRAW_CD";
- var descStringNode = caiXpath+"["+itemNumber+"]/MAINRAW_CD_DESC";
- var codeNode = instance1.selectSingleNode(codeStringNode);//生成node对象,准备赋值给reqData
-
- model.removenode("/root/reqData");
- model.makeValue("/root/reqData/FLAG",flag); //标记变量,查询前的判断条件
- model.makeValue("/root/reqData/MAINRAW_CD",codeNode.nodeValue);//查询条件,获得原料CODE
-
- commSubmit("UIG020COMM-service","searchWk","glueAction.do");//按上面3条件查询
-
- var descResStrNode = "/root/resData/CommResult_VO/CommResult_Row/CD_DESC";//查询后生成的MAINRAW_CD_DESC节点
-
- var descResNode = instance1.selectSingleNode(descResStrNode);
- if(descResNode != null )
- {
- var descValue = descResNode.nodeValue ;//获得节点MAINRAW_CD_DESC的值
- model.setValue(descStringNode,descValue);
- }
- else
- {
- model.setValue(descStringNode,""); //alert("descResNode is null");
- }
- model.setValue(codeStringNode,codeNode.nodeValue);//更新下拉框显示的值
- model.refresh();
- }
-
- /*
- */
-
- function InitParams(node)
- {
- if (typeof node == "undefined" && typeof node != "object") return;
- model.removenode("/root/initData/rcvInfo");
- model.makeNode("/root/initData/rcvInfo");
- var nodeList = node.childNodes;
- for (var i = 0; i < nodeList.length; i++)
- model.instances(0).selectSingleNode("/root/initData/rcvInfo").appendChild(nodeList.item(i));
- }
|