UIG040010.xrw 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036
  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[炼钢作业 >> 板坯库管理 >> 板坯堆放管理(UIG040010)]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <searchData>
  12. <FROM_YARD_CLF_LN/>
  13. <TO_YARD_CLF_LN/>
  14. <FROM_YARD_ADDR/>
  15. <TO_YARD_ADDR/>
  16. <SLAB_NO/>
  17. </searchData>
  18. <formData>
  19. <FROM_YARD_ADDR/>
  20. </formData>
  21. <gridData>
  22. <fromGrid/>
  23. <toGrid/>
  24. </gridData>
  25. <resData/>
  26. <reqData/>
  27. <initData>
  28. <FROM_YARD_ADDR/>
  29. <TO_YARD_ADDR/>
  30. <YARD_CLF_LN/>
  31. </initData>
  32. <tempData/>
  33. </root>
  34. </instance>
  35. <script type="javascript" ev:event="xforms-ready">
  36. <![CDATA[
  37. /*
  38. *初始化炉次号,工序下来框
  39. */
  40. model.removenode("/root/reqData");
  41. model.makeNode("/root/reqData");
  42. commSubmit("UIG040010-service","success","glueAction.do");
  43. commAppendData("/root/initData/YARD_CLF_LN/FIRST_INIT_RESULT_VO","/root/resData/FIRST_INIT_RESULT_VO");
  44. model.refresh();
  45. ]]>
  46. </script>
  47. </model>
  48. <script type="javascript" src="../../js/boaCommon.js"/>
  49. <script type="javascript" src="../../js/boaMsg.js"/>
  50. <script type="javascript">
  51. <![CDATA[
  52. // 记录datagrid1,datagrid2中CHK选中的行,都只能有一行
  53. var SELECTED_ROW1 = "";
  54. var SELECTED_ROW2 = "";
  55. /**
  56. * 查询操作
  57. */
  58. function find()
  59. {
  60. if(model.getValue("/root/searchData/FROM_YARD_ADDR") == "")
  61. {
  62. alert(" 板坯库地址不能为空!");
  63. return;
  64. }
  65. else if((model.getValue("/root/searchData/TO_YARD_ADDR") !="") && (model.getValue("/root/searchData/FROM_YARD_ADDR") == model.getValue("/root/searchData/TO_YARD_ADDR")))
  66. {
  67. alert("地址不能重复!");
  68. return;
  69. }
  70. else
  71. {
  72. commSendReq("/root/searchData");
  73. commSubmit("UIG040010-service","find","glueAction.do");
  74. // 将查询结果Apped到datagrid上
  75. commAppendData("/root/gridData/fromGrid/FromAddrResult_VO","/root/resData/FromAddrResult_VO");
  76. commAppendData("/root/gridData/toGrid/ToAddrResult_VO","/root/resData/ToAddrResult_VO");
  77. model.refresh();
  78. }
  79. }
  80. /**
  81. *录入操作
  82. */
  83. function save()
  84. {
  85. model.removenode("/root/reqData");
  86. var grid1Rows = datagrid1.rows - datagrid1.fixedRows;
  87. for(var i = datagrid1.fixedRows ; i < (grid1Rows + datagrid1.fixedRows) ; i++){
  88. datagrid1.rowStatus(i) = 2;
  89. }
  90. var grid2Rows = datagrid2.rows - datagrid2.fixedRows;
  91. for(var i = datagrid2.fixedRows ; i < (grid2Rows + datagrid2.fixedRows) ; i++){
  92. datagrid2.rowStatus(i) = 2;
  93. }
  94. commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts1");
  95. commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
  96. commSubmit("UIG040010-service","save","glueAction.do");
  97. alert("操作成功!");
  98. }
  99. function leftMove()
  100. {
  101. /**
  102. * 向左移动板坯操作
  103. */
  104. // 获取datagrid1,datagrid2表的行数
  105. var nodeSets = datagrid1.nodeset;
  106. var nodeSets2 = datagrid2.nodeset;
  107. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  108. var nodeCnt2 = parseInt(model.getXPathValue("count(" + nodeSets2 + ")"));
  109. var temp = 0;
  110. for(var i = 2;i<=(nodeCnt2+1);i++)
  111. {
  112. var chk = datagrid2.valueMatrix(i,datagrid2.colRef("CHK"));
  113. // 如果行状态CHK==Y
  114. if(chk == "Y")
  115. {
  116. // 获取datagrid2中当前行的板坯详细信息,用来在datagrid1中赋值
  117. var fromStoreLay = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_STORELAY");
  118. var fromSlabNo = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_NO");
  119. var fromSlabThk = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_THK");
  120. var fromSlabWth = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_WTH");
  121. var fromSlabLen = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_LEN");
  122. var fromSlabWgt = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_WGT");
  123. var fromRhfSchYn = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_RHF_SCH_YN");
  124. var fromStlGrd = instance1.selectSingleNode(nodeSets2 + "[" + (i-1) + "]/TO_STL_GRD");
  125. var slabNo = fromSlabNo.value;
  126. var slabThk = fromSlabThk.value;
  127. var slabWth = fromSlabWth.value;
  128. var slabLen = fromSlabLen.value;
  129. var slabWgt = fromSlabWgt.value;
  130. var rhfSchYn = fromRhfSchYn.value;
  131. var stlGrd = fromStlGrd.value;
  132. if(slabNo == "")
  133. {
  134. window.alert("没有此板坯,不能移动!","错误",0|32);
  135. // 取消CHK选中状态,常量行数
  136. for(var m = 2;m<=nodeCnt;m++)
  137. {
  138. datagrid2.valueMatrix(m, datagrid2.colRef("CHK"))="N";
  139. }
  140. datagrid2.rebuildStyle();
  141. SELECTED_ROW2 = "";
  142. return;
  143. }
  144. /*
  145. *在datagrid1中从最底行开始判断,如果当前行的slabN0为空的话,则说明这块尚没堆放板坯,可以将从datagrid2获取的一块
  146. *板坯的信息插入到此,如果slabNo不为空,则说明已经堆放板坯,则继续上一行的判断
  147. */
  148. for(var j = nodeCnt;j >= 1;j--)
  149. {
  150. var toSlabNo = instance1.selectSingleNode(nodeSets + "[" + j + "]/FROM_SLAB_NO");
  151. datagrid1.rowStyle(j+1, "data", "background-color") = "#ffffff";
  152. datagrid1.valueMatrix(j+1,datagrid1.colRef("CHK")) = "N";
  153. if(toSlabNo.value =="")
  154. {
  155. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_NO",slabNo);
  156. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_THK",slabThk);
  157. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WTH",slabWth);
  158. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_LEN",slabLen);
  159. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WGT",slabWgt);
  160. model.setValue(nodeSets + "[" + j + "]/FROM_RHF_SCH_YN",rhfSchYn);
  161. model.setValue(nodeSets + "[" + j + "]/FROM_STL_GRD",stlGrd);
  162. // 移动到新板坯位置进行状态标记 注意(j+1 = datagrid2.row)
  163. datagrid1.rowStyle(j+1, "data", "background-color") = "#FFF000";
  164. datagrid1.valueMatrix(j+1,datagrid1.colRef("CHK")) = "Y";
  165. SELECTED_ROW1 = j+1;
  166. // 移动板坯后,from_slab_yard中对应块的板坯记录值为空
  167. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_NO","");
  168. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_THK","");
  169. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_WTH","");
  170. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_LEN","");
  171. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_SLAB_WGT","");
  172. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_RHF_SCH_YN","");
  173. model.setValue(nodeSets2 + "[" + (i-1) + "]/TO_STL_GRD","");
  174. break;
  175. }
  176. // 如果第当前要修改的行为datagrid1的第一行,且此行已经有板坯信息,则说明datagrid1中已经放满,不能在右移
  177. else if(j == 1&&toSlabNo.value != "")
  178. {
  179. window.alert("满了 ,放不下了!","提醒",0|32);
  180. // 取消CHK选中状态
  181. for(var m = 2;m<=nodeCnt+1;m++)
  182. {
  183. datagrid2.valueMatrix(m, datagrid2.colRef("CHK"))="N";
  184. }
  185. SELECTED_ROW1 = "";
  186. datagrid2.rebuildStyle();
  187. // datagrid2已经放满,datagrid1中的数据不能再向右移,所以datagrid1的for循环条件i设为false
  188. i = nodeCnt+2;
  189. break;
  190. }
  191. }
  192. }
  193. else
  194. {
  195. temp = temp + 1;
  196. }
  197. }
  198. if(temp == nodeCnt)
  199. {
  200. window.alert("还没有选中的板坯","错误",0|32);
  201. }
  202. // 取消CHK选中状态
  203. for(var m = 2;m<=nodeCnt+1;m++)
  204. {
  205. datagrid2.valueMatrix(m, datagrid1.colRef("CHK"))="N";
  206. }
  207. datagrid2.rebuildStyle();
  208. SELECTED_ROW2 = "";
  209. model.refresh();
  210. /*
  211. *fromSlabYard中的一些板坯移动到toSlabYard中以后,datagrid1中会空出一些块,按照块编号从小到大堆放原则,需把
  212. *上面的板坯下移
  213. */
  214. for(var j = nodeCnt2;j >= 2;j--)
  215. {
  216. // 首先从最底行找到第一行没有板坯记录的行
  217. var emptyRowSlabNo = instance1.selectSingleNode(nodeSets2 + "[" + (j) + "]/TO_SLAB_NO");
  218. if(emptyRowSlabNo.value == "")
  219. {
  220. for(var i = j-1;i >= 1;i--)
  221. {
  222. // 然后从第一行没有板坯记录的行的上一行开始查找第一行有板坯记录的行
  223. var dataRowSlabNo = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_NO");
  224. var slabNo = dataRowSlabNo.value;
  225. if(slabNo != "")
  226. {
  227. // 找到第一行有板坯记录的行,保存板坯详细信息,并删除此行记录
  228. var fromSlabNo = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_NO");
  229. var fromSlabThk = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_THK");
  230. var fromSlabWth = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_WTH");
  231. var fromSlabLen = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_LEN");
  232. var fromSlabWgt = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_SLAB_WGT");
  233. var fromRhfSchYn = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_RHF_SCH_YN");
  234. var fromStlGrd = instance1.selectSingleNode(nodeSets2 + "[" + (i) + "]/TO_STL_GRD");
  235. var slabNo = fromSlabNo.value;
  236. var slabThk = fromSlabThk.value;
  237. var slabWth = fromSlabWth.value;
  238. var slabLen = fromSlabLen.value;
  239. var slabWgt = fromSlabWgt.value;
  240. var rhfSchYn = fromRhfSchYn.value;
  241. var stlGrd = fromStlGrd.value;
  242. // 将上面保存的板坯信息插入到第一条没有板坯记录的行
  243. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_NO",slabNo);
  244. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_THK",slabThk);
  245. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_WTH",slabWth);
  246. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_LEN",slabLen);
  247. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_WGT",slabWgt);
  248. model.setValue(nodeSets2 + "[" + j + "]/TO_RHF_SCH_YN",rhfSchYn);
  249. model.setValue(nodeSets2 + "[" + j + "]/TO_STL_GRD",stlGrd);
  250. model.setValue(nodeSets2 + "[" + (i) + "]/TO_SLAB_NO","");
  251. model.setValue(nodeSets2 + "[" + (i) + "]/TO_SLAB_THK","");
  252. model.setValue(nodeSets2 + "[" + (i) + "]/TO_SLAB_WTH","");
  253. model.setValue(nodeSets2 + "[" + (i) + "]/TO_SLAB_LEN","");
  254. model.setValue(nodeSets2 + "[" + (i) + "]/TO_SLAB_WGT","");
  255. model.setValue(nodeSets2 + "[" + (i) + "]/TO_RHF_SCH_YN","");
  256. model.setValue(nodeSets2 + "[" + (i) + "]/TO_STL_GRD","");
  257. break;
  258. }
  259. }
  260. }
  261. }
  262. model.refresh();
  263. }
  264. function rightMove()
  265. {
  266. /**
  267. * 向右移动板坯操作
  268. */
  269. var orlAddr = model.getValue("/root/searchData/FROM_YARD_ADDR");
  270. var desAddr = model.getValue("/root/searchData/TO_YARD_ADDR");
  271. if((orlAddr.substr(0,1) == "Z" && desAddr.substr(0,1) == "L") || (orlAddr.substr(0,1) == "L" && desAddr.substr(0,1) == "Z")){
  272. alert("不能跨库区移动坯料!");
  273. return;
  274. }
  275. // 获取datagrid1,datagrid2表的行数
  276. var nodeSets = datagrid1.nodeset;
  277. var nodeSets2 = datagrid2.nodeset;
  278. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  279. var nodeCnt2 = parseInt(model.getXPathValue("count(" + nodeSets2 + ")"));
  280. var temp = 0;
  281. for(var i = 2;i<=(nodeCnt+1);i++)
  282. {
  283. var chk = datagrid1.valueMatrix(i,datagrid1.colRef("CHK"));
  284. // 如果行状态CHK==Y
  285. if(chk == "Y")
  286. {
  287. // 获取datagrid1中当前行的板坯详细信息,用来在datagrid2中赋值
  288. var fromStoreLay = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_STORELAY");
  289. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_NO");
  290. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_THK");
  291. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WTH");
  292. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_LEN");
  293. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WGT");
  294. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_RHF_SCH_YN");
  295. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_STL_GRD");
  296. var slabNo = fromSlabNo.value;
  297. var slabThk = fromSlabThk.value;
  298. var slabWth = fromSlabWth.value;
  299. var slabLen = fromSlabLen.value;
  300. var slabWgt = fromSlabWgt.value;
  301. var rhfSchYn = fromRhfSchYn.value;
  302. var stlGrd = fromStlGrd.value;
  303. if(slabNo == "")
  304. {
  305. window.alert("没有此板坯,不能移动!","错误",0|32);
  306. // 取消CHK选中状态,常量行数
  307. for(var m = 2;m<=nodeCnt;m++)
  308. {
  309. datagrid1.valueMatrix(m, datagrid1.colRef("CHK"))="N";
  310. }
  311. datagrid1.rebuildStyle();
  312. SELECTED_ROW1 = "";
  313. return;
  314. }
  315. /*
  316. *在datagrid2中从最底行开始判断,如果当前行的slabN0为空的话,则说明这块尚没堆放板坯,可以将从datagrid1获取的一块
  317. *板坯的信息插入到此,如果slabNo不为空,则说明已经堆放板坯,则继续上一行的判断
  318. */
  319. for(var j = nodeCnt2;j >= 1;j--)
  320. {
  321. var toSlabNo = instance1.selectSingleNode(nodeSets2 + "[" + j + "]/TO_SLAB_NO");
  322. // 连续两次右移板坯的话,清除上一次移动标识的板坯状态
  323. datagrid2.rowStyle(j+1, "data", "background-color") = "#ffffff";
  324. datagrid2.valueMatrix(j+1,datagrid2.colRef("CHK")) = "N";
  325. if(toSlabNo.value =="")
  326. {
  327. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_NO",slabNo);
  328. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_THK",slabThk);
  329. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_WTH",slabWth);
  330. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_LEN",slabLen);
  331. model.setValue(nodeSets2 + "[" + j + "]/TO_SLAB_WGT",slabWgt);
  332. model.setValue(nodeSets2 + "[" + j + "]/TO_RHF_SCH_YN",rhfSchYn);
  333. model.setValue(nodeSets2 + "[" + j + "]/TO_STL_GRD",stlGrd);
  334. // 移动到新板坯位置进行状态标记 注意(j+1 = datagrid2.row)
  335. datagrid2.rowStyle(j+1, "data", "background-color") = "#FFF000";
  336. datagrid2.valueMatrix(j+1,datagrid2.colRef("CHK")) = "Y";
  337. SELECTED_ROW2 = j+1;
  338. // 移动板坯后,from_slab_yard中对应块的板坯记录值为空
  339. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_NO","");
  340. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_THK","");
  341. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WTH","");
  342. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_LEN","");
  343. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WGT","");
  344. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_RHF_SCH_YN","");
  345. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_STL_GRD","");
  346. break;
  347. }
  348. // 如果第当前要修改的行为datagrid2的第一行,且此行已经有板坯信息,则说明datagrid2中已经放满,不能在右移
  349. else if(j == 1&&toSlabNo.value != "")
  350. {
  351. window.alert("满了 ,放不下了!","提醒",0|32);
  352. // 取消CHK选中状态
  353. for(var m = 2;m<=nodeCnt+1;m++)
  354. {
  355. datagrid1.valueMatrix(m, datagrid1.colRef("CHK"))="N";
  356. }
  357. SELECTED_ROW1 = "";
  358. datagrid1.rebuildStyle();
  359. // datagrid2已经放满,datagrid1中的数据不能再向右移,所以datagrid1的for循环条件i设为false
  360. i = nodeCnt+2;
  361. break;
  362. }
  363. }
  364. }
  365. else
  366. {
  367. temp = temp + 1;
  368. }
  369. }
  370. if(temp == nodeCnt)
  371. {
  372. window.alert("还没有选中的板坯","错误",0|32);
  373. }
  374. // 取消CHK选中状态
  375. for(var m = 2;m<=nodeCnt+1;m++)
  376. {
  377. datagrid1.valueMatrix(m, datagrid1.colRef("CHK"))="N";
  378. }
  379. datagrid1.rebuildStyle();
  380. SELECTED_ROW1 = "";
  381. model.refresh();
  382. /*
  383. *fromSlabYard中的一些板坯移动到toSlabYard中以后,datagrid1中会空出一些块,按照块编号从小到大堆放原则,需把
  384. *上面的板坯下移
  385. */
  386. for(var j = nodeCnt;j >= 2;j--)
  387. {
  388. // 首先从最底行找到第一行没有板坯记录的行
  389. var emptyRowSlabNo = instance1.selectSingleNode(nodeSets + "[" + (j) + "]/FROM_SLAB_NO");
  390. if(emptyRowSlabNo.value == "")
  391. {
  392. for(var i = j-1;i >= 1;i--)
  393. {
  394. // 然后从第一行没有板坯记录的行的上一行开始查找第一行有板坯记录的行
  395. var dataRowSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  396. var slabNo = dataRowSlabNo.value;
  397. if(slabNo != "")
  398. {
  399. // 找到第一行有板坯记录的行,保存板坯详细信息,并删除此行记录
  400. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  401. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_THK");
  402. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH");
  403. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN");
  404. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT");
  405. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN");
  406. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_STL_GRD");
  407. var slabNo = fromSlabNo.value;
  408. var slabThk = fromSlabThk.value;
  409. var slabWth = fromSlabWth.value;
  410. var slabLen = fromSlabLen.value;
  411. var slabWgt = fromSlabWgt.value;
  412. var rhfSchYn = fromRhfSchYn.value;
  413. var stlGrd = fromStlGrd.value;
  414. // 将上面保存的板坯信息插入到第一条没有板坯记录的行
  415. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_NO",slabNo);
  416. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_THK",slabThk);
  417. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WTH",slabWth);
  418. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_LEN",slabLen);
  419. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WGT",slabWgt);
  420. model.setValue(nodeSets + "[" + j + "]/FROM_RHF_SCH_YN",rhfSchYn);
  421. model.setValue(nodeSets + "[" + j + "]/FROM_STL_GRD",stlGrd);
  422. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_NO","");
  423. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_THK","");
  424. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH","");
  425. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN","");
  426. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT","");
  427. model.setValue(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN","");
  428. model.setValue(nodeSets + "[" + (i) + "]/FROM_STL_GRD","");
  429. break;
  430. }
  431. }
  432. }
  433. }
  434. model.refresh();
  435. }
  436. function call_left_UIG040044()
  437. {
  438. //model1.setValue("/root/tempData", yardAddr);
  439. //window.load("UIG040027.xrw","modal","", "left:228; top:78; width:980; height:660; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  440. //datagrid1.valueMatrix(row, datagrid1.colRef("TO_YARD")) = model1.getValue("/root/tempData");
  441. var fromAddr = model1.getValue("/root/formData/FROM_YARD_ADDR");
  442. model1.setValue("/root/tempData",fromAddr);
  443. window.load("UIG040027.xrw","modal","", "left:228; top:78; width:980; height:660; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  444. model1.setValue("/root/searchData/FROM_YARD_ADDR",model1.getValue("/root/tempData"));
  445. model1.removenode("/root/tempData");
  446. model1.makeNode("/root/tempData");
  447. input2.refresh();
  448. }
  449. function call_righ_UIG040044()
  450. {
  451. window.load("UIG040027.xrw","modal","", "left:600; top:78; width:980; height:660; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  452. model1.setValue("/root/searchData/TO_YARD_ADDR",model1.getValue("/root/tempData"));
  453. model1.removenode("/root/tempData");
  454. model1.makeNode("/root/tempData");
  455. input3.refresh();
  456. }
  457. function resetStorelay(){
  458. var nodeSets = datagrid1.nodeset;
  459. var nodeSets2 = datagrid2.nodeset;
  460. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  461. var nodeCnt2 = parseInt(model.getXPathValue("count(" + nodeSets2 + ")"));
  462. for(var j = nodeCnt;j >= 2;j--)
  463. {
  464. // 首先从最底行找到第一行没有板坯记录的行
  465. var emptyRowSlabNo = instance1.selectSingleNode(nodeSets + "[" + (j) + "]/FROM_SLAB_NO");
  466. if(emptyRowSlabNo.value == "")
  467. {
  468. for(var i = j-1;i >= 1;i--)
  469. {
  470. // 然后从第一行没有板坯记录的行的上一行开始查找第一行有板坯记录的行
  471. var dataRowSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  472. var slabNo = dataRowSlabNo.value;
  473. if(slabNo != "")
  474. {
  475. // 找到第一行有板坯记录的行,保存板坯详细信息,并删除此行记录
  476. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  477. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_THK");
  478. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH");
  479. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN");
  480. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT");
  481. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN");
  482. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_STL_GRD");
  483. var slabNo = fromSlabNo.value;
  484. var slabThk = fromSlabThk.value;
  485. var slabWth = fromSlabWth.value;
  486. var slabLen = fromSlabLen.value;
  487. var slabWgt = fromSlabWgt.value;
  488. var rhfSchYn = fromRhfSchYn.value;
  489. var stlGrd = fromStlGrd.value;
  490. // 将上面保存的板坯信息插入到第一条没有板坯记录的行
  491. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_NO",slabNo);
  492. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_THK",slabThk);
  493. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WTH",slabWth);
  494. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_LEN",slabLen);
  495. model.setValue(nodeSets + "[" + j + "]/FROM_SLAB_WGT",slabWgt);
  496. model.setValue(nodeSets + "[" + j + "]/FROM_RHF_SCH_YN",rhfSchYn);
  497. model.setValue(nodeSets + "[" + j + "]/FROM_STL_GRD",stlGrd);
  498. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_NO","");
  499. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_THK","");
  500. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH","");
  501. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN","");
  502. model.setValue(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT","");
  503. model.setValue(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN","");
  504. model.setValue(nodeSets + "[" + (i) + "]/FROM_STL_GRD","");
  505. break;
  506. }
  507. }
  508. }
  509. }
  510. }
  511. ]]>
  512. </script>
  513. </xhtml:head>
  514. <xhtml:body guideline="1,980;2,615;" style="font-family:宋体; ">
  515. <datagrid id="datagrid1" nodeset="/root/gridData/fromGrid/FromAddrResult_VO/FromAddrResult_Row" allowuserresize="false" caption="选择^块^板坯号^板坯规格^板坯规格^板坯规格^板坯规格^装炉指示区分^钢码^堆放位置|选择^块^板坯号^厚度^宽度^长度^重量^装炉指示区分^钢码^堆放位置" colsep="^" colwidth="30, 40, 90, 40, 40, 40, 40, 50, 50, 100" defaultrows="20" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:60px; width:425px; height:535px; border-color:#000000; ">
  516. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  517. <col ref="FROM_STORELAY"/>
  518. <col ref="FROM_SLAB_NO"/>
  519. <col ref="FROM_SLAB_THK"/>
  520. <col ref="FROM_SLAB_WTH"/>
  521. <col ref="FROM_SLAB_LEN"/>
  522. <col ref="FROM_SLAB_WGT"/>
  523. <col ref="FROM_RHF_SCH_YN"/>
  524. <col ref="FROM_STL_GRD"/>
  525. <col ref="FROM_YARD_ADDR" visibility="hidden"/>
  526. <script type="javascript" ev:event="xforms-select">
  527. <![CDATA[
  528. // 控制不能选择板坯为空的位置
  529. if(datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("FROM_SLAB_NO")) == "")
  530. {
  531. datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("CHK")) = "N";
  532. alert(" 板坯为空 ");
  533. return;
  534. }
  535. // 控制只能选择一块板坯
  536. if(SELECTED_ROW1 != "")
  537. {
  538. datagrid1.valueMatrix(SELECTED_ROW1,datagrid1.colRef("CHK")) = "N";
  539. datagrid1.rowStyle(SELECTED_ROW1, "data", "background-color") = "#ffffff";
  540. }
  541. // 选中一个位置时,获取其地址同时为选中行标识状态
  542. SELECTED_ROW1 = datagrid1.row;
  543. datagrid1.rowstyle(datagrid1.row, "data", "background-color") = "#FFF000";
  544. ]]>
  545. </script>
  546. <script type="javascript" ev:event="xforms-deselect">
  547. <![CDATA[
  548. SELECTED_ROW1 = "";
  549. datagrid1.rowstyle(datagrid1.row, "data", "background-color") = "#ffffff";
  550. ]]>
  551. </script>
  552. </datagrid>
  553. <caption id="caption5" class="cell" style="left:0px; top:35px; width:100px; height:20px; border-color:#000000; ">原堆放位置</caption>
  554. <caption id="caption8" class="cell" style="left:553px; top:36px; width:100px; height:20px; border-color:#000000; ">目的堆放位置</caption>
  555. <datagrid id="datagrid2" nodeset="/root/gridData/toGrid/ToAddrResult_VO/ToAddrResult_Row" allowuserresize="false" caption="选择^块^板坯号^板坯规格^板坯规格^板坯规格^板坯规格^装炉指示区分^钢码^堆放位置|选择^块^板坯号^厚度^宽度^长度^重量^装炉指示区分^钢码^堆放位置" colsep="^" colwidth="30, 40, 90, 40, 40, 40, 40, 50, 50, 100" defaultrows="20" mergecellsfixedrows="bycolrec" rowsep="|" style="left:553px; top:61px; width:425px; height:534px; border-color:#000000; ">
  556. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  557. <col ref="TO_STORELAY"/>
  558. <col ref="TO_SLAB_NO"/>
  559. <col ref="TO_SLAB_THK"/>
  560. <col ref="TO_SLAB_WTH"/>
  561. <col ref="TO_SLAB_LEN"/>
  562. <col ref="TO_SLAB_WGT"/>
  563. <col ref="TO_RHF_SCH_YN"/>
  564. <col ref="TO_STL_GRD"/>
  565. <col ref="TO_YARD_ADDR" visibility="hidden"/>
  566. <script type="javascript" ev:event="xforms-select">
  567. <![CDATA[
  568. // 控制不能选择板坯为空的位置
  569. if(datagrid2.valueMatrix(datagrid2.row,datagrid2.colRef("TO_SLAB_NO")) == "")
  570. {
  571. datagrid2.valueMatrix(datagrid2.row,datagrid2.colRef("CHK")) = "N";
  572. alert(" 板坯为空 ");
  573. return;
  574. }
  575. // 控制只能选择一块板坯
  576. if(SELECTED_ROW2 != "")
  577. {
  578. datagrid2.valueMatrix(SELECTED_ROW2,datagrid2.colRef("CHK")) = "N";
  579. datagrid2.rowStyle(SELECTED_ROW2, "data", "background-color") = "#ffffff";
  580. }
  581. // 选择一个位置,获得该位置的值,同时修改标识状态
  582. SELECTED_ROW2 = datagrid2.row;
  583. datagrid2.rowstyle(datagrid2.row, "data", "background-color") = "#FFF000";
  584. ]]>
  585. </script>
  586. <script type="javascript" ev:event="xforms-deselect">
  587. <![CDATA[
  588. SELECTED_ROW2 = "";
  589. datagrid2.rowstyle(datagrid2.row, "data", "background-color") = "#ffffff";
  590. ]]>
  591. </script>
  592. </datagrid>
  593. <button id="button4" style="left:469px; top:210px; width:30px; height:30px; background-image:../../images/right.gif; ">
  594. <caption/>
  595. <script type="javascript" ev:event="DOMActivate">
  596. <![CDATA[
  597. rightMove();
  598. ]]>
  599. </script>
  600. </button>
  601. <button id="button5" style="left:430px; top:340px; width:30px; height:30px; background-image:../../images/down.gif; ">
  602. <caption/>
  603. <script type="javascript" ev:event="DOMActivate">
  604. <![CDATA[
  605. /**
  606. * datagrid1向上移动板坯操作
  607. */
  608. // 获取datagrid1,datagrid2表的行数
  609. var nodeSets = datagrid1.nodeset;
  610. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  611. for(var i = nodeCnt;i>1;i--)
  612. {
  613. var chk = datagrid1.valueMatrix((i+1),datagrid1.colRef("CHK"));
  614. // 如果行状态CHK==Y
  615. if(chk == "Y")
  616. {
  617. var toSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_NO");
  618. if(toSlabNo.value == "")
  619. {
  620. window.alert("已经到最顶层,不能再移动","警告",0|32);
  621. return;
  622. }
  623. var toSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_THK");
  624. var toSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WTH");
  625. var toSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_LEN");
  626. var toSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WGT");
  627. var toRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_RHF_SCH_YN");
  628. var toStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/FROM_STL_GRD");
  629. var tempSlabNo = toSlabNo.value;
  630. var tempSlabThk = toSlabThk.value;
  631. var tempSlabWth = toSlabWth.value;
  632. var tempSlabLen = toSlabLen.value;
  633. var tempSlabWgt = toSlabWgt.value;
  634. var tempRhfSchYn = toRhfSchYn.value;
  635. var tempStlGrd = toStlGrd.value;
  636. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  637. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_THK");
  638. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH");
  639. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN");
  640. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT");
  641. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN");
  642. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_STL_GRD");
  643. var slabNo = fromSlabNo.value;
  644. var slabThk = fromSlabThk.value;
  645. var slabWth = fromSlabWth.value;
  646. var slabLen = fromSlabLen.value;
  647. var slabWgt = fromSlabWgt.value;
  648. var rhfSchYn = fromRhfSchYn.value;
  649. var stlGrd = fromStlGrd.value;
  650. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_NO",tempSlabNo);
  651. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_THK",tempSlabThk);
  652. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_WTH",tempSlabWth);
  653. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_LEN",tempSlabLen);
  654. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_WGT",tempSlabWgt);
  655. model.setValue(nodeSets + "[" + i + "]/FROM_RHF_SCH_YN",tempRhfSchYn);
  656. model.setValue(nodeSets + "[" + i + "]/FROM_STL_GRD",tempStlGrd);
  657. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_NO",slabNo);
  658. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_THK",slabThk);
  659. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WTH",slabWth);
  660. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_LEN",slabLen);
  661. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_SLAB_WGT",slabWgt);
  662. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_RHF_SCH_YN",rhfSchYn);
  663. model.setValue(nodeSets + "[" + (i-1) + "]/FROM_STL_GRD",stlGrd);
  664. // 往上移动一行,相应的行CHK选择状态相应变化
  665. datagrid1.valueMatrix(i, datagrid1.colRef("CHK"))="Y";
  666. datagrid1.valueMatrix((i+1), datagrid1.colRef("CHK"))="N";
  667. datagrid1.rowStyle(i,"data", "background-color") = "#FFF000";
  668. datagrid1.rowStyle(i+1,"data", "background-color") = "#ffffff";
  669. // 往上移动一行,选中行编号加一
  670. SELECTED_ROW1 = SELECTED_ROW1-1;
  671. model1.refresh();
  672. break;
  673. }
  674. }
  675. ]]>
  676. </script>
  677. </button>
  678. <button id="button6" style="left:430px; top:375px; width:30px; height:30px; background-image:../../images/up.gif; ">
  679. <caption/>
  680. <script type="javascript" ev:event="DOMActivate">
  681. <![CDATA[
  682. /**
  683. * datagrid1向下移动板坯操作
  684. */
  685. // 获取datagrid1,datagrid2表的行数
  686. var nodeSets = datagrid1.nodeset;
  687. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  688. for(var i = nodeCnt-1;i>=1;i--)
  689. {
  690. var chk = datagrid1.valueMatrix((i+1),datagrid1.colRef("CHK"));
  691. // 如果行状态CHK==Y
  692. if(chk == "Y")
  693. {
  694. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_NO");
  695. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_THK");
  696. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WTH");
  697. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_LEN");
  698. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_SLAB_WGT");
  699. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_RHF_SCH_YN");
  700. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/FROM_STL_GRD");
  701. var slabNo = fromSlabNo.value;
  702. var slabThk = fromSlabThk.value;
  703. var slabWth = fromSlabWth.value;
  704. var slabLen = fromSlabLen.value;
  705. var slabWgt = fromSlabWgt.value;
  706. var rhfSchYn = fromRhfSchYn.value;
  707. var stlGrd = fromStlGrd.value;
  708. var toSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_SLAB_NO");
  709. var toSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_SLAB_THK");
  710. var toSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_SLAB_WTH");
  711. var toSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_SLAB_LEN");
  712. var toSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_SLAB_WGT");
  713. var toRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_RHF_SCH_YN");
  714. var toStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/FROM_STL_GRD");
  715. var tempSlabNo = toSlabNo.value;
  716. var tempSlabThk = toSlabThk.value;
  717. var tempSlabWth = toSlabWth.value;
  718. var tempSlabLen = toSlabLen.value;
  719. var tempSlabWgt = toSlabWgt.value;
  720. var tempRhfSchYn = toRhfSchYn.value;
  721. var tempStlGrd = toStlGrd.value;
  722. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_NO",tempSlabNo);
  723. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_THK",tempSlabThk);
  724. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_WTH",tempSlabWth);
  725. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_LEN",tempSlabLen);
  726. model.setValue(nodeSets + "[" + i + "]/FROM_SLAB_WGT",tempSlabWgt);
  727. model.setValue(nodeSets + "[" + i + "]/FROM_RHF_SCH_YN",tempRhfSchYn);
  728. model.setValue(nodeSets + "[" + i + "]/FROM_STL_GRD",tempStlGrd);
  729. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_SLAB_NO",slabNo);
  730. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_SLAB_THK",slabThk);
  731. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_SLAB_WTH",slabWth);
  732. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_SLAB_LEN",slabLen);
  733. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_SLAB_WGT",slabWgt);
  734. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_RHF_SCH_YN",rhfSchYn);
  735. model.setValue(nodeSets + "[" + (i+1) + "]/FROM_STL_GRD",stlGrd);
  736. // 往上移动一行,相应的行CHK选择状态相应变化
  737. datagrid1.valueMatrix(i+2, datagrid1.colRef("CHK"))="Y";
  738. datagrid1.valueMatrix((i+1), datagrid1.colRef("CHK"))="N";
  739. datagrid1.rowStyle(i+2,"data", "background-color") = "#FFF000";
  740. datagrid1.rowStyle(i+1,"data", "background-color") = "#ffffff";
  741. // 往下移动一行,选中行编号减一
  742. SELECTED_ROW1 = SELECTED_ROW1 + 1;
  743. break;
  744. }
  745. }
  746. ]]>
  747. </script>
  748. </button>
  749. <button id="button7" style="left:508px; top:375px; width:30px; height:30px; background-image:../../images/up.gif; ">
  750. <caption/>
  751. <script type="javascript" ev:event="DOMActivate">
  752. <![CDATA[
  753. /**
  754. * datagrid2向下移动板坯操作
  755. */
  756. // 获取datagrid1,datagrid2表的行数
  757. var nodeSets = datagrid2.nodeset;
  758. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  759. for(var i = nodeCnt-1;i>=1;i--)
  760. {
  761. var chk = datagrid2.valueMatrix((i+1),datagrid2.colRef("CHK"));
  762. // 如果行状态CHK==Y
  763. if(chk == "Y")
  764. {
  765. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_NO");
  766. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_THK");
  767. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_WTH");
  768. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_LEN");
  769. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_WGT");
  770. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_RHF_SCH_YN");
  771. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_STL_GRD");
  772. var slabNo = fromSlabNo.value;
  773. var slabThk = fromSlabThk.value;
  774. var slabWth = fromSlabWth.value;
  775. var slabLen = fromSlabLen.value;
  776. var slabWgt = fromSlabWgt.value;
  777. var rhfSchYn = fromRhfSchYn.value;
  778. var stlGrd = fromStlGrd.value;
  779. var toSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_SLAB_NO");
  780. var toSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_SLAB_THK");
  781. var toSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_SLAB_WTH");
  782. var toSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_SLAB_LEN");
  783. var toSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_SLAB_WGT");
  784. var toRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_RHF_SCH_YN");
  785. var toStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i+1) + "]/TO_STL_GRD");
  786. var tempSlabNo = toSlabNo.value;
  787. var tempSlabThk = toSlabThk.value;
  788. var tempSlabWth = toSlabWth.value;
  789. var tempSlabLen = toSlabLen.value;
  790. var tempSlabWgt = toSlabWgt.value;
  791. var tempRhfSchYn = toRhfSchYn.value;
  792. var tempStlGrd = toStlGrd.value;
  793. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_NO",tempSlabNo);
  794. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_THK",tempSlabThk);
  795. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_WTH",tempSlabWth);
  796. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_LEN",tempSlabLen);
  797. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_WGT",tempSlabWgt);
  798. model.setValue(nodeSets + "[" + i + "]/TO_RHF_SCH_YN",tempRhfSchYn);
  799. model.setValue(nodeSets + "[" + i + "]/TO_STL_GRD",tempStlGrd);
  800. model.setValue(nodeSets + "[" + (i+1) + "]/TO_SLAB_NO",slabNo);
  801. model.setValue(nodeSets + "[" + (i+1) + "]/TO_SLAB_THK",slabThk);
  802. model.setValue(nodeSets + "[" + (i+1) + "]/TO_SLAB_WTH",slabWth);
  803. model.setValue(nodeSets + "[" + (i+1) + "]/TO_SLAB_LEN",slabLen);
  804. model.setValue(nodeSets + "[" + (i+1) + "]/TO_SLAB_WGT",slabWgt);
  805. model.setValue(nodeSets + "[" + (i+1) + "]/TO_RHF_SCH_YN",rhfSchYn);
  806. model.setValue(nodeSets + "[" + (i+1) + "]/TO_STL_GRD",stlGrd);
  807. // 往上移动一行,相应的行CHK选择状态相应变化
  808. datagrid2.valueMatrix(i+2, datagrid2.colRef("CHK"))="Y";
  809. datagrid2.valueMatrix((i+1), datagrid2.colRef("CHK"))="N";
  810. datagrid2.rowStyle(i+2,"data", "background-color") = "#FFF000";
  811. datagrid2.rowStyle(i+1,"data", "background-color") = "#ffffff";
  812. // 往下移动一行,选中行编号减一
  813. SELECTED_ROW2 = SELECTED_ROW2 + 1;
  814. break;
  815. }
  816. }
  817. ]]>
  818. </script>
  819. </button>
  820. <button id="button8" style="left:508px; top:340px; width:30px; height:30px; background-image:../../images/down.gif; ">
  821. <caption/>
  822. <script type="javascript" ev:event="DOMActivate">
  823. <![CDATA[
  824. /**
  825. * datagrid2向上移动板坯操作
  826. */
  827. // 获取datagrid2,datagrid2表的行数
  828. var nodeSets = datagrid2.nodeset;
  829. var nodeCnt = parseInt(model.getXPathValue("count(" + nodeSets + ")"));
  830. for(var i = nodeCnt;i>1;i--)
  831. {
  832. var chk = datagrid2.valueMatrix((i+1),datagrid2.colRef("CHK"));
  833. // 如果行状态CHK==Y
  834. if(chk == "Y")
  835. {
  836. var toSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_SLAB_NO");
  837. if(toSlabNo.value == "")
  838. {
  839. window.alert("已经到最顶层,不能再移动","警告",0|32);
  840. return;
  841. }
  842. var toSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_SLAB_THK");
  843. var toSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_SLAB_WTH");
  844. var toSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_SLAB_LEN");
  845. var toSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_SLAB_WGT");
  846. var toRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_RHF_SCH_YN");
  847. var toStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i-1) + "]/TO_STL_GRD");
  848. var tempSlabNo = toSlabNo.value;
  849. var tempSlabThk = toSlabThk.value;
  850. var tempSlabWth = toSlabWth.value;
  851. var tempSlabLen = toSlabLen.value;
  852. var tempSlabWgt = toSlabWgt.value;
  853. var tempRhfSchYn = toRhfSchYn.value;
  854. var tempStlGrd = toStlGrd.value;
  855. var fromSlabNo = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_NO");
  856. var fromSlabThk = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_THK");
  857. var fromSlabWth = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_WTH");
  858. var fromSlabLen = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_LEN");
  859. var fromSlabWgt = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_SLAB_WGT");
  860. var fromRhfSchYn = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_RHF_SCH_YN");
  861. var fromStlGrd = instance1.selectSingleNode(nodeSets + "[" + (i) + "]/TO_STL_GRD");
  862. var slabNo = fromSlabNo.value;
  863. var slabThk = fromSlabThk.value;
  864. var slabWth = fromSlabWth.value;
  865. var slabLen = fromSlabLen.value;
  866. var slabWgt = fromSlabWgt.value;
  867. var rhfSchYn = fromRhfSchYn.value;
  868. var stlGrd = fromStlGrd.value;
  869. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_NO",tempSlabNo);
  870. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_THK",tempSlabThk);
  871. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_WTH",tempSlabWth);
  872. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_LEN",tempSlabLen);
  873. model.setValue(nodeSets + "[" + i + "]/TO_SLAB_WGT",tempSlabWgt);
  874. model.setValue(nodeSets + "[" + i + "]/TO_RHF_SCH_YN",tempRhfSchYn);
  875. model.setValue(nodeSets + "[" + i + "]/TO_STL_GRD",tempStlGrd);
  876. model.setValue(nodeSets + "[" + (i-1) + "]/TO_SLAB_NO",slabNo);
  877. model.setValue(nodeSets + "[" + (i-1) + "]/TO_SLAB_THK",slabThk);
  878. model.setValue(nodeSets + "[" + (i-1) + "]/TO_SLAB_WTH",slabWth);
  879. model.setValue(nodeSets + "[" + (i-1) + "]/TO_SLAB_LEN",slabLen);
  880. model.setValue(nodeSets + "[" + (i-1) + "]/TO_SLAB_WGT",slabWgt);
  881. model.setValue(nodeSets + "[" + (i-1) + "]/TO_RHF_SCH_YN",rhfSchYn);
  882. model.setValue(nodeSets + "[" + (i-1) + "]/TO_STL_GRD",stlGrd);
  883. // 往上移动一行,相应的行CHK选择状态相应变化
  884. datagrid2.valueMatrix(i, datagrid2.colRef("CHK"))="Y";
  885. datagrid2.valueMatrix((i+1), datagrid2.colRef("CHK"))="N";
  886. datagrid2.rowStyle(i,"data", "background-color") = "#FFF000";
  887. datagrid2.rowStyle(i+1,"data", "background-color") = "#ffffff";
  888. // 往上移动一行,选中行编号加一
  889. SELECTED_ROW2 = SELECTED_ROW2-1;
  890. model1.refresh();
  891. break;
  892. }
  893. }
  894. ]]>
  895. </script>
  896. </button>
  897. <caption id="caption1" class="cell" style="left:0px; top:5px; width:100px; height:20px; border-color:#000000; ">板坯号</caption>
  898. <input id="input1" ref="/root/searchData/SLAB_NO" style="left:102px; top:5px; width:110px; height:20px; border-color:#000000; ">
  899. <script type="javascript" ev:event="xforms-value-changed">
  900. <![CDATA[
  901. model.removenode("/root/reqData");
  902. model.makeNode("/root/reqData");
  903. model.makeValue("/root/reqData/SLAB_NO",model.getValue("/root/searchData/SLAB_NO"));
  904. commSubmit("UIG040010-service","slabselect","glueAction.do");
  905. var slabLoca = model.getValue("root/resData/SearchSlabNoResult_VO/SearchSlabNoResult_Row/YARD_ADDR");
  906. model.setValue("/root/searchData/FROM_YARD_ADDR",slabLoca);
  907. input2.refresh();
  908. ]]>
  909. </script>
  910. </input>
  911. <line id="line1" style="x1:2px; y1:0px; x2:982px; y2:0px; "/>
  912. <line id="line3" style="x1:0px; y1:30px; x2:980px; y2:30px; "/>
  913. <input id="input2" ref="/root/searchData/FROM_YARD_ADDR" style="left:102px; top:35px; width:110px; height:20px; ">
  914. <script type="javascript" ev:event="ondblclick">
  915. <![CDATA[
  916. call_left_UIG040044();
  917. ]]>
  918. </script>
  919. </input>
  920. <input id="input3" ref="/root/searchData/TO_YARD_ADDR" style="left:655px; top:36px; width:110px; height:20px; ">
  921. <script type="javascript" ev:event="ondblclick">
  922. <![CDATA[
  923. call_righ_UIG040044();
  924. ]]>
  925. </script>
  926. </input>
  927. <button id="button2" style="left:356px; top:38px; width:75px; height:20px; background-image:../../images/btn_exit.gif; ">
  928. <caption>重置</caption>
  929. <script type="javascript" ev:event="onclick">
  930. <![CDATA[
  931. resetStorelay();
  932. ]]>
  933. </script>
  934. </button>
  935. <script type="javascript" ev:event="onkeypress">
  936. <![CDATA[
  937. if(event.keyCode == 13){
  938. find();
  939. }
  940. ]]>
  941. </script>
  942. </xhtml:body>
  943. </xhtml:html>