UIG020061.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  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>板坯移动</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <gridData>
  10. <grid1/>
  11. <grid2/>
  12. <grid3/>
  13. <grid4/>
  14. </gridData>
  15. <formData>
  16. <ORL_CHARGE_NO/>
  17. <NXT_CHARGE_NO/>
  18. </formData>
  19. </root>
  20. </instance>
  21. <script type="javascript" ev:event="xforms-ready">
  22. <![CDATA[
  23. init();
  24. ]]>
  25. </script>
  26. </model>
  27. <script type="javascript">
  28. <![CDATA[
  29. function init(){
  30. var PARENT_WINDOW = window.opener;
  31. var tempCharge = PARENT_WINDOW.model.getValue("/root/tempData");
  32. model.setValue("/root/formData/ORL_CHARGE_NO",tempCharge);
  33. if(tempCharge == null || tempCharge == ""){alert(" 炉次号不能为空! ");return;}
  34. var tstvalue = parseInt(tempCharge.substr(4,5),10);
  35. tstvalue = (tstvalue + 1) + "";
  36. var strLen = tstvalue.length;
  37. tempCharge = tempCharge.substr(0,4);
  38. for(var i = 0 ; i < (5 - strLen) ; i++){
  39. tempCharge = tempCharge + "0";
  40. }
  41. tempCharge = tempCharge + tstvalue + "A";
  42. model.setValue("/root/formData/NXT_CHARGE_NO",tempCharge);
  43. commSendReq("/root/formData");
  44. commSubmit("UIG020061-service","init","glueAction.do");
  45. commAppendData("/root/gridData/grid1/SearchRepChargeResult_VO","/root/resData/SearchRepChargeResult_VO");
  46. commAppendData("/root/gridData/grid2/SearchRepChargeResult_VO","/root/resData/SearchRepChargeResult_VO");
  47. commAppendData("/root/gridData/grid3/SearchOrlSlab_VO","/root/resData/SearchOrlSlab_VO");
  48. commAppendData("/root/gridData/grid4/SearchNxtCharge_VO","/root/resData/SearchNxtCharge_VO");
  49. model.refresh();
  50. var node = instance1.selectSingleNode("/root/gridData/grid1/SearchRepChargeResult_VO");
  51. var nodeList = node.childNodes;
  52. var i = 0;
  53. while (childNode = nodeList.nextNode())
  54. {
  55. i = i + 1;
  56. var chargeNo = childNode.CHARGE_NO.value;
  57. if(chargeNo == model.getValue("/root/formData/ORL_CHARGE_NO")){
  58. childNode.CHK.value = "Y";
  59. datagrid1.rowStyle(i, "data", "background-color" ) = "#ff00ff";
  60. }
  61. }
  62. node = instance1.selectSingleNode("/root/gridData/grid2/SearchRepChargeResult_VO");
  63. nodeList = node.childNodes;
  64. i = 0;
  65. while (childNode = nodeList.nextNode())
  66. {
  67. i = i + 1;
  68. var chargeNo = childNode.CHARGE_NO.value;
  69. if(chargeNo == model.getValue("/root/formData/NXT_CHARGE_NO")){
  70. childNode.CHK.value = "Y";
  71. datagrid4.rowStyle(i, "data", "background-color" ) = "#ff00ff";
  72. }
  73. }
  74. }
  75. function onSelect(gridID){
  76. var grid = document.all(gridID);
  77. if(gridID.substr(8,1) == "1"){
  78. datagrid2.rebuildStyle();
  79. datagrid3.rebuildStyle();
  80. model.setValue("/root/formData/ORL_CHARGE_NO",grid.valueMatrix(grid.row,grid.colRef("CHARGE_NO")));
  81. // 判断两个交换的炉次号不能相同
  82. if(model.getValue("/root/formData/ORL_CHARGE_NO") == model.getValue("/root/formData/NXT_CHARGE_NO")){
  83. model.setValue("/root/formData/NXT_CHARGE_NO","KONG");
  84. commSendReq("/root/formData");
  85. commSubmit("UIG020061-service","nxtSelect","glueAction.do");
  86. commAppendData("/root/gridData/grid4/SearchNxtCharge_VO","/root/resData/SearchNxtCharge_VO");
  87. }
  88. commSendReq("/root/formData");
  89. commSubmit("UIG020061-service","orlSelect","glueAction.do");
  90. commAppendData("/root/gridData/grid3/SearchOrlSlab_VO","/root/resData/SearchOrlSlab_VO");
  91. var node = instance1.selectSingleNode("/root/gridData/grid1/SearchRepChargeResult_VO");
  92. var nodeList = node.childNodes;
  93. var i = 0;
  94. while (childNode = nodeList.nextNode())
  95. {
  96. i = i + 1;
  97. var chargeNo = childNode.CHARGE_NO.value;
  98. if(chargeNo == model.getValue("/root/formData/ORL_CHARGE_NO")){
  99. childNode.CHK.value = "Y";
  100. grid.rebuildStyle();
  101. grid.rowStyle(i, "data", "background-color" ) = "#ff00ff";
  102. }
  103. }
  104. }
  105. else if(gridID.substr(8,1) == "4"){
  106. datagrid2.rebuildStyle();
  107. datagrid3.rebuildStyle();
  108. model.setValue("/root/formData/NXT_CHARGE_NO",grid.valueMatrix(grid.row,grid.colRef("CHARGE_NO")));
  109. // 判断两个交换的炉次号不能相同
  110. if(model.getValue("/root/formData/ORL_CHARGE_NO") == model.getValue("/root/formData/NXT_CHARGE_NO")){
  111. datagrid4.valueMatrix(datagrid4.row,datagrid4.colRef("CHK")) = "N";
  112. model.setValue("/root/formData/NXT_CHARGE_NO","KONG");
  113. commSendReq("/root/formData");
  114. commSubmit("UIG020061-service","nxtSelect","glueAction.do");
  115. commAppendData("/root/gridData/grid4/SearchNxtCharge_VO","/root/resData/SearchNxtCharge_VO");
  116. alert(" 炉次号不能相同 ! ");
  117. }
  118. commSendReq("/root/formData");
  119. commSubmit("UIG020061-service","nxtSelect","glueAction.do");
  120. commAppendData("/root/gridData/grid4/SearchNxtCharge_VO","/root/resData/SearchNxtCharge_VO");
  121. var node = instance1.selectSingleNode("/root/gridData/grid2/SearchRepChargeResult_VO");
  122. var nodeList = node.childNodes;
  123. var i = 0;
  124. while (childNode = nodeList.nextNode())
  125. {
  126. i = i + 1;
  127. var chargeNo = childNode.CHARGE_NO.value;
  128. if(chargeNo == model.getValue("/root/formData/NXT_CHARGE_NO")){
  129. childNode.CHK.value = "Y";
  130. grid.rebuildStyle();
  131. grid.rowStyle(i, "data", "background-color" ) = "#ff00ff";
  132. }
  133. }
  134. }
  135. else if(gridID.substr(8,1) == "3"){
  136. var node = instance1.selectSingleNode("/root/gridData/grid3/SearchOrlSlab_VO");
  137. var nodeList = node.childNodes;
  138. var bool = false;
  139. var i = 0;
  140. var j = 0;
  141. var cnt = 0;
  142. grid.rebuildStyle();
  143. while (childNode = nodeList.nextNode())
  144. {
  145. i = i + 1;
  146. if(i == grid.row)bool = true;
  147. if(bool == true){
  148. grid.valueMatrix(i,grid.colRef("CHK")) = "Y"
  149. grid.rowStyle(i, "data", "background-color" ) = "#ff00ff";
  150. cnt = cnt + 1;
  151. }else{
  152. grid.valueMatrix(i,grid.colRef("CHK")) = "N"
  153. }
  154. }
  155. node = instance1.selectSingleNode("/root/gridData/grid4/SearchNxtCharge_VO");
  156. nodeList = node.childNodes;
  157. datagrid2.rebuildStyle();
  158. while (childNode = nodeList.nextNode())
  159. {
  160. j = j + 1;
  161. datagrid2.valueMatrix(j,datagrid2.colRef("CHK")) = "N";
  162. }
  163. /*
  164. // 如果左边选中的板坯块数大于右边板坯总数 ,错误
  165. if(cnt > j){
  166. alert(" 板坯不匹配 !");
  167. return;
  168. }
  169. for(var ii = 1 ; ii <= cnt ; ii++){
  170. datagrid2.valueMatrix(ii,datagrid2.colRef("CHK")) = "Y";
  171. datagrid2.rowStyle(ii, "data", "background-color" ) = "#ff00ff";
  172. }*/
  173. }
  174. else if(gridID.substr(8,1) == "2"){
  175. var node = instance1.selectSingleNode("/root/gridData/grid4/SearchNxtCharge_VO");
  176. var nodeList = node.childNodes;
  177. var bool = false;
  178. var j = 0;
  179. var i = 0;
  180. var cnt = 0;
  181. grid.rebuildStyle();
  182. while (childNode = nodeList.nextNode())
  183. {
  184. j = j + 1;
  185. if(bool == false){
  186. grid.valueMatrix(j,grid.colRef("CHK")) = "Y"
  187. grid.rowStyle(j, "data", "background-color" ) = "#ff00ff";
  188. cnt = cnt + 1;
  189. }else{
  190. grid.valueMatrix(j,grid.colRef("CHK")) = "N"
  191. }
  192. if(j == grid.row)bool = true;
  193. }
  194. node = instance1.selectSingleNode("/root/gridData/grid3/SearchOrlSlab_VO");
  195. nodeList = node.childNodes;
  196. datagrid3.rebuildStyle();
  197. while (childNode = nodeList.nextNode())
  198. {
  199. i = i + 1;
  200. datagrid3.valueMatrix(i,datagrid3.colRef("CHK")) = "N";
  201. }
  202. }
  203. }
  204. function deSelect(gridID){
  205. var grid = document.all(gridID);
  206. if(gridID.substr(8,1) == "3"){
  207. var node = instance1.selectSingleNode("/root/gridData/grid3/SearchOrlSlab_VO");
  208. var nodeList = node.childNodes;
  209. var i = 0;
  210. var j = 0;
  211. var cnt = 0;
  212. while (childNode = nodeList.nextNode())
  213. {
  214. i = i + 1;
  215. if(i > grid.row){
  216. cnt = cnt + 1;
  217. }else{
  218. grid.valueMatrix(i,grid.colRef("CHK")) = "N";
  219. grid.rebuildStyle(i,0,i,3);
  220. }
  221. }
  222. node = instance1.selectSingleNode("/root/gridData/grid4/SearchNxtCharge_VO");
  223. nodeList = node.childNodes;
  224. while (childNode = nodeList.nextNode())
  225. {
  226. j = j + 1;
  227. if(j > cnt){
  228. datagrid2.valueMatrix(j,datagrid2.colRef("CHK")) = "N";
  229. datagrid2.rebuildStyle(j,0,j,3);
  230. }
  231. }
  232. }else if(gridID.substr(8,1) == "2"){
  233. var node = instance1.selectSingleNode("/root/gridData/grid4/SearchNxtCharge_VO");
  234. var nodeList = node.childNodes;
  235. var i = 0;
  236. var j = 0;
  237. var cnt = 0;
  238. while (childNode = nodeList.nextNode())
  239. {
  240. i = i + 1;
  241. if(i > grid.row && grid.valueMatrix(i,grid.colRef("CHK")) == "Y"){
  242. cnt = cnt + 1;
  243. grid.valueMatrix(i,grid.colRef("CHK")) = "N";
  244. grid.rebuildStyle(i,0,i,3);
  245. }else if(i == grid.row){
  246. cnt = cnt + 1;
  247. grid.valueMatrix(i,grid.colRef("CHK")) = "N";
  248. grid.rebuildStyle(i,0,i,3);
  249. }
  250. }
  251. node = instance1.selectSingleNode("/root/gridData/grid3/SearchOrlSlab_VO");
  252. nodeList = node.childNodes;
  253. while (childNode = nodeList.nextNode())
  254. {
  255. j = j + 1;
  256. if(cnt > 0 && datagrid3.valueMatrix(j,grid.colRef("CHK")) == "Y"){
  257. datagrid3.valueMatrix(j,grid.colRef("CHK")) = "N";
  258. datagrid3.rebuildStyle(j,0,j,3);
  259. cnt = cnt - 1;
  260. }
  261. }
  262. }
  263. }
  264. function onRtClick(){
  265. node = instance1.selectSingleNode("/root/gridData/grid3/SearchOrlSlab_VO");
  266. nodeList = node.childNodes;
  267. var rowsArray = new Array();
  268. var noSelectedRows = "Y";
  269. var i = 0;
  270. var conformStr = " 以下板坯是否确定移动?\n ";
  271. while (childNode = nodeList.nextNode()){
  272. if(datagrid3.valueMatrix(i+1,datagrid3.colRef("CHK")) == "Y"){
  273. rowsArray[i] = datagrid3.valueMatrix(i+1,datagrid3.colRef("SLAB_NO"));
  274. datagrid3.rowStatus(i+1) = 2;
  275. conformStr = conformStr + rowsArray[i] + "\n ";
  276. noSelectedRows = "N";
  277. }
  278. i = i + 1;
  279. }
  280. if(noSelectedRows == "Y"){alert(" 选择板坯为空! ");return;}
  281. var answer = window.alert(conformStr,"坯料确认", 1 | 32);
  282. if (answer == "2"){
  283. return;
  284. }
  285. model.removenode("/root/reqData");
  286. model.makeNode("/root/reqData");
  287. commMultiUpdate(datagrid3,"/root/reqData","A",true,"rowStatus");
  288. model.makeValue("/root/reqData/MoveFl","D");
  289. model.makeValue("/root/reqData/NxtChargeNo",model.getValue("/root/formData/NXT_CHARGE_NO"));
  290. commSubmit("UIG020061-service","move","glueAction.do");
  291. //alert(model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row"));
  292. if(model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row")== "YY"){
  293. alert(" 移动成功 ");
  294. }else if(model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row")== "ERROR"){
  295. alert(" 炉次钢种,尺寸,去向不一样,不能移动!");
  296. }else alert(" 移动失败 ");
  297. }
  298. function onLftClick(){
  299. node = instance1.selectSingleNode("/root/gridData/grid4/SearchNxtCharge_VO");
  300. nodeList = node.childNodes;
  301. var rowsArray = new Array();
  302. var noSelectedRows = "Y";
  303. var i = 0;
  304. var conformStr = " 以下板坯是否确定移动?\n ";
  305. while (childNode = nodeList.nextNode()){
  306. if(datagrid2.valueMatrix(i+1,datagrid2.colRef("CHK")) == "Y"){
  307. rowsArray[i] = datagrid2.valueMatrix(i+1,datagrid2.colRef("SLAB_NO"));
  308. datagrid2.rowStatus(i+1) = 2;
  309. conformStr = conformStr + rowsArray[i] + "\n ";
  310. noSelectedRows = "N";
  311. }
  312. i = i + 1;
  313. }
  314. if(noSelectedRows == "Y"){alert(" 选择板坯为空! ");return;}
  315. var answer = window.alert(conformStr,"坯料确认", 1 | 32);
  316. if (answer == "2"){
  317. return;
  318. }
  319. model.removenode("/root/reqData");
  320. model.makeNode("/root/reqData");
  321. commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStatus");
  322. model.makeValue("/root/reqData/MoveFl","I");
  323. model.makeValue("/root/reqData/NxtChargeNo",model.getValue("/root/formData/ORL_CHARGE_NO"));
  324. //alert(instance1.selectSingleNode("/root/reqData").xml);
  325. commSubmit("UIG020061-service","move","glueAction.do");
  326. if(model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row")== "YY"){
  327. alert(" 移动成功 ");
  328. }else if(model.getValue("/root/resData/MESSAGES_VO/MESSAGES_Row")== "ERROR"){
  329. alert(" 炉次钢种,尺寸,去向不一样,不能移动!");
  330. }else alert(" 移动失败 ");
  331. }
  332. ]]>
  333. </script>
  334. <script type="javascript" src="../../js/boaCommon.js"/>
  335. </xhtml:head>
  336. <xhtml:body pagewidth="680" pageheight="400">
  337. <caption id="caption2" class="cell" style="left:100px; top:5px; width:100px; height:20px; border-color:#000000; ">现行炉次号</caption>
  338. <caption id="caption1" class="cell" style="left:440px; top:5px; width:100px; height:20px; border-color:#000000; ">下一炉次号</caption>
  339. <datagrid id="datagrid1" nodeset="/root/gridData/grid1/SearchRepChargeResult_VO/SearchRepChargeResult_Row" caption="选择^炉次号^钢种^去向" colsep="^" colwidth="35, 83, 100, 86" defaultrows="6" mergecellsfixedrows="bycolrec" rowsep="|" style="left:20px; top:35px; width:310px; height:128px; ">
  340. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  341. <col ref="CHARGE_NO"/>
  342. <col ref="STL_GRD"/>
  343. <col disabled="true" ref="SLAB_RT" type="combo">
  344. <choices>
  345. <item>
  346. <label>中板厂</label>
  347. <value>Z</value>
  348. </item>
  349. <item>
  350. <label>厚板厂</label>
  351. <value>P</value>
  352. </item>
  353. <item>
  354. <label>热轧厂</label>
  355. <value>H</value>
  356. </item>
  357. </choices>
  358. </col>
  359. <script type="javascript" ev:event="xforms-select">
  360. <![CDATA[
  361. onSelect("datagrid1");
  362. ]]>
  363. </script>
  364. </datagrid>
  365. <datagrid id="datagrid3" nodeset="/root/gridData/grid3/SearchOrlSlab_VO/SearchOrlSlab_Row" caption="选择^板坯号^规格^订单" colsep="^" colwidth="35, 85, 100, 88" defaultrows="10" mergecellsfixedrows="bycolrec" rowsep="|" style="left:20px; top:180px; width:310px; height:212px; ">
  366. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  367. <col ref="SLAB_NO"/>
  368. <col ref="SLAB_SIZE"/>
  369. <col ref="ORD_NO"/>
  370. <script type="javascript" ev:event="xforms-select">
  371. <![CDATA[
  372. onSelect("datagrid3");
  373. ]]>
  374. </script>
  375. <script type="javascript" ev:event="xforms-deselect">
  376. <![CDATA[
  377. deSelect("datagrid3");
  378. ]]>
  379. </script>
  380. </datagrid>
  381. <datagrid id="datagrid4" nodeset="/root/gridData/grid2/SearchRepChargeResult_VO/SearchRepChargeResult_Row" caption="选择^炉次号^钢种^去向" colsep="^" colwidth="35, 85, 100, 84" defaultrows="6" mergecellsfixedrows="bycolrec" rowsep="|" style="left:360px; top:35px; width:310px; height:128px; ">
  382. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  383. <col ref="CHARGE_NO"/>
  384. <col ref="STL_GRD"/>
  385. <col disabled="true" ref="SLAB_RT" type="combo">
  386. <choices>
  387. <item>
  388. <label>中板厂</label>
  389. <value>Z</value>
  390. </item>
  391. <item>
  392. <label>厚板厂</label>
  393. <value>P</value>
  394. </item>
  395. <item>
  396. <label>热轧厂</label>
  397. <value>H</value>
  398. </item>
  399. </choices>
  400. </col>
  401. <script type="javascript" ev:event="xforms-select">
  402. <![CDATA[
  403. onSelect("datagrid4");
  404. ]]>
  405. </script>
  406. </datagrid>
  407. <button id="button1" style="left:329px; top:265px; width:30px; height:30px; background-image:../../images/left.gif; ">
  408. <caption/>
  409. <script type="javascript" ev:event="onclick">
  410. <![CDATA[
  411. onLftClick();
  412. ]]>
  413. </script>
  414. </button>
  415. <button id="button2" style="left:330px; top:330px; width:35px; height:30px; background-image:../../images/right.gif; ">
  416. <caption/>
  417. <script type="javascript" ev:event="onclick">
  418. <![CDATA[
  419. onRtClick();
  420. ]]>
  421. </script>
  422. </button>
  423. <datagrid id="datagrid2" nodeset="/root/gridData/grid4/SearchNxtCharge_VO/SearchNxtCharge_Row" caption="选择^板坯号^规格^订单" colsep="^" colwidth="35, 85, 100, 88" defaultrows="10" mergecellsfixedrows="bycolrec" rowsep="|" style="left:360px; top:180px; width:310px; height:212px; ">
  424. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  425. <col ref="SLAB_NO"/>
  426. <col ref="SLAB_SIZE"/>
  427. <col ref="ORD_NO"/>
  428. <script type="javascript" ev:event="xforms-select">
  429. <![CDATA[
  430. onSelect("datagrid2");
  431. ]]>
  432. </script>
  433. <script type="javascript" ev:event="xforms-deselect">
  434. <![CDATA[
  435. deSelect("datagrid2");
  436. ]]>
  437. </script>
  438. </datagrid>
  439. </xhtml:body>
  440. </xhtml:html>