7094a4fa620e854bdfed54c01759c2a485812a2a.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  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[炼钢作业 >> 板坯库管理 >> 上料行车命令制定(UIG0400464)]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <formData>
  12. <FROM_ADDR/>
  13. <TO_ADDR/>
  14. <CR_NO/>
  15. <SLAB_NO/>
  16. </formData>
  17. <gridData>
  18. <grid1/>
  19. <grid2/>
  20. </gridData>
  21. <comData>
  22. <crNo>
  23. <item>
  24. <VALUE/>
  25. </item>
  26. <item>
  27. <VALUE/>
  28. </item>
  29. </crNo>
  30. </comData>
  31. </root>
  32. </instance>
  33. <script type="javascript" ev:event="xforms-ready">
  34. <![CDATA[
  35. find();
  36. ]]>
  37. </script>
  38. </model>
  39. <script type="javascript">
  40. <![CDATA[
  41. //查询方法
  42. function find(){
  43. commSendReq("/root/formData");
  44. //获取加热炉指示和行车命令制订
  45. commSubmit("UIG040046-service","find","glueAction.do");
  46. //把相应的内容绑定到相应的位置
  47. model.copyNode("/root/gridData/grid1","/root/resData/MillSch_VO");
  48. model.copyNode("/root/gridData/grid2","/root/resData/CrCommand_VO");
  49. //刷新才会显示相关信息
  50. model.refresh();
  51. //获取板坯状态
  52. rowStaRefresh();
  53. }
  54. function chargingSeq(grid){
  55. //已经编制命令检查
  56. var curStat = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("SCH_STAT"));
  57. var curAddr = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("YARD_ADDR"));
  58. var curSlabNo = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("SLAB_NO"));
  59. if(curStat == "CRD" || curStat == "A7T"){
  60. alert("已经编制");
  61. return ;
  62. }
  63. //编制顺序检查
  64. for(var i = datagrid1.fixedRows; i < datagrid1.row; i++){
  65. var schStat = model.getValue("/root/gridData/grid1/MillSch_Row[" + (i-datagrid1.fixedRows +1) + "]/SCH_STAT");
  66. var roolSeq = model.getValue("/root/gridData/grid1/MillSch_Row[" + (i-datagrid1.fixedRows +1) + "]/ROLL_SEQ");
  67. if(schStat != "CRD" && schStat != "A7T"){
  68. alert("错误:" + roolSeq + "尚未编制");
  69. return;
  70. }
  71. }
  72. //formData赋值
  73. model.setValue("/root/formData/FROM_ADDR",curAddr);
  74. model.setValue("/root/formData/SLAB_NO",curSlabNo);
  75. model.setValue("/root/formData/TO_ADDR","A7");
  76. model.setValue("/root/formData/CR_NO","");
  77. if(curAddr.substr(0,2) == "Z1"){
  78. model.setValue("/root/comData/crNo/item[1]/VALUE","1-1");
  79. model.setValue("/root/comData/crNo/item[2]/VALUE","1-2");
  80. }else if(curAddr.substr(0,2) == "Z2"){
  81. model.setValue("/root/comData/crNo/item[1]/VALUE","1-3");
  82. model.setValue("/root/comData/crNo/item[2]/VALUE","1-4");
  83. }else if(curAddr.substr(0,2) == "Z3"){
  84. model.setValue("/root/comData/crNo/item[1]/VALUE","1-5");
  85. model.setValue("/root/comData/crNo/item[2]/VALUE","1-6");
  86. }
  87. model.refresh();
  88. }
  89. function save(){
  90. commSendReq("/root/formData");
  91. commSubmit("UIG040046-service","save","glueAction.do");
  92. var MsgCon = model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row/MSG_CON");
  93. //清空行车命令制定内容,防止同一条行车命令保存两次
  94. model.setValue("/root/formData/FROM_ADDR","");
  95. model.setValue("/root/formData/SLAB_NO","");
  96. model.setValue("/root/formData/TO_ADDR","");
  97. model.setValue("/root/formData/CR_NO","");
  98. if (MsgCon == "B" ) {
  99. //此板坯已经制定了行车命令
  100. alert("操作失败,已经制定行车命令!");
  101. return;
  102. }else if (MsgCon == "C" ) {
  103. //此板坯的上面存在没有制定行车命令的板坯
  104. alert("操作失败,坯料不再垛位最上层!");
  105. return;
  106. }else if (MsgCon == "E" ) {
  107. alert("操作失败,数据不能为空!");
  108. return;
  109. }else if(MsgCon == "A"){
  110. alert("操作成功!");
  111. }
  112. find();
  113. }
  114. function rowStaRefresh(){
  115. var nodeset = datagrid1.nodeset;
  116. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeset + ")"));
  117. var jj = 0;
  118. for(var ii = 2;ii<=nodeCnt+1;ii++){
  119. jj = ii - 1;
  120. var sSchStat = model.getValue("/root/gridData/grid1/MillSch_Row["+jj+"]/SCH_STAT");
  121. if (sSchStat == "A7T") {
  122. //已经上料
  123. datagrid1.cellstyle("background-color", ii, 1, ii, 1) = "#ff00ff";
  124. } else if (sSchStat == "CRD") {
  125. //行车命令制定的情况
  126. datagrid1.cellstyle("background-color", ii, 1, ii, 1) = "#FEFF56";
  127. }
  128. else{
  129. datagrid1.cellstyle("background-color", ii, 1, ii, 1) = "#ffffff";
  130. }
  131. }
  132. }
  133. ]]>
  134. </script>
  135. <script type="javascript" src="../../js/boaCommon.js"/>
  136. </xhtml:head>
  137. <xhtml:body>
  138. <datagrid id="datagrid2" nodeset="/root/gridData/grid2/CrCommand_Row" allowuserresize="false" caption="选择^行车^来源^去向^命令日期^板坯号" colsep="^" colwidth="27, 30, 48, 47, 72, 81, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:87px; width:310px; height:528px; border-color:#000000; ">
  139. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  140. <col ref="CR_NO"/>
  141. <col ref="FROM_ADDR"/>
  142. <col ref="TO_ADDR"/>
  143. <col ref="REG_DTIME"/>
  144. <col ref="ORD_SLAB_NO1"/>
  145. <col ref="SEQ_NO"/>
  146. </datagrid>
  147. <caption id="caption1" class="cell" style="left:0px; top:20px; width:70px; height:20px; font-weight:bold; border-color:#000000; ">来源位置</caption>
  148. <caption id="caption10" class="cell" style="left:0px; top:0px; width:100px; height:20px; font-weight:bold; background-color:#99ccff; border-color:#000000; ">命令制订</caption>
  149. <caption id="caption2" class="cell" style="left:73px; top:20px; width:70px; height:20px; font-weight:bold; border-color:#000000; ">去向位置</caption>
  150. <select1 id="combo2" ref="/root/formData/TO_ADDR" disabled="true" appearance="minimal" editmode="input" style="left:73px; top:40px; width:70px; height:20px; background-color:#ffff99; border-color:#000000; ">
  151. <choices>
  152. <itemset nodeset="/root/comData/toYard/item">
  153. <label ref="label"/>
  154. <value ref="value"/>
  155. </itemset>
  156. </choices>
  157. <script type="javascript" ev:event="xforms-select">
  158. <![CDATA[
  159. //选择相应的位置,对应相应的行车信息
  160. var TO_ADDR = model.getValue("/root/selectData/TO_ADDR");
  161. //如果去向为A01,A02选择行车1-1,1-2
  162. if(TO_ADDR == "A1" || TO_ADDR =="A2"){
  163. //清空原有的行车编号
  164. model.removenode("/root/searchData/CR_NO/item");
  165. model.makeNode("/root/searchData/CR_NO/item");
  166. //因为选择了A01、A02,所以给出全部的行车信息
  167. for(var i=1;i<=2;i++){
  168. model.makeNode("/root/searchData/CR_NO/item["+i+"]/label");
  169. model.makeNode("/root/searchData/CR_NO/item["+i+"]/value");
  170. }
  171. model.setValue("/root/searchData/CR_NO/item[1]/label","1-1");
  172. model.setValue("/root/searchData/CR_NO/item[1]/value","1-1");
  173. model.setValue("/root/searchData/CR_NO/item[2]/label","1-2");
  174. model.setValue("/root/searchData/CR_NO/item[2]/value","1-2");
  175. model.refresh();
  176. }else if(TO_ADDR == "A3" || TO_ADDR =="A4"){
  177. //清空原有的行车编号
  178. model.removenode("/root/searchData/CR_NO/item");
  179. model.makeNode("/root/searchData/CR_NO/item");
  180. //因为选择了A03、A04,所以给出全部的行车信息
  181. for(var i=1;i<=2;i++){
  182. model.makeNode("/root/searchData/CR_NO/item["+i+"]/label");
  183. model.makeNode("/root/searchData/CR_NO/item["+i+"]/value");
  184. }
  185. model.setValue("/root/searchData/CR_NO/item[1]/label","1-3");
  186. model.setValue("/root/searchData/CR_NO/item[1]/value","1-3");
  187. model.setValue("/root/searchData/CR_NO/item[2]/label","1-4");
  188. model.setValue("/root/searchData/CR_NO/item[2]/value","1-4");
  189. model.refresh();
  190. }else if(TO_ADDR == "A5" || TO_ADDR =="A6"){
  191. //清空原有的行车编号
  192. model.removenode("/root/searchData/CR_NO/item");
  193. model.makeNode("/root/searchData/CR_NO/item");
  194. //因为选择了A05、A06,所以给出全部的行车信息
  195. for(var i=1;i<=2;i++){
  196. model.makeNode("/root/searchData/CR_NO/item["+i+"]/label");
  197. model.makeNode("/root/searchData/CR_NO/item["+i+"]/value");
  198. }
  199. model.setValue("/root/searchData/CR_NO/item[1]/label","1-5");
  200. model.setValue("/root/searchData/CR_NO/item[1]/value","1-5");
  201. model.setValue("/root/searchData/CR_NO/item[2]/label","1-6");
  202. model.setValue("/root/searchData/CR_NO/item[2]/value","1-6");
  203. model.refresh();
  204. }
  205. ]]>
  206. </script>
  207. </select1>
  208. <caption id="caption4" class="cell" style="left:145px; top:20px; width:65px; height:20px; font-weight:bold; border-color:#000000; ">行车编号</caption>
  209. <caption id="caption5" class="cell" style="left:315px; top:0px; width:111px; height:20px; font-weight:bold; background-color:#99ccff; border-color:#000000; ">加热炉装炉指示</caption>
  210. <select1 id="combo4" ref="/root/formData/CR_NO" disabled="false" appearance="minimal" editmode="input" style="left:145px; top:40px; width:65px; height:20px; background-color:#ffff99; border-color:#000000; ">
  211. <choices>
  212. <itemset nodeset="/root/comData/crNo/item">
  213. <label ref="VALUE"/>
  214. <value ref="VALUE"/>
  215. </itemset>
  216. </choices>
  217. </select1>
  218. <caption id="caption6" class="cell" style="left:1px; top:66px; width:105px; height:20px; font-weight:bold; background-color:#99ccff; border-color:#000000; ">行车命令制订</caption>
  219. <input id="input2" ref="/root/formData/SLAB_NO" disabled="true" style="left:213px; top:40px; width:95px; height:20px; background-color:#ffff99; ">
  220. <script type="javascript" ev:event="ondblclick">
  221. <![CDATA[
  222. yardMap();
  223. ]]>
  224. </script>
  225. </input>
  226. <caption id="caption8" class="cell" style="left:213px; top:20px; width:95px; height:20px; font-weight:bold; border-color:#000000; ">板坯号</caption>
  227. <datagrid id="datagrid1" nodeset="/root/gridData/grid1/MillSch_Row" allowuserresize="true" caption="编制号^板坯号^钢卷号^板坯状态^ 现在 位置^层^热送/冷送^板坯尺寸^板坯尺寸^钢码^反装|编制号^板坯号^钢卷号^板坯状态^ 现在 位置^层^热送/冷送^厚度x宽度x长度^重量^钢码^反装" colsep="^" colwidth="65, 88, 90, 35, 45, 30, 34, 114, 49, 78, 34" mergecellsfixedrows="bycolrec" rowsep="|" style="left:315px; top:20px; width:665px; height:595px; border-color:#000000; ">
  228. <col editable="false" ref="ROLL_SEQ" type="input"/>
  229. <col editable="false" ref="SLAB_NO" type="input"/>
  230. <col editable="false" ref="COIL_NO" type="input"/>
  231. <col ref="SCH_STAT"/>
  232. <col editable="false" ref="YARD_ADDR" type="input"/>
  233. <col ref="STORELAY"/>
  234. <col disabled="true" ref="HCR_CLF" type="combo">
  235. <choices>
  236. <item>
  237. <label>冷装</label>
  238. <value>C</value>
  239. </item>
  240. <item>
  241. <label>热送</label>
  242. <value>H</value>
  243. </item>
  244. </choices>
  245. </col>
  246. <col ref="SLAB_SIZE"/>
  247. <col ref="SLAB_WGT"/>
  248. <col ref="SPEC_STL_GRD"/>
  249. <col visibility="hidden"/>
  250. <script type="javascript" ev:event="ondblclick">
  251. <![CDATA[
  252. chargingSeq();
  253. ]]>
  254. </script>
  255. </datagrid>
  256. <input id="input6" ref="/root/formData/FROM_ADDR" disabled="true" style="left:0px; top:40px; width:70px; height:20px; background-color:#ffff99; ">
  257. <script type="javascript" ev:event="ondblclick">
  258. <![CDATA[
  259. yardMap();
  260. ]]>
  261. </script>
  262. </input>
  263. </xhtml:body>
  264. </xhtml:html>