UIH050020.xrw 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
  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[热轧作业>>钢卷库管理>>钢卷库行车指令制定(UIH050020)]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <formData>
  12. <FROM_ADDR1/>
  13. <FROM_ADDR2/>
  14. <FROM_ADDR3/>
  15. <PROD/>
  16. <TO_ADDR1/>
  17. <TO_ADDR2/>
  18. <CREAN_NO/>
  19. </formData>
  20. <comboxData>
  21. <FROM_ADDR>
  22. </FROM_ADDR>
  23. <TO_ADDR>
  24. </TO_ADDR>
  25. <CREAN_NO>
  26. <NO1>
  27. <item>
  28. <LABEL>3-7</LABEL>
  29. <VALUE>3-7</VALUE>
  30. </item>
  31. <item>
  32. <LABEL>3-8</LABEL>
  33. <VALUE>3-8</VALUE>
  34. </item>
  35. <item>
  36. <LABEL>3-9</LABEL>
  37. <VALUE>3-9</VALUE>
  38. </item>
  39. </NO1>
  40. <NO2>
  41. <item>
  42. <LABEL>3-4</LABEL>
  43. <VALUE>3-4</VALUE>
  44. </item>
  45. <item>
  46. <LABEL>3-5</LABEL>
  47. <VALUE>3-5</VALUE>
  48. </item>
  49. <item>
  50. <LABEL>3-6</LABEL>
  51. <VALUE>3-6</VALUE>
  52. </item>
  53. </NO2>
  54. <NO3>
  55. <item>
  56. <LABEL>3-1</LABEL>
  57. <VALUE>3-1</VALUE>
  58. </item>
  59. <item>
  60. <LABEL>3-2</LABEL>
  61. <VALUE>3-2</VALUE>
  62. </item>
  63. <item>
  64. <LABEL>3-3</LABEL>
  65. <VALUE>3-3</VALUE>
  66. </item>
  67. </NO3>
  68. <NO/>
  69. </CREAN_NO>
  70. <FROMADDR2/>
  71. <FROMADDR3/>
  72. <TOADDR2/>
  73. </comboxData>
  74. <gridData>
  75. <fromGridData/>
  76. <toGridData/>
  77. <craneOrderData/>
  78. </gridData>
  79. <reqData/>
  80. <resData/>
  81. <childPagesYardArr/>
  82. <desCoilAddr/>
  83. </root>
  84. </instance>
  85. </model>
  86. <script type="javascript" src="../../js/boaCommon.js"/>
  87. <script type="javascript">
  88. <![CDATA[
  89. //页面初始化的时候需要获取登录的相关用户信息
  90. function Init(node) {
  91. InitParams(node);
  92. }
  93. //调用公共的初始化方法获得登录用户名
  94. function InitParams(node) {
  95. if (typeof node == "undefined" && typeof node != "object") return;
  96. model.removenode("/root/initData/rcvInfo");
  97. model.makeNode("/root/initData/rcvInfo");
  98. var nodeList = node.childNodes;
  99. node = model.instances(0).selectSingleNode("/root/initData/rcvInfo");
  100. for (var i = 0; i < nodeList.length; i++)
  101. node.appendChild(nodeList.item(i));
  102. }
  103. function excelExport(){
  104. return datagrid3;
  105. }
  106. //选中钢卷的地址,钢卷号。具体有什么实际的作用
  107. var SELECTED_COIL_ADDR = "";
  108. var SELECTED_COIL_NO = "";
  109. //将要放置钢卷的列
  110. var DEST_COIL_COL_XPATH = "";
  111. //最后一次移动的钢卷的目地位置,钢卷号,XPATH
  112. var LAST_MOVED_COIL_ADDR = "";
  113. var LAST_MOVED_COIL_NO = "";
  114. var LAST_MOVED_XPATH = "";
  115. //清除节点下内容,包括子节点 或 值
  116. function clearNode(xPath){
  117. model1.removenode(xPath);
  118. model1.makeNode(xPath);
  119. }
  120. //目的放置位置的仓库跨选项值改变时 对应的修改行车编号
  121. //仓库每个跨分别对应三个不同的行车
  122. function toYardAddrrComboChange(){
  123. var selectTag = (model1.getValue("/root/formData/TO_ADDR1")).substr(1,1);
  124. //清除行车命令下拉选项,以重新赋值
  125. clearNode("/root/comboxData/CREAN_NO/NO");
  126. clearNode("/root/comboxData/TO_ADDR");
  127. //清空目的地堆放位置
  128. clearNode("/root/gridData/toGridData");
  129. //获得行车编号
  130. if(selectTag != 0){
  131. //根据所选择的跨 决定相应的行车编号
  132. model1.copyNode("/root/comboxData/CREAN_NO/NO","/root/comboxData/CREAN_NO/NO" + selectTag);
  133. }
  134. //获取仓库区分信息
  135. var TO_ADDR1 = model.getValue("/root/formData/TO_ADDR1");
  136. if(TO_ADDR1 == "B"){
  137. //辊道的情况
  138. clearNode("/root/reqData");
  139. clearNode("/root/comboxData/TOADDR2");
  140. //这里为了使用来源的查询库区方法,在comboxData下面新建一个接点FROM_ADDR1
  141. model.makeNode("/root/comboxData/FROM_ADDR1");
  142. model.setValue("/root/comboxData/FROM_ADDR1",TO_ADDR1);
  143. model.duplicate("/root/reqData","/root/comboxData/FROM_ADDR1");
  144. commSubmit("UIH050020-service","selectB2","glueAction.do");
  145. commAppendData("/root/comboxData/TOADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  146. model.refresh();
  147. }else if(TO_ADDR1 == "C0"){
  148. //这里先不考虑C0的情况,因为不太可能存在从库到运输链的情况(冷轧)
  149. //运输链的情况
  150. clearNode("/root/reqData");
  151. clearNode("/root/comboxData/TOADDR2");
  152. //这里为了使用来源的查询库区方法,在comboxData下面新建一个接点FROM_ADDR1
  153. model.makeNode("/root/comboxData/FROM_ADDR1");
  154. model.setValue("/root/comboxData/FROM_ADDR1",TO_ADDR1);
  155. model.duplicate("/root/reqData","/root/comboxData/FROM_ADDR1");
  156. commSubmit("UIH050020-service","selectC2","glueAction.do");
  157. commAppendData("/root/comboxData/TOADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  158. model.refresh();
  159. }else{
  160. //钢卷仓库的情况
  161. clearNode("/root/reqData");
  162. clearNode("/root/comboxData/TOADDR2");
  163. //这里为了使用来源的查询库区方法,在comboxData下面新建一个接点FROM_ADDR1
  164. model.makeNode("/root/comboxData/FROM_ADDR1");
  165. model.setValue("/root/comboxData/FROM_ADDR1",TO_ADDR1);
  166. model.duplicate("/root/reqData","/root/comboxData/FROM_ADDR1");
  167. commSubmit("UIH050020-service","selectC2","glueAction.do");
  168. commAppendData("/root/comboxData/TOADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  169. model.refresh();
  170. }
  171. }
  172. /*
  173. *查询操作
  174. */
  175. function find(){
  176. //选中的原钢卷地址
  177. //跨,区 ,行
  178. model1.removenode("/root/reqData");
  179. model1.makeNode("/root/reqData");
  180. model.removenode("/root/gridData/fromGridData");
  181. model.makeNode("/root/gridData/fromGridData");
  182. if(model1.getValue("/root/formData/FROM_ADDR1")=="B"){
  183. //B辊道的情况
  184. //选中的原钢卷地址
  185. var coilYardAddr = model1.getValue("/root/formData/FROM_ADDR1") + model1.getValue("/root/formData/FROM_ADDR2");
  186. model1.makeNode("/root/reqData/fromYardAddr");
  187. model1.setValue("/root/reqData/fromYardAddr",coilYardAddr);
  188. }else if(model1.getValue("/root/formData/FROM_ADDR1")=="C0"){
  189. //CO辊道的情况
  190. //选中的原钢卷地址
  191. var coilYardAddr = model1.getValue("/root/formData/FROM_ADDR1") + model1.getValue("/root/formData/FROM_ADDR2");
  192. model1.makeNode("/root/reqData/fromYardAddr");
  193. model1.setValue("/root/reqData/fromYardAddr",coilYardAddr);
  194. }else{
  195. //选中的原钢卷地址
  196. var coilYardAddr = model1.getValue("/root/formData/FROM_ADDR1") + model1.getValue("/root/formData/FROM_ADDR2") + model1.getValue("/root/formData/FROM_ADDR3");
  197. model1.makeNode("/root/reqData/fromYardAddr");
  198. model1.setValue("/root/reqData/fromYardAddr",coilYardAddr);
  199. }
  200. //产品代码
  201. var PRODNM_CD = model.getValue("/root/formData/PROD");
  202. model1.makeNode("/root/reqData/PROD");
  203. model1.setValue("/root/reqData/PROD",PRODNM_CD);
  204. //目的地钢卷地址,这里不考虑辊道的情况
  205. coilYardAddr = model1.getValue("/root/formData/TO_ADDR1") + model1.getValue("/root/formData/TO_ADDR2");
  206. model1.makeNode("/root/reqData/toYardAddr");
  207. model1.setValue("/root/reqData/toYardAddr",coilYardAddr);
  208. var node = instance1.selectSingleNode("/root/reqData");
  209. commSubmit("UIH050020-service","find","glueAction.do");
  210. commAppendData("/root/gridData/fromGridData/FromYardCoils_VO","/root/resData/FromYardCoils_VO");
  211. commAppendData("/root/gridData/craneOrderData/craneOrdeResultr_VO","/root/resData/craneOrdeResultr_VO");
  212. if(model1.getValue("/root/formData/TO_ADDR1") != "B" && model1.getValue("/root/formData/TO_ADDR1") != "C0")
  213. {
  214. commAppendData("/root/gridData/toGridData/ToYardCoils_VO","/root/resData/ToYardCoils_VO");
  215. }
  216. model1.refresh();
  217. }
  218. //选中要移动钢卷后 点击向下箭头 将钢卷地址赋给行车命令制定grid
  219. function downToCraneOrder(){
  220. SELECTED_COIL_ADDR = "";
  221. }
  222. ]]>
  223. </script>
  224. </xhtml:head>
  225. <xhtml:body>
  226. <caption id="caption1" class="cell" style="left:0px; top:3px; width:90px; height:23px; border-color:#000000; ">原堆放位置</caption>
  227. <datagrid id="datagrid1" nodeset="/root/gridData/fromGridData/FromYardCoils_VO/FromYardCoils_Row" scroll="auto" backcoloralternate="#f7f9f9" caption="选择^存放位置^钢卷号^生产流水号^合同号^外观检查^产品代码^是否平整作业^钢卷宽^钢卷外径^实重量^综合等级^取样采取^库堆放特性|选择^存放位置^钢卷号^生产流水号^合同号^外观检查^产品代码^是否平整作业^钢卷宽^钢卷外径^实重量^综合等级^取样采取^库堆放特性" colsep="^" colwidth="30, 88, 88, 88, 88, 60, 40, 49, 65, 70, 70, 58, 40, 143" defaultrows="15" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:50px; width:980px; height:230px; border-color:#000000; ">
  228. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  229. <col editable="false" ref="YARD_ADDR" type="input" style="background-color:#ffffff; "/>
  230. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  231. <col editable="false" ref="COIL_NO" type="input" style="background-color:#ffffff; "/>
  232. <col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
  233. <col editable="false" ref="EXTSHAPE_INSPECT_YN" type="input" style="background-color:#ffffff; "/>
  234. <col editable="false" ref="PRODNM_CD" type="input" style="background-color:#ffffff; "/>
  235. <col editable="false" ref="SPM_YN" type="input" style="background-color:#ffffff; "/>
  236. <col editable="false" ref="COIL_WTH" type="input" style="text-align:right; background-color:#ffffff; "/>
  237. <col editable="false" ref="COIL_OUTDIA" type="input" style="text-align:right; background-color:#ffffff; "/>
  238. <col editable="false" ref="ACT_WGT" type="input" format="#,###" style="text-align:right; background-color:#ffffff; "/>
  239. <col editable="false" ref="TOT_DEC_GRD" type="input" style="background-color:#ffffff; "/>
  240. <col editable="false" ref="SAMPL_PICK_YN" type="input" style="background-color:#ffffff; "/>
  241. <col editable="false" ref="YARD_COND_DESC" type="input" style="background-color:#ffffff; "/>
  242. <script type="javascript" ev:event="onclick">
  243. <![CDATA[
  244. var col = datagrid1.mouseCol;
  245. if(datagrid1.isCell(event.target)&&datagrid1.row >= datagrid1.fixedRows){
  246. //这里把触发事件定义在第一列
  247. if(col == 0){
  248. var coilNode = instance1.selectSingleNode("/root/gridData/fromGridData/FromYardCoils_VO");
  249. for(var i=1;i<=coilNode.childNodes.length+1;i++)
  250. {
  251. //valueMatrix去除多余的符号
  252. if(datagrid1.valueMatrix(i,datagrid1.colRef("CHK")) == "Y"){
  253. //把选中的结果放入全局变量 选中钢卷的地址,钢卷号
  254. SELECTED_COIL_ADDR = datagrid1.valueMatrix(i,datagrid1.colRef("YARD_ADDR"));
  255. //这里修改为批次号,库存表中的钢卷号全部表示为批次号
  256. SELECTED_COIL_NO = datagrid1.valueMatrix(i,datagrid1.colRef("OLD_SAMPL_NO"));
  257. return;
  258. }
  259. }
  260. }
  261. }
  262. ]]>
  263. </script>
  264. </datagrid>
  265. <select1 id="combo1" ref="/root/formData/FROM_ADDR1" appearance="minimal" editmode="search" style="left:92px; top:28px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  266. <choices>
  267. <item>
  268. <label>C1</label>
  269. <value>C1</value>
  270. </item>
  271. <item>
  272. <label>C2</label>
  273. <value>C2</value>
  274. </item>
  275. <item>
  276. <label>C3</label>
  277. <value>C3</value>
  278. </item>
  279. <item>
  280. <label>B</label>
  281. <value>B</value>
  282. </item>
  283. <item>
  284. <label>C0</label>
  285. <value>C0</value>
  286. </item>
  287. </choices>
  288. <script type="javascript" ev:event="xforms-value-changed">
  289. <![CDATA[
  290. //这里需要动态的传入参数,查询出相应的结果
  291. var FROM_ADDR1 = model.getValue("/root/formData/FROM_ADDR1");
  292. //这里是不是在选择来源位置的情况下就确定去向位置的相关位置信息
  293. //因为不允许进行钢卷过垮的操作,所以不能出现不可能到的位置。
  294. //辊道的情况
  295. if(FROM_ADDR1 == "B"){
  296. clearNode("/root/reqData");
  297. clearNode("/root/comboxData/FROMADDR2");
  298. model.duplicate("/root/reqData","/root/formData/FROM_ADDR1");
  299. commSubmit("UIH050020-service","selectB2","glueAction.do");
  300. commAppendData("/root/comboxData/FROMADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  301. model.refresh();
  302. }else if(FROM_ADDR1 == "C0"){
  303. //运输链的情况
  304. clearNode("/root/reqData");
  305. clearNode("/root/comboxData/FROMADDR2");
  306. model.duplicate("/root/reqData","/root/formData/FROM_ADDR1");
  307. commSubmit("UIH050020-service","selectC2","glueAction.do");
  308. commAppendData("/root/comboxData/FROMADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  309. model.refresh();
  310. }else{
  311. //具体仓库位置的情况
  312. clearNode("/root/reqData");
  313. clearNode("/root/comboxData/FROMADDR2");
  314. model.duplicate("/root/reqData","/root/formData/FROM_ADDR1");
  315. commSubmit("UIH050020-service","selectC2","glueAction.do");
  316. commAppendData("/root/comboxData/FROMADDR2/FROMADDR2_VO","/root/resData/FROMADDR2_VO");
  317. model.refresh();
  318. }
  319. ]]>
  320. </script>
  321. </select1>
  322. <caption id="caption4" class="cell" style="left:0px; top:28px; width:90px; height:20px; border-color:#000000; ">仓库区分</caption>
  323. <select1 id="combo2" ref="/root/formData/PROD" appearance="minimal" editmode="search" style="left:523px; top:28px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  324. <choices>
  325. <item>
  326. <label>冷轧</label>
  327. <value>C</value>
  328. </item>
  329. <item>
  330. <label>热轧</label>
  331. <value>A</value>
  332. </item>
  333. <item>
  334. <label>--全部--</label>
  335. <value/>
  336. </item>
  337. </choices>
  338. </select1>
  339. <caption id="caption2" class="cell" style="left:431px; top:28px; width:90px; height:20px; border-color:#000000; ">产品代码</caption>
  340. <select1 id="combo3" ref="/root/formData/FROM_ADDR2" appearance="minimal" editmode="search" style="left:204px; top:28px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  341. <choices>
  342. <itemset nodeset="/root/comboxData/FROMADDR2/FROMADDR2_VO/FROMADDR2_Row">
  343. <label ref="LABEL"/>
  344. <value ref="VALUE"/>
  345. </itemset>
  346. </choices>
  347. <script type="javascript" ev:event="xforms-value-changed">
  348. <![CDATA[
  349. /* 这里仓库标准表的规则发生改变则出现错误 */
  350. var FROM_ADDR1 = model.getValue("/root/formData/FROM_ADDR1");
  351. var FROM_ADDR2 = model.getValue("/root/formData/FROM_ADDR2");
  352. //这里需要传入FROM_ADDR1和FROM_ADDR2的和
  353. var FROM_ADDR = FROM_ADDR1+FROM_ADDR2;
  354. //这里需要动态的传入参数以获得需要的结果
  355. if(FROM_ADDR1 == "B"){
  356. //辊道的情况
  357. clearNode("/root/reqData");
  358. clearNode("/root/comboxData/FROMADDR3");
  359. model.makeNode("/root/formData/FROM_ADDR");
  360. model.setValue("/root/formData/FROM_ADDR",FROM_ADDR);
  361. model.duplicate("/root/reqData","/root/formData/FROM_ADDR");
  362. commSubmit("UIH050020-service","selectB3","glueAction.do");
  363. commAppendData("/root/comboxData/FROMADDR3/FROMADDR3_VO","/root/resData/FROMADDR3_VO");
  364. model.refresh();
  365. }else if(FROM_ADDR1 == "C0"){
  366. //运输链
  367. clearNode("/root/reqData");
  368. clearNode("/root/comboxData/FROMADDR3");
  369. model.makeNode("/root/formData/FROM_ADDR");
  370. model.setValue("/root/formData/FROM_ADDR",FROM_ADDR);
  371. model.duplicate("/root/reqData","/root/formData/FROM_ADDR");
  372. commSubmit("UIH050020-service","selectB3","glueAction.do");
  373. commAppendData("/root/comboxData/FROMADDR3/FROMADDR3_VO","/root/resData/FROMADDR3_VO");
  374. model.refresh();
  375. }else{
  376. //具体仓库的情况
  377. clearNode("/root/reqData");
  378. clearNode("/root/comboxData/FROMADDR3");
  379. model.makeNode("/root/formData/FROM_ADDR");
  380. model.setValue("/root/formData/FROM_ADDR",FROM_ADDR);
  381. model.duplicate("/root/reqData","/root/formData/FROM_ADDR");
  382. commSubmit("UIH050020-service","selectC3","glueAction.do");
  383. commAppendData("/root/comboxData/FROMADDR3/FROMADDR3_VO","/root/resData/FROMADDR3_VO");
  384. model.refresh();
  385. }
  386. ]]>
  387. </script>
  388. </select1>
  389. <caption id="caption3" class="cell" style="left:0px; top:284px; width:125px; height:23px; border-color:#000000; ">目的堆放位置</caption>
  390. <select1 id="combo4" ref="/root/formData/TO_ADDR1" appearance="minimal" editmode="search" style="left:92px; top:309px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  391. <choices>
  392. <item>
  393. <label>C1</label>
  394. <value>C1</value>
  395. </item>
  396. <item>
  397. <label>C2</label>
  398. <value>C2</value>
  399. </item>
  400. <item>
  401. <label>C3</label>
  402. <value>C3</value>
  403. </item>
  404. <item>
  405. <label>B</label>
  406. <value>B</value>
  407. </item>
  408. <item>
  409. <label>C0</label>
  410. <value>C0</value>
  411. </item>
  412. </choices>
  413. <script type="javascript" ev:event="xforms-value-changed">
  414. <![CDATA[
  415. //目的放置位置的仓库跨位置改变时 修改相应的行车编号
  416. toYardAddrrComboChange();
  417. ]]>
  418. </script>
  419. </select1>
  420. <caption id="caption5" class="cell" style="left:0px; top:309px; width:90px; height:20px; border-color:#000000; ">仓库区分</caption>
  421. <select1 id="combo5" ref="/root/formData/TO_ADDR2" appearance="minimal" editmode="search" style="left:204px; top:309px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  422. <choices>
  423. <itemset nodeset="/root/comboxData/TOADDR2/FROMADDR2_VO/FROMADDR2_Row">
  424. <label ref="LABEL"/>
  425. <value ref="VALUE"/>
  426. </itemset>
  427. </choices>
  428. <script type="javascript" ev:event="xforms-value-changed">
  429. <![CDATA[
  430. //如果目地放置位置是滚道的话 直接给常量 DEST_COIL_COL_XPATH赋值,
  431. //这里与库存的业务人员商定,默认的使用每个辊道区域的01鞍坐作为行车命令制定钢卷上辊道的处理
  432. var TO_ADDR = model.getValue("/root/formData/TO_ADDR1") + model.getValue("/root/formData/TO_ADDR2")+"01";
  433. if(model1.getValue("/root/formData/TO_ADDR1") == "B"){
  434. //这里只在第一次的情况下增加一行
  435. if(datagrid2.rows == 2){
  436. datagrid2.addRow();
  437. }
  438. //将要放置钢卷的列
  439. DEST_COIL_COL_XPATH = "/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]";
  440. model1.setValue("/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]/YARD_ADDR",TO_ADDR);
  441. LAST_MOVED_XPATH = DEST_COIL_COL_XPATH;
  442. //到放置位置也必须是辊道
  443. model1.setValue("/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]/DEST_YARD_ADDR2",TO_ADDR);
  444. //这里给予所有的行车编号,人工处理
  445. for(var i=1;i<=9;i++){
  446. model.makeNode("/root/comboxData/CREAN_NO/NO/item["+i+"]/LABEL");
  447. model.makeNode("/root/comboxData/CREAN_NO/NO/item["+i+"]/VALUE");
  448. }
  449. model.setValue("/root/comboxData/CREAN_NO/NO/item[1]/LABEL","3-1");
  450. model.setValue("/root/comboxData/CREAN_NO/NO/item[1]/VALUE","3-1");
  451. model.setValue("/root/comboxData/CREAN_NO/NO/item[2]/LABEL","3-2");
  452. model.setValue("/root/comboxData/CREAN_NO/NO/item[2]/VALUE","3-2");
  453. model.setValue("/root/comboxData/CREAN_NO/NO/item[3]/LABEL","3-3");
  454. model.setValue("/root/comboxData/CREAN_NO/NO/item[3]/VALUE","3-3");
  455. model.setValue("/root/comboxData/CREAN_NO/NO/item[4]/LABEL","3-4");
  456. model.setValue("/root/comboxData/CREAN_NO/NO/item[4]/VALUE","3-4");
  457. model.setValue("/root/comboxData/CREAN_NO/NO/item[5]/LABEL","3-5");
  458. model.setValue("/root/comboxData/CREAN_NO/NO/item[5]/VALUE","3-5");
  459. model.setValue("/root/comboxData/CREAN_NO/NO/item[6]/LABEL","3-6");
  460. model.setValue("/root/comboxData/CREAN_NO/NO/item[6]/VALUE","3-6");
  461. model.setValue("/root/comboxData/CREAN_NO/NO/item[7]/LABEL","3-7");
  462. model.setValue("/root/comboxData/CREAN_NO/NO/item[7]/VALUE","3-7");
  463. model.setValue("/root/comboxData/CREAN_NO/NO/item[8]/LABEL","3-8");
  464. model.setValue("/root/comboxData/CREAN_NO/NO/item[8]/VALUE","3-8");
  465. model.setValue("/root/comboxData/CREAN_NO/NO/item[9]/LABEL","3-9");
  466. model.setValue("/root/comboxData/CREAN_NO/NO/item[9]/VALUE","3-9");
  467. }else if(model1.getValue("/root/formData/TO_ADDR1") == "C0"){
  468. //这里只在第一次的情况下增加一行
  469. if(datagrid2.rows == 2){
  470. datagrid2.addRow();
  471. }
  472. //将要放置钢卷的列
  473. DEST_COIL_COL_XPATH = "/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]";
  474. model1.setValue("/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]/YARD_ADDR",TO_ADDR);
  475. LAST_MOVED_XPATH = DEST_COIL_COL_XPATH;
  476. //到放置位置也必须是辊道
  477. model1.setValue("/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]/DEST_YARD_ADDR2",TO_ADDR);
  478. //这里给予所有的行车编号,人工处理
  479. for(var i=1;i<=9;i++){
  480. model.makeNode("/root/comboxData/CREAN_NO/NO/item["+i+"]/LABEL");
  481. model.makeNode("/root/comboxData/CREAN_NO/NO/item["+i+"]/VALUE");
  482. }
  483. model.setValue("/root/comboxData/CREAN_NO/NO/item[1]/LABEL","3-1");
  484. model.setValue("/root/comboxData/CREAN_NO/NO/item[1]/VALUE","3-1");
  485. model.setValue("/root/comboxData/CREAN_NO/NO/item[2]/LABEL","3-2");
  486. model.setValue("/root/comboxData/CREAN_NO/NO/item[2]/VALUE","3-2");
  487. model.setValue("/root/comboxData/CREAN_NO/NO/item[3]/LABEL","3-3");
  488. model.setValue("/root/comboxData/CREAN_NO/NO/item[3]/VALUE","3-3");
  489. model.setValue("/root/comboxData/CREAN_NO/NO/item[4]/LABEL","3-4");
  490. model.setValue("/root/comboxData/CREAN_NO/NO/item[4]/VALUE","3-4");
  491. model.setValue("/root/comboxData/CREAN_NO/NO/item[5]/LABEL","3-5");
  492. model.setValue("/root/comboxData/CREAN_NO/NO/item[5]/VALUE","3-5");
  493. model.setValue("/root/comboxData/CREAN_NO/NO/item[6]/LABEL","3-6");
  494. model.setValue("/root/comboxData/CREAN_NO/NO/item[6]/VALUE","3-6");
  495. model.setValue("/root/comboxData/CREAN_NO/NO/item[7]/LABEL","3-7");
  496. model.setValue("/root/comboxData/CREAN_NO/NO/item[7]/VALUE","3-7");
  497. model.setValue("/root/comboxData/CREAN_NO/NO/item[8]/LABEL","3-8");
  498. model.setValue("/root/comboxData/CREAN_NO/NO/item[8]/VALUE","3-8");
  499. model.setValue("/root/comboxData/CREAN_NO/NO/item[9]/LABEL","3-9");
  500. model.setValue("/root/comboxData/CREAN_NO/NO/item[9]/VALUE","3-9");
  501. }
  502. combo5.refresh();
  503. combo6.refresh();
  504. ]]>
  505. </script>
  506. </select1>
  507. <caption id="caption6" class="cell" style="left:319px; top:309px; width:90px; height:20px; border-color:#000000; ">行车编号</caption>
  508. <select1 id="combo6" ref="/root/formData/CREAN_NO" appearance="minimal" editmode="search" style="left:411px; top:309px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  509. <choices>
  510. <itemset nodeset="/root/comboxData/CREAN_NO/NO/item">
  511. <label ref="LABEL"/>
  512. <value ref="VALUE"/>
  513. </itemset>
  514. </choices>
  515. </select1>
  516. <datagrid id="datagrid2" nodeset="/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row" backcoloralternate="#f7f9f9" caption="选择^存放位置^最大堆放^块数^块数^块数^库堆放特性^钢卷号^原放置位置^到放置位置^到放置位置|选择^存放位置^最大堆放^一层^二层^三层^库堆放特性^钢卷号^原放置位置^到放置位置^到放置位置" colsep="^" colwidth="21, 65, 32, 32, 32, 32, 72, 89, 88, 100" defaultrows="13" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:331px; width:565px; height:269px; border-color:#000000; ">
  517. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  518. <col editable="false" ref="YARD_ADDR" type="input" style="background-color:#ffffff; "/>
  519. <col editable="false" ref="STORENUMBERS" type="input" style="background-color:#ffffff; "/>
  520. <col editable="false" ref="STORELAY1" type="input" style="background-color:#ffffff; "/>
  521. <col editable="false" ref="STORELAY2" type="input" style="background-color:#ffffff; "/>
  522. <col editable="false" ref="STORELAY3" type="input" style="background-color:#ffffff; "/>
  523. <col editable="false" ref="RNM" type="input" style="background-color:#ffffff; "/>
  524. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  525. <col editable="false" ref="SRC_YARD_ADDR" type="input" style="background-color:#ffffff; "/>
  526. <col editable="true" ref="DEST_YARD_ADDR2" type="inputbutton" style="background-color:#ffff99; "/>
  527. <script type="javascript" ev:event="xforms-value-changed">
  528. <![CDATA[
  529. //TL 屏蔽
  530. // var coilNode = instance1.selectSingleNode("/root/gridData/toGridData/ToYardCoils_VO");
  531. // for(var j=1;j<=coilNode.childNodes.length+1;j++){
  532. // if(datagrid2.valueMatrix(j,datagrid2.colRef("CHK")) == "Y"){
  533. // //将要放置钢卷的列,这里取道对应的行数
  534. // DEST_COIL_COL_XPATH = datagrid2.nodeset + "[" + (j-1) + "]";
  535. // return;
  536. // }
  537. // }
  538. //这里为了获取所选择行的路径到DEST_COIL_COL_XPATH
  539. var nodeSet2 = datagrid2.nodeset;
  540. for(var i=1;i<datagrid2.rows-1;i++){
  541. var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  542. //如果是选中的情况,获取相应的行路径
  543. if(chk == "Y"){
  544. DEST_COIL_COL_XPATH = nodeSet2+"["+i+"]";
  545. //这里不给予返回的情况没有问题
  546. }else{
  547. model.setValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO","");
  548. model.setValue(nodeSet2+"["+i+"]/SRC_YARD_ADDR","");
  549. model.setValue(nodeSet2+"["+i+"]/DEST_YARD_ADDR2","");
  550. }
  551. }
  552. ]]>
  553. </script>
  554. <script type="javascript" ev:event="onbuttonclick">
  555. <![CDATA[
  556. //这里弹出子页面之前判断是否是仓库内的
  557. var TO_ADDR = model.getValue("/root/formData/TO_ADDR1");
  558. //目的地位置的钢卷号和原放置位置
  559. var nodeSet2 = datagrid2.nodeset;
  560. var COIL_NO;
  561. var FROM_ADDR;
  562. var chk;
  563. for(var i=1;i<datagrid2.rows-1;i++){
  564. chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  565. if(chk == "Y"){
  566. //这里使用的是批次号
  567. COIL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  568. FROM_ADDR = model.getValue(nodeSet2+"["+i+"]/SRC_YARD_ADDR");
  569. //这里钢卷号和原放置位置不能为空,否则要给予未选择的提示
  570. if(COIL_NO =="" ){
  571. alert(" 选中行的钢卷号为空,不能选择到放置位置! ");
  572. return;
  573. }else if(FROM_ADDR == ""){
  574. alert(" 选中行的原放置位置为空,不能选择到放置位置! ");
  575. return;
  576. }
  577. if(TO_ADDR != "B" && TO_ADDR != "C0"){
  578. //这里是选中行的存放位置
  579. model1.setValue("/root/childPagesYardArr",model1.getValue(LAST_MOVED_XPATH + "/YARD_ADDR"));
  580. //弹出选择子页面
  581. window.load("UIH050040.xrw","modal","", "left:0; top:0; width:1000; height:650; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  582. //获得子页面的到放置位置,详细获得方法见子页面
  583. model1.setValue(LAST_MOVED_XPATH + "/DEST_YARD_ADDR2",model1.getValue("/root/desCoilAddr"));
  584. model1.refresh();
  585. }
  586. }
  587. }
  588. ]]>
  589. </script>
  590. </datagrid>
  591. <datagrid id="datagrid3" nodeset="/root/gridData/craneOrderData/craneOrdeResultr_VO/craneOrdeResultr_Row" backcoloralternate="#f7f9f9" caption="选择^命令编号^原放置位置^到放置位置^行车编号^钢卷号|选择^命令编号^原放置位置^到放置位置^行车编号^钢卷号" colsep="^" colwidth="22, 36, 90, 90, 54, 107" defaultrows="13" mergecellsfixedrows="bycolrec" rowsep="|" style="left:580px; top:331px; width:400px; height:269px; border-color:#000000; ">
  592. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  593. <col editable="false" ref="ORD_SEQ" type="input" style="background-color:#ffffff; "/>
  594. <col editable="false" ref="FROM_ADDR" type="input" style="background-color:#ffffff; "/>
  595. <col editable="false" ref="TO_ADDR" type="input" style="background-color:#ffffff; "/>
  596. <col ref="CR_NO" type="input" style="background-color:#ffff99; "/>
  597. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  598. </datagrid>
  599. <button id="button1" style="left:741px; top:311px; width:89px; height:20px; background-image:../../images/btn_save.GIF; ">
  600. <caption>命令制定</caption>
  601. <script type="javascript" ev:event="DOMActivate">
  602. <![CDATA[
  603. model1.removenode("/root/reqData");
  604. model1.makeNode("/root/reqData");
  605. //去向位置1,这里作为区域
  606. model1.duplicate("/root/reqData","/root/formData/TO_ADDR1");
  607. //行车编号
  608. model1.duplicate("/root/reqData","/root/formData/CREAN_NO");
  609. if(model.getValue("/root/formData/CREAN_NO")==""){
  610. alert(" 行车编号为必须项,请选择相应的行车编号! ");
  611. return;
  612. }
  613. //原放置位置
  614. model1.duplicate("/root/reqData",LAST_MOVED_XPATH + "/SRC_YARD_ADDR");
  615. //钢卷号
  616. model1.duplicate("/root/reqData",LAST_MOVED_XPATH + "/OLD_SAMPL_NO");
  617. //存放位置,这里是不是应该取到放置位置
  618. model1.duplicate("/root/reqData",LAST_MOVED_XPATH + "/YARD_ADDR");
  619. //增加到放置位置信息
  620. model1.duplicate("/root/reqData",LAST_MOVED_XPATH + "/DEST_YARD_ADDR2");
  621. //登录用户信息也需要保存到表中
  622. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  623. if(model.getValue(LAST_MOVED_XPATH + "/SRC_YARD_ADDR")==""){
  624. alert(" 命令制订没有原放置位置信息,请确认后重新选择! ");
  625. return;
  626. }else if(model.getValue(LAST_MOVED_XPATH + "/OLD_SAMPL_NO")==""){
  627. alert(" 命令制订没有钢卷信息,请确认后重新选择! ");
  628. return;
  629. }else if(model.getValue(LAST_MOVED_XPATH + "/DEST_YARD_ADDR2")==""){
  630. alert(" 命令制订没有到放置位置信息,请确认后重新选择! ");
  631. return;
  632. }
  633. commSubmit("UIH050020-service","insert","glueAction.do");
  634. commAppendData("/root/gridData/craneOrderData/craneOrdeResultr_VO","/root/resData/craneOrdeResultr_VO");
  635. model1.refresh();
  636. //判断错误返回接点中是否存在值
  637. if(model.getValue("/root/resData/rs_VO/rs_Row")=="RESERV_FL1"){
  638. alert(" 来源位置已经制订了行车命令还未执行,请确认后重新制订命令! ");
  639. return;
  640. }else if(model.getValue("/root/resData/rs_VO/rs_Row")=="RESERV_FL2"){
  641. alert(" 去向位置已经制订了行车命令还未执行,请确认后重新制订命令! ");
  642. return;
  643. }else if(model.getValue("/root/resData/rs_VO/rs_Row")=="SERROR"){
  644. alert(" 来源位置和去向位置同为辊道,请确认后重新制订命令! ");
  645. return;
  646. }else if(model.getValue("/root/resData/rs_VO/rs_Row")=="ERROR"){
  647. alert(" 去向位置为辊道,该位置上已经存在钢卷! ");
  648. return;
  649. }
  650. ]]>
  651. </script>
  652. </button>
  653. <button id="button2" style="left:814px; top:311px; width:90px; height:20px; background-image:../../images/btn_delete.GIF; ">
  654. <caption>命令删除</caption>
  655. <script type="javascript" ev:event="DOMActivate">
  656. <![CDATA[
  657. model1.removenode("/root/reqData");
  658. model1.makeNode("/root/reqData");
  659. var nodeSet3 = datagrid3.nodeset;
  660. var ord_seq = null;
  661. //这里做出提交判断,获取相应选择好的行进行命令删除
  662. for(var i=1;i<datagrid3.rows-1;i++){
  663. var chk = model.getValue(nodeSet3+"["+i+"]/CHK");
  664. if(chk == "Y"){
  665. ord_seq = model.getValue(nodeSet3+"["+i+"]/ORD_SEQ");
  666. model.duplicate("/root/reqData",nodeSet3+"["+i+"]/ORD_SEQ");
  667. model.duplicate("/root/reqData",nodeSet3+"["+i+"]/FROM_ADDR");
  668. model.duplicate("/root/reqData",nodeSet3+"["+i+"]/TO_ADDR");
  669. }
  670. }
  671. model.refresh();
  672. //登录用户信息也需要保存到表中
  673. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  674. //判断是否存在提交数据,不存在的情况下给出提示
  675. if(ord_seq == "" || ord_seq == null){
  676. alert(" 请选择需要删除的行车命令再点击删除按钮! ");
  677. return;
  678. }
  679. commSubmit("UIH050020-service","delete","glueAction.do");
  680. commAppendData("/root/gridData/craneOrderData/craneOrdeResultr_VO","/root/resData/craneOrdeResultr_VO");
  681. model1.refresh();
  682. ]]>
  683. </script>
  684. </button>
  685. <button id="button3" style="left:540px; top:295px; width:30px; height:30px; background-image:../../images/up.gif; ">
  686. <caption/>
  687. <script type="javascript" ev:event="DOMActivate">
  688. <![CDATA[
  689. //给予非空判断,为空的给予提示
  690. if(SELECTED_COIL_NO !="" && SELECTED_COIL_ADDR != "" && DEST_COIL_COL_XPATH != ""){
  691. model1.makeValue(DEST_COIL_COL_XPATH + "/OLD_SAMPL_NO",SELECTED_COIL_NO);
  692. model1.makeValue(DEST_COIL_COL_XPATH + "/SRC_YARD_ADDR",SELECTED_COIL_ADDR);
  693. datagrid2.refresh();
  694. //最后一次移动的钢卷的目地位置,钢卷号,XPATH 赋值
  695. LAST_MOVED_COIL_ADDR = SELECTED_COIL_ADDR;
  696. LAST_MOVED_COIL_NO = SELECTED_COIL_NO;
  697. LAST_MOVED_XPATH = DEST_COIL_COL_XPATH;
  698. }else{
  699. alert(" 请选择来源位置和去向位置后,再点击向下的箭头按钮! ");
  700. return;
  701. }
  702. ]]>
  703. </script>
  704. </button>
  705. <button id="button4" style="left:590px; top:294px; width:30px; height:30px; background-image:../../images/down.gif; ">
  706. <caption/>
  707. <script type="javascript" ev:event="DOMActivate">
  708. <![CDATA[
  709. //点击向上箭头 取消最后一次移动的钢卷信息,并且清空到放置位置信息
  710. model1.setValue(LAST_MOVED_XPATH + "/SRC_YARD_ADDR","");
  711. model1.setValue(LAST_MOVED_XPATH + "/OLD_SAMPL_NO","");
  712. model1.setValue(LAST_MOVED_XPATH + "/DEST_YARD_ADDR2","");
  713. //这里理解为清楚B、C0到放置位置的信息
  714. if(model1.getValue("/root/formData/TO_ADDR1") == "B" || model1.getValue("/root/formData/TO_ADDR1") == "C0")
  715. {
  716. //增加DEST_YARD_ADDR2的清除,给出默认的第一行 TL
  717. model1.setValue("/root/gridData/toGridData/ToYardCoils_VO/ToYardCoils_Row[1]/DEST_YARD_ADDR2","");
  718. }
  719. datagrid2.refresh();
  720. ]]>
  721. </script>
  722. </button>
  723. <select1 id="combo7" ref="/root/formData/FROM_ADDR3" appearance="minimal" editmode="search" style="left:316px; top:28px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  724. <choices>
  725. <itemset nodeset="/root/comboxData/FROMADDR3/FROMADDR3_VO/FROMADDR3_Row">
  726. <label ref="LABEL"/>
  727. <value ref="VALUE"/>
  728. </itemset>
  729. </choices>
  730. </select1>
  731. <button id="button6" style="left:890px; top:311px; width:90px; height:20px; background-image:../../images/btn_delete.GIF; ">
  732. <caption>命令修改</caption>
  733. <script type="javascript" ev:event="DOMActivate">
  734. <![CDATA[
  735. model1.removenode("/root/reqData");
  736. model1.makeNode("/root/reqData");
  737. //这里获取到需要修改的那一行,并且只能改变行车编号
  738. var nodeSet3 = datagrid3.nodeset;
  739. var cr_no = null;
  740. var ord_seq = null;
  741. for(var i=1;i<datagrid3.rows-1;i++){
  742. var chk = model.getValue(nodeSet3+"["+i+"]/CHK");
  743. if(chk == "Y"){
  744. cr_no = model.getValue(nodeSet3+"["+i+"]/ORD_SEQ");
  745. ord_seq = model.getValue(nodeSet3+"["+i+"]/CR_NO");
  746. model.duplicate("/root/reqData",nodeSet3+"["+i+"]/ORD_SEQ");
  747. model.duplicate("/root/reqData",nodeSet3+"["+i+"]/CR_NO");
  748. }
  749. }
  750. model.refresh();
  751. //登录用户信息也需要保存到表中
  752. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  753. if(cr_no == "" || ord_seq == "" || cr_no == null || ord_seq == null){
  754. alert(" 请选择需要修改的行车命令! ");
  755. return;
  756. }
  757. commSubmit("UIH050020-service","update","glueAction.do");
  758. commAppendData("/root/gridData/craneOrderData/craneOrdeResultr_VO","/root/resData/craneOrdeResultr_VO");
  759. model1.refresh();
  760. ]]>
  761. </script>
  762. </button>
  763. </xhtml:body>
  764. </xhtml:html>