UIB020020.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet href="../../css/body.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>
  6. <![CDATA[品质判定>>成分判定>>炉次号成分现况]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <formData>
  12. <serachinfo>
  13. <Pstove/>
  14. <Pchemcd/>
  15. <Pjude_S/>
  16. <Pjude_E/>
  17. <p_stove_2/>
  18. <StlGrd/>
  19. </serachinfo>
  20. </formData>
  21. <datagrid1>
  22. </datagrid1>
  23. <initProcData>
  24. <ProcResult_Row>
  25. <LABEL/>
  26. <VALUE/>
  27. </ProcResult_Row>
  28. </initProcData>
  29. <initChargeData/>
  30. <initFacProc>
  31. <FacProc_Row>
  32. <LABEL/>
  33. <VALUE/>
  34. </FacProc_Row>
  35. </initFacProc>
  36. <codeData>
  37. <stove/>
  38. <procd/>
  39. <chemcd/>
  40. </codeData>
  41. <reqData/>
  42. <datagrid2>
  43. <item>
  44. <CHK/>
  45. <PP>全部</PP>
  46. <XX>all</XX>
  47. <SQL> 1 = 1</SQL>
  48. </item>
  49. <item>
  50. <CHK/>
  51. <PP>脱硫</PP>
  52. <XX>JA</XX>
  53. <SQL> WI.PROC_CD = 'JA'</SQL>
  54. </item>
  55. <item>
  56. <CHK/>
  57. <PP>吹炼前</PP>
  58. <XX>J5</XX>
  59. <SQL> WI.PROC_CD = 'J5'</SQL>
  60. </item>
  61. <item>
  62. <CHK/>
  63. <PP>吹炼后</PP>
  64. <XX>J6</XX>
  65. <SQL> WI.PROC_CD = 'J6'</SQL>
  66. </item>
  67. <item>
  68. <CHK/>
  69. <PP>转炉</PP>
  70. <XX>JB</XX>
  71. <SQL> WI.PROC_CD = 'JB'</SQL>
  72. </item>
  73. <item>
  74. <CHK/>
  75. <PP>CAS前</PP>
  76. <XX>J1</XX>
  77. <SQL> WI.PROC_CD = 'J1'</SQL>
  78. </item>
  79. <item>
  80. <CHK/>
  81. <PP>CAS后</PP>
  82. <XX>J2</XX>
  83. <SQL> WI.PROC_CD = 'J2'</SQL>
  84. </item>
  85. <item>
  86. <CHK/>
  87. <PP>LF站</PP>
  88. <XX>JL</XX>
  89. <SQL> WI.PROC_CD = 'JL'</SQL>
  90. </item>
  91. <item>
  92. <CHK/>
  93. <PP>RH站</PP>
  94. <XX>JR</XX>
  95. <SQL> WI.PROC_CD = 'JR'</SQL>
  96. </item>
  97. <item>
  98. <CHK/>
  99. <PP>连铸</PP>
  100. <XX>JJ</XX>
  101. <SQL> WI.PROC_CD = 'JJ'</SQL>
  102. </item>
  103. <item>
  104. <CHK/>
  105. <PP>板坯</PP>
  106. <XX>SL</XX>
  107. <SQL> WI.PROC_CD = 'SL'</SQL>
  108. </item>
  109. <item>
  110. <CHK/>
  111. <PP>钢卷</PP>
  112. <XX>CO</XX>
  113. <SQL> WI.PROC_CD = 'CO'</SQL>
  114. </item>
  115. <item>
  116. <CHK/>
  117. <PP>VD炉</PP>
  118. <XX>VD</XX>
  119. <SQL> WI.PROC_CD = 'VD'</SQL>
  120. </item>
  121. </datagrid2>
  122. </root>
  123. </instance>
  124. <script type="javascript" ev:event="xforms-ready">
  125. <![CDATA[
  126. if(window.parent==null) Init();
  127. ]]>
  128. </script>
  129. </model>
  130. <script type="javascript" src="../../js/boaCommon.js"/>
  131. <script type="javascript" src="../../js/b01.js"/>
  132. <script type="javascript">
  133. <![CDATA[
  134. function excelExport() {
  135. return datagrid1;
  136. }
  137. function Init(node)
  138. {
  139. InitParams(node);
  140. input1.value = commCurDate()-3;
  141. input2.value = commCurDate();
  142. //炉次号初始化,工序和次数已经固定
  143. commSubmit("UIB020020-service" , "success" , "glueAction.do" );
  144. input40.value = document.readIniFile("session1" , "UIB020020" , "" , "c:\\WINDOWS\\xgmes3.ini") ;
  145. input4.value = document.readIniFile("session1" , "UIB020020_ch1" , "" , "c:\\WINDOWS\\xgmes3.ini") ;
  146. model.copyNode("/root/initFacProc" , "/root/resData/FacProc_VO" );
  147. model.refresh();
  148. }
  149. function find()
  150. {
  151. if(model.getValue("/root/formData/serachinfo/Pstove") == "")
  152. {
  153. if(input1.value=="" || input2.value=="") {
  154. window.alert("生产日期不能为空!", "提示");
  155. return;
  156. } else
  157. {
  158. var days = AddDate(input1.value.Trim(),7,"YYYYMMDD");
  159. if(days < input2.value.Trim())
  160. {
  161. window.alert("查询生产日期不可以超过【7】天,否则可能导致内存溢出!或生产结束日期不能小于开始日期!", "提示");
  162. return;
  163. }
  164. }
  165. }
  166. var sql = "";
  167. var d2Col = datagrid2.colRef("SQL");//获取存储查询条件的列
  168. var xxx = 0;
  169. for(var i = 1; i < datagrid2.rows; i++)
  170. {
  171. if(datagrid2.valueMatrix(i , 0)=="Y")
  172. {
  173. if(xxx==0)
  174. {
  175. sql = datagrid2.valueMatrix(i ,d2Col);//add
  176. datagrid2.valueMatrix(i , 0) = "N";//做查询操作时被选中的工序重新取消选择
  177. }
  178. else
  179. {
  180. sql = sql+ " OR "+ datagrid2.valueMatrix(i ,d2Col);
  181. datagrid2.valueMatrix(i , 0) = "N";//做查询操作时被选中的工序重新取消选择
  182. }
  183. xxx++;
  184. }
  185. }
  186. datagrid2.visible = false;//重新隐藏
  187. if(sql == "")
  188. {
  189. sql = "1=1"
  190. }
  191. model.removenode("/root/reqData");
  192. model.makeValue("/root/reqData/CHARGENO" , input40.value.Trim());//炉次号
  193. if(input4.value.Trim() == "")
  194. {
  195. model.makeValue("/root/reqData/CHARGENO2", input40.value.Trim());
  196. }
  197. else
  198. {
  199. model.makeValue("/root/reqData/CHARGENO2", input4.value.Trim());
  200. }
  201. model.makeValue("/root/reqData/STLGRD" , input5.value.Trim());
  202. var a1 = model.getValue("/root/reqData/CHARGENO2");
  203. var a2 = model.getValue("/root/reqData/CHARGENO");
  204. if( parseFloat( a1.substr(4,5)) - parseFloat(a2.substr(4,5)) > 150 )
  205. {
  206. window.alert("最大炉数必须在150炉以内!" , "提示");
  207. return;
  208. }
  209. model.makeValue("/root/reqData/SQL" , " AND ("+sql+" )");//查询条件(工序)
  210. model.makeValue("/root/reqData/SEQ" , "");//次数
  211. model.makeValue("/root/reqData/StartTime", input1.value.Trim());//开始时间
  212. model.makeValue("/root/reqData/EndTime" , input2.value.Trim());//结束时间
  213. document.writeIniFile("session1" , "UIB020020" , input40.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
  214. document.writeIniFile("session1" , "UIB020020_ch1" , input4.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
  215. ///submit
  216. commSubmit("UIB020020-service" , "find" , "glueAction.do");
  217. datagrid1.rebuildStyle();
  218. ///去除原来的列及值,还原到最初状态
  219. datagrid1.addRow(false);//防止caption增加后而无数据出现异常
  220. var coll = datagrid1.colRef("LST_INGR_REG_DTIME") ;
  221. for(var i = datagrid1.cols-1; i > coll; i--)
  222. {
  223. datagrid1.deleteColumn(i , false);
  224. }
  225. model.removenode("/root/datagrid1");//清除表1的所有数据
  226. datagrid1.addRow(false);//只有先增加一行后才能在后面改变列宽
  227. ///copy
  228. GridDynamicChemCD(datagrid1 , "/root/resData/ChemNM_VO");//动态生成
  229. model.copyNode("/root/datagrid1" , "/root/resData/ChargeIngr_VO");
  230. model.refresh();
  231. //若炉号成分判定结果为不合格(即2),则以红色显示
  232. var decGrd = "";
  233. var procCd = "";
  234. for(var i = datagrid1.fixedRows; i < datagrid1.rows; i++)
  235. {
  236. decGrd = datagrid1.valueMatrix(i , datagrid1.colRef("INGR_DEC_GRD"));//成分判定等级
  237. procCd = datagrid1.valueMatrix(i , datagrid1.colRef("PROC_CD")); //工序
  238. if(decGrd == "2" && procCd == "JJ")//连铸不合格
  239. {
  240. datagrid1.rowStyle(i , "data" , "color") = "#ff0000";
  241. }
  242. if(decGrd == "")//无判定
  243. {
  244. datagrid1.rowStyle(i , "data" , "color") = "#000000";
  245. }
  246. if(decGrd == "1" && procCd == "JJ")//连铸合格
  247. {
  248. datagrid1.rowStyle(i , "data" , "color") = "#0000ff";
  249. }
  250. }
  251. datagrid1.rebuild();
  252. }//function find() end
  253. ///表格的动态列生成
  254. //ref 为"/root/resData/ChemNM_VO"形式
  255. function GridDynamicChemCD(grid , ref)
  256. {
  257. ///获得材质名
  258. var node = instance1.selectSingleNode(ref);
  259. var nodeList = node.childNodes;//..._VO节点下的所有一级子节点集合
  260. var nNode;
  261. var i = 1;
  262. var tempCaption1 = "";//第一列需要动态生成的表头
  263. while(nNode=nodeList.nextNode())
  264. {
  265. grid.addColumn("ref:CHEM_VAL"+i , false);
  266. ///指定某一列的caption
  267. grid.colWidth(grid.colRef("CHEM_VAL"+i)) = 40;
  268. tempCaption1 = tempCaption1 +"^"+nNode.childNodes.item(0).nodeValue;
  269. i++;
  270. }
  271. ///生成最终的caption
  272. var caption = grid.caption;
  273. grid.caption = caption.split("|")[0]+tempCaption1+"|"+caption.split("|")[1]+tempCaption1;
  274. }
  275. ]]>
  276. </script>
  277. </xhtml:head>
  278. <xhtml:body accesskey="f2" pagewidth="980" pageheight="620" guideline="1,982;1,980;1,980;">
  279. <caption id="caption4" class="cell" style="left:0px; top:5px; width:100px; height:20px; ">炉次号</caption>
  280. <caption id="caption9" class="cell" style="left:350px; top:5px; width:100px; height:20px; ">牌号</caption>
  281. <img id="img1" style="left:690px; top:5px; width:10px; height:5px; background-stretch:stretch; "/>
  282. <input id="input1" ref="/root/formData/serachinfo/Pjude_S" inputtype="date" style="left:100px; top:35px; width:100px; height:20px; "/>
  283. <input id="input2" ref="/root/formData/serachinfo/Pjude_E" inputtype="date" style="left:210px; top:35px; width:100px; height:20px; "/>
  284. <datagrid id="datagrid1" nodeset="/root/datagrid1/ChargeIngr_Row" caption="炉号^工序^次数^板坯去向^厂内牌号^原厂内牌号^成分判定^判定人^成分判定时间|炉号^工序^次数^板坯去向^厂内牌号^原厂内牌号^成分判定^判定人^成分判定时间" colsep="^" colwidth="77, 30, 30, 37, 70, 70, 38, 100, 70" explorerbar="sortshow" extendlastcol="false" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:0px; top:70px; width:976px; height:545px; ">
  285. <col ref="CHARGE_NO" style="font-weight:bold; text-decoration:underline; text-align:left; cursor:hand; "/>
  286. <col disabled="true" ref="PROC_CD" type="combo">
  287. <choices>
  288. <itemset nodeset="/root/initFacProc/FacProc_Row">
  289. <label ref="LABEL"/>
  290. <value ref="VALUE"/>
  291. </itemset>
  292. </choices>
  293. </col>
  294. <col ref="CHEM_SEQ"/>
  295. <col disabled="true" ref="SLAB_RT" type="combo">
  296. <choices>
  297. <item>
  298. <label>热轧</label>
  299. <value>H</value>
  300. </item>
  301. <item>
  302. <label>冷轧</label>
  303. <value>C</value>
  304. </item>
  305. <item>
  306. <label>厚板</label>
  307. <value>P</value>
  308. </item>
  309. <item>
  310. <label>中板</label>
  311. <value>Z</value>
  312. </item>
  313. </choices>
  314. </col>
  315. <col ref="STL_GRD"/>
  316. <col ref="BEF_STL_GRD"/>
  317. <col ref="INGR_DEC_GRD"/>
  318. <col ref="CHARGE_INGR_DEC_EMP_ID"/>
  319. <col ref="LST_INGR_REG_DTIME" format="yyyy-mm-dd hh:nn:ss"/>
  320. <script type="javascript" ev:event="ondblclick">
  321. <![CDATA[
  322. var row = datagrid1.row;
  323. model.removenode("/root/stlNode");
  324. model.makeValue("/root/stlNode/STLGRD" , datagrid1.valueMatrix(row,datagrid1.colRef("STL_GRD")));
  325. model.makeValue("/root/stlNode/CHARGENO",datagrid1.valueMatrix(row,datagrid1.colRef("CHARGE_NO")));
  326. model.makeValue("/root/stlNode/CHEMSEQ" ,datagrid1.valueMatrix(row,datagrid1.colRef("CHEM_SEQ")));
  327. model.makeValue("/root/stlNode/PROCCD" ,datagrid1.valueMatrix(row,datagrid1.colRef("PROC_CD")));
  328. window.load("./_020020INGR.xrw", "modal", "modalWin", "left:400; top:40; width:460px; height:500px;sysmenu:visible; min:visible; max:hidden; resize:false;" , "/root/stlNode" , "/root/stlNode");
  329. ]]>
  330. </script>
  331. <script type="javascript" ev:event="onclick">
  332. <![CDATA[
  333. if(datagrid1.col == datagrid1.colRef("CHARGE_NO") && datagrid1.row >= datagrid1.fixedRows)
  334. {
  335. var row = datagrid1.row;
  336. model.removenode("/root/stlNode");
  337. model.makeValue("/root/stlNode/STLGRD" , datagrid1.valueMatrix(row,datagrid1.colRef("STL_GRD")));
  338. model.makeValue("/root/stlNode/CHARGENO",datagrid1.valueMatrix(row,datagrid1.colRef("CHARGE_NO")));
  339. model.makeValue("/root/stlNode/CHEMSEQ" ,datagrid1.valueMatrix(row,datagrid1.colRef("CHEM_SEQ")));
  340. model.makeValue("/root/stlNode/PROCCD" ,datagrid1.valueMatrix(row,datagrid1.colRef("PROC_CD")));
  341. window.load("./_020020INGR.xrw", "modal", "modalWin", "left:400; top:40; width:460px; height:500px;sysmenu:visible; min:visible; max:hidden; resize:false;" , "/root/stlNode" , "/root/stlNode");
  342. }
  343. ]]>
  344. </script>
  345. </datagrid>
  346. <datagrid id="datagrid2" nodeset="/root/datagrid2/item" visibility="hidden" caption="选择^工序^XX^SQL" colsep="^" colwidth="49, 65, 57, 43" mergecellsfixedrows="bycolrec" rowsep="|" style="left:450px; top:55px; width:119px; height:233px; ">
  347. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  348. <col ref="PP"/>
  349. <col ref="XX" visibility="hidden"/>
  350. <col ref="SQL" visibility="hidden"/>
  351. </datagrid>
  352. <line id="line1" style="x1:1px; y1:65px; x2:980px; y2:65px; "/>
  353. <line id="line2" style="x1:1px; y1:0px; x2:980px; y2:0px; "/>
  354. <input id="input3" inputtype="button" style="left:450px; top:35px; width:100px; height:20px; ">
  355. <script type="javascript" ev:event="onclick">
  356. <![CDATA[
  357. datagrid2.visible = !datagrid2.visible;
  358. ]]>
  359. </script>
  360. </input>
  361. <input id="input40" ref="/root/formData/serachinfo/Pstove" style="left:100px; top:5px; width:100px; height:20px; "/>
  362. <script type="javascript" ev:event="onaccesskey">
  363. <![CDATA[
  364. // model.makeNode("/root/fwdData/UIB020020/URL");
  365. // var name = "UIB020020";
  366. openWindow("UIB020020");
  367. ]]>
  368. </script>
  369. <button id="button99" visibility="hidden" style="left:760px; top:5px; width:65px; height:20px; ">
  370. <caption>FIND</caption>
  371. <script type="javascript" ev:event="DOMActivate">
  372. <![CDATA[
  373. find();
  374. ]]>
  375. </script>
  376. </button>
  377. <input id="input4" ref="/root/formData/serachinfo/p_stove_2" style="left:210px; top:5px; width:100px; height:20px; "/>
  378. <line id="line3" style="x1:200px; y1:15px; x2:210px; y2:15px; "/>
  379. <button id="button1" style="left:590px; top:5px; width:150px; height:20px; background-color:#99cc00; border-color:#ffff00; border-style:solid; ">
  380. <caption>检测成分不存在原因</caption>
  381. <hint>
  382. <![CDATA[1、炼钢岗位未及时操作,致使炉号未进入系统,请与炼钢调度联系。
  383. 2、化验室成分未及时发送或者未送该工序的样,请与210转炉化验室联系,重新发送成分。
  384. 3、成分值出现错误(连铸成分某元素值小于0),请与210转炉化验室联系,重新发送成分。
  385. 4、服务器异常,请与技术中心联系,并请210转炉化验室尝试重新发送成分。
  386. ]]>
  387. </hint>
  388. <script type="javascript" ev:event="DOMActivate">
  389. <![CDATA[
  390. model.removenode("/root/reqData");
  391. model.makeNode("/root/reqData");
  392. var proccd = datagrid2.valueMatrix(datagrid2.row , datagrid2.colRef("XX"));
  393. var procnm = datagrid2.valueMatrix(datagrid2.row , datagrid2.colRef("PP"));
  394. if(proccd == "all"||proccd == "")
  395. {
  396. window.alert("请选择具体工序!" , "提示");
  397. return;
  398. }
  399. if(model.getValue("/root/formData/serachinfo/Pstove")=="")
  400. {
  401. window.alert("请输入具体炉号!","提示");
  402. return;
  403. }
  404. model.makeValue("/root/reqData/CHARGENO" , model.getValue("/root/formData/serachinfo/Pstove"));
  405. model.makeValue("/root/reqData/PROCCD" , proccd);
  406. commSubmit("UIB020020-service" , "find2" , "glueAction.do");
  407. window.alert(procnm+"工序:"+model.getValue("/root/resData/ErrorChargeNoChem_VO/ErrorChargeNoChem_Row/MSG") ,"提示");
  408. ]]>
  409. </script>
  410. </button>
  411. <caption id="caption1" class="cell" style="left:0px; top:35px; width:100px; height:20px; ">生产日期</caption>
  412. <input id="input5" ref="/root/formData/serachinfo/StlGrd" style="left:450px; top:5px; width:100px; height:20px; "/>
  413. <caption id="caption2" class="cell" style="left:350px; top:35px; width:100px; height:20px; ">工序</caption>
  414. <line id="line4" style="x1:200px; y1:45px; x2:210px; y2:45px; "/>
  415. </xhtml:body>
  416. </xhtml:html>