bbdf877e25d32b587c6078e48efc9f91e18df6e4.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../css/body.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. </serachinfo>
  18. </formData>
  19. <datagrid1>
  20. </datagrid1>
  21. <initProcData>
  22. <ProcResult_Row>
  23. <LABEL/>
  24. <VALUE/>
  25. </ProcResult_Row>
  26. </initProcData>
  27. <initChargeData/>
  28. <initFacProc>
  29. <FacProc_Row>
  30. <LABEL/>
  31. <VALUE/>
  32. </FacProc_Row>
  33. </initFacProc>
  34. <codeData>
  35. <stove/>
  36. <procd/>
  37. <chemcd/>
  38. </codeData>
  39. <reqData/>
  40. <datagrid2>
  41. <item>
  42. <CHK/>
  43. <PP>全部</PP>
  44. <XX>all</XX>
  45. <SQL> 1 = 1</SQL>
  46. </item>
  47. <item>
  48. <CHK/>
  49. <PP>脱硫</PP>
  50. <XX>JA</XX>
  51. <SQL> WI.PROC_CD = 'JA'</SQL>
  52. </item>
  53. <item>
  54. <CHK/>
  55. <PP>吹炼前</PP>
  56. <XX>J5</XX>
  57. <SQL> WI.PROC_CD = 'J5'</SQL>
  58. </item>
  59. <item>
  60. <CHK/>
  61. <PP>吹炼后</PP>
  62. <XX>J6</XX>
  63. <SQL> WI.PROC_CD = 'J6'</SQL>
  64. </item>
  65. <item>
  66. <CHK/>
  67. <PP>转炉</PP>
  68. <XX>JB</XX>
  69. <SQL> WI.PROC_CD = 'JB'</SQL>
  70. </item>
  71. <item>
  72. <CHK/>
  73. <PP>CAS前</PP>
  74. <XX>J1</XX>
  75. <SQL> WI.PROC_CD = 'J1'</SQL>
  76. </item>
  77. <item>
  78. <CHK/>
  79. <PP>CAS后</PP>
  80. <XX>J2</XX>
  81. <SQL> WI.PROC_CD = 'J2'</SQL>
  82. </item>
  83. <item>
  84. <CHK/>
  85. <PP>LF站</PP>
  86. <XX>JL</XX>
  87. <SQL> WI.PROC_CD = 'JL'</SQL>
  88. </item>
  89. <item>
  90. <CHK/>
  91. <PP>RH站</PP>
  92. <XX>JR</XX>
  93. <SQL> WI.PROC_CD = 'JR'</SQL>
  94. </item>
  95. <item>
  96. <CHK/>
  97. <PP>连铸</PP>
  98. <XX>JJ</XX>
  99. <SQL> WI.PROC_CD = 'JJ'</SQL>
  100. </item>
  101. <item>
  102. <CHK/>
  103. <PP>板坯</PP>
  104. <XX>SL</XX>
  105. <SQL> WI.PROC_CD = 'SL'</SQL>
  106. </item>
  107. <item>
  108. <CHK/>
  109. <PP>钢卷</PP>
  110. <XX>CO</XX>
  111. <SQL> WI.PROC_CD = 'CO'</SQL>
  112. </item>
  113. </datagrid2>
  114. </root>
  115. </instance>
  116. <script type="javascript" ev:event="xforms-ready">
  117. <![CDATA[
  118. if(window.parent==null) Init();
  119. ]]>
  120. </script>
  121. </model>
  122. <script type="javascript" src="../../js/boaCommon.js"/>
  123. <script type="javascript" src="../../js/b01.js"/>
  124. <script type="javascript">
  125. <![CDATA[
  126. function Init(node)
  127. {
  128. InitParams(node);
  129. //炉次号初始化,工序和次数已经固定
  130. commSubmit("UIB020020-service" , "success" , "glueAction.do" );
  131. // model.duplicate("/root/initData" , "/root/resData/ChargeNOResult_VO");
  132. input40.value = document.readIniFile("session1" , "UIB020020" , "" , "c:\\WINDOWS\\xgmes3.ini")
  133. model.copyNode("/root/initChargeData", "/root/resData/ChargeNOResult_VO");
  134. // model.copyNode("/root/initProcData" , "/root/resData/ProcResult_VO" );
  135. model.copyNode("/root/initFacProc" , "/root/resData/FacProc_VO" );
  136. model.refresh();
  137. }
  138. function find()
  139. {
  140. var chargeNo = input40.value;
  141. var stTime = input1.value;
  142. var endTime = input2.value;
  143. if(chargeNo == ""&&stTime == ""&&endTime == "")
  144. {
  145. window.alert("请输入炉次或判定日期!", "警告");
  146. return;
  147. }
  148. if(chargeNo == "")
  149. {
  150. if(stTime == "")
  151. {
  152. window.alert("请输入开始日期!", "警告");
  153. return;
  154. }
  155. if(endTime == "")
  156. {
  157. window.alert("请输入结束日期!", "警告");
  158. return;
  159. }
  160. if((endTime - stTime) > 3)
  161. {
  162. if((endTime.substr(4,2)-stTime.substr(4,2))>0)
  163. {
  164. window.alert("输入的时间区间不在同一月份中,请重新输入!", "警告");
  165. }
  166. else
  167. {
  168. window.alert("输入的时间区间大于3,请重新输入!", "警告");
  169. }
  170. return;
  171. }
  172. }
  173. var sql = "";
  174. var d2Col = datagrid2.colRef("SQL");//获取存储查询条件的列
  175. var xxx = 0;
  176. for(var i = 1; i < datagrid2.rows; i++)
  177. {
  178. if(datagrid2.valueMatrix(i , 0)=="Y")
  179. {
  180. if(xxx==0)
  181. {
  182. sql = datagrid2.valueMatrix(i ,d2Col);//add
  183. datagrid2.valueMatrix(i , 0) = "N";//做查询操作时被选中的工序重新取消选择
  184. }
  185. else
  186. {
  187. sql = sql+ " OR "+ datagrid2.valueMatrix(i ,d2Col);
  188. datagrid2.valueMatrix(i , 0) = "N";//做查询操作时被选中的工序重新取消选择
  189. }
  190. xxx++;
  191. }
  192. }
  193. datagrid2.visible = false;//重新隐藏
  194. // datagrid2.refresh();
  195. if(sql == "")
  196. {
  197. sql = "1=1"
  198. }
  199. model.removenode("/root/reqData");
  200. model.makeValue("/root/reqData/CHARGENO" , input40.value.Trim()+"%");//炉次号
  201. model.makeValue("/root/reqData/SQL" , " AND ("+sql+" )");//查询条件(工序)
  202. model.makeValue("/root/reqData/SEQ" , combo3.value);//次数
  203. model.makeValue("/root/reqData/StartTime", input1.value.Trim());//开始时间
  204. model.makeValue("/root/reqData/EndTime" , input2.value.Trim());//结束时间
  205. document.writeIniFile("session1" , "UIB020020" , input40.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
  206. ///submit
  207. commSubmit("UIB020021-service" , "find" , "glueAction.do");
  208. datagrid1.rebuildStyle();
  209. ///去除原来的列及值,还原到最初状态
  210. datagrid1.addRow(false);//防止caption增加后而无数据出现异常
  211. var coll = datagrid1.colRef("LST_INGR_REG_DTIME") ;
  212. for(var i = datagrid1.cols-1; i > coll; i--)
  213. {
  214. datagrid1.deleteColumn(i , false);
  215. }
  216. model.removenode("/root/datagrid1");//清除表1的所有数据
  217. datagrid1.addRow(false);//只有先增加一行后才能在后面改变列宽
  218. ///copy
  219. GridDynamicChemCD(datagrid1 , "/root/resData/ChemNM_VO");//动态生成
  220. model.copyNode("/root/datagrid1" , "/root/resData/ChargeIngr_VO");
  221. model.refresh();
  222. //若炉号成分判定结果为不合格(即2),则以红色显示
  223. var decGrd = "";
  224. var procCd = "";
  225. for(var i = datagrid1.fixedRows; i < datagrid1.rows; i++)
  226. {
  227. decGrd = datagrid1.valueMatrix(i , datagrid1.colRef("INGR_DEC_GRD"));//成分判定等级
  228. procCd = datagrid1.valueMatrix(i , datagrid1.colRef("PROC_CD")); //工序
  229. if(decGrd == "2" && procCd == "JJ")//连铸不合格
  230. {
  231. datagrid1.rowStyle(i , "data" , "color") = "#ff0000";
  232. }
  233. if(decGrd == "")//无判定
  234. {
  235. datagrid1.rowStyle(i , "data" , "color") = "#000000";
  236. }
  237. if(decGrd == "1" && procCd == "JJ")//连铸合格
  238. {
  239. datagrid1.rowStyle(i , "data" , "color") = "#0000ff";
  240. }
  241. }
  242. datagrid1.rebuild();
  243. }//function find() end
  244. ///表格的动态列生成
  245. //ref 为"/root/resData/ChemNM_VO"形式
  246. function GridDynamicChemCD(grid , ref)
  247. {
  248. ///获得材质名
  249. var node = instance1.selectSingleNode(ref);
  250. var nodeList = node.childNodes;//..._VO节点下的所有一级子节点集合
  251. var nNode;
  252. var i = 1;
  253. var tempCaption1 = "炉号^工序^次数^目标牌号^厂内牌号^板坯去向^目标牌号判定^厂内牌号判定^成分判定时间";//第一列需要动态生成的表头
  254. var tempCaption2 = "炉号^工序^次数^目标牌号^厂内牌号^板坯去向^目标牌号判定^厂内牌号判定^成分判定时间";//第一列需要动态生成的表头
  255. while(nNode=nodeList.nextNode())
  256. {
  257. grid.addColumn("ref:CHEM_MIN"+i , false);
  258. grid.colWidth(grid.colRef("CHEM_MIN"+i)) = 40;
  259. grid.addColumn("ref:CHEM_MAX"+i , false);
  260. grid.colWidth(grid.colRef("CHEM_MAX"+i)) = 40;
  261. grid.addColumn("ref:CHEM_VAL"+i , false);
  262. grid.colWidth(grid.colRef("CHEM_VAL"+i)) = 40;
  263. tempCaption1 = tempCaption1 +"^"+nNode.childNodes.item(0).nodeValue+"^"+nNode.childNodes.item(0).nodeValue+"^"+nNode.childNodes.item(0).nodeValue;
  264. tempCaption2 = tempCaption2 +"^"+"Min" +"^"+"Max" +"^"+"实绩";
  265. i++;
  266. }
  267. ///生成最终的caption
  268. var caption = grid.caption;
  269. grid.caption = tempCaption1+"|"+tempCaption2;
  270. }
  271. ]]>
  272. </script>
  273. </xhtml:head>
  274. <xhtml:body accesskey="f2" pagewidth="980" pageheight="620" guideline="1,982;1,980;1,980;">
  275. <caption id="caption4" class="cell" style="left:0px; top:5px; width:85px; height:20px; ">炉次号</caption>
  276. <caption id="caption5" class="cell" style="left:295px; top:5px; width:50px; height:20px; ">工序</caption>
  277. <caption id="caption8" class="cell" style="left:435px; top:5px; width:50px; height:20px; ">次数</caption>
  278. <select1 id="combo3" ref="/root/formData/serachinfo/Pchemcd" appearance="minimal" editmode="input" style="left:485px; top:5px; width:75px; height:20px; ">
  279. <choices>
  280. <item>
  281. <label>--全部--</label>
  282. <value/>
  283. </item>
  284. <item>
  285. <label>01</label>
  286. <value>01</value>
  287. </item>
  288. <item>
  289. <label>02</label>
  290. <value>02</value>
  291. </item>
  292. <item>
  293. <label>03</label>
  294. <value>03</value>
  295. </item>
  296. <item>
  297. <label>04</label>
  298. <value>04</value>
  299. </item>
  300. <item>
  301. <label>05</label>
  302. <value>05</value>
  303. </item>
  304. </choices>
  305. </select1>
  306. <caption id="caption9" class="cell" style="left:580px; top:5px; width:75px; height:20px; ">判定日期</caption>
  307. <img id="img1" style="left:690px; top:5px; width:10px; height:5px; background-stretch:stretch; "/>
  308. <input id="input1" ref="/root/formData/serachinfo/Pjude_S" inputtype="date" style="left:655px; top:5px; width:70px; height:20px; "/>
  309. <input id="input2" ref="/root/formData/serachinfo/Pjude_E" inputtype="date" style="left:735px; top:5px; width:70px; height:20px; "/>
  310. <caption id="caption10" style="left:725px; top:5px; width:20px; height:20px; ">~</caption>
  311. <datagrid id="datagrid1" nodeset="/root/datagrid1/ChargeIngr_Row" caption="炉号^工序^次数^目标牌号^厂内牌号^板坯去向^目标牌号判定^厂内牌号判定^成分判定时间|炉号^工序^次数^目标牌号^厂内牌号^板坯去向^目标牌号判定^厂内牌号判定^成分判定时间" colsep="^" colwidth="77, 30, 30, 100, 100, 37, 100, 88, 95" explorerbar="sortshow" extendlastcol="false" frozencols="3" mergecellsfixedrows="bycolrec" rowheight="35" rowsep="|" tooltip="true" style="left:0px; top:35px; width:976px; height:580px; ">
  312. <col ref="CHARGE_NO"/>
  313. <col disabled="true" ref="PROC_CD" type="combo">
  314. <choices>
  315. <itemset nodeset="/root/initFacProc/FacProc_Row">
  316. <label ref="LABEL"/>
  317. <value ref="VALUE"/>
  318. </itemset>
  319. </choices>
  320. </col>
  321. <col ref="CHEM_SEQ"/>
  322. <col ref="TAFAC_STL_GRD"/>
  323. <col ref="STL_GRD"/>
  324. <col disabled="true" ref="SLAB_RT" type="combo">
  325. <choices>
  326. <item>
  327. <label>热轧</label>
  328. <value>H</value>
  329. </item>
  330. <item>
  331. <label>冷轧</label>
  332. <value>C</value>
  333. </item>
  334. <item>
  335. <label>厚板</label>
  336. <value>P</value>
  337. </item>
  338. <item>
  339. <label>中板</label>
  340. <value>Z</value>
  341. </item>
  342. </choices>
  343. </col>
  344. <col ref="CHEM_DCS_RST"/>
  345. <col ref="INGR_DEC_GRD"/>
  346. <col ref="LST_INGR_REG_DTIME" format="yyyy-mm-dd hh:nn:ss"/>
  347. </datagrid>
  348. <datagrid id="datagrid2" nodeset="/root/datagrid2/item" visibility="hidden" caption="选择^工序^XX^SQL" colsep="^" colwidth="49, 65, 57, 43" mergecellsfixedrows="bycolrec" rowsep="|" style="left:295px; top:25px; width:119px; height:233px; ">
  349. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  350. <col ref="PP"/>
  351. <col ref="XX" visibility="hidden"/>
  352. <col ref="SQL" visibility="hidden"/>
  353. </datagrid>
  354. <line id="line1" style="x1:0px; y1:30px; x2:979px; y2:30px; "/>
  355. <line id="line2" style="x1:1px; y1:0px; x2:980px; y2:0px; "/>
  356. <input id="input3" inputtype="button" style="left:345px; top:5px; width:70px; height:20px; ">
  357. <script type="javascript" ev:event="onclick">
  358. <![CDATA[
  359. datagrid2.visible = !datagrid2.visible;
  360. ]]>
  361. </script>
  362. </input>
  363. <button id="button1" style="left:185px; top:5px; width:75px; height:20px; background-color:#ffcc99; border-style:solid; ">
  364. <caption>选择</caption>
  365. <script type="javascript" ev:event="DOMActivate">
  366. <![CDATA[
  367. window.load("./_0200CHARGENO.xrw", "modal", "modalWin", "left:400; top:40; width:620px; height:700px;sysmenu:visible; min:visible; max:hidden; resize:false;" , "/root/initChargeData" , "/root/RadioResult");
  368. ]]>
  369. </script>
  370. </button>
  371. <input id="input40" ref="/root/formData/serachinfo/Pstove" style="left:85px; top:5px; width:100px; height:20px; "/>
  372. <script type="javascript" ev:event="onaccesskey">
  373. <![CDATA[
  374. // model.makeNode("/root/fwdData/UIB020020/URL");
  375. // var name = "UIB020020";
  376. openWindow("UIB020020");
  377. ]]>
  378. </script>
  379. <button id="button99" visibility="hidden" style="left:810px; top:5px; width:65px; height:20px; ">
  380. <caption>FIND</caption>
  381. <script type="javascript" ev:event="DOMActivate">
  382. <![CDATA[
  383. find();
  384. ]]>
  385. </script>
  386. </button>
  387. </xhtml:body>
  388. </xhtml:html>