UIH050030.xrw 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../css/body_crane.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[热轧作业>>钢卷库管理>>钢卷仓库行车命令执行(UIH050030)]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <resData/>
  12. <reqData/>
  13. <searchData>
  14. <CR_NO/>
  15. <FROM_ADDR/>
  16. <YARD_CLF/>
  17. <STEP_CLF/>
  18. </searchData>
  19. <selectedData>
  20. <CR_NO>
  21. <item/>
  22. </CR_NO>
  23. <STEP_CLF/>
  24. </selectedData>
  25. <datagrid1/>
  26. <dbClickData>
  27. <fromData/>
  28. <toData/>
  29. </dbClickData>
  30. <datagrid2/>
  31. <datagrid3/>
  32. <sendData>
  33. <TO_ADDR/>
  34. <OLD_SAMPL_NO/>
  35. <CR_NO/>
  36. <FROM_ADDR/>
  37. <ORD_SEQ/>
  38. <FROM_ADDR_OLD/>
  39. <TO_ADDR_OLD/>
  40. <fromData/>
  41. <toData/>
  42. <CMD_CLF/>
  43. </sendData>
  44. <lockData>
  45. <FROM_ADDR/>
  46. <TO_ADDR/>
  47. <YARD_ADDR/>
  48. <LOCK_SIGN/>
  49. </lockData>
  50. </root>
  51. </instance>
  52. </model>
  53. <script type="javascript" src="../../js/boaMsg.js"/>
  54. <script type="javascript" src="../../js/boaCommon.js"/>
  55. <script type="javascript">
  56. <![CDATA[
  57. //页面初始化的时候需要获取登录的相关用户信息
  58. function Init(node) {
  59. InitParams(node);
  60. //初始化页面的时候不显示锁定按纽
  61. button1.visible = false;
  62. input3.visible = false;
  63. button2.visible = false;
  64. }
  65. //调用公共的初始化方法获得登录用户名
  66. function InitParams(node) {
  67. if (typeof node == "undefined" && typeof node != "object") return;
  68. model.removenode("/root/initData/rcvInfo");
  69. model.makeNode("/root/initData/rcvInfo");
  70. var nodeList = node.childNodes;
  71. node = model.instances(0).selectSingleNode("/root/initData/rcvInfo");
  72. for (var i = 0; i < nodeList.length; i++)
  73. node.appendChild(nodeList.item(i));
  74. }
  75. //查询方法
  76. function find(){
  77. //通过选择命令制订方式,仓库号和行车编号来获得相应的命令结果
  78. model.removenode("/root/reqData");
  79. model.makeNode("/root/reqData");
  80. //显示datagrid2和datagrid3的操作留给双击datagrid1和命令执行按纽
  81. //这里不能清空,因为在命令执行按纽点击后会需要重新获取它们的值
  82. // model.removenode("/root/datagrid2");
  83. // model.makeNode("/root/datagrid2");
  84. //
  85. // model.removenode("/root/datagrid3");
  86. // model.makeNode("/root/datagrid3");
  87. //这里需要情况sendData接点
  88. // model.setValue("/root/sendData/TO_ADDR","");
  89. // model.setValue("/root/sendData/OLD_SAMPL_NO","");
  90. // model.setValue("/root/sendData/CR_NO","");
  91. // model.setValue("/root/sendData/FROM_ADDR","");
  92. // model.setValue("/root/sendData/ORD_SEQ","");
  93. // model.setValue("/root/sendData/FROM_ADDR_OLD","");
  94. // model.setValue("/root/sendData/TO_ADDR_OLD","");
  95. // model.setValue("/root/sendData/fromData","");
  96. // model.setValue("/root/sendData/toData","");
  97. // model.setValue("/root/sendData/CMD_CLF","");
  98. /*获得相应的发送信息FROM_ADDR、CR_NO*/
  99. var FROM_ADDR = "";
  100. //FROM_ADDR 在页面看来只能有4位,在SQL看来却可以有6位。先按4位处理
  101. var YARD_CLF = model.getValue("/root/searchData/YARD_CLF");
  102. var STEP_CLF = model.getValue("/root/searchData/STEP_CLF");
  103. //如果命令制订选择的是B的情况,则向查询对象中传入B,否则的话传入选择的仓库区分拼成的4位字段
  104. //当仓库区分为空的情况,则传入空值
  105. if(YARD_CLF == "B"){
  106. FROM_ADDR = YARD_CLF;
  107. }else if(YARD_CLF == ""){
  108. FROM_ADDR = "";
  109. }else{
  110. FROM_ADDR = YARD_CLF+STEP_CLF;
  111. }
  112. //把取出来的两个参数拼到FROM_ADDR
  113. model.setValue("/root/searchData/FROM_ADDR",FROM_ADDR);
  114. //把需要发送的数据放入发送对象reqData中
  115. model.duplicate("/root/reqData","/root/searchData/FROM_ADDR");
  116. model.duplicate("/root/reqData","/root/searchData/CR_NO");
  117. commSubmit("UIH050030-service","find","glueAction.do");
  118. commAppendData("/root/datagrid1/CR_COMM_LIST_VO","/root/resData/CR_COMM_LIST_VO");
  119. model.refresh();
  120. }
  121. ]]>
  122. </script>
  123. </xhtml:head>
  124. <xhtml:body>
  125. <select1 id="combo1" ref="/root/searchData/YARD_CLF" appearance="minimal" style="left:280px; top:0px; width:120px; height:35px; background-color:#ffff99; border-color:#000000; ">
  126. <choices>
  127. <item>
  128. <label>--全部--</label>
  129. <value/>
  130. </item>
  131. <item>
  132. <label>跨1</label>
  133. <value>C1</value>
  134. </item>
  135. <item>
  136. <label>跨2</label>
  137. <value>C2</value>
  138. </item>
  139. <item>
  140. <label>跨3</label>
  141. <value>C3</value>
  142. </item>
  143. <item>
  144. <label>步进梁</label>
  145. <value>B</value>
  146. </item>
  147. <item>
  148. <label>运输链</label>
  149. <value>C0</value>
  150. </item>
  151. </choices>
  152. <script type="javascript" ev:event="xforms-select">
  153. <![CDATA[
  154. //获取命令制订的值
  155. var YARD_ADDR = model.getValue("/root/searchData/YARD_CLF");
  156. //如果仓库区分的值为B,则显示LOCK按钮。并且仓库区分选项不能选择
  157. if(YARD_ADDR == "B"){
  158. //清空原有的行车编号,B的情况不用获得相应区域的具体位置信息
  159. model.removenode("/root/selectedData/CR_NO/item");
  160. model.makeNode("/root/selectedData/CR_NO/item");
  161. //不通过选择仓库区分来判断是否显示锁定按纽,而是通过判断原放位置和到放位置
  162. //是否存在B指令来区分。这里需要分开判断
  163. combo3.disabled=true;
  164. combo4.disabled=false;
  165. //因为选择了B,所以给出全部的行车信息
  166. for(var i=1;i<=10;i++){
  167. model.makeNode("/root/selectedData/CR_NO/item["+i+"]/label");
  168. model.makeNode("/root/selectedData/CR_NO/item["+i+"]/value");
  169. }
  170. //给予条件为空的选择项
  171. model.setValue("/root/selectedData/CR_NO/item[1]/label","--全部--");
  172. model.setValue("/root/selectedData/CR_NO/item[1]/value","");
  173. model.setValue("/root/selectedData/CR_NO/item[2]/label","3-1");
  174. model.setValue("/root/selectedData/CR_NO/item[2]/value","3-1");
  175. model.setValue("/root/selectedData/CR_NO/item[3]/label","3-2");
  176. model.setValue("/root/selectedData/CR_NO/item[3]/value","3-2");
  177. model.setValue("/root/selectedData/CR_NO/item[4]/label","3-3");
  178. model.setValue("/root/selectedData/CR_NO/item[4]/value","3-3");
  179. model.setValue("/root/selectedData/CR_NO/item[5]/label","3-4");
  180. model.setValue("/root/selectedData/CR_NO/item[5]/value","3-4");
  181. model.setValue("/root/selectedData/CR_NO/item[6]/label","3-5");
  182. model.setValue("/root/selectedData/CR_NO/item[6]/value","3-5");
  183. model.setValue("/root/selectedData/CR_NO/item[7]/label","3-6");
  184. model.setValue("/root/selectedData/CR_NO/item[7]/value","3-6");
  185. model.setValue("/root/selectedData/CR_NO/item[8]/label","3-7");
  186. model.setValue("/root/selectedData/CR_NO/item[8]/value","3-7");
  187. model.setValue("/root/selectedData/CR_NO/item[9]/label","3-8");
  188. model.setValue("/root/selectedData/CR_NO/item[9]/value","3-8");
  189. model.setValue("/root/selectedData/CR_NO/item[10]/label","3-9");
  190. model.setValue("/root/selectedData/CR_NO/item[10]/value","3-9");
  191. model.refresh();
  192. }else if(YARD_ADDR == "C1"){
  193. //除了选择B以外,其它的选项都可以选择
  194. combo3.disabled=false;
  195. combo4.disabled=false;
  196. //清空原有的行车编号,并且相应的要查询出具体的区域选项信息
  197. model.removenode("/root/selectedData/CR_NO");
  198. model.makeNode("/root/selectedData/CR_NO");
  199. //因为选择了C1,所以给出3-7,3-8,3-9
  200. for(var j=1;j<=4;j++){
  201. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/label");
  202. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/value");
  203. }
  204. //给予条件为空的选择项
  205. model.setValue("/root/selectedData/CR_NO/item[1]/label","--全部--");
  206. model.setValue("/root/selectedData/CR_NO/item[1]/value","");
  207. model.setValue("/root/selectedData/CR_NO/item[2]/label","3-7");
  208. model.setValue("/root/selectedData/CR_NO/item[2]/value","3-7");
  209. model.setValue("/root/selectedData/CR_NO/item[3]/label","3-8");
  210. model.setValue("/root/selectedData/CR_NO/item[3]/value","3-8");
  211. model.setValue("/root/selectedData/CR_NO/item[4]/label","3-9");
  212. model.setValue("/root/selectedData/CR_NO/item[4]/value","3-9");
  213. model.refresh();
  214. //获得相应区域选择信息
  215. model.removenode("/root/reqData");
  216. model.makeNode("/root/reqData");
  217. model.removenode("/root/selectedData/STEP_CLF");
  218. model.makeNode("/root/selectedData/STEP_CLF");
  219. model.duplicate("/root/reqData","/root/searchData/YARD_CLF");
  220. commSubmit("UIH050030-service","select","glueAction.do");
  221. commAppendData("/root/selectedData/STEP_CLF/STEP_CLF_LIST_VO","/root/resData/STEP_CLF_LIST_VO");
  222. model.refresh();
  223. }else if(YARD_ADDR == "C2"){
  224. //除了选择B以外,其它的选项都可以选择
  225. combo3.disabled=false;
  226. combo4.disabled=false;
  227. //清空原有的行车编号,并且需要获得相应区域的查询信息
  228. model.removenode("/root/selectedData/CR_NO");
  229. model.makeNode("/root/selectedData/CR_NO");
  230. //因为选择了C2,所以给出3-4,3-5,3-6
  231. for(var j=1;j<=4;j++){
  232. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/label");
  233. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/value");
  234. }
  235. //给予条件为空的选择项
  236. model.setValue("/root/selectedData/CR_NO/item[1]/label","--全部--");
  237. model.setValue("/root/selectedData/CR_NO/item[1]/value","");
  238. model.setValue("/root/selectedData/CR_NO/item[2]/label","3-4");
  239. model.setValue("/root/selectedData/CR_NO/item[2]/value","3-4");
  240. model.setValue("/root/selectedData/CR_NO/item[3]/label","3-5");
  241. model.setValue("/root/selectedData/CR_NO/item[3]/value","3-5");
  242. model.setValue("/root/selectedData/CR_NO/item[4]/label","3-6");
  243. model.setValue("/root/selectedData/CR_NO/item[4]/value","3-6");
  244. model.refresh();
  245. //获得相应区域选择信息
  246. model.removenode("/root/reqData");
  247. model.makeNode("/root/reqData");
  248. model.removenode("/root/selectedData/STEP_CLF");
  249. model.makeNode("/root/selectedData/STEP_CLF");
  250. model.duplicate("/root/reqData","/root/searchData/YARD_CLF");
  251. commSubmit("UIH050030-service","select","glueAction.do");
  252. commAppendData("/root/selectedData/STEP_CLF/STEP_CLF_LIST_VO","/root/resData/STEP_CLF_LIST_VO");
  253. model.refresh();
  254. }else if(YARD_ADDR == "C3"){
  255. //除了选择B以外,其它的选项都可以选择
  256. combo3.disabled=false;
  257. combo4.disabled=false;
  258. //清空原有的行车编号,并且需要获得相应的区域信息
  259. model.removenode("/root/selectedData/CR_NO");
  260. model.makeNode("/root/selectedData/CR_NO");
  261. //因为选择了C3,所以给出3-1,3-2,3-3
  262. for(var j=1;j<=4;j++){
  263. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/label");
  264. model.makeNode("/root/selectedData/CR_NO/item["+j+"]/value");
  265. }
  266. //给予条件为空的选择项
  267. model.setValue("/root/selectedData/CR_NO/item[1]/label","--全部--");
  268. model.setValue("/root/selectedData/CR_NO/item[1]/value","");
  269. model.setValue("/root/selectedData/CR_NO/item[2]/label","3-1");
  270. model.setValue("/root/selectedData/CR_NO/item[2]/value","3-1");
  271. model.setValue("/root/selectedData/CR_NO/item[3]/label","3-2");
  272. model.setValue("/root/selectedData/CR_NO/item[3]/value","3-2");
  273. model.setValue("/root/selectedData/CR_NO/item[4]/label","3-3");
  274. model.setValue("/root/selectedData/CR_NO/item[4]/value","3-3");
  275. model.refresh();
  276. //获得相应区域选择信息
  277. model.removenode("/root/reqData");
  278. model.makeNode("/root/reqData");
  279. model.removenode("/root/selectedData/STEP_CLF");
  280. model.makeNode("/root/selectedData/STEP_CLF");
  281. model.duplicate("/root/reqData","/root/searchData/YARD_CLF");
  282. commSubmit("UIH050030-service","select","glueAction.do");
  283. commAppendData("/root/selectedData/STEP_CLF/STEP_CLF_LIST_VO","/root/resData/STEP_CLF_LIST_VO");
  284. model.refresh();
  285. }else if(YARD_ADDR == "C0"){
  286. //如果选择的仓库区分是C0辊道的情况
  287. //清空原有的行车编号,这里是辊道的情况不考虑区域信息的选择
  288. model.removenode("/root/selectedData/CR_NO/item");
  289. model.makeNode("/root/selectedData/CR_NO/item");
  290. //不通过选择仓库区分来判断是否显示锁定按纽,而是通过判断原放位置和到放位置
  291. //是否存在C0指令来区分。这里需要分开判断
  292. combo3.disabled=true;
  293. combo4.disabled=false;
  294. //因为选择了C0,所以给出全部的行车信息
  295. for(var i=1;i<=10;i++){
  296. model.makeNode("/root/selectedData/CR_NO/item["+i+"]/label");
  297. model.makeNode("/root/selectedData/CR_NO/item["+i+"]/value");
  298. }
  299. //给予条件为空的选择项
  300. model.setValue("/root/selectedData/CR_NO/item[1]/label","--全部--");
  301. model.setValue("/root/selectedData/CR_NO/item[1]/value","");
  302. model.setValue("/root/selectedData/CR_NO/item[2]/label","3-1");
  303. model.setValue("/root/selectedData/CR_NO/item[2]/value","3-1");
  304. model.setValue("/root/selectedData/CR_NO/item[3]/label","3-2");
  305. model.setValue("/root/selectedData/CR_NO/item[3]/value","3-2");
  306. model.setValue("/root/selectedData/CR_NO/item[4]/label","3-3");
  307. model.setValue("/root/selectedData/CR_NO/item[4]/value","3-3");
  308. model.setValue("/root/selectedData/CR_NO/item[5]/label","3-4");
  309. model.setValue("/root/selectedData/CR_NO/item[5]/value","3-4");
  310. model.setValue("/root/selectedData/CR_NO/item[6]/label","3-5");
  311. model.setValue("/root/selectedData/CR_NO/item[6]/value","3-5");
  312. model.setValue("/root/selectedData/CR_NO/item[7]/label","3-6");
  313. model.setValue("/root/selectedData/CR_NO/item[7]/value","3-6");
  314. model.setValue("/root/selectedData/CR_NO/item[8]/label","3-7");
  315. model.setValue("/root/selectedData/CR_NO/item[8]/value","3-7");
  316. model.setValue("/root/selectedData/CR_NO/item[9]/label","3-8");
  317. model.setValue("/root/selectedData/CR_NO/item[9]/value","3-8");
  318. model.setValue("/root/selectedData/CR_NO/item[10]/label","3-9");
  319. model.setValue("/root/selectedData/CR_NO/item[10]/value","3-9");
  320. model.refresh();
  321. }else{
  322. //在命令制订为空的情况下,仓库区分和行车编号全部不让选择。默认查询全部的信息
  323. model.setValue("/root/searchData/STEP_CLF","");
  324. model.setValue("/root/searchData/CR_NO","");
  325. model.refresh();
  326. combo3.disabled=true;
  327. combo4.disabled=true;
  328. }
  329. ]]>
  330. </script>
  331. </select1>
  332. <caption id="caption1" class="cell" style="left:0px; top:0px; width:120px; height:35px; font-weight:bold; border-color:#000000; ">命令制订</caption>
  333. <caption id="caption2" class="cell" style="left:135px; top:0px; width:143px; height:35px; font-weight:bold; border-color:#000000; ">仓库区分</caption>
  334. <select1 id="combo3" ref="/root/searchData/STEP_CLF" appearance="minimal" style="left:407px; top:0px; width:110px; height:35px; background-color:#ffff99; border-color:#000000; ">
  335. <choices>
  336. <itemset nodeset="/root/selectedData/STEP_CLF/STEP_CLF_LIST_VO/STEP_CLF_LIST_Row">
  337. <label ref="LABEL"/>
  338. <value ref="VALUE"/>
  339. </itemset>
  340. </choices>
  341. </select1>
  342. <caption id="caption3" class="cell" style="left:530px; top:0px; width:128px; height:35px; font-weight:bold; border-color:#000000; ">行车编号</caption>
  343. <select1 id="combo4" ref="/root/searchData/CR_NO" appearance="minimal" style="left:660px; top:0px; width:110px; height:35px; background-color:#ffff99; border-color:#000000; ">
  344. <choices>
  345. <itemset nodeset="/root/selectedData/CR_NO/item">
  346. <label ref="label"/>
  347. <value ref="value"/>
  348. </itemset>
  349. </choices>
  350. </select1>
  351. <datagrid id="datagrid1" nodeset="/root/datagrid1/CR_COMM_LIST_VO/CR_COMM_LIST_Row" backcoloralternate="#ffff00" caption="选择^原放置位置^到放置位置^钢卷号^行车编号^命令日期^下车行车命令" colsep="^" colwidth="60, 135, 135, 165, 110, 250, 100" defaultrows="15" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:45px; width:770px; height:230px; ">
  352. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  353. <col editable="false" ref="FROM_ADDR" type="input" style="background-color:#ffffff; "/>
  354. <col editable="false" ref="TO_ADDR" type="input" style="background-color:#ffffff; "/>
  355. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  356. <col editable="false" ref="CR_NO" type="input" style="background-color:#ffffff; "/>
  357. <col editable="false" ref="REG_DTIME" type="input" format="yyyy-mm-dd hh:mm:ss" style="background-color:#ffffff; "/>
  358. <col ref="CMD_CLF" visibility="hidden"/>
  359. <script type="javascript" ev:event="onclick">
  360. <![CDATA[
  361. if(datagrid1.isCell(event.target)&&datagrid1.row >= datagrid1.fixedRows){
  362. //鼠标选中的列
  363. var mouseCol = datagrid1.mouseCol;
  364. if(mouseCol == 0){
  365. //用鼠标双击事件来把选中的结果带到下面的输入框,
  366. //并根据相应的输入值查询原放置位置和到放置位置
  367. var nodeSet1 = datagrid1.nodeset;
  368. //循环datagrid1取出选中的行
  369. for(var i=1;i<datagrid1.rows;i++){
  370. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  371. if(chk == "Y"){
  372. //原来放置位置
  373. var FROM_ADDR = model.getValue(nodeSet1+"["+i+"]/FROM_ADDR");
  374. //到放置位置
  375. var TO_ADDR = model.getValue(nodeSet1+"["+i+"]/TO_ADDR");
  376. //取出datagrid1中选中的批次号
  377. var OLD_SAMPL_NO = model.getValue(nodeSet1+"["+i+"]/OLD_SAMPL_NO");
  378. //行车编号
  379. var CR_NO = model.getValue(nodeSet1+"["+i+"]/CR_NO");
  380. //行车命令编号字段
  381. var ORD_SEQ = model.getValue(nodeSet1+"["+i+"]/ORD_SEQ");
  382. //是否下车操作的行车命令
  383. var CMD_CLF = model.getValue(nodeSet1+"["+i+"]/CMD_CLF");
  384. //这里需要进行判断,CMD_CLF是否为T。以区别库内和下车的行车命令
  385. if(CMD_CLF == "T"){
  386. button1.visible = false;
  387. input3.visible = false;
  388. button2.visible = false;
  389. //下车的行车命令,需要进行特殊处理
  390. //来源位置肯定是库内的具体位置,所以不做相关判断
  391. //去向位置就是具体的车厢位,不做相关判断
  392. var FROM_ADDR_SUBSTR = FROM_ADDR.substr(0,5);
  393. model.setValue("/root/dbClickData/fromData",FROM_ADDR_SUBSTR);
  394. //定义不存在的位置,求出空值
  395. model.setValue("/root/dbClickData/toData",TO_ADDR);
  396. //清空发送接点
  397. model.removenode("/root/reqData");
  398. model.makeNode("/root/reqData");
  399. model.removenode("/root/datagrid2");
  400. model.makeNode("/root/datagrid2");
  401. model.removenode("/root/datagrid3");
  402. model.makeNode("/root/datagrid3");
  403. //把需要查询的信息放入发送接点
  404. model.duplicate("/root/reqData","/root/dbClickData/fromData");
  405. model.duplicate("/root/reqData","/root/dbClickData/toData");
  406. commSubmit("UIH050030-service","find_From_To","glueAction.do");
  407. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  408. model.refresh();
  409. //要把双击选中的哪一行带到下面的原放位置和到放位置中
  410. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  411. var nodeSet2 = datagrid2.nodeset;
  412. for(var k=1;k<datagrid2.rows;k++){
  413. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+k+"]/FROM_ADDR");
  414. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  415. if(FROM_ADDR == FROM_ADDR_2){
  416. datagrid2.rowStyle(k,"data","background-color") = "#ffff99";
  417. }
  418. }
  419. //自定义生成一行,并把车辆号写入datagrid2
  420. datagrid3.addRow();
  421. var nodeSet3 = datagrid3.nodeset;
  422. model.setValue(nodeSet3+"[1]/STORELAY","0");
  423. model.setValue(nodeSet3+"[1]/TO_ADDR",TO_ADDR);
  424. model.setValue(nodeSet3+"[1]/TO_COIL_NO","");
  425. model.setValue(nodeSet3+"[1]/TO_OUT_DIA","");
  426. datagrid3.rowStyle(1,"data","background-color") = "#ffff99";
  427. model.refresh();
  428. //统一处理,把在datagrid1中选中的原放置位置、到放置位置、钢卷号的值存在sendData中。
  429. //以便在命令执行按纽中可以使用
  430. model.setValue("/root/sendData/FROM_ADDR",FROM_ADDR);
  431. model.setValue("/root/sendData/OLD_SAMPL_NO",OLD_SAMPL_NO);
  432. model.setValue("/root/sendData/TO_ADDR",TO_ADDR);
  433. model.setValue("/root/sendData/CR_NO",CR_NO);
  434. model.setValue("/root/sendData/ORD_SEQ",ORD_SEQ);
  435. model.setValue("/root/sendData/CMD_CLF",CMD_CLF);
  436. model.setValue("/root/sendData/FROM_ADDR_OLD","");
  437. model.setValue("/root/sendData/TO_ADDR_OLD","");
  438. model.setValue("/root/sendData/fromData","");
  439. model.setValue("/root/sendData/toData","");
  440. model.refresh();
  441. }else{
  442. //库内的行车命令
  443. //需要判断原放置位置和到放置位置的值是C还是B0或者C0,如果是B0或者C0的话要显示锁定按纽
  444. //因为这里需要判断B、C0或者C1、C2、C3的情况,所以取2位的。
  445. var FROM_ADDR_TMP = FROM_ADDR.substr(0,2);
  446. var TO_ADDR_TMP = TO_ADDR.substr(0,2);
  447. if((FROM_ADDR_TMP =="B1" || FROM_ADDR_TMP =="B0" || FROM_ADDR_TMP == "C0") && (TO_ADDR_TMP =="B1" || TO_ADDR_TMP =="B0" || TO_ADDR_TMP =="C0")){
  448. //如果来源和去向都为辊道的话是不允许的
  449. //这里暂时不可能,因为在命令制订的时候给予了判断
  450. }else if((FROM_ADDR_TMP =="B1" || FROM_ADDR_TMP =="B0" || FROM_ADDR_TMP == "C0") && (TO_ADDR_TMP !="B1" || TO_ADDR_TMP !="B0" || TO_ADDR_TMP !="C0")){
  451. //如果来源为辊道信息,去向不为辊道信息的情况进行相应的操作
  452. button1.visible = true;
  453. input3.visible = true;
  454. button2.visible = true;
  455. //这里需要处理原来放置位置和到放置位置的值
  456. //原放置位置的为3位,到放置位置的为5位
  457. var FROM_ADDR_SUBSTR = FROM_ADDR.substr(0,3);
  458. var TO_ADDR_SUBSTR = TO_ADDR.substr(0,5);
  459. model.setValue("/root/dbClickData/fromData",FROM_ADDR_SUBSTR);
  460. model.setValue("/root/dbClickData/toData",TO_ADDR_SUBSTR);
  461. //清空发送接点
  462. model.removenode("/root/reqData");
  463. model.makeNode("/root/reqData");
  464. model.removenode("/root/datagrid2");
  465. model.makeNode("/root/datagrid2");
  466. model.removenode("/root/datagrid3");
  467. model.makeNode("/root/datagrid3");
  468. //把需要查询的信息放入发送接点
  469. model.duplicate("/root/reqData","/root/dbClickData/fromData");
  470. model.duplicate("/root/reqData","/root/dbClickData/toData");
  471. commSubmit("UIH050030-service","find_From_To","glueAction.do");
  472. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  473. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  474. model.refresh();
  475. //要把双击选中的哪一行带到下面的原放位置和到放位置中
  476. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  477. var nodeSet2 = datagrid2.nodeset;
  478. for(var k=1;k<datagrid2.rows;k++){
  479. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+k+"]/FROM_ADDR");
  480. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  481. if(FROM_ADDR == FROM_ADDR_2.substr(0,FROM_ADDR_2.length-2)){
  482. datagrid2.rowStyle(k,"data","background-color") = "#ffff99";
  483. }
  484. }
  485. //到位置的颜色变化
  486. var nodeSet3 = datagrid3.nodeset;
  487. for(var j=1;j<datagrid3.rows;j++){
  488. var TO_ADDR_3 = model.getValue(nodeSet3+"["+j+"]/TO_ADDR");
  489. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  490. if(TO_ADDR == TO_ADDR_3){
  491. datagrid3.rowStyle(j,"data","background-color") = "#ffff99";
  492. }
  493. }
  494. model.refresh();
  495. }else if((FROM_ADDR_TMP !="B1" || FROM_ADDR_TMP !="B0" || FROM_ADDR_TMP != "C0") && (TO_ADDR_TMP =="B1" || TO_ADDR_TMP =="B0" || TO_ADDR_TMP =="C0")){
  496. //如果来源不为辊道而去向为辊道的情况
  497. button1.visible = true;
  498. input3.visible = true;
  499. button2.visible = true;
  500. //这里需要处理原来放置位置和到放置位置的值
  501. //原放置位置的为5位,到放置位置的为3位
  502. var FROM_ADDR_SUBSTR = FROM_ADDR.substr(0,5);
  503. var TO_ADDR_SUBSTR = TO_ADDR.substr(0,3);
  504. model.setValue("/root/dbClickData/fromData",FROM_ADDR_SUBSTR);
  505. model.setValue("/root/dbClickData/toData",TO_ADDR_SUBSTR);
  506. //清空发送接点
  507. model.removenode("/root/reqData");
  508. model.makeNode("/root/reqData");
  509. model.removenode("/root/datagrid2");
  510. model.makeNode("/root/datagrid2");
  511. model.removenode("/root/datagrid3");
  512. model.makeNode("/root/datagrid3");
  513. //把需要查询的信息放入发送接点
  514. model.duplicate("/root/reqData","/root/dbClickData/fromData");
  515. model.duplicate("/root/reqData","/root/dbClickData/toData");
  516. commSubmit("UIH050030-service","find_From_To","glueAction.do");
  517. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  518. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  519. model.refresh();
  520. //要把双击选中的哪一行带到下面的原放位置和到放位置中
  521. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  522. var nodeSet2 = datagrid2.nodeset;
  523. for(var k=1;k<datagrid2.rows;k++){
  524. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+k+"]/FROM_ADDR");
  525. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  526. if(FROM_ADDR == FROM_ADDR_2){
  527. datagrid2.rowStyle(k,"data","background-color") = "#ffff99";
  528. }
  529. }
  530. //到位置的颜色变化
  531. var nodeSet3 = datagrid3.nodeset;
  532. for(var j=1;j<datagrid3.rows;j++){
  533. var TO_ADDR_3 = model.getValue(nodeSet3+"["+j+"]/TO_ADDR");
  534. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  535. if(TO_ADDR == TO_ADDR_3.substr(0,TO_ADDR_3.length-2)){
  536. datagrid3.rowStyle(j,"data","background-color") = "#ffff99";
  537. }
  538. }
  539. model.refresh();
  540. }else{
  541. //如果来源和去向都为辊道的情况
  542. button1.visible = false;
  543. input3.visible = false;
  544. button2.visible = false;
  545. //这里需要处理原来放置位置和到放置位置的值
  546. //原放置位置的为5位,到放置位置的为3位
  547. var FROM_ADDR_SUBSTR = FROM_ADDR.substr(0,5);
  548. var TO_ADDR_SUBSTR = TO_ADDR.substr(0,5);
  549. model.setValue("/root/dbClickData/fromData",FROM_ADDR_SUBSTR);
  550. model.setValue("/root/dbClickData/toData",TO_ADDR_SUBSTR);
  551. //清空发送接点
  552. model.removenode("/root/reqData");
  553. model.makeNode("/root/reqData");
  554. model.removenode("/root/datagrid2");
  555. model.makeNode("/root/datagrid2");
  556. model.removenode("/root/datagrid3");
  557. model.makeNode("/root/datagrid3");
  558. //把需要查询的信息放入发送接点
  559. model.duplicate("/root/reqData","/root/dbClickData/fromData");
  560. model.duplicate("/root/reqData","/root/dbClickData/toData");
  561. commSubmit("UIH050030-service","find_From_To","glueAction.do");
  562. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  563. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  564. model.refresh();
  565. //要把双击选中的哪一行带到下面的原放位置和到放位置中
  566. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  567. var nodeSet2 = datagrid2.nodeset;
  568. for(var k=1;k<datagrid2.rows;k++){
  569. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+k+"]/FROM_ADDR");
  570. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  571. if(FROM_ADDR == FROM_ADDR_2){
  572. datagrid2.rowStyle(k,"data","background-color") = "#ffff99";
  573. }
  574. }
  575. //到位置的颜色变化
  576. var nodeSet3 = datagrid3.nodeset;
  577. for(var j=1;j<datagrid3.rows;j++){
  578. var TO_ADDR_3 = model.getValue(nodeSet3+"["+j+"]/TO_ADDR");
  579. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  580. if(TO_ADDR == TO_ADDR_3){
  581. datagrid3.rowStyle(j,"data","background-color") = "#ffff99";
  582. }
  583. }
  584. model.refresh();
  585. }
  586. //统一处理,把在datagrid1中选中的原放置位置、到放置位置、钢卷号的值存在sendData中。
  587. //以便在命令执行按纽中可以使用
  588. model.setValue("/root/sendData/FROM_ADDR",FROM_ADDR);
  589. model.setValue("/root/sendData/TO_ADDR",TO_ADDR);
  590. model.setValue("/root/sendData/OLD_SAMPL_NO",OLD_SAMPL_NO);
  591. model.setValue("/root/sendData/CR_NO",CR_NO);
  592. model.setValue("/root/sendData/ORD_SEQ",ORD_SEQ);
  593. model.setValue("/root/sendData/CMD_CLF","");
  594. model.setValue("/root/sendData/FROM_ADDR_OLD","");
  595. model.setValue("/root/sendData/TO_ADDR_OLD","");
  596. model.setValue("/root/sendData/fromData","");
  597. model.setValue("/root/sendData/toData","");
  598. model.refresh();
  599. }
  600. }
  601. }
  602. }
  603. }
  604. ]]>
  605. </script>
  606. </datagrid>
  607. <caption id="caption4" class="cell" style="left:0px; top:280px; width:140px; height:30px; font-weight:bold; border-color:#000000; ">原放置位置</caption>
  608. <input id="input1" ref="/root/dbClickData/fromData" style="left:140px; top:280px; width:110px; height:30px; background-color:#ffff99; "/>
  609. <datagrid id="datagrid2" nodeset="/root/datagrid2/YARD_DATA_FROM_VO/YARD_DATA_FROM_Row" caption="层^存放位置^钢卷号^钢卷外径" colsep="^" colwidth="50, 130, 170, 124" defaultrows="15" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:310px; width:475px; height:295px; ">
  610. <col editable="false" ref="STORELAY" type="input" style="background-color:#ffffff; "/>
  611. <col editable="false" ref="FROM_ADDR" type="input" style="background-color:#ffffff; "/>
  612. <col editable="false" ref="FROM_COIL_NO" type="input" style="background-color:#ffffff; "/>
  613. <col editable="false" ref="FROM_OUT_DIA" type="input" style="text-align:right; background-color:#ffffff; "/>
  614. </datagrid>
  615. <datagrid id="datagrid3" nodeset="/root/datagrid3/YARD_DATA_TO_VO/YARD_DATA_TO_Row" caption="层^存放位置^钢卷号^钢卷外径" colsep="^" colwidth="50, 133, 170, 127" defaultrows="15" mergecellsfixedrows="bycolrec" rowsep="|" style="left:495px; top:310px; width:484px; height:295px; ">
  616. <col editable="false" ref="STORELAY" type="input" style="background-color:#ffffff; "/>
  617. <col editable="false" ref="TO_ADDR" type="input" style="background-color:#ffffff; "/>
  618. <col editable="false" ref="TO_COIL_NO" type="input" style="background-color:#ffffff; "/>
  619. <col editable="false" ref="TO_OUT_DIA" type="input" style="text-align:right; background-color:#ffffff; "/>
  620. </datagrid>
  621. <caption id="caption5" class="cell" style="left:495px; top:280px; width:140px; height:30px; font-weight:bold; border-color:#000000; ">到放置位置</caption>
  622. <input id="input2" ref="/root/dbClickData/toData" style="left:635px; top:280px; width:110px; height:30px; background-color:#ffff99; "/>
  623. <button id="button1" style="left:775px; top:45px; width:125px; height:70px; background-color:#00ccff; ">
  624. <caption>锁定要求</caption>
  625. <script type="javascript" ev:event="onclick">
  626. <![CDATA[
  627. //这里要调用步进梁的锁定方法,才能从步进梁上面取卷、或者把卷放上步进梁
  628. //这里需要传入来源位置信息和去向位置信息
  629. model.removenode("/root/reqData");
  630. model.makeNode("/root/reqData");
  631. var nodeSet1 = datagrid1.nodeset;
  632. for(var i=1;i<datagrid1.rows;i++){
  633. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  634. if(chk == "Y"){
  635. var FROM_ADDR = model.getValue(nodeSet1+"["+i+"]/FROM_ADDR");
  636. var TO_ADDR = model.getValue(nodeSet1+"["+i+"]/TO_ADDR");
  637. //这里必须判断是来源还是去向位置为步进梁,这样才能查询出L2返回结果是否已锁定
  638. if(FROM_ADDR.substr(0,1) == "B" || FROM_ADDR.substr(0,2) == "C0"){
  639. //这里是从步进梁上面取钢卷的情况
  640. model.setValue("/root/lockData/YARD_ADDR",FROM_ADDR.substr(0,3));
  641. }else if(TO_ADDR.substr(0,1) == "B" || TO_ADDR.substr(0,2) == "C0"){
  642. //这里是往步进梁上面放钢卷的情况
  643. model.setValue("/root/lockData/YARD_ADDR",TO_ADDR.substr(0,3));
  644. }
  645. model.setValue("/root/lockData/FROM_ADDR",FROM_ADDR);
  646. model.setValue("/root/lockData/TO_ADDR",TO_ADDR);
  647. model.refresh();
  648. model.duplicate("/root/reqData","/root/lockData/FROM_ADDR");
  649. model.duplicate("/root/reqData","/root/lockData/TO_ADDR");
  650. model.duplicate("/root/reqData","/root/lockData/YARD_ADDR");
  651. commSubmit("UIH050030-service","lock","glueAction.do");
  652. //应该还需要处理锁定确定标志,并在页面显示.转换在SQL中完成
  653. model.setValue("/root/lockData/LOCK_SIGN",model.getValue("/root/resData/LockResult_VO/LockResult_Row/LOCK_YN"));
  654. model.refresh();
  655. }
  656. }
  657. ]]>
  658. </script>
  659. </button>
  660. <button id="button2" style="left:775px; top:120px; width:125px; height:75px; font-size:22pt; background-color:#00ccff; ">
  661. <caption>刷新</caption>
  662. <script type="javascript" ev:event="onclick">
  663. <![CDATA[
  664. //这里提供刷新功能,让行车工人可以多次获取是否锁定标志。以便做出相应的处理
  665. model.removenode("/root/reqData");
  666. model.makeNode("/root/reqData");
  667. var nodeSet1 = datagrid1.nodeset;
  668. for(var i=1;i<datagrid1.rows;i++){
  669. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  670. if(chk == "Y"){
  671. var FROM_ADDR = model.getValue(nodeSet1+"["+i+"]/FROM_ADDR");
  672. var TO_ADDR = model.getValue(nodeSet1+"["+i+"]/TO_ADDR");
  673. //这里必须判断是来源还是去向位置为步进梁,这样才能查询出L2返回结果是否已锁定
  674. if(FROM_ADDR.substr(0,1) == "B" || FROM_ADDR.substr(0,2) == "C0"){
  675. //这里是从步进梁上面取钢卷的情况,取前面3位B04就可以了
  676. model.setValue("/root/lockData/YARD_ADDR",FROM_ADDR.substr(0,3));
  677. }else if(TO_ADDR.substr(0,1) == "B" || TO_ADDR.substr(0,2) == "C0"){
  678. //这里是往步进梁上面放钢卷的情况,取前面3位B04就可以了
  679. model.setValue("/root/lockData/YARD_ADDR",TO_ADDR.substr(0,3));
  680. }
  681. }
  682. }
  683. model.refresh();
  684. model.duplicate("/root/reqData","/root/lockData/YARD_ADDR");
  685. commSubmit("UIH050030-service","refresh","glueAction.do");
  686. //应该还需要处理锁定确定标志,并在页面显示.转换在SQL中完成
  687. model.setValue("/root/lockData/LOCK_SIGN",model.getValue("/root/resData/LockResult_VO/LockResult_Row/LOCK_YN"));
  688. model.refresh();
  689. ]]>
  690. </script>
  691. </button>
  692. <button id="button3" style="left:775px; top:200px; width:125px; height:70px; background-color:#00ccff; ">
  693. <caption>命令执行</caption>
  694. <script type="javascript" ev:event="DOMActivate">
  695. <![CDATA[
  696. //清空发送接点
  697. model.removenode("/root/reqData");
  698. model.makeNode("/root/reqData");
  699. model.removenode("/root/datagrid1");
  700. model.makeNode("/root/datagrid1");
  701. model.removenode("/root/datagrid2");
  702. model.makeNode("/root/datagrid2");
  703. model.removenode("/root/datagrid3");
  704. model.makeNode("/root/datagrid3");
  705. //从接点sendData中取出想要的数据
  706. //原存放位置
  707. var from_data = model.getValue("/root/sendData/FROM_ADDR");
  708. //到存放位置
  709. var to_data = model.getValue("/root/sendData/TO_ADDR");
  710. //批次号
  711. var OLD_SAMPL_NO = model.getValue("/root/sendData/OLD_SAMPL_NO");
  712. //行车编号
  713. var cr_no = model.getValue("/root/sendData/CR_NO");
  714. //行车命令编号字段
  715. var ord_seq = model.getValue("/root/sendData/ORD_SEQ");
  716. //下车命令区分
  717. var cmd_clf = model.getValue("/root/sendData/CMD_CLF");
  718. if(cmd_clf == "T"){
  719. //下车的行车命令执行
  720. model.duplicate("/root/reqData","/root/sendData/FROM_ADDR");
  721. model.duplicate("/root/reqData","/root/sendData/OLD_SAMPL_NO");
  722. model.duplicate("/root/reqData","/root/sendData/CR_NO");
  723. model.duplicate("/root/reqData","/root/sendData/TO_ADDR");
  724. model.duplicate("/root/reqData","/root/sendData/ORD_SEQ");
  725. model.duplicate("/root/reqData","/root/sendData/CMD_CLF");
  726. model.setValue("/root/sendData/fromData",from_data.substr(0,5));
  727. model.duplicate("/root/reqData","/root/sendData/fromData");
  728. model.setValue("/root/sendData/FROM_ADDR_OLD",from_data);
  729. model.setValue("/root/sendData/TO_ADDR_OLD",to_data);
  730. //登录用户信息也需要保存到表中
  731. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  732. commSubmit("UIH050030-service","save","glueAction.do");
  733. //重新显示datagrid2
  734. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  735. model.refresh();
  736. //取出原放置位置
  737. var FROM_ADDR_OLD = model.getValue("/root/sendData/FROM_ADDR_OLD");
  738. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  739. var nodeSet2 = datagrid2.nodeset;
  740. for(var n=1;n<datagrid2.rows;n++){
  741. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+n+"]/FROM_ADDR");
  742. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  743. if(FROM_ADDR_OLD == FROM_ADDR_2){
  744. datagrid2.rowStyle(n,"data","background-color") = "#ffff99";
  745. }
  746. }
  747. //给出去放置位置
  748. var TO_ADDR_OLD = model.getValue("/root/sendData/TO_ADDR_OLD");
  749. var nodeSet3 = datagrid3.nodeset;
  750. datagrid3.addRow();
  751. model.setValue(nodeSet3+"[1]/STORELAY","0");
  752. model.setValue(nodeSet3+"[1]/TO_ADDR",TO_ADDR_OLD);
  753. model.setValue(nodeSet3+"[1]/TO_COIL_NO",model.getValue("/root/sendData/OLD_SAMPL_NO"));
  754. model.setValue(nodeSet3+"[1]/TO_OUT_DIA","");
  755. datagrid3.rowStyle(1,"data","background-color") = "#ffff99";
  756. model.refresh();
  757. //调用查询方法
  758. find();
  759. }else{
  760. //库内的行车命令执行
  761. //为了在保存后给予颜色变化的需求,加入两个字段FROM_ADDR_OLD,TO_ADDR_OLD
  762. //用以表示原存放位置和到存放位置的全部信息
  763. model.setValue("/root/sendData/FROM_ADDR_OLD",from_data);
  764. model.setValue("/root/sendData/TO_ADDR_OLD",to_data);
  765. //这里还是需要判断来源位置和去向位置的标志,用于查询相应的来源位置组和去向位置组
  766. var FROM_ADDR_TMP = from_data.substr(0,2);
  767. var TO_ADDR_TMP = to_data.substr(0,2);
  768. if((FROM_ADDR_TMP =="B0" || FROM_ADDR_TMP == "C0" || FROM_ADDR_TMP =="B1") && (TO_ADDR_TMP =="B0" || TO_ADDR_TMP =="C0" || TO_ADDR_TMP =="B1")){
  769. //如果来源和去向都为辊道的话是不允许的
  770. //这里暂时不可能,因为在命令制订的时候给予了判断
  771. }else if((FROM_ADDR_TMP =="B0" || FROM_ADDR_TMP == "C0" || FROM_ADDR_TMP =="B1") && (TO_ADDR_TMP !="B0" || TO_ADDR_TMP !="C0" || TO_ADDR_TMP !="B1")){
  772. //命令执行完后是不是应该隐藏锁定按钮
  773. button1.visible = false;
  774. input3.visible = false;
  775. button2.visible = false;
  776. //这里需要处理原来放置位置和到放置位置的值
  777. //原放置位置的为3位,到放置位置的为5位
  778. var FROM_ADDR_SUBSTR = from_data.substr(0,3);
  779. var TO_ADDR_SUBSTR = to_data.substr(0,5);
  780. model.setValue("/root/sendData/fromData",FROM_ADDR_SUBSTR);
  781. model.setValue("/root/sendData/toData",TO_ADDR_SUBSTR);
  782. model.refresh();
  783. var lock_sign = model.getValue("/root/lockData/LOCK_SIGN");
  784. if(lock_sign == "已锁定"){
  785. model.duplicate("/root/reqData","/root/sendData/FROM_ADDR");
  786. model.duplicate("/root/reqData","/root/sendData/OLD_SAMPL_NO");
  787. model.duplicate("/root/reqData","/root/sendData/CR_NO");
  788. model.duplicate("/root/reqData","/root/sendData/TO_ADDR");
  789. model.duplicate("/root/reqData","/root/sendData/ORD_SEQ");
  790. model.duplicate("/root/reqData","/root/sendData/fromData");
  791. model.duplicate("/root/reqData","/root/sendData/toData");
  792. model.duplicate("/root/reqData","/root/sendData/CMD_CLF");
  793. //登录用户信息也需要保存到表中
  794. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  795. commSubmit("UIH050030-service","save","glueAction.do");
  796. //重新显示datagrid2、datagrid3中的数据
  797. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  798. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  799. //这里必须刷新一下,不然下面取datagrid2和datagrid3时,行数为1.无法进行页面的颜色标识
  800. model.refresh();
  801. //取出原来的原放置位置和原来的到放置位置
  802. var FROM_ADDR_OLD = model.getValue("/root/sendData/FROM_ADDR_OLD");
  803. var TO_ADDR_OLD = model.getValue("/root/sendData/TO_ADDR_OLD");
  804. //在这个地方做颜色变化,显示命令执行完后的从原放置位置到到放置位置变化后的结果
  805. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  806. var nodeSet2 = datagrid2.nodeset;
  807. for(var n=1;n<datagrid2.rows;n++){
  808. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+n+"]/FROM_ADDR");
  809. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  810. if(FROM_ADDR_OLD == FROM_ADDR_2.substr(0,FROM_ADDR_2.length-2)){
  811. datagrid2.rowStyle(n,"data","background-color") = "#ffff99";
  812. }
  813. }
  814. //到位置的颜色变化
  815. var nodeSet3 = datagrid3.nodeset;
  816. for(var a=1;a<datagrid3.rows;a++){
  817. var TO_ADDR_3 = model.getValue(nodeSet3+"["+a+"]/TO_ADDR");
  818. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  819. if(TO_ADDR_OLD == TO_ADDR_3){
  820. datagrid3.rowStyle(a,"data","background-color") = "#ffff99";
  821. }
  822. }
  823. //这里重新调用一次查询方法就可以获得datagrid1中的数据了
  824. find();
  825. model.refresh();
  826. }else{
  827. alert(" 步进梁未锁定,请锁定后再操作! ");
  828. //这里为了在命令不能执行的情况下默认再查询一次
  829. find();
  830. return;
  831. }
  832. }else if((FROM_ADDR_TMP !="B0" || FROM_ADDR_TMP != "C0" || FROM_ADDR_TMP !="B1") && (TO_ADDR_TMP =="B0" || TO_ADDR_TMP =="C0" || TO_ADDR_TMP =="B1")){
  833. //命令执行完后是不是应该隐藏锁定按钮
  834. button1.visible = false;
  835. input3.visible = false;
  836. button2.visible = false;
  837. //这里需要处理原来放置位置和到放置位置的值
  838. //原放置位置的为5位,到放置位置的为3位
  839. var FROM_ADDR_SUBSTR = from_data.substr(0,5);
  840. var TO_ADDR_SUBSTR = to_data.substr(0,3);
  841. model.setValue("/root/sendData/fromData",FROM_ADDR_SUBSTR);
  842. model.setValue("/root/sendData/toData",TO_ADDR_SUBSTR);
  843. model.refresh();
  844. var lock_sign = model.getValue("/root/lockData/LOCK_SIGN");
  845. if(lock_sign == "已锁定"){
  846. model.duplicate("/root/reqData","/root/sendData/FROM_ADDR");
  847. model.duplicate("/root/reqData","/root/sendData/OLD_SAMPL_NO");
  848. model.duplicate("/root/reqData","/root/sendData/CR_NO");
  849. model.duplicate("/root/reqData","/root/sendData/TO_ADDR");
  850. model.duplicate("/root/reqData","/root/sendData/ORD_SEQ");
  851. model.duplicate("/root/reqData","/root/sendData/fromData");
  852. model.duplicate("/root/reqData","/root/sendData/toData");
  853. model.duplicate("/root/reqData","/root/sendData/CMD_CLF");
  854. //登录用户信息也需要保存到表中
  855. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  856. commSubmit("UIH050030-service","save","glueAction.do");
  857. //重新显示datagrid2、datagrid3中的数据
  858. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  859. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  860. //这里必须刷新一下,不然下面取datagrid2和datagrid3时,行数为1.无法进行页面的颜色标识
  861. model.refresh();
  862. //取出原来的原放置位置和原来的到放置位置
  863. var FROM_ADDR_OLD = model.getValue("/root/sendData/FROM_ADDR_OLD");
  864. var TO_ADDR_OLD = model.getValue("/root/sendData/TO_ADDR_OLD");
  865. //在这个地方做颜色变化,显示命令执行完后的从原放置位置到到放置位置变化后的结果
  866. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  867. var nodeSet2 = datagrid2.nodeset;
  868. for(var n=1;n<datagrid2.rows;n++){
  869. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+n+"]/FROM_ADDR");
  870. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  871. if(FROM_ADDR_OLD == FROM_ADDR_2){
  872. datagrid2.rowStyle(n,"data","background-color") = "#ffff99";
  873. }
  874. }
  875. //到位置的颜色变化
  876. var nodeSet3 = datagrid3.nodeset;
  877. for(var a=1;a<datagrid3.rows;a++){
  878. var TO_ADDR_3 = model.getValue(nodeSet3+"["+a+"]/TO_ADDR");
  879. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  880. if(TO_ADDR_OLD == TO_ADDR_3.substr(0,TO_ADDR_3.length-2)){
  881. datagrid3.rowStyle(a,"data","background-color") = "#ffff99";
  882. }
  883. }
  884. //这里重新调用一次查询方法就可以获得datagrid1中的数据了
  885. find();
  886. model.refresh();
  887. }else{
  888. alert(" 步进梁未锁定,请锁定后再操作! ");
  889. find();
  890. return;
  891. }
  892. }else{
  893. button1.visible = false;
  894. input3.visible = false;
  895. button2.visible = false;
  896. //这里需要处理原来放置位置和到放置位置的值
  897. //原放置位置的为5位,到放置位置的为5位
  898. var FROM_ADDR_SUBSTR = from_data.substr(0,5);
  899. var TO_ADDR_SUBSTR = to_data.substr(0,5);
  900. if(FROM_ADDR_SUBSTR == "" || TO_ADDR_SUBSTR == ""){
  901. alert(" 请选择希望执行的行车命令! ");
  902. return;
  903. }else{
  904. model.setValue("/root/sendData/fromData",FROM_ADDR_SUBSTR);
  905. model.setValue("/root/sendData/toData",TO_ADDR_SUBSTR);
  906. model.refresh();
  907. model.duplicate("/root/reqData","/root/sendData/FROM_ADDR");
  908. model.duplicate("/root/reqData","/root/sendData/OLD_SAMPL_NO");
  909. model.duplicate("/root/reqData","/root/sendData/CR_NO");
  910. model.duplicate("/root/reqData","/root/sendData/TO_ADDR");
  911. model.duplicate("/root/reqData","/root/sendData/ORD_SEQ");
  912. model.duplicate("/root/reqData","/root/sendData/fromData");
  913. model.duplicate("/root/reqData","/root/sendData/toData");
  914. model.duplicate("/root/reqData","/root/sendData/CMD_CLF");
  915. //登录用户信息也需要保存到表中
  916. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  917. commSubmit("UIH050030-service","save","glueAction.do");
  918. //重新显示datagrid2、datagrid3中的数据
  919. commAppendData("/root/datagrid2/YARD_DATA_FROM_VO","/root/resData/YARD_DATA_FROM_VO");
  920. commAppendData("/root/datagrid3/YARD_DATA_TO_VO","/root/resData/YARD_DATA_TO_VO");
  921. //这里必须刷新一下,不然下面取datagrid2和datagrid3时,行数为1.无法进行页面的颜色标识
  922. model.refresh();
  923. //取出原来的原放置位置和原来的到放置位置
  924. var FROM_ADDR_OLD = model.getValue("/root/sendData/FROM_ADDR_OLD");
  925. var TO_ADDR_OLD = model.getValue("/root/sendData/TO_ADDR_OLD");
  926. //在这个地方做颜色变化,显示命令执行完后的从原放置位置到到放置位置变化后的结果
  927. //循环原放位置和到放位置的信息,匹配到上面选中的哪一行并改变这一行的颜色
  928. var nodeSet2 = datagrid2.nodeset;
  929. for(var n=1;n<datagrid2.rows;n++){
  930. var FROM_ADDR_2 = model.getValue(nodeSet2+"["+n+"]/FROM_ADDR");
  931. //匹配结果行中的存放位置与原存放位置,如果两者相等就改变颜色
  932. if(FROM_ADDR_OLD == FROM_ADDR_2){
  933. datagrid2.rowStyle(n,"data","background-color") = "#ffff99";
  934. }
  935. }
  936. //到位置的颜色变化
  937. var nodeSet3 = datagrid3.nodeset;
  938. for(var a=1;a<datagrid3.rows;a++){
  939. var TO_ADDR_3 = model.getValue(nodeSet3+"["+a+"]/TO_ADDR");
  940. //匹配结果行中的存放位置与到存放位置,如果两者相等就改变颜色
  941. if(TO_ADDR_OLD == TO_ADDR_3){
  942. datagrid3.rowStyle(a,"data","background-color") = "#ffff99";
  943. }
  944. }
  945. //这里重新调用一次查询方法就可以获得datagrid1中的数据了
  946. find();
  947. model.refresh();
  948. }
  949. }
  950. }
  951. ]]>
  952. </script>
  953. </button>
  954. <input id="input3" ref="/root/lockData/LOCK_SIGN" style="left:900px; top:45px; width:80px; height:70px; background-color:#ffff99; "/>
  955. <line id="line3" style="x1:0px; y1:276px; x2:980px; y2:276px; "/>
  956. <button id="button4" style="left:775px; top:0px; width:115px; height:35px; ">
  957. <caption>查询</caption>
  958. <script type="javascript" ev:event="DOMActivate">
  959. <![CDATA[
  960. find();
  961. ]]>
  962. </script>
  963. </button>
  964. </xhtml:body>
  965. </xhtml:html>