3486843050eec6e7f966ea9c0de1401b47e72281.svn-base 100 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303
  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[发货管理 > 发货处理 > 火车排车及装车指示]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <initData/>
  12. <resData/>
  13. <reqData/>
  14. <searchData>
  15. <fromDate/>
  16. <toDate/>
  17. <SHIP_DIRNO/>
  18. <DLIV_TP/>
  19. <SHIP_COMP_NM/>
  20. <SHIP_PROG_CD/>
  21. <CUR_PROG_CD/>
  22. <LANE_TP/>
  23. <ENTERANCE_SEQ/>
  24. <tno/>
  25. </searchData>
  26. <datagrid1/>
  27. <datagrid2>
  28. <SHIPDIR_VO>
  29. <SHIPDIR_Row>
  30. <CHK/>
  31. <OLD_SAMPL_NO/>
  32. <COIL_NO/>
  33. <TOT_DEC_GRD/>
  34. <COIL_WTH/>
  35. <COIL_OUTDIA/>
  36. <ACT_WGT/>
  37. <CUR_LOAD_LOC/>
  38. <ALLOC_SEQ/>
  39. <DLIV_DIRNO/>
  40. <SHIP_DIRNO/>
  41. </SHIPDIR_Row>
  42. </SHIPDIR_VO>
  43. </datagrid2>
  44. <SHIP_DIRNO/>
  45. <ALLOC_SEQ/>
  46. <bool1/>
  47. <bool2/>
  48. <init>
  49. <DLIVTPData/>
  50. <SHIPCOMPData/>
  51. <TRAIN_STEP_NO/>
  52. </init>
  53. <bool/>
  54. <COIL>
  55. <ord_no/>
  56. <ord_seq/>
  57. <coil_no/>
  58. <coil_back/>
  59. <ACT_WGT/>
  60. <COIL_THK/>
  61. <COIL_WTH/>
  62. </COIL>
  63. <dliv_dirno/>
  64. <datagrid3>
  65. <FHMX>
  66. <ALLOC_SEQ/>
  67. <DEST_PCD_DESC/>
  68. <ORD_NM/>
  69. <SPEC_STL_GRD/>
  70. <OLD_SAMPL_NO/>
  71. <T_W/>
  72. <ACT_WGT/>
  73. <TOT_DEC_GRD/>
  74. <CUR_LOAD_LOC/>
  75. <CAR_NO/>
  76. </FHMX>
  77. </datagrid3>
  78. <bool3/>
  79. <datagrid4/>
  80. <DLIV_DIRNO_JH/>
  81. <Trainno>
  82. <Trainno_Row>
  83. <LABEL/>
  84. <VALUE/>
  85. </Trainno_Row>
  86. </Trainno>
  87. </root>
  88. </instance>
  89. </model>
  90. <script type="javascript" src="../../js/boaMsg.js"/>
  91. <script type="javascript" src="../../js/boaCommon.js"/>
  92. <script type="javascript">
  93. <![CDATA[
  94. function Init(node) {
  95. InitParams(node);
  96. //增加datagrid2表格中的选择按钮
  97. datagrid2.fixedcellcheckbox(0,datagrid2.colRef("CHK"))=true;
  98. datagrid2.colStatus(0)=false;
  99. InitParamsEE();
  100. }
  101. //调用公共的初始化方法获得登录用户名
  102. function InitParams(node) {
  103. if (typeof node == "undefined" && typeof node != "object") return;
  104. model.removenode("/root/initData/rcvInfo");
  105. model.makeNode("/root/initData/rcvInfo");
  106. var nodeList = node.childNodes;
  107. node = model.instances(0).selectSingleNode("/root/initData/rcvInfo");
  108. for (var i = 0; i < nodeList.length; i++)
  109. node.appendChild(nodeList.item(i));
  110. }
  111. function InitParamsEE(){
  112. commSubmit("UIJ010040-service","success","glueAction.do");
  113. //这里火车运输的方式,直接给出火车
  114. commAppendData("/root/init/SHIPCOMPData/SHIPCOMPData_VO","/root/resData/SHIPCOMPData_VO");
  115. model.copyNode("/root/Trainno" , "/root/resData/Trainno_VO");
  116. model.refresh();
  117. }
  118. //查询方法
  119. function find(){
  120. //清空发送接点
  121. model.removenode("/root/reqData");
  122. model.makeNode("/root/reqData");
  123. //清空datagrid1
  124. model.removenode("/root/datagrid1");
  125. model.makeNode("/root/datagrid1");
  126. //清空datagrid2
  127. model.removenode("/root/datagrid2");
  128. model.makeNode("/root/datagrid2");
  129. //清空一次排车顺序接点,不然会接着上次的数字开始排
  130. model.setValue("/root/ALLOC_SEQ","");
  131. //判断发货指示时间是否为空
  132. var fromDate = model.getValue("/root/searchData/fromDate");
  133. var toDate = model.getValue("/root/searchData/toDate");
  134. if(fromDate == ""){
  135. alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  136. return;
  137. }
  138. if(toDate == ""){
  139. alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  140. return;
  141. }
  142. //把相应的接点放入发送对象
  143. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFB"
  144. model.setValue("/root/searchData/SHIP_PROG_CD","03");
  145. model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
  146. model.duplicate("/root/reqData","/root/searchData/fromDate");
  147. model.duplicate("/root/reqData","/root/searchData/toDate");
  148. model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
  149. //这里物料进度为SFB,避免降级余才
  150. model.setValue("/root/searchData/CUR_PROG_CD","SFB");
  151. //5
  152. model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
  153. model.duplicate("/root/reqData","/root/searchData/fromDate");
  154. model.duplicate("/root/reqData","/root/searchData/toDate");
  155. //这里不管你选不选择运输方式,全部默认给铁路的运输方式
  156. model.setValue("/root/searchData/DLIV_TP","T");
  157. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  158. model.setValue("/root/searchData/LANE_TP","");
  159. model.duplicate("/root/reqData","/root/searchData/LANE_TP");
  160. model.setValue("/root/searchData/ENTERANCE_SEQ","");
  161. model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
  162. //11 这里的运输方式也一定是铁路运输,所以可以直接默认
  163. model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
  164. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  165. commSubmit("UIJ010040-service","find","glueAction.do");
  166. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  167. model.refresh();
  168. }
  169. function color_status()
  170. {
  171. var nodeSet = datagrid1.nodeset;
  172. for(var j=1;j<datagrid1.rows-1;j++){
  173. var v_wgt = model.getValue(nodeSet+"["+j+"]/WGT_DEC_RST");
  174. if(v_wgt == "2" ) {
  175. datagrid1.rowStyle(i , "data" , "color") = "#ff0000";//
  176. }
  177. }
  178. }
  179. //保存方法
  180. function save(){
  181. //这里保存的作用是把车厢号和排车顺序号更新到钢卷公共表,
  182. //并且改变TBJ01_SHIP_DIR的状态,从03-04,物料暂时不变SFB
  183. //并且还需要改变tbh02_coil_cmm中的SHIP_PROG_CD
  184. //清空发送接点
  185. model.removenode("/root/reqData");
  186. model.makeNode("/root/reqData");
  187. //清空排车顺序节点
  188. model.removenode("/root/init/TRAIN_STEP_NO");
  189. model.makeNode("/root/init/TRAIN_STEP_NO");
  190. //循环datagrid1,给出道次和次数为1的判断
  191. var nodeSet = datagrid1.nodeset;
  192. for(var j=1;j<datagrid1.rows-1;j++){
  193. var chk = model.getValue(nodeSet+"["+j+"]/CHK");
  194. if(chk == "Y"){
  195. var LANE_TP = model.getValue(nodeSet+"["+j+"]/LANE_TP");
  196. var ENTERANCE_SEQ = model.getValue(nodeSet+"["+j+"]/ENTERANCE_SEQ");
  197. var DLIV_DIRNO = model.getValue(nodeSet+"["+j+"]/DLIV_DIRNO");
  198. //var TRANS_CAR_NO=model.getValue(nodeSet+"["+j+"]/TRANS_CAR_NO");
  199. var v_wgt = model.getValue(nodeSet+"["+j+"]/WGT_DEC_RST");
  200. if(v_wgt == "2" ) {
  201. alert("第"+j+"行的运输指示号为:"+DLIV_DIRNO+" 的包含重量不合格钢卷!!");
  202. }
  203. if(LANE_TP == "" || ENTERANCE_SEQ == ""){
  204. alert("第"+j+"行的运输指示号为:"+DLIV_DIRNO+" 的没有入库道次和装车次数。不能点击保存按钮!!");
  205. return;
  206. }
  207. }
  208. }
  209. //把整个datagrid1中的数据发送到保存类中
  210. //这里因为改变了行数据,所以不用设置行状态
  211. commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts1");
  212. commSubmit("UIJ010040-service","save","glueAction.do");
  213. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  214. model.refresh();
  215. //需要把datagrid1中的已经保存到表中的行改为灰色,不允许再次修改
  216. var nodeSet1 = datagrid1.nodeset;
  217. for(var i=1;i<datagrid1.rows-1;i++){
  218. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  219. if(chk == "Y"){
  220. //这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
  221. var row = i+1;
  222. //把选中行的可输入位置改为灰色
  223. //datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
  224. //datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
  225. datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
  226. //datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
  227. //datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
  228. //根据实际的排车顺序情况,把排车顺序号带到车厢字段中
  229. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
  230. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
  231. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  232. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  233. //model.refresh();
  234. }
  235. }
  236. model.refresh();
  237. }
  238. //确认方法
  239. function comfirm(){
  240. //这里要把已经分号车的卷保存到表中,盖掉原来默认的排车顺序
  241. //应该不存在一个车组分开多次保存的情况,所以先按整车组处理
  242. //不同车组之间不能同时出现在datagrid2中,不然还要再次进行目的地判断
  243. //暂时按照同一车组一次确定的情况处理,具体再定
  244. model.removenode("/root/reqData");
  245. model.makeNode("/root/reqData");
  246. //确认的时候给出提示,是否需要完成排车操作
  247. var isUse = commComfirmBox("是否排车完毕,确认后不能进行换卷操作?","提示");
  248. if(isUse == "0"){
  249. //如果选择否的话,不进行相应操作
  250. return;
  251. }
  252. //超重的情况下是都继续执行的标志
  253. var top_wgt = null;
  254. //超重的车辆的总数
  255. var num_car = 0;
  256. var nodeSet1 = datagrid1.nodeset;
  257. //要判断datagrid1中是否存在超重的情况,存在的话要给予提示
  258. for(var i=1;i<datagrid1.rows-1;i++){
  259. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  260. //运输方式
  261. var DLIV_TP = model.getValue(nodeSet1+"["+i+"]/DLIV_TP");
  262. //汽车应该不存在这种情况
  263. if(DLIV_TP == "T" || DLIV_TP =="t"){
  264. //判断选择好了的车组
  265. if(chk == "Y"){
  266. var wgt = model.getValue(nodeSet1+"["+i+"]/ACT_WGT");
  267. var TRANS_CAR_NO= model.getValue(nodeSet1+"["+i+"]/TRANS_CAR_NO");
  268. if(TRANS_CAR_NO== ""){
  269. alert("第"+i+"行的车辆号为空,不能点击保存按钮!!");
  270. return;
  271. }
  272. //alert("wgt : "+wgt+" iiiiiiiiiiii "+i);
  273. //如果重量大于60吨
  274. if(Number(wgt) >= "60000"){
  275. alert(" 第"+i+"车的重量超过最大载重量60吨,超重"+((Number(wgt)-60000)/1000)+"吨! ");
  276. //每超重一辆车,num_car++
  277. num_car = num_car+1;
  278. var isUse = commComfirmBox("是否继续进行装车操作?","提示");
  279. if(isUse=="0"){
  280. //如果选择否的话,不进行相应操作
  281. return;
  282. }else{
  283. //这里给出的是允许超重的标志
  284. top_wgt = "Y";
  285. }
  286. }
  287. }
  288. }else if(DLIV_TP == "C" || DLIV_TP =="c"){
  289. //汽车的处理方式另行添加,以汽车的载重量为准
  290. }
  291. }
  292. //如果不存在超重的车辆的情况下直接保存
  293. if(num_car == 0){
  294. //alert("num_car : "+num_car);
  295. var nodeSet2 = datagrid2.nodeset;
  296. //这里需要判断是否datagrid2的所有选项全部选上,没有的话给予提示不能提交
  297. for(var j=1;j<datagrid2.rows-1;j++){
  298. var chk_2 = model.getValue(nodeSet2+"["+j+"]/CHK");
  299. if(chk_2 != "Y"){
  300. alert(" 第"+j+"行的选择项没有选择,做为同一批次的车不能出现为空的现象! ");
  301. return;
  302. }else{
  303. //选中的行给予相关的行状态
  304. //这里需要加一后才能包括所有的选择项目
  305. datagrid2.rowStatus(parseInt(j+1)) = 2;
  306. }
  307. }
  308. //提交datagrid2的全部数据,可能需要改变行状态
  309. commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
  310. //这里如果同一目的地,同一客户的钢卷进行混装的情况,要怎么记录具体哪个卷
  311. //上了哪个车,这里在表中没有相应的对应字段。是不是可以修改钢卷公共表的对应关系
  312. //但是在程序中只改变了车厢号与卷的对应,并且也不能改变运输号与卷的对应关系。
  313. //这里就是更新钢卷公共表中的对应关系
  314. //这里加入登录用户名,会不会与已有的initData冲突
  315. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  316. //这里只处理同一发货指示号下的钢卷,不同发货指示号下钢卷混装的情况现在还不能处理
  317. commSubmit("UIJ010040-service","comfirm","glueAction.do");
  318. model.refresh();
  319. //获取品质保证书的返回标志,如果品质保证书生成不成功给予提示
  320. if(model.getValue("root/resData/rs_VO/rs_Row")=="sRETURN_CD")
  321. {
  322. window.alert(" 品质保证书生成失败,请联系管理员! ");
  323. return;
  324. }
  325. find();
  326. //这里流程走过了一遍searchSHIPDIR,希望能够清空datagrid2
  327. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  328. model.refresh();
  329. }else{
  330. //这里给出一个标志,在选择继续执行的情况下给予保存
  331. if(top_wgt == "Y" && top_wgt != null){
  332. //alert("top_wgt : "+top_wgt);
  333. //alert("num_car : "+num_car);
  334. var nodeSet2 = datagrid2.nodeset;
  335. //这里需要判断是否datagrid2的所有选项全部选上,没有的话给予提示不能提交
  336. for(var j=1;j<datagrid2.rows-1;j++){
  337. var chk_2 = model.getValue(nodeSet2+"["+j+"]/CHK");
  338. if(chk_2 != "Y"){
  339. alert(" 第"+j+"行的选择项没有选择,做为同一批次的车不能出现为空的现象! ");
  340. return;
  341. }else{
  342. //选中的行给予相关的行状态
  343. //这里需要加一后才能包括所有的选择项目
  344. datagrid2.rowStatus(parseInt(j+1)) = 2;
  345. }
  346. }
  347. //提交datagrid2的全部数据,可能需要改变行状态
  348. commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
  349. //这里如果同一目的地,同一客户的钢卷进行混装的情况,要怎么记录具体哪个卷
  350. //上了哪个车,这里在表中没有相应的对应字段。是不是可以修改钢卷公共表的对应关系
  351. //但是在程序中只改变了车厢号与卷的对应,并且也不能改变运输号与卷的对应关系。
  352. //这里就是更新钢卷公共表中的对应关系
  353. //这里加入登录用户名,会不会与已有的initData冲突
  354. model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
  355. //这里只处理同一发货指示号下的钢卷,不同发货指示号下钢卷混装的情况现在还不能处理
  356. commSubmit("UIJ010040-service","comfirm","glueAction.do");
  357. model.refresh();
  358. //获取品质保证书的返回标志,如果品质保证书生成不成功给予提示
  359. if(model.getValue("root/resData/rs_VO/rs_Row")=="sRETURN_CD")
  360. {
  361. window.alert(" 品质保证书生成失败,请联系管理员! ");
  362. return;
  363. }
  364. find();
  365. //这里流程走过了一遍searchSHIPDIR,希望能够清空datagrid2
  366. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  367. model.refresh();
  368. }else{
  369. alert(" 请确定是否有需要确定的钢卷信息! ");
  370. }
  371. }
  372. }
  373. //在bool2为true的情况下,混编钢卷刷新datagrid1的情况
  374. function Bool2_True(){
  375. //这里定位到车厢的选择字段上面
  376. if(datagrid2.col == datagrid2.colRef("ALLOC_SEQ")){
  377. //这里每次改变车厢号信息,要颜色提示超重的运输号
  378. //这里只能整体刷新datagrid1,暂不考虑效率问题。不清空datagrid1
  379. //这里还必须区分,不同目的地的卷不能装到同一辆车上去
  380. var nodeSet1 = datagrid1.nodeset;
  381. var nodeSet2 = datagrid2.nodeset;
  382. //统计个车钢卷个数的变量
  383. var count1=0;
  384. var count2=0;
  385. var count3=0;
  386. var count4=0;
  387. var count5=0;
  388. var count6=0;
  389. var count7=0;
  390. var count8=0;
  391. var count9=0;
  392. //这里可能为加入实际车的吨位,具体的情况待定
  393. //统计钢卷重量的变量
  394. var wgt1=0;
  395. var wgt2=0;
  396. var wgt3=0;
  397. var wgt4=0;
  398. var wgt5=0;
  399. var wgt6=0;
  400. var wgt7=0;
  401. var wgt8=0;
  402. var wgt9=0;
  403. // //来源车厢号
  404. // var TRANS_CAR_NO_FROM = "";
  405. // //去向车厢号
  406. // var TRANS_CAR_NO_TO = "";
  407. // //来源运输指示号
  408. // var DLIV_DIRNO_FROM = "";
  409. // //去向运输指示号
  410. // var DLIV_DIRNO_TO = "";
  411. //这里是为了定位到选择到的行
  412. //去向排车顺序号
  413. var ALLOC_SEQ_TO_Y = 0;
  414. //钢卷重量
  415. var ACT_WGT_Y = 0;
  416. //来源目的地
  417. var DEST_PCD_FROM_Y = "";
  418. //来源运输号
  419. var DLIV_DIRNO_FROM_Y = "";
  420. //这里是为了求和运算
  421. //去向排车顺序号
  422. var ALLOC_SEQ_TO = 0;
  423. //钢卷重量
  424. var ACT_WGT = 0;
  425. //来源目的地
  426. var DEST_PCD_FROM = "";
  427. //来源运输号
  428. var DLIV_DIRNO_FROM = "";
  429. //发货指使只在页面显示,不录入数据库
  430. //这里需要定位到选择的具体哪一行,否则的话不能够获得实际的去向排车顺序号和来源运输号
  431. for(var w=0;w<datagrid2.selectedRows;w++){
  432. rw = datagrid2.selectedRow(w);
  433. //把选中行的数字正确的显示
  434. rw = parseInt(rw-1);
  435. //这里的值用于判断等否累加,并且给出提示
  436. ALLOC_SEQ_TO_Y = model.getValue(nodeSet2+"["+rw+"]/ALLOC_SEQ");
  437. ACT_WGT_Y = model.getValue(nodeSet2+"["+rw+"]/ACT_WGT");
  438. DEST_PCD_FROM_Y = model.getValue(nodeSet2+"["+rw+"]/DEST_PCD");
  439. DLIV_DIRNO_FROM_Y = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
  440. }
  441. for(var i=1;i<datagrid2.rows-1;i++){
  442. ALLOC_SEQ_TO = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
  443. ACT_WGT = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  444. DEST_PCD_FROM = model.getValue(nodeSet2+"["+i+"]/DEST_PCD");
  445. DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+i+"]/DLIV_DIRNO");
  446. //循环datagrid1,找到与去向排车顺序号对应的目的地信息。
  447. //如果两个目的地信息相等,就可以进行车内钢卷互换
  448. for(var k=1;k<datagrid1.rows-1;k++){
  449. //求出datagrid1中已有的排车顺序信息
  450. var ALLOC_SEQ_TMP = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
  451. //求出datagrid1中已有运输指示号信息
  452. var DLIV_DIRNO_TMP = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
  453. //如果去向排车顺序号相等,取出相对应的目的地信息,以及去向车厢号信息
  454. //这里使用的是选择特定行的数据
  455. if(ALLOC_SEQ_TMP == ALLOC_SEQ_TO_Y){
  456. var DEST_PCD_TO = model.getValue(nodeSet1+"["+k+"]/DEST_PCD");
  457. if(DEST_PCD_FROM_Y == DEST_PCD_TO){
  458. //取出去向的车厢号,并且回填到来源的位置上
  459. var TRANS_CAR_NO_TO = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO");
  460. //这里获取的车厢号必须回填到选择行上去
  461. model.setValue(nodeSet2+"["+rw+"]/TRANS_CAR_NO",TRANS_CAR_NO_TO);
  462. //进行相应的统计计算,并且改变颜色
  463. //判断各个车厢号的情况,把相应的数量和重量加起来
  464. //这里写死,最多也不会超过10辆车
  465. if(ALLOC_SEQ_TO == "1"){
  466. count1 = Number(++count1);
  467. wgt1 = Number(wgt1) + Number(ACT_WGT);
  468. }else if(ALLOC_SEQ_TO == "2"){
  469. count2 = Number(++count2);
  470. wgt2 = Number(wgt2) + Number(ACT_WGT);
  471. }else if(ALLOC_SEQ_TO == "3"){
  472. count3 = Number(++count3);
  473. wgt3 = Number(wgt3) + Number(ACT_WGT);
  474. }else if(ALLOC_SEQ_TO == "4"){
  475. count4 = Number(++count4);
  476. wgt4 = Number(wgt4) + Number(ACT_WGT);
  477. }else if(ALLOC_SEQ_TO == "5"){
  478. count5 = Number(++count5);
  479. wgt5 = Number(wgt5) + Number(ACT_WGT);
  480. }else if(ALLOC_SEQ_TO == "6"){
  481. count6 = Number(++count6);
  482. wgt6 = Number(wgt6) + Number(ACT_WGT);
  483. }else if(ALLOC_SEQ_TO == "7"){
  484. count7= Number(++count7);
  485. wgt7 = Number(wgt7) + Number(ACT_WGT);
  486. }else if(ALLOC_SEQ_TO == "8"){
  487. count8= Number(++count8);
  488. wgt8 = Number(wgt8) + Number(ACT_WGT);
  489. }else if(ALLOC_SEQ_TO == "9"){
  490. count9= Number(++count9);
  491. wgt9 = Number(wgt9) + Number(ACT_WGT);
  492. }else{
  493. //先处理9个的情况,10个的以后统一加
  494. alert("datagrid2 超过车辆的最大进库数!");
  495. }
  496. // alert("count1 : "+count1);
  497. // alert("count2 : "+count2);
  498. // alert("count3 : "+count3);
  499. // alert("count4 : "+count4);
  500. // alert("count5 : "+count5);
  501. // alert("count6 : "+count6);
  502. // alert("count7 : "+count7);
  503. //
  504. // alert("wgt1 : "+wgt1);
  505. // alert("wgt2 : "+wgt2);
  506. // alert("wgt3 : "+wgt3);
  507. // alert("wgt4 : "+wgt4);
  508. // alert("wgt5 : "+wgt5);
  509. // alert("wgt6 : "+wgt6);
  510. // alert("wgt7 : "+wgt7);
  511. //把所有的计算结果放入datagrid1中的相应位置,如果超重要用红色表示
  512. for(var j=1;j<datagrid1.rows-1;j++){
  513. var ALLOC_SEQ_1 = model.getValue(nodeSet1+"["+j+"]/ALLOC_SEQ");
  514. var chk_1 = model.getValue(nodeSet1+"["+j+"]/CHK");
  515. //求出特定字段对应的行数
  516. var col_cnt = datagrid1.colRef("CNT");
  517. var col_wgt = datagrid1.colRef("ACT_WGT");
  518. //判断车厢号,并且把相应的数据添入。给出颜色指示
  519. if(ALLOC_SEQ_1 == "1"){
  520. model.setValue(nodeSet1+"["+j+"]/CNT",count1);
  521. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt1);
  522. var row1 = parseInt(j+1);
  523. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  524. if(wgt1 >= "60000"){
  525. //超过重量的时候要变成红色
  526. datagrid1.cellStyle("background-color",Number(row1),Number(col_cnt))="#ff0000";
  527. datagrid1.cellStyle("background-color",Number(row1),Number(col_wgt))="#ff0000";
  528. }else{
  529. //还原回来后就要恢复原来的颜色
  530. datagrid1.cellStyle("background-color",Number(row1),Number(col_cnt))="#ffffff";
  531. datagrid1.cellStyle("background-color",Number(row1),Number(col_wgt))="#ffffff";
  532. }
  533. }else if(ALLOC_SEQ_1 == "2"){
  534. model.setValue(nodeSet1+"["+j+"]/CNT",count2);
  535. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt2);
  536. var row2 = parseInt(j+1);
  537. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  538. if(wgt2 >= "60000"){
  539. //超重改变颜色
  540. datagrid1.cellStyle("background-color",Number(row2),Number(col_cnt))="#ff0000";
  541. datagrid1.cellStyle("background-color",Number(row2),Number(col_wgt))="#ff0000";
  542. }else{
  543. //不超重就还原
  544. datagrid1.cellStyle("background-color",Number(row2),Number(col_cnt))="#ffffff";
  545. datagrid1.cellStyle("background-color",Number(row2),Number(col_wgt))="#ffffff";
  546. }
  547. }else if(ALLOC_SEQ_1 == "3"){
  548. model.setValue(nodeSet1+"["+j+"]/CNT",count3);
  549. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt3);
  550. var row3 = parseInt(j+1);
  551. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  552. if(wgt3 >= "60000"){
  553. //超重
  554. datagrid1.cellStyle("background-color",Number(row3),Number(col_cnt))="#ff0000";
  555. datagrid1.cellStyle("background-color",Number(row3),Number(col_wgt))="#ff0000";
  556. }else{
  557. datagrid1.cellStyle("background-color",Number(row3),Number(col_cnt))="#ffffff";
  558. datagrid1.cellStyle("background-color",Number(row3),Number(col_wgt))="#ffffff";
  559. }
  560. }else if(ALLOC_SEQ_1 == "4"){
  561. model.setValue(nodeSet1+"["+j+"]/CNT",count4);
  562. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt4);
  563. var row4 = parseInt(j+1);
  564. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  565. if(wgt4 >= "60000"){
  566. //超重
  567. datagrid1.cellStyle("background-color",Number(row4),Number(col_cnt))="#ff0000";
  568. datagrid1.cellStyle("background-color",Number(row4),Number(col_wgt))="#ff0000";
  569. }else{
  570. datagrid1.cellStyle("background-color",Number(row4),Number(col_cnt))="#ffffff";
  571. datagrid1.cellStyle("background-color",Number(row4),Number(col_wgt))="#ffffff";
  572. }
  573. }else if(ALLOC_SEQ_1 == "5"){
  574. model.setValue(nodeSet1+"["+j+"]/CNT",count5);
  575. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt5);
  576. var row5 = parseInt(j+1);
  577. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  578. if(wgt5 >= "60000"){
  579. //超重
  580. datagrid1.cellStyle("background-color",Number(row5),Number(col_cnt))="#ff0000";
  581. datagrid1.cellStyle("background-color",Number(row5),Number(col_wgt))="#ff0000";
  582. }else{
  583. datagrid1.cellStyle("background-color",Number(row5),Number(col_cnt))="#ffffff";
  584. datagrid1.cellStyle("background-color",Number(row5),Number(col_wgt))="#ffffff";
  585. }
  586. }else if(ALLOC_SEQ_1 == "6"){
  587. model.setValue(nodeSet1+"["+j+"]/CNT",count6);
  588. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt6);
  589. var row6 = parseInt(j+1);
  590. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  591. if(wgt6 >= "60000"){
  592. //超重
  593. datagrid1.cellStyle("background-color",Number(row6),Number(col_cnt))="#ff0000";
  594. datagrid1.cellStyle("background-color",Number(row6),Number(col_wgt))="#ff0000";
  595. }else{
  596. datagrid1.cellStyle("background-color",Number(row6),Number(col_cnt))="#ffffff";
  597. datagrid1.cellStyle("background-color",Number(row6),Number(col_wgt))="#ffffff";
  598. }
  599. }else if(ALLOC_SEQ_1 == "7"){
  600. model.setValue(nodeSet1+"["+j+"]/CNT",count7);
  601. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt7);
  602. var row7 = parseInt(j+1);
  603. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  604. if(wgt7 >= "60000"){
  605. //超重
  606. datagrid1.cellStyle("background-color",Number(row7),Number(col_cnt))="#ff0000";
  607. datagrid1.cellStyle("background-color",Number(row7),Number(col_wgt))="#ff0000";
  608. }else{
  609. datagrid1.cellStyle("background-color",Number(row7),Number(col_cnt))="#ffffff";
  610. datagrid1.cellStyle("background-color",Number(row7),Number(col_wgt))="#ffffff";
  611. }
  612. }else if(ALLOC_SEQ_1 == "8"){
  613. model.setValue(nodeSet1+"["+j+"]/CNT",count8);
  614. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt8);
  615. var row8 = parseInt(j+1);
  616. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  617. if(wgt8 >= "60000"){
  618. //超重
  619. datagrid1.cellStyle("background-color",Number(row8),Number(col_cnt))="#ff0000";
  620. datagrid1.cellStyle("background-color",Number(row8),Number(col_wgt))="#ff0000";
  621. }else{
  622. datagrid1.cellStyle("background-color",Number(row8),Number(col_cnt))="#ffffff";
  623. datagrid1.cellStyle("background-color",Number(row8),Number(col_wgt))="#ffffff";
  624. }
  625. }else if(ALLOC_SEQ_1 == "9"){
  626. model.setValue(nodeSet1+"["+j+"]/CNT",count9);
  627. model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt9);
  628. var row9 = parseInt(j+1);
  629. //这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
  630. if(wgt9 >= "60000"){
  631. //超重
  632. datagrid1.cellStyle("background-color",Number(row9),Number(col_cnt))="#ff0000";
  633. datagrid1.cellStyle("background-color",Number(row9),Number(col_wgt))="#ff0000";
  634. }else{
  635. datagrid1.cellStyle("background-color",Number(row9),Number(col_cnt))="#ffffff";
  636. datagrid1.cellStyle("background-color",Number(row9),Number(col_wgt))="#ffffff";
  637. }
  638. }else{
  639. //提示错误信息
  640. //alert(" datagrid1 超过最大车辆数!");
  641. }
  642. }
  643. }else{
  644. //这里需要把车厢号还原到改变以前
  645. //如果出现两个或者两个以上的相同目的地信息,回填就会出错.使用运输号
  646. for(var a=1;a<datagrid1.rows-1;a++){
  647. var DLIV_DIRNO_TO = model.getValue(nodeSet1+"["+a+"]/DLIV_DIRNO");
  648. //通过原来的运输号信息获得原来的车辆顺序号
  649. if(DLIV_DIRNO_TO == DLIV_DIRNO_FROM_Y){
  650. var ALLOC_SEQ_FROM = model.getValue(nodeSet1+"["+a+"]/ALLOC_SEQ");
  651. //把车辆顺序号还原
  652. model.setValue(nodeSet2+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ_FROM);
  653. }
  654. }
  655. alert(" 目的地不相同,不能进行钢卷混编车操作! ");
  656. //这里需不需要重新查询一次,把默认值出去
  657. return;
  658. }
  659. }
  660. }
  661. }
  662. }
  663. }
  664. function getcar(){
  665. //这里保存的作用是把车厢号和排车顺序号更新到钢卷公共表,
  666. //并且改变TBJ01_SHIP_DIR的状态,从03-04,物料暂时不变SFB
  667. //并且还需要改变tbh02_coil_cmm中的SHIP_PROG_CD
  668. //清空发送接点
  669. model.removenode("/root/reqData");
  670. model.makeNode("/root/reqData");
  671. //清空排车顺序节点
  672. model.removenode("/root/init/TRAIN_STEP_NO");
  673. model.makeNode("/root/init/TRAIN_STEP_NO");
  674. //把整个datagrid1中的数据发送到保存类中
  675. //这里因为改变了行数据,所以不用设置行状态
  676. commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts1");
  677. //汽运的情况直接给出汽运的标识,不给出的话保存后无法看到钢卷信息
  678. model.setValue("/root/searchData/DLIV_TP","C");
  679. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  680. commSubmit("UIJ010041-service","getcar","glueAction.do");
  681. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  682. model.refresh();
  683. }
  684. //datagrid2 选择车厢的时候整车替换的情况
  685. function Bool2_False(){
  686. //不能选择到具体的钢卷,只能整运输号之间调整
  687. //只在选择车辆号时触发事件
  688. if(datagrid2.col == datagrid2.colRef("ALLOC_SEQ")){
  689. var nodeSet2 = datagrid2.nodeset;
  690. var nodeSet1 = datagrid1.nodeset;
  691. var rw;
  692. //获取选择位置的去向的车厢号
  693. var ALLOC_SEQ_TO = null;
  694. //获取选择位置的来源的运输指示号
  695. var DLIV_DIRNO_FROM = null;
  696. //获得去向车厢号对应的运输指示号
  697. var DLIV_DIRNO_TO = null;
  698. //获取来源运输指示号对应的车厢号
  699. var ALLOC_SEQ_FROM = null;
  700. for(var i=0;i<datagrid2.selectedRows;i++){
  701. rw = datagrid2.selectedRow(i);
  702. //把选中行的数字正确的显示
  703. rw = parseInt(rw-1);
  704. ALLOC_SEQ_TO = model.getValue(nodeSet2+"["+rw+"]/ALLOC_SEQ");
  705. DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
  706. }
  707. //alert("ALLOC_SEQ_TO : "+ALLOC_SEQ_TO);
  708. //alert("DLIV_DIRNO_FROM : "+DLIV_DIRNO_FROM);
  709. //发货指示号
  710. var SHIP_DIRNO_FROM;
  711. //装车地点
  712. var GET_NO_PCD_FROM;
  713. //专用线
  714. var EXLV_LINE_CD_FROM;
  715. //卸车地点
  716. var GET_OFF_PCD_FROM;
  717. //运输方式
  718. var DLIV_TP_NM_FROM;
  719. //运输单位
  720. var SM_CFNM_FROM;
  721. //铁路运输号
  722. var TRAIN_DLIVNO_FROM;
  723. //数量
  724. var CNT_FROM;
  725. //重量
  726. var ACT_WGT_FROM;
  727. //目的地
  728. var DEST_PCD_FROM;
  729. //新增加车厢号
  730. var TRANS_CAR_NO_FROM;
  731. //发货指示号
  732. var SHIP_DIRNO_TO;
  733. //装车地点
  734. var GET_NO_PCD_TO;
  735. //专用线
  736. var EXLV_LINE_CD_TO;
  737. //卸车地点
  738. var GET_OFF_PCD_TO;
  739. //运输方式
  740. var DLIV_TP_NM_TO;
  741. //运输单位
  742. var SM_CFNM_TO;
  743. //铁路运输号
  744. var TRAIN_DLIVNO_TO;
  745. //数量
  746. var CNT_TO;
  747. //重量
  748. var ACT_WGT_TO;
  749. //目的地
  750. var DEST_PCD_TO;
  751. //新增加车厢号
  752. var TRANS_CAR_NO_TO;
  753. //通过选择位置的去向车厢号和来源运输号找到相应的
  754. //这里需要改变datagrid1中的运输号与排车顺序号的对应,否则再第二次选择的时候就对应不上了
  755. for(var k=1;k<datagrid1.rows-1;k++){
  756. var DLIV_DIRNO_TMP = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
  757. var ALLOC_SEQ_TMP = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
  758. //获得去向运输号
  759. if(ALLOC_SEQ_TO == ALLOC_SEQ_TMP){
  760. DLIV_DIRNO_TO = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
  761. //alert("DLIV_DIRNO_TO : "+DLIV_DIRNO_TO);
  762. //把已经改变了车厢号的运输号对应到具体的车厢上去
  763. SHIP_DIRNO_TO = model.getValue(nodeSet1+"["+k+"]/SHIP_DIRNO");
  764. GET_NO_PCD_TO = model.getValue(nodeSet1+"["+k+"]/GET_NO_PCD");
  765. EXLV_LINE_CD_TO = model.getValue(nodeSet1+"["+k+"]/EXLV_LINE_CD");
  766. GET_OFF_PCD_TO = model.getValue(nodeSet1+"["+k+"]/GET_OFF_PCD");
  767. DLIV_TP_NM_TO = model.getValue(nodeSet1+"["+k+"]/DLIV_TP_NM");
  768. SM_CFNM_TO = model.getValue(nodeSet1+"["+k+"]/SM_CFNM");
  769. TRAIN_DLIVNO_TO = model.getValue(nodeSet1+"["+k+"]/TRAIN_DLIVNO");
  770. CNT_TO = model.getValue(nodeSet1+"["+k+"]/CNT");
  771. ACT_WGT_TO = model.getValue(nodeSet1+"["+k+"]/ACT_WGT");
  772. DEST_PCD_TO = model.getValue(nodeSet1+"["+k+"]/DEST_PCD");
  773. TRANS_CAR_NO_TO = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO");
  774. model.refresh();
  775. }
  776. //获得来源排车顺序号
  777. if(DLIV_DIRNO_FROM == DLIV_DIRNO_TMP){
  778. ALLOC_SEQ_FROM = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
  779. //alert("ALLOC_SEQ_FROM : "+ALLOC_SEQ_FROM);
  780. //把已经改变了车厢号的运输号对应到具体的车厢上去
  781. SHIP_DIRNO_FROM = model.getValue(nodeSet1+"["+k+"]/SHIP_DIRNO");
  782. GET_NO_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/GET_NO_PCD");
  783. EXLV_LINE_CD_FROM = model.getValue(nodeSet1+"["+k+"]/EXLV_LINE_CD");
  784. GET_OFF_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/GET_OFF_PCD");
  785. DLIV_TP_NM_FROM = model.getValue(nodeSet1+"["+k+"]/DLIV_TP_NM");
  786. SM_CFNM_FROM = model.getValue(nodeSet1+"["+k+"]/SM_CFNM");
  787. TRAIN_DLIVNO_FROM = model.getValue(nodeSet1+"["+k+"]/TRAIN_DLIVNO");
  788. CNT_FROM = model.getValue(nodeSet1+"["+k+"]/CNT");
  789. ACT_WGT_FROM = model.getValue(nodeSet1+"["+k+"]/ACT_WGT");
  790. DEST_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/DEST_PCD");
  791. TRANS_CAR_NO_FROM = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO");
  792. model.refresh();
  793. }
  794. }
  795. //这里需要再循环一次datagrid1才可以把值都赋予上去
  796. //因为不知道到底哪一行是取出的哪一行是赋予的
  797. for(var m=1;m<=datagrid1.rows-1;m++){
  798. var DLIV_DIRNO_M = model.getValue(nodeSet1+"["+m+"]/DLIV_DIRNO");
  799. var ALLOC_SEQ_M = model.getValue(nodeSet1+"["+m+"]/ALLOC_SEQ");
  800. if(ALLOC_SEQ_TO == ALLOC_SEQ_M){
  801. //alert("ALLOC_SEQ_M : "+ALLOC_SEQ_M+" MMMMMMMMMMMM "+m);
  802. //alert("SHIP_DIRNO_FROM : "+SHIP_DIRNO_FROM);
  803. //把来源的值换过来
  804. datagrid1.valueMatrix(m+1,datagrid1.colRef("SHIP_DIRNO")) = SHIP_DIRNO_FROM;
  805. datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_NO_PCD")) = GET_NO_PCD_FROM;
  806. datagrid1.valueMatrix(m+1,datagrid1.colRef("EXLV_LINE_CD")) = EXLV_LINE_CD_FROM;
  807. datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_OFF_PCD")) = GET_OFF_PCD_FROM;
  808. datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_TP_NM")) = DLIV_TP_NM_FROM;
  809. datagrid1.valueMatrix(m+1,datagrid1.colRef("SM_CFNM")) = SM_CFNM_FROM;
  810. datagrid1.valueMatrix(m+1,datagrid1.colRef("TRAIN_DLIVNO")) = TRAIN_DLIVNO_FROM;
  811. datagrid1.valueMatrix(m+1,datagrid1.colRef("CNT")) = CNT_FROM;
  812. datagrid1.valueMatrix(m+1,datagrid1.colRef("ACT_WGT")) = ACT_WGT_FROM;
  813. datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_DIRNO")) = DLIV_DIRNO_FROM;
  814. datagrid1.valueMatrix(m+1,datagrid1.colRef("DEST_PCD")) = DEST_PCD_FROM;
  815. model.refresh();
  816. }
  817. //获得来源排车顺序号
  818. if(DLIV_DIRNO_FROM == DLIV_DIRNO_M){
  819. //alert("DLIV_DIRNO_M : "+DLIV_DIRNO_M+" AAAAAAAAAAA "+m);
  820. //调试代码
  821. // alert("SHIP_DIRNO_TO : "+SHIP_DIRNO_TO);
  822. // alert("GET_NO_PCD_TO : "+GET_NO_PCD_TO);
  823. // alert("EXLV_LINE_CD_TO : "+EXLV_LINE_CD_TO);
  824. // alert("GET_OFF_PCD_TO : "+GET_OFF_PCD_TO);
  825. // alert("DLIV_TP_NM_TO : "+DLIV_TP_NM_TO);
  826. // alert("SM_CFNM_TO : "+SM_CFNM_TO);
  827. // alert("TRAIN_DLIVNO_TO : "+TRAIN_DLIVNO_TO);
  828. // alert("CNT_TO : "+CNT_TO);
  829. // alert("ACT_WGT_TO : "+ACT_WGT_TO);
  830. // alert("DLIV_DIRNO_TO : "+DLIV_DIRNO_TO);
  831. // alert("DEST_PCD_TO : "+DEST_PCD_TO);
  832. //把去向的值换过来
  833. datagrid1.valueMatrix(m+1,datagrid1.colRef("SHIP_DIRNO")) = SHIP_DIRNO_TO;
  834. datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_NO_PCD")) = GET_NO_PCD_TO;
  835. datagrid1.valueMatrix(m+1,datagrid1.colRef("EXLV_LINE_CD")) = EXLV_LINE_CD_TO;
  836. datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_OFF_PCD")) = GET_OFF_PCD_TO;
  837. datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_TP_NM")) = DLIV_TP_NM_TO;
  838. datagrid1.valueMatrix(m+1,datagrid1.colRef("SM_CFNM")) = SM_CFNM_TO;
  839. datagrid1.valueMatrix(m+1,datagrid1.colRef("TRAIN_DLIVNO")) = TRAIN_DLIVNO_TO;
  840. datagrid1.valueMatrix(m+1,datagrid1.colRef("CNT")) = CNT_TO;
  841. datagrid1.valueMatrix(m+1,datagrid1.colRef("ACT_WGT")) = ACT_WGT_TO;
  842. datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_DIRNO")) = DLIV_DIRNO_TO;
  843. datagrid1.valueMatrix(m+1,datagrid1.colRef("DEST_PCD")) = DEST_PCD_TO;
  844. model.refresh();
  845. }
  846. }
  847. //把相应的车厢号对调,不能改变运输号对应的卷。
  848. for(var j=1;j<datagrid2.rows-1;j++){
  849. var DLIV_DIRNO1 = model.getValue(nodeSet2+"["+j+"]/DLIV_DIRNO");
  850. //alert("DLIV_DIRNO1 : "+DLIV_DIRNO1+" JJJJJJJJJJJJ "+j);
  851. //同一运输指示号下面的钢卷要一起变化,不能改变运输号
  852. if(DLIV_DIRNO_FROM == DLIV_DIRNO1){
  853. //改变运输号中来源的数据,车厢序号以及车厢号TRANS_CAR_NO_FROM
  854. model.setValue(nodeSet2+"["+j+"]/ALLOC_SEQ",ALLOC_SEQ_TO);
  855. model.setValue(nodeSet2+"["+j+"]/TRANS_CAR_NO",TRANS_CAR_NO_TO);
  856. }else if(DLIV_DIRNO_TO == DLIV_DIRNO1){
  857. //改变运输号中去向的数据,车厢序号以及车厢号
  858. model.setValue(nodeSet2+"["+j+"]/ALLOC_SEQ",ALLOC_SEQ_FROM);
  859. model.setValue(nodeSet2+"["+j+"]/TRANS_CAR_NO",TRANS_CAR_NO_FROM);
  860. }
  861. }
  862. }
  863. }
  864. //把待装车方法公共出来,多个地方需要调用
  865. function DZCfind(){
  866. //清空发送接点
  867. model.removenode("/root/reqData");
  868. model.makeNode("/root/reqData");
  869. //清空datagrid1,datagrid2
  870. model.removenode("/root/datagrid1");
  871. model.makeNode("/root/datagrid1");
  872. //清空获得排车顺序的号的节点
  873. model.removenode("/root/init/TRAIN_STEP_NO");
  874. model.makeNode("/root/init/TRAIN_STEP_NO");
  875. //判断发货指示时间是否为空
  876. var fromDate = model.getValue("/root/searchData/fromDate");
  877. var toDate = model.getValue("/root/searchData/toDate");
  878. var LANE_TP = model.getValue("/root/searchData/LANE_TP");
  879. var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
  880. if(fromDate == ""){
  881. alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  882. return;
  883. }
  884. if(toDate == ""){
  885. alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  886. return;
  887. }
  888. if(LANE_TP == ""){
  889. alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
  890. return;
  891. }
  892. if(ENTERANCE_SEQ == ""){
  893. alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
  894. return;
  895. }
  896. //把相应的接点放入发送对象
  897. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
  898. model.setValue("/root/searchData/SHIP_PROG_CD","04");
  899. model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
  900. model.duplicate("/root/reqData","/root/searchData/fromDate");
  901. model.duplicate("/root/reqData","/root/searchData/toDate");
  902. model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
  903. //这里物料进度SFB
  904. model.setValue("/root/searchData/CUR_PROG_CD","SFB");
  905. //5
  906. model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
  907. model.duplicate("/root/reqData","/root/searchData/fromDate");
  908. model.duplicate("/root/reqData","/root/searchData/toDate");
  909. //这里火运的情况直接给出火运的方式
  910. model.setValue("/root/searchData/DLIV_TP","T");
  911. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  912. model.duplicate("/root/reqData","/root/searchData/LANE_TP");
  913. model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
  914. //11
  915. model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
  916. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  917. //获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
  918. commSubmit("UIJ010040-service","findDlivDir","glueAction.do");
  919. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  920. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  921. model.refresh();
  922. //这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
  923. //所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
  924. //只能观看,不能进行相应的操作
  925. var nodeSet1 = datagrid1.nodeset;
  926. for(var i=1;i<datagrid1.rows-1;i++){
  927. //这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
  928. var row = i+1;
  929. //把选择项全部钩上,这里如果需要特殊的处理再修改
  930. model.setValue(nodeSet1+"["+i+"]/CHK","Y");
  931. //按从上到下的顺序给出排车顺序
  932. //这里排车顺序可以从表里面读到
  933. //model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
  934. //model.refresh();
  935. //把选中行的可输入位置改为灰色
  936. //datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
  937. //datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
  938. datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
  939. //datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
  940. //datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
  941. //根据实际的排车顺序情况,把排车顺序号带到车厢字段中
  942. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
  943. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
  944. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  945. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  946. //model.refresh();
  947. }
  948. model.refresh();
  949. }
  950. //导出EXCEL方法
  951. function saveExcelScript(sDGridName, sExcelSheetName, saveType) {
  952. var sExcelName = window.fileDialog( "save", "", false, "SaveFileName", "xls", "Excel Files(*.xls)|*.xls" );
  953. if ( sExcelName == "" ) {
  954. return;
  955. }
  956. //var sCSVName = "C:\\TFSmartUpdater\\" + sExcelName.lastIndexOf(".") +".csv";
  957. var sCSVName = sExcelName +".csv";
  958. //alert("sExcelName = ["+ sExcelName +"]\nsCSVName = ["+ sCSVName + "]");
  959. eval(sDGridName).saveText(sCSVName, "\n", ",", '\:', true); //DataGrid? ??? CSV??? ??
  960. ObjTFExcel.launchNewInstance(0); //Execute EXCEL
  961. ObjTFExcel.createWorkbook(); //Create new Workbook(for example:Sheet1,Sheet2,Sheet3) -- createWorkBook(Excel-TemplateFile)
  962. ObjTFExcel.loadCSV(sCSVName); //Loading Contents, from CSV to Excel
  963. //Setting up EXCEL Layout.
  964. var nRows = sDGridName.rows - sDGridName.fixedRows + 1; //Keep Careful !!!
  965. var nCols = sDGridName.cols;
  966. //Header
  967. //Line 1 : Sheet Title
  968. //行高的设置
  969. //All of the range
  970. ObjTFExcel.fontcolor ( 01, 01, nRows, nCols ) = "#000000" ;
  971. ObjTFExcel.font ( 01, 01, nRows, nCols ) = "SimSun" ;
  972. //取消边框
  973. ObjTFExcel.setBorderColor( 01, 01, nRows, nCols, "#000000") ;
  974. ObjTFExcel.bold ( 01, 01, nRows, nCols ) = true ;
  975. //改变字体大小
  976. ObjTFExcel.fontsize ( 01, 01, nRows, nCols ) = 12 ;
  977. ObjTFExcel.underline ( 01, 01, nRows, nCols ) = 0 ;
  978. ObjTFExcel.valign ( 01, 01, nRows, nCols ) ="middle" ;
  979. //字体居中
  980. ObjTFExcel.halign ( 01, 01, nRows, nCols ) ="center" ;
  981. //Query-Results Data
  982. var iRow = 1; // iRow = HeaderLine + 1;
  983. //这里设置字体的行宽
  984. // for(var i = iRow; i <= nRows; i++ ) {
  985. // if( (i%5) == 1 ) {
  986. // ObjTFExcel.rowHeight( i ) = 60;
  987. // ObjTFExcel.mergeCell( i, 01, i, nCols );
  988. // } else if( (i%5) == 0 ) {
  989. // ObjTFExcel.rowHeight( i ) = 45;
  990. // ObjTFExcel.mergeCell( i, 01, i, nCols );
  991. // } else {
  992. // ObjTFExcel.rowHeight( i ) = 40;
  993. // }
  994. // }
  995. //改变文本格式的方法,未知
  996. //ObjTFExcel.setformat(02,02,02,03,'@');
  997. //设置列的宽度
  998. ObjTFExcel.colwidth ( 01 ) = 5 ;
  999. ObjTFExcel.colwidth ( 02 ) = 10 ;
  1000. ObjTFExcel.colwidth ( 03 ) = 20 ;
  1001. ObjTFExcel.colwidth ( 04 ) = 10 ;
  1002. ObjTFExcel.colwidth ( 05 ) = 15 ;
  1003. ObjTFExcel.colwidth ( 06 ) = 10 ;
  1004. ObjTFExcel.colwidth ( 07 ) = 10 ;
  1005. ObjTFExcel.colwidth ( 08 ) = 5 ;
  1006. ObjTFExcel.colwidth ( 09 ) = 5 ;
  1007. ObjTFExcel.colwidth ( 10 ) = 10 ;
  1008. // ObjTFExcel.setFormat(iRow, 14, nRows, 14, "yyyy\"-\"mm\"-\"dd\"\" hh\":\"mm\":\"ss\"\";@");
  1009. ObjTFExcel.sheetName(1) = sExcelSheetName;
  1010. ObjTFExcel.save(sExcelName); //Saving EXCEL
  1011. ObjTFExcel.close(); //Closing EXCEL. (You must be closed EXCEL !!!)
  1012. window.exec("EXCEL.EXE", sExcelName); //Openning EXCEL
  1013. }
  1014. ]]>
  1015. </script>
  1016. </xhtml:head>
  1017. <xhtml:body guideline="2,-1;2,619;">
  1018. <caption id="caption5" class="cell" style="left:0px; top:0px; width:90px; height:20px; font-weight:bold; text-align:left; border-color:#000000; border-style:solid; ">发货指示时间</caption>
  1019. <input id="input1" ref="/root/searchData/fromDate" inputtype="date" format="yyyy-mm-dd" style="left:90px; top:0px; width:115px; height:20px; background-color:#ffff99; "/>
  1020. <input id="input2" ref="/root/searchData/toDate" inputtype="date" format="yyyy-mm-dd" style="left:235px; top:0px; width:115px; height:20px; background-color:#ffff99; "/>
  1021. <caption id="caption1" style="left:205px; top:0px; width:30px; height:20px; text-align:center; vertical-align:middle; ">--</caption>
  1022. <caption id="caption2" class="cell" style="left:380px; top:0px; width:75px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">发货指示号</caption>
  1023. <input id="input6" ref="/root/searchData/SHIP_DIRNO" style="left:455px; top:0px; width:95px; height:20px; background-color:#ffff99; "/>
  1024. <select1 id="combo2" ref="/root/searchData/SHIP_COMP_NM" appearance="minimal" editmode="input" style="left:865px; top:0px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
  1025. <choices>
  1026. <itemset nodeset="/root/init/SHIPCOMPData/SHIPCOMPData_VO/SHIPCOMPData_Row">
  1027. <label ref="LABEL"/>
  1028. <value ref="VALUE"/>
  1029. </itemset>
  1030. </choices>
  1031. </select1>
  1032. <caption id="caption4" class="cell" style="left:770px; top:0px; width:95px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">运输单位</caption>
  1033. <datagrid id="datagrid1" nodeset="/root/datagrid1/DLIVDIR_VO/DLIVDIR_Row" caption="选择^发货指示号^目的地^专用线^收货单位^合同单位^合同号^订单号^牌号^规格^重量判定^钢卷颜色^排车顺序^车辆号^火车入库道次^装车次数^铁路运输号^运输指示号^发货指示^发货指示^^^^^^|选择^发货指示号^目的地^专用线^收货单位^合同单位^合同号^订单号^牌号^规格^重量判定^钢卷颜色^排车顺序^车辆号^火车入库道次^装车次数^铁路运输号^运输指示号^数量^重量^^^^^^" colsep="^" colwidth="21, 85, 63, 70, 90, 90, 86, 50, 75, 70, 70, 73, 31, 100, 50, 54, 88, 88, 43, 43, 100, 100, 100, 100, 100, 100" defaultrows="12" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:20px; width:980px; height:250px; ">
  1034. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  1035. <col editable="false" ref="SHIP_DIRNO" type="input" style="background-color:#ffffff; "/>
  1036. <col editable="false" ref="DEST_PCD_DESC" type="input" style="background-color:#ffffff; "/>
  1037. <col editable="false" ref="EXLV_LINE_CD_DESC" type="input" style="background-color:#ffffff; "/>
  1038. <col editable="false" ref="ORD_NM" type="input" style="background-color:#ffffff; "/>
  1039. <col editable="false" ref="CUST_NM" type="input" style="background-color:#ffffff; "/>
  1040. <col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
  1041. <col editable="false" ref="ORD_SEQ" type="input" style="background-color:#ffffff; "/>
  1042. <col editable="false" ref="SPEC_STL_GRD" type="input" style="background-color:#ffffff; "/>
  1043. <col editable="false" ref="T_W" type="input" style="background-color:#ffffff; "/>
  1044. <col editable="false" ref="WGT_DEC_RST" type="input" style="background-color:#ffffff; "/>
  1045. <col editable="false" ref="MK_COIL" type="input" style="background-color:#ffffff; "/>
  1046. <col ref="ALLOC_SEQ" type="input" format="999999-9999999" maxlength="2" style="background-color:#ffff99; "/>
  1047. <col disabled="flase" editmode="input" ref="TRANS_CAR_NO" type="combo" style="text-align:left; background-color:#ffff99; ">
  1048. <choices>
  1049. <itemset nodeset="/root/Trainno/Trainno_Row">
  1050. <label ref="LABEL"/>
  1051. <value ref="VALUE"/>
  1052. </itemset>
  1053. </choices>
  1054. </col>
  1055. <col ref="LANE_TP" type="combo" maxlength="1" validateformat="true" style="background-color:#ffff99; ">
  1056. <choices>
  1057. <item>
  1058. <label/>
  1059. <value/>
  1060. </item>
  1061. <item>
  1062. <label>A</label>
  1063. <value>A</value>
  1064. </item>
  1065. <item>
  1066. <label>B</label>
  1067. <value>B</value>
  1068. </item>
  1069. </choices>
  1070. </col>
  1071. <col ref="ENTERANCE_SEQ" type="combo" format="999999-9999999" maxlength="1" style="background-color:#ffff99; ">
  1072. <choices>
  1073. <item>
  1074. <label>1</label>
  1075. <value>1</value>
  1076. </item>
  1077. <item>
  1078. <label>2</label>
  1079. <value>2</value>
  1080. </item>
  1081. <item>
  1082. <label>3</label>
  1083. <value>3</value>
  1084. </item>
  1085. <item>
  1086. <label>4</label>
  1087. <value>4</value>
  1088. </item>
  1089. <item>
  1090. <label>5</label>
  1091. <value>5</value>
  1092. </item>
  1093. <item>
  1094. <label>6</label>
  1095. <value>6</value>
  1096. </item>
  1097. <item>
  1098. <label>7</label>
  1099. <value>7</value>
  1100. </item>
  1101. <item>
  1102. <label>8</label>
  1103. <value>8</value>
  1104. </item>
  1105. <item>
  1106. <label>9</label>
  1107. <value>9</value>
  1108. </item>
  1109. </choices>
  1110. </col>
  1111. <col editable="false" ref="TRAIN_DLIVNO" type="input" style="background-color:#ffffff; "/>
  1112. <col editable="false" ref="DLIV_DIRNO" type="input" style="background-color:#ffffff; "/>
  1113. <col ref="CNT"/>
  1114. <col ref="ACT_WGT"/>
  1115. <col ref="SM_CFNM" visibility="hidden"/>
  1116. <col ref="DLIV_TP_NM" visibility="hidden"/>
  1117. <col ref="GET_NO_PCD" visibility="hidden"/>
  1118. <col ref="GET_OFF_PCD" visibility="hidden"/>
  1119. <col ref="DEST_PCD" visibility="hidden"/>
  1120. <col ref="EXLV_LINE_CD" visibility="hidden"/>
  1121. <script type="javascript" ev:event="xforms-value-changed">
  1122. <![CDATA[
  1123. //把事件定位在车辆号输入处,这里通过CHK为Y的情况增加排车顺序。
  1124. //只要是CHK为Y的情况让排车序号依次增加,只能整发货指示进行暂时不考虑分装的情况
  1125. //这里暂时不处理车辆道次和装车次数的自动处理情况,由业务确定后再增加
  1126. if(datagrid1.col == datagrid1.colRef("TRANS_CAR_NO")){
  1127. var nodeSet1 = datagrid1.nodeset;
  1128. var rw = 0;
  1129. var ALLOC_SEQ = model.getValue("/root/ALLOC_SEQ");
  1130. //获取选中的行,取出相应的信息
  1131. for(var i=0;i<datagrid1.selectedRows;i++){
  1132. rw = datagrid1.selectedRow(i);
  1133. //把选中行的数字正确的显示
  1134. rw = parseInt(rw-1);
  1135. }
  1136. //这里是否需要先选择再输入车厢号,具体的控制由客户定。暂时不控制
  1137. var chk = model.getValue(nodeSet1+"["+rw+"]/CHK");
  1138. var TRANS_CAR_NO = model.getValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO");
  1139. //datagrid1中选中行所在的排车顺序
  1140. var ALLOC_SEQ1 = model.getValue(nodeSet1+"["+rw+"]/ALLOC_SEQ");
  1141. //运输方式
  1142. var DLIV_TP = model.getValue(nodeSet1+"["+rw+"]/DLIV_TP");
  1143. if(DLIV_TP == "T" || DLIV_TP == "t"){
  1144. //这里需要通过车辆号和选择项来增加排车顺序
  1145. //并且只有铁路运输的方式才能生成排车需要,汽车运输是一辆一辆进厂的所以不用考虑
  1146. if(ALLOC_SEQ1 == ""){
  1147. if(chk == "Y"){
  1148. if(TRANS_CAR_NO != ""){
  1149. //这里排车顺序号需要做相应的处理,具体的样子如A01,A02.....A12,B01
  1150. ALLOC_SEQ = ++ALLOC_SEQ;
  1151. model.setValue(nodeSet1+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ);
  1152. model.setValue("/root/ALLOC_SEQ",ALLOC_SEQ);
  1153. model.refresh();
  1154. }
  1155. }else{
  1156. //如果是没有选中的情况,给出提示并且不能输入
  1157. // alert(" 请先选择要发货的发货指示号,再输入相应的车厢号! ");
  1158. // model.setValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO","");
  1159. // return;
  1160. }
  1161. }
  1162. }else if(DLIV_TP == "C" || DLIV_TP == "c"){
  1163. //铁运界面,不对汽运做处理
  1164. // if(chk == "Y"){
  1165. // //汽车运输的情况只能选一个,不使用ALLOC_SEQ接点数据信息
  1166. // model.setValue(nodeSet1+"["+rw+"]/ALLOC_SEQ","1");
  1167. // }else{
  1168. // //如果是没有选中的情况,给出提示并且不能输入
  1169. // alert(" 请先选择要发货的发货指示号,再输入相应的车厢号! ");
  1170. // model.setValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO","");
  1171. // return;
  1172. // }
  1173. }
  1174. }
  1175. ]]>
  1176. </script>
  1177. <script type="javascript" ev:event="onclick">
  1178. <![CDATA[
  1179. //这里需要实现根据运输指示号查询具体钢卷信息的功能,并且在datagrid2中显示
  1180. if(datagrid1.col == datagrid1.colRef("CHK")){
  1181. var nodeSet1 = datagrid1.nodeset;
  1182. //这里暂时不处理点击一个发货号,选中相同的发货指示号的情况 参见JS
  1183. var rw = 0;
  1184. for(var i=0;i<datagrid1.selectedRows;i++){
  1185. rw = datagrid1.selectedRow(i);
  1186. //把选中行的数字正确的显示
  1187. rw = parseInt(rw-1);
  1188. }
  1189. //运输方式代码
  1190. var DLIV_TP = model.getValue(nodeSet1+"["+rw+"]/DLIV_TP");
  1191. //求出选中行的发货指示号
  1192. var SHIP_DIRNO = model.getValue(nodeSet1+"["+rw+"]/SHIP_DIRNO");
  1193. //运输指示号
  1194. var DLIV_DIRNO = model.getValue(nodeSet1+"["+rw+"]/DLIV_DIRNO");
  1195. //车辆号
  1196. var TRANS_CAR_NO = model.getValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO");
  1197. //选择
  1198. var chk = model.getValue(nodeSet1+"["+rw+"]/CHK");
  1199. //如果是火车运输的情况
  1200. if(DLIV_TP == "T" || DLIV_TP == "t"){
  1201. if(chk == "Y"){
  1202. for(var j=1;j<=datagrid1.rows-2;j++){
  1203. var SHIP_DIRNO_j = model.getValue(nodeSet1+"["+j+"]/SHIP_DIRNO");
  1204. //找到选中的哪一行,并且根据选中的发货指示号匹配datagrid1中的存在的发货指示号
  1205. if(SHIP_DIRNO == SHIP_DIRNO_j){
  1206. model.setValue(nodeSet1+"["+j+"]/CHK","Y");
  1207. model.refresh();
  1208. }
  1209. }
  1210. }
  1211. }else if(DLIV_TP == "C" || DLIV_TP == "c"){
  1212. //对汽运不做处理
  1213. //如果是公路运输的情况,只允许选择一个
  1214. // for(var j=1;j<=datagrid1.rows-2;j++){
  1215. // //把不是选中行全部改为非选择
  1216. // if(rw != j){
  1217. // model.setValue(nodeSet1+"["+j+"]/CHK","N");
  1218. // model.refresh();
  1219. // }
  1220. // }
  1221. }
  1222. }
  1223. ]]>
  1224. </script>
  1225. </datagrid>
  1226. <datagrid id="datagrid2" nodeset="/root/datagrid2/SHIPDIR_VO/SHIPDIR_Row" scroll="both" caption="选择^钢卷号^等级^牌号^厚度^宽度^重量(磅重)^重量(理论)^堆放位置^到站^收货单位^合同单位^外径^运输指示号(计划号)^车厢^车厢号^合同号^订单号^钢卷颜色备注^^^^|选择^钢卷号^等级^牌号^厚度^宽度^重量(磅重)^重量(理论)^堆放位置^到站^收货单位^合同单位^外径^运输指示号(计划号)^车厢^车厢号^合同号^订单号^钢卷颜色备注^^^^" colsep="^" colwidth="35, 85, 40, 72, 40, 50, 53, 45, 72, 54, 100, 100, 65, 76, 83, 100, 100, 55, 100, 100, 100, 100, 100" frozencols="9" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:305px; width:855px; height:315px; ">
  1227. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  1228. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  1229. <col ref="TOT_DEC_GRD"/>
  1230. <col editable="false" ref="SPEC_STL_GRD" type="input" style="background-color:#ffffff; "/>
  1231. <col editable="false" ref="COIL_THK" type="input" style="background-color:#ffffff; "/>
  1232. <col editable="false" ref="COIL_WTH" type="input" style="background-color:#ffffff; "/>
  1233. <col editable="false" ref="ACT_WGT" type="input" format="#,###" style="background-color:#ffffff; "/>
  1234. <col editable="false" ref="CAL_WGT" type="input" format="#,###" style="background-color:#ffffff; "/>
  1235. <col editable="false" ref="CUR_LOAD_LOC" type="input" style="background-color:#ffffff; "/>
  1236. <col editable="false" ref="DEST_PCD_DESC" type="input" style="background-color:#ffffff; "/>
  1237. <col editable="false" ref="ORD_NM" type="input" style="background-color:#ffffff; "/>
  1238. <col editable="false" ref="CUST_NM" type="input" style="background-color:#ffffff; "/>
  1239. <col editable="false" ref="COIL_OUTDIA" type="input" style="background-color:#ffffff; "/>
  1240. <col editable="false" ref="DLIV_DIRNO" type="input" style="background-color:#ffffff; "/>
  1241. <col ref="ALLOC_SEQ" type="combo">
  1242. <choices>
  1243. <itemset nodeset="/root/init/TRAIN_STEP_NO">
  1244. <label ref="LABEL"/>
  1245. <value ref="VALUE"/>
  1246. </itemset>
  1247. </choices>
  1248. </col>
  1249. <col ref="TRANS_CAR_NO" type="input" style="background-color:#ffffff; "/>
  1250. <col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
  1251. <col editable="false" ref="ORD_SEQ" type="input" style="background-color:#ffffff; "/>
  1252. <col editable="false" ref="HCOLOUR_REM" type="input" style="background-color:#ffffff; "/>
  1253. <col ref="DEST_PCD" visibility="hidden"/>
  1254. <col editable="false" ref="SHIP_DIRNO" type="input" visibility="hidden" style="background-color:#ffffff; "/>
  1255. <col editable="false" ref="COIL_NO" type="input" visibility="hidden" style="background-color:#ffffff; "/>
  1256. <col ref="MATRL_END_CAUSE_CD" visibility="hidden"/>
  1257. <script type="javascript" ev:event="xforms-select">
  1258. <![CDATA[
  1259. //这里给一个选择判断,如果没有选择上的不允许换车
  1260. var nodeSet2 = datagrid2.nodeset;
  1261. var nodeSet1 = datagrid1.nodeset;
  1262. var rw = 0;
  1263. //获取选中的行,取出相应的信息
  1264. for(var i=0;i<datagrid2.selectedRows;i++){
  1265. rw = datagrid2.selectedRow(i);
  1266. //把选中行的数字正确的显示
  1267. rw = parseInt(rw-1);
  1268. }
  1269. var chk = model.getValue(nodeSet2+"["+rw+"]/CHK");
  1270. var DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
  1271. if(chk == "Y"){
  1272. //选择排车顺序号的方法
  1273. if(bool2.value == "true" || bool2.value == "TRUE"){
  1274. //可以选择到具体的钢卷,并且把不同发货指示号的钢卷混编
  1275. //这里还需要判断混编后的钢卷是否超过了车载的最大重量
  1276. //选择一次判断一次,颜色标识
  1277. Bool2_True();
  1278. }else{
  1279. //整车替换的情况,火车和汽车运输要分开了处理
  1280. Bool2_False();
  1281. }
  1282. }else{
  1283. if(rw !=0){
  1284. for(var j=1;j<datagrid1.rows-1;j++){
  1285. var DLIV_DIRNO_TO = model.getValue(nodeSet1+"["+j+"]/DLIV_DIRNO");
  1286. if(DLIV_DIRNO_FROM == DLIV_DIRNO_TO){
  1287. //取出车厢号
  1288. var ALLOC_SEQ = model.getValue(nodeSet1+"["+j+"]/ALLOC_SEQ");
  1289. }
  1290. }
  1291. alert(" 没有选中的钢卷不能进行换车操作! ");
  1292. model.setValue(nodeSet2+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ);
  1293. model.refresh();
  1294. return;
  1295. }
  1296. }
  1297. ]]>
  1298. </script>
  1299. <script type="javascript" ev:event="onclick">
  1300. <![CDATA[
  1301. //这里先屏蔽掉,因为换卷后车厢号与运输号之间的对应关系被打乱了
  1302. //全部的卷要一起选择并且指定行车命令,暂时不能考虑打断流程插队的情况
  1303. //所以这里不做控制,给予行改变属性
  1304. var nodeSet1 = datagrid1.nodeset;
  1305. if(datagrid2.col == datagrid2.colRef("CHK")){
  1306. for(var i=1;i<datagrid1.rows-1;i++){
  1307. var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
  1308. if(chk == "Y"){
  1309. datagrid1.rowStatus(i) = 2;
  1310. }
  1311. }
  1312. }
  1313. ]]>
  1314. </script>
  1315. <script type="javascript" ev:event="ondblclick">
  1316. <![CDATA[
  1317. //双击,可以查看下计划时的钢卷信息
  1318. model.removenode("/root/reqData");
  1319. model.makeNode("/root/reqData");
  1320. model.removenode("/root/datagrid4");
  1321. model.makeNode("/root/datagrid4");
  1322. var nodeSet2 = datagrid2.nodeset;
  1323. var row;
  1324. for(var i=0;i<datagrid2.selectedRows;i++){
  1325. row = datagrid2.selectedRow(i);
  1326. //把选中行的数字正确的显示
  1327. row = parseInt(row-1);
  1328. }
  1329. //获取运输号
  1330. var DLIV_DIRNO_JH = null;
  1331. DLIV_DIRNO_JH = model.getValue(nodeSet2+"["+row+"]/DLIV_DIRNO");
  1332. model.setValue("/root/DLIV_DIRNO_JH",DLIV_DIRNO_JH);
  1333. model.refresh();
  1334. model.duplicate("/root/reqData","/root/DLIV_DIRNO_JH");
  1335. commSubmit("UIJ010040-service","DLIV_JH","glueAction.do");
  1336. commAppendData("/root/datagrid4/DLIV_DIRNO_JH_RESULT_VO","/root/resData/DLIV_DIRNO_JH_RESULT_VO");
  1337. model.refresh();
  1338. ]]>
  1339. </script>
  1340. </datagrid>
  1341. <bool id="bool2" ref="/root/bool2" style="left:770px; top:285px; width:25px; height:20px; ">
  1342. <script type="javascript" ev:event="DOMActivate">
  1343. <![CDATA[
  1344. //这里钢卷选择的时候需要给予条件,如果是火车的情况没有问题。如是汽车的情况就不能选择
  1345. //暂时不做控制,能业务确定后再说
  1346. //现在主要考虑火车的情况,汽车的情况比较简单。用不到这些功能。
  1347. ]]>
  1348. </script>
  1349. </bool>
  1350. <caption id="caption7" style="left:795px; top:285px; width:65px; height:20px; ">已钢卷选择</caption>
  1351. <button id="button3" style="left:670px; top:285px; width:89px; height:20px; background-image:../../images/save.gif; ">
  1352. <caption>待装车</caption>
  1353. <script type="javascript" ev:event="DOMActivate">
  1354. <![CDATA[
  1355. DZCfind();
  1356. ]]>
  1357. </script>
  1358. </button>
  1359. <caption id="caption6" class="cell" style="left:570px; top:284px; width:70px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">装车次数</caption>
  1360. <select1 id="combo4" ref="/root/searchData/LANE_TP" appearance="minimal" style="left:505px; top:284px; width:65px; height:20px; background-color:#ffff99; border-color:#000000; ">
  1361. <choices>
  1362. <item>
  1363. <label>A</label>
  1364. <value>A</value>
  1365. </item>
  1366. <item>
  1367. <label>B</label>
  1368. <value>B</value>
  1369. </item>
  1370. </choices>
  1371. </select1>
  1372. <caption id="caption8" class="cell" style="left:435px; top:284px; width:70px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">入库道次</caption>
  1373. <input id="input3" ref="/root/searchData/ENTERANCE_SEQ" style="left:640px; top:284px; width:30px; height:20px; background-color:#ffff99; "/>
  1374. <button id="button5" style="left:350px; top:285px; width:95px; height:20px; background-image:../../images/save.gif; ">
  1375. <caption>待装车取消</caption>
  1376. <script type="javascript" ev:event="DOMActivate">
  1377. <![CDATA[
  1378. //清空发送接点
  1379. model.removenode("/root/reqData");
  1380. model.makeNode("/root/reqData");
  1381. //判断发货指示时间是否为空
  1382. var fromDate = model.getValue("/root/searchData/fromDate");
  1383. var toDate = model.getValue("/root/searchData/toDate");
  1384. if(fromDate == ""){
  1385. alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  1386. return;
  1387. }
  1388. if(toDate == ""){
  1389. alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  1390. return;
  1391. }
  1392. //把相应的接点放入发送对象
  1393. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
  1394. //这里取消待装车的操作与查询查询相同,不给出下面的钢卷明细信息
  1395. var isUse = commComfirmBox("是否确认同一运输指示号(计划号)下的钢卷全部选择上?","提示");
  1396. if(isUse == "0"){
  1397. //如果选择否的话,不进行相应操作
  1398. find();
  1399. return;
  1400. }
  1401. var nodeSet2 = datagrid2.nodeset;
  1402. for(var i=0;i<=datagrid2.rows;i++){
  1403. datagrid2.rowStatus(i) = 3;
  1404. }
  1405. commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts1");
  1406. //获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
  1407. commSubmit("UIJ010040-service","returnSHIPDIR","glueAction.do");
  1408. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  1409. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  1410. model.refresh();
  1411. find();
  1412. ]]>
  1413. </script>
  1414. </button>
  1415. <bool id="bool1" ref="/root/bool" style="left:5px; top:280px; width:25px; height:20px; ">
  1416. <script type="javascript" ev:event="onclick">
  1417. <![CDATA[
  1418. if(bool1.value == "false" || bool1.value == "FALSE"){
  1419. //这里选中的话,可以进行同合同号、同订单号下的钢卷的互换。
  1420. //这里必须确定要换的钢卷只选择了一个
  1421. var nodeSet2 = datagrid2.nodeset;
  1422. var ord_no = null;
  1423. var ord_seq = null;
  1424. var coil_no = null;
  1425. var coil_thk = null;
  1426. var coil_wth = null;
  1427. //同运送指示号下的钢卷不能选出,以免造成重复选择
  1428. var dliv_dirno = null;
  1429. model.property("V_REG_ID") = "";
  1430. for(var i=0;i<datagrid2.rows;i++){
  1431. var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  1432. while(chk == "Y"){
  1433. ord_no = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
  1434. ord_seq = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
  1435. coil_no = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1436. dliv_dirno = model.getValue(nodeSet2+"["+i+"]/DLIV_DIRNO");
  1437. //这里取出钢卷重量,在换卷的时候给出对比
  1438. act_wgt = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  1439. coil_thk = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
  1440. coil_wth = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
  1441. model.setValue("/root/COIL/ord_no",ord_no);
  1442. model.setValue("/root/COIL/ord_seq",ord_seq);
  1443. model.setValue("/root/COIL/coil_no",coil_no);
  1444. model.setValue("/root/dliv_dirno",dliv_dirno);
  1445. model.setValue("/root/COIL/ACT_WGT",act_wgt);
  1446. model.setValue("/root/COIL/COIL_THK",coil_thk);
  1447. model.setValue("/root/COIL/COIL_WTH",coil_wth);
  1448. //需要获取用户信息,上传
  1449. model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
  1450. var isUse = commComfirmBox("确认需要换卷的钢卷卷数唯一,并且它们具有相同的合同订单号?","提示");
  1451. if(isUse == "0"){
  1452. //如果选择否的话,不进行相应操作
  1453. bool1.value = "true";
  1454. return;
  1455. }
  1456. window.load("UIJ_COIL_NO.xrw","modal","", "left:0; top:0; width:980; height:560; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  1457. //这里必须调一次待装车的方法
  1458. //清空发送接点
  1459. model.removenode("/root/reqData");
  1460. model.makeNode("/root/reqData");
  1461. //清空datagrid1,datagrid2
  1462. model.removenode("/root/datagrid1");
  1463. model.makeNode("/root/datagrid1");
  1464. //清空获得排车顺序的号的节点
  1465. model.removenode("/root/init/TRAIN_STEP_NO");
  1466. model.makeNode("/root/init/TRAIN_STEP_NO");
  1467. //判断发货指示时间是否为空
  1468. var fromDate = model.getValue("/root/searchData/fromDate");
  1469. var toDate = model.getValue("/root/searchData/toDate");
  1470. var LANE_TP = model.getValue("/root/searchData/LANE_TP");
  1471. var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
  1472. if(fromDate == ""){
  1473. //alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  1474. return;
  1475. }
  1476. if(toDate == ""){
  1477. //alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  1478. return;
  1479. }
  1480. if(LANE_TP == ""){
  1481. //alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
  1482. return;
  1483. }
  1484. if(ENTERANCE_SEQ == ""){
  1485. //alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
  1486. return;
  1487. }
  1488. //把相应的接点放入发送对象
  1489. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
  1490. model.setValue("/root/searchData/SHIP_PROG_CD","04");
  1491. model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
  1492. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1493. model.duplicate("/root/reqData","/root/searchData/toDate");
  1494. model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
  1495. //这里物料进度SFB
  1496. model.setValue("/root/searchData/CUR_PROG_CD","SFB");
  1497. //5
  1498. model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
  1499. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1500. model.duplicate("/root/reqData","/root/searchData/toDate");
  1501. //这里火运的情况直接给出火运的方式
  1502. model.setValue("/root/searchData/DLIV_TP","T");
  1503. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1504. model.duplicate("/root/reqData","/root/searchData/LANE_TP");
  1505. model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
  1506. //11
  1507. model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
  1508. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1509. //获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
  1510. commSubmit("UIJ010040-service","findDlivDir","glueAction.do");
  1511. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  1512. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  1513. model.refresh();
  1514. //这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
  1515. //所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
  1516. //只能观看,不能进行相应的操作
  1517. var nodeSet1 = datagrid1.nodeset;
  1518. for(var i=1;i<datagrid1.rows-1;i++){
  1519. //这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
  1520. var row = i+1;
  1521. //把选择项全部钩上,这里如果需要特殊的处理再修改
  1522. model.setValue(nodeSet1+"["+i+"]/CHK","Y");
  1523. //按从上到下的顺序给出排车顺序
  1524. //这里排车顺序可以从表里面读到
  1525. //model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
  1526. //model.refresh();
  1527. //把选中行的可输入位置改为灰色
  1528. //datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
  1529. //datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
  1530. datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
  1531. //datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
  1532. //datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
  1533. //根据实际的排车顺序情况,把排车顺序号带到车厢字段中
  1534. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
  1535. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
  1536. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1537. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1538. //model.refresh();
  1539. }
  1540. model.refresh();
  1541. //存在一个就跳出循环,只允许一个选中的钢卷进行替换
  1542. bool1.value = "true";
  1543. return;
  1544. }
  1545. }
  1546. }
  1547. ]]>
  1548. </script>
  1549. </bool>
  1550. <caption id="caption3" style="left:30px; top:275px; width:55px; height:32px; ">同合同下钢卷互换</caption>
  1551. <button id="button4" style="left:265px; top:285px; width:70px; height:20px; text-align:right; background-image:../../images/save.gif; ">
  1552. <caption>指定充当</caption>
  1553. <script type="javascript" ev:event="onclick">
  1554. <![CDATA[
  1555. //这里需要获取选中的行,来给出需要充当的合同
  1556. var nodeSet2 = datagrid2.nodeset;
  1557. var ord_no = null;
  1558. var ord_seq = null;
  1559. var coil_no = null;
  1560. var OLD_SAMPL_NO = null;
  1561. var SPEC_STL_GRD = null;
  1562. var COIL_THK = null;
  1563. var COIL_WTH = null;
  1564. var act_wgt = null;
  1565. //要清空相应的节点
  1566. model.property("V_ORD_NO") = "";
  1567. model.property("V_ORD_SEQ") = "";
  1568. model.property("V_OLD_SAMPL_NO") = "";
  1569. model.property("V_SPEC_STL_GRD") = "";
  1570. model.property("V_COIL_THK") = "";
  1571. model.property("V_COIL_WTH") = "";
  1572. model.property("V_ACT_WGT") = "";
  1573. //这里只取选中的第一行
  1574. for(var i=0;i<datagrid2.rows;i++){
  1575. var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  1576. if(chk == "Y"){
  1577. ord_no = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
  1578. ord_seq = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
  1579. OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1580. SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
  1581. COIL_THK = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
  1582. COIL_WTH = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
  1583. act_wgt = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  1584. //获取列信息,便于换卷
  1585. model.property("V_ORD_NO") = ord_no;
  1586. model.property("V_ORD_SEQ") = ord_seq;
  1587. model.property("V_OLD_SAMPL_NO") = OLD_SAMPL_NO;
  1588. model.property("V_SPEC_STL_GRD") = SPEC_STL_GRD;
  1589. model.property("V_COIL_THK") = COIL_THK;
  1590. model.property("V_COIL_WTH") = COIL_WTH;
  1591. model.property("V_ACT_WGT") = act_wgt;
  1592. //需要获取用户信息,上传
  1593. model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
  1594. model.refresh();
  1595. }
  1596. }
  1597. window.load("./UIJ031046.xrw","modal","", "left:228; top:120; width:700; height:450; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  1598. //这里必须调用待装车方法,刷新排好的车
  1599. //清空发送接点
  1600. model.removenode("/root/reqData");
  1601. model.makeNode("/root/reqData");
  1602. //清空datagrid1,datagrid2
  1603. model.removenode("/root/datagrid1");
  1604. model.makeNode("/root/datagrid1");
  1605. //清空获得排车顺序的号的节点
  1606. model.removenode("/root/init/TRAIN_STEP_NO");
  1607. model.makeNode("/root/init/TRAIN_STEP_NO");
  1608. //判断发货指示时间是否为空
  1609. var fromDate = model.getValue("/root/searchData/fromDate");
  1610. var toDate = model.getValue("/root/searchData/toDate");
  1611. var LANE_TP = model.getValue("/root/searchData/LANE_TP");
  1612. var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
  1613. if(fromDate == ""){
  1614. //alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  1615. return;
  1616. }
  1617. if(toDate == ""){
  1618. //alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  1619. return;
  1620. }
  1621. if(LANE_TP == ""){
  1622. //alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
  1623. return;
  1624. }
  1625. if(ENTERANCE_SEQ == ""){
  1626. //alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
  1627. return;
  1628. }
  1629. //把相应的接点放入发送对象
  1630. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
  1631. model.setValue("/root/searchData/SHIP_PROG_CD","04");
  1632. model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
  1633. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1634. model.duplicate("/root/reqData","/root/searchData/toDate");
  1635. model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
  1636. //这里物料进度SFB
  1637. model.setValue("/root/searchData/CUR_PROG_CD","SFB");
  1638. //5
  1639. model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
  1640. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1641. model.duplicate("/root/reqData","/root/searchData/toDate");
  1642. //这里火运的情况直接给出火运的方式
  1643. model.setValue("/root/searchData/DLIV_TP","T");
  1644. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1645. model.duplicate("/root/reqData","/root/searchData/LANE_TP");
  1646. model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
  1647. //11
  1648. model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
  1649. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1650. //获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
  1651. commSubmit("UIJ010040-service","findDlivDir","glueAction.do");
  1652. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  1653. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  1654. model.refresh();
  1655. //这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
  1656. //所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
  1657. //只能观看,不能进行相应的操作
  1658. var nodeSet1 = datagrid1.nodeset;
  1659. for(var i=1;i<datagrid1.rows-1;i++){
  1660. //这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
  1661. var row = i+1;
  1662. //把选择项全部钩上,这里如果需要特殊的处理再修改
  1663. model.setValue(nodeSet1+"["+i+"]/CHK","Y");
  1664. //按从上到下的顺序给出排车顺序
  1665. //这里排车顺序可以从表里面读到
  1666. //model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
  1667. //model.refresh();
  1668. //把选中行的可输入位置改为灰色
  1669. //datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
  1670. //datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
  1671. datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
  1672. //datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
  1673. //datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
  1674. //根据实际的排车顺序情况,把排车顺序号带到车厢字段中
  1675. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
  1676. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
  1677. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1678. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1679. //model.refresh();
  1680. }
  1681. model.refresh();
  1682. ]]>
  1683. </script>
  1684. </button>
  1685. <button id="button1" style="left:95px; top:275px; width:70px; height:25px; ">
  1686. <caption>排车计划</caption>
  1687. <script type="javascript" ev:event="onclick">
  1688. <![CDATA[
  1689. //到处于现场出库单一样的单据,便于找卷
  1690. var nodeSet2 = datagrid2.nodeset;
  1691. var ALLOC_SEQ = null;
  1692. var DEST_PCD_DESC = null;
  1693. var ORD_NM = null;
  1694. var ORD_NO = null;
  1695. var ORD_SEQ = null;
  1696. var OLD_SAMPL_NO = null;
  1697. var SPEC_STL_GRD = null;
  1698. var COIL_THK = null;
  1699. var COIL_WTH = null;
  1700. var ACT_WGT = null;
  1701. var TOT_DEC_GRD = null;
  1702. var CAR_NO = null;
  1703. var CUR_LOAD_LOC = null;
  1704. var rownum = 1;
  1705. var DLIV_DIRNO_1 = null;
  1706. var DLIV_DIRNO_2 = null;
  1707. for(var i=1;i<datagrid2.rows;i++){
  1708. var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  1709. if(chk == "Y"){
  1710. rownum = rownum +1;
  1711. DLIV_DIRNO_1 = model.getValue(nodeSet2+"["+i+"]/DLIV_DIRNO");
  1712. DLIV_DIRNO_2 = model.getValue(nodeSet2+"["+(i+1)+"]/DLIV_DIRNO");
  1713. //alert("DLIV_DIRNO_1 : "+DLIV_DIRNO_1);
  1714. //alert("DLIV_DIRNO_2 : "+DLIV_DIRNO_2);
  1715. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ");
  1716. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC");
  1717. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ORD_NM");
  1718. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD");
  1719. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO");
  1720. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/T_W");
  1721. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT");
  1722. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD");
  1723. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CAR_NO");
  1724. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC");
  1725. ALLOC_SEQ = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
  1726. DEST_PCD_DESC = model.getValue(nodeSet2+"["+i+"]/DEST_PCD_DESC");
  1727. ORD_NM = model.getValue(nodeSet2+"["+i+"]/ORD_NM");
  1728. ORD_NO = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
  1729. ORD_SEQ = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
  1730. OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1731. SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
  1732. COIL_THK = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
  1733. COIL_WTH = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
  1734. ACT_WGT = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  1735. TOT_DEC_GRD = model.getValue(nodeSet2+"["+i+"]/TOT_DEC_GRD");
  1736. CAR_NO = model.getValue(nodeSet2+"["+i+"]/TRANS_CAR_NO");
  1737. CUR_LOAD_LOC = model.getValue(nodeSet2+"["+i+"]/CUR_LOAD_LOC");
  1738. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ",ALLOC_SEQ);
  1739. model.setValue("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC",DEST_PCD_DESC);
  1740. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ORD_NM",ORD_NM);
  1741. model.setValue("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD",SPEC_STL_GRD);
  1742. model.setValue("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO",OLD_SAMPL_NO);
  1743. model.setValue("/root/datagrid3/FHMX["+rownum+"]/T_W",COIL_THK+"*"+COIL_WTH);
  1744. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT",Number(ACT_WGT/1000));
  1745. model.setValue("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD",TOT_DEC_GRD);
  1746. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC",CUR_LOAD_LOC);
  1747. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CAR_NO",CAR_NO);
  1748. if(DLIV_DIRNO_1 == DLIV_DIRNO_2 && DLIV_DIRNO_1 != null && DLIV_DIRNO_2 != null){
  1749. continue;
  1750. /*model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ");
  1751. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC");
  1752. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ORD_NM");
  1753. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD");
  1754. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO");
  1755. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/T_W");
  1756. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT");
  1757. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD");
  1758. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CAR_NO");
  1759. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC");
  1760. ALLOC_SEQ = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
  1761. DEST_PCD_DESC = model.getValue(nodeSet2+"["+i+"]/DEST_PCD_DESC");
  1762. ORD_NM = model.getValue(nodeSet2+"["+i+"]/ORD_NM");
  1763. ORD_NO = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
  1764. ORD_SEQ = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
  1765. OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1766. SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
  1767. COIL_THK = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
  1768. COIL_WTH = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
  1769. ACT_WGT = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  1770. TOT_DEC_GRD = model.getValue(nodeSet2+"["+i+"]/TOT_DEC_GRD");
  1771. CAR_NO = model.getValue(nodeSet2+"["+i+"]/TRANS_CAR_NO");
  1772. CUR_LOAD_LOC = model.getValue(nodeSet2+"["+i+"]/CUR_LOAD_LOC");
  1773. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ",ALLOC_SEQ);
  1774. model.setValue("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC",DEST_PCD_DESC);
  1775. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ORD_NM",ORD_NM);
  1776. model.setValue("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD",SPEC_STL_GRD);
  1777. model.setValue("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO",OLD_SAMPL_NO);
  1778. model.setValue("/root/datagrid3/FHMX["+rownum+"]/T_W",COIL_THK+"*"+COIL_WTH);
  1779. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT",Number(ACT_WGT/1000));
  1780. model.setValue("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD",TOT_DEC_GRD);
  1781. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC",CUR_LOAD_LOC);
  1782. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CAR_NO",CAR_NO);*/
  1783. }else{
  1784. rownum = rownum + 1;
  1785. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ");
  1786. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC");
  1787. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ORD_NM");
  1788. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD");
  1789. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO");
  1790. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/T_W");
  1791. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT");
  1792. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD");
  1793. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CAR_NO");
  1794. model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC");
  1795. // ALLOC_SEQ = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
  1796. // DEST_PCD_DESC = model.getValue(nodeSet2+"["+i+"]/DEST_PCD_DESC");
  1797. // ORD_NM = model.getValue(nodeSet2+"["+i+"]/ORD_NM");
  1798. // ORD_NO = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
  1799. // ORD_SEQ = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
  1800. // OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1801. // SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
  1802. // COIL_THK = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
  1803. // COIL_WTH = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
  1804. // ACT_WGT = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
  1805. // TOT_DEC_GRD = model.getValue(nodeSet2+"["+i+"]/TOT_DEC_GRD");
  1806. // CAR_NO = model.getValue(nodeSet2+"["+i+"]/TRANS_CAR_NO");
  1807. // CUR_LOAD_LOC = model.getValue(nodeSet2+"["+i+"]/CUR_LOAD_LOC");
  1808. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ","");
  1809. model.setValue("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC","");
  1810. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ORD_NM","");
  1811. model.setValue("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD","");
  1812. model.setValue("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO","");
  1813. model.setValue("/root/datagrid3/FHMX["+rownum+"]/T_W","");
  1814. model.setValue("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT","");
  1815. model.setValue("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD","");
  1816. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC","");
  1817. model.setValue("/root/datagrid3/FHMX["+rownum+"]/CAR_NO","");
  1818. }
  1819. model.refresh();
  1820. }
  1821. }
  1822. model.setValue("/root/datagrid3/FHMX[1]/ALLOC_SEQ","序号");
  1823. model.setValue("/root/datagrid3/FHMX[1]/DEST_PCD_DESC","到站");
  1824. model.setValue("/root/datagrid3/FHMX[1]/ORD_NM","收货单位");
  1825. model.setValue("/root/datagrid3/FHMX[1]/SPEC_STL_GRD","钢种");
  1826. model.setValue("/root/datagrid3/FHMX[1]/OLD_SAMPL_NO","钢卷号");
  1827. model.setValue("/root/datagrid3/FHMX[1]/T_W","规格(厚*宽)MM");
  1828. model.setValue("/root/datagrid3/FHMX[1]/ACT_WGT","重量(T)");
  1829. model.setValue("/root/datagrid3/FHMX[1]/TOT_DEC_GRD","等级");
  1830. model.setValue("/root/datagrid3/FHMX[1]/CUR_LOAD_LOC","堆位");
  1831. model.setValue("/root/datagrid3/FHMX[1]/CAR_NO","车号");
  1832. //导出EXCEL方法
  1833. saveExcelScript(datagrid3, "Sheet1");
  1834. ]]>
  1835. </script>
  1836. </button>
  1837. <datagrid id="datagrid3" nodeset="/root/datagrid3/FHMX" visibility="hidden" caption="序号^到站^收货单位^钢种^钢卷号^规格^重量^等级^垛位^车号" colsep="^" colwidth="50, 70, 90, 90, 90, 76, 80, 66, 60, 90" mergecellsfixedrows="bycolrec" rowsep="|" style="left:65px; top:85px; width:760px; height:180px; ">
  1838. <col ref="ALLOC_SEQ"/>
  1839. <col ref="DEST_PCD_DESC"/>
  1840. <col ref="ORD_NM"/>
  1841. <col ref="SPEC_STL_GRD"/>
  1842. <col ref="OLD_SAMPL_NO"/>
  1843. <col ref="T_W"/>
  1844. <col ref="ACT_WGT"/>
  1845. <col ref="TOT_DEC_GRD"/>
  1846. <col ref="CUR_LOAD_LOC"/>
  1847. <col ref="CAR_NO"/>
  1848. </datagrid>
  1849. <object id="ObjTFExcel" clsid="{fe8d1001-6a9d-424d-ae2a-301493bb12da}" style="left:675px; top:0px; width:90px; height:19px; "/>
  1850. <bool id="bool3" ref="/root/bool3" style="left:175px; top:280px; width:25px; height:20px; ">
  1851. <script type="javascript" ev:event="onclick">
  1852. <![CDATA[
  1853. if(bool3.value == "false" || bool3.value == "FALSE"){
  1854. //这里选中的话,可以进行同合同号、同订单号下的钢卷的互换。
  1855. //这里必须确定要换的钢卷只选择了一个
  1856. var nodeSet2 = datagrid2.nodeset;
  1857. var coil_no = null;
  1858. var spec_stl_grd = null;
  1859. model.property("V_SPEC_STL_GRD") = "";
  1860. model.property("V_REG_ID") = "";
  1861. for(var i=0;i<datagrid2.rows;i++){
  1862. var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
  1863. while(chk == "Y"){
  1864. coil_no = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
  1865. spec_stl_grd = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
  1866. model.setValue("/root/COIL/coil_no",coil_no);
  1867. model.property("V_SPEC_STL_GRD") = spec_stl_grd;
  1868. //需要获取用户信息,上传
  1869. model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
  1870. var isUse = commComfirmBox("确认需要换卷的钢卷卷数唯一?","提示");
  1871. if(isUse == "0"){
  1872. //如果选择否的话,不进行相应操作
  1873. bool3.value = "true";
  1874. return;
  1875. }
  1876. window.load("UIJ_COIL_NO_HH.xrw","modal","", "left:0; top:0; width:650; height:500; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  1877. //这里必须调一次待装车的方法
  1878. //清空发送接点
  1879. model.removenode("/root/reqData");
  1880. model.makeNode("/root/reqData");
  1881. //清空datagrid1,datagrid2
  1882. model.removenode("/root/datagrid1");
  1883. model.makeNode("/root/datagrid1");
  1884. //清空获得排车顺序的号的节点
  1885. model.removenode("/root/init/TRAIN_STEP_NO");
  1886. model.makeNode("/root/init/TRAIN_STEP_NO");
  1887. //判断发货指示时间是否为空
  1888. var fromDate = model.getValue("/root/searchData/fromDate");
  1889. var toDate = model.getValue("/root/searchData/toDate");
  1890. var LANE_TP = model.getValue("/root/searchData/LANE_TP");
  1891. var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
  1892. if(fromDate == ""){
  1893. //alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
  1894. return;
  1895. }
  1896. if(toDate == ""){
  1897. //alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
  1898. return;
  1899. }
  1900. if(LANE_TP == ""){
  1901. //alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
  1902. return;
  1903. }
  1904. if(ENTERANCE_SEQ == ""){
  1905. //alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
  1906. return;
  1907. }
  1908. //把相应的接点放入发送对象
  1909. //初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
  1910. model.setValue("/root/searchData/SHIP_PROG_CD","04");
  1911. model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
  1912. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1913. model.duplicate("/root/reqData","/root/searchData/toDate");
  1914. model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
  1915. //这里物料进度SFB
  1916. model.setValue("/root/searchData/CUR_PROG_CD","SFB");
  1917. //5
  1918. model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
  1919. model.duplicate("/root/reqData","/root/searchData/fromDate");
  1920. model.duplicate("/root/reqData","/root/searchData/toDate");
  1921. //这里火运的情况直接给出火运的方式
  1922. model.setValue("/root/searchData/DLIV_TP","T");
  1923. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1924. model.duplicate("/root/reqData","/root/searchData/LANE_TP");
  1925. model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
  1926. //11
  1927. model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
  1928. model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
  1929. //获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
  1930. commSubmit("UIJ010040-service","findDlivDir","glueAction.do");
  1931. commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
  1932. commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
  1933. model.refresh();
  1934. //这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
  1935. //所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
  1936. //只能观看,不能进行相应的操作
  1937. var nodeSet1 = datagrid1.nodeset;
  1938. for(var i=1;i<datagrid1.rows-1;i++){
  1939. //这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
  1940. var row = i+1;
  1941. //把选择项全部钩上,这里如果需要特殊的处理再修改
  1942. model.setValue(nodeSet1+"["+i+"]/CHK","Y");
  1943. //按从上到下的顺序给出排车顺序
  1944. //这里排车顺序可以从表里面读到
  1945. //model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
  1946. //model.refresh();
  1947. //把选中行的可输入位置改为灰色
  1948. //datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
  1949. //datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
  1950. datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
  1951. //datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
  1952. //datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
  1953. //根据实际的排车顺序情况,把排车顺序号带到车厢字段中
  1954. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
  1955. model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
  1956. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1957. model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
  1958. //model.refresh();
  1959. }
  1960. model.refresh();
  1961. //存在一个就跳出循环,只允许一个选中的钢卷进行替换
  1962. bool3.value = "true";
  1963. return;
  1964. }
  1965. }
  1966. }
  1967. ]]>
  1968. </script>
  1969. </bool>
  1970. <caption id="caption9" style="left:200px; top:274px; width:65px; height:32px; ">不同合同下钢卷互换</caption>
  1971. <datagrid id="datagrid4" nodeset="/root/datagrid4/DLIV_DIRNO_JH_RESULT_VO/DLIV_DIRNO_JH_RESULT_Row" caption="运输号^钢卷号^订单牌号^订单规格|运输号^钢卷号^订单牌号^订单规格" colsep="^" colwidth="51, 88, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:855px; top:305px; width:125px; height:315px; ">
  1972. <col ref="DLIV_NO"/>
  1973. <col ref="COIL_NO"/>
  1974. <col ref="COIL_STEEL"/>
  1975. <col ref="T_W"/>
  1976. <hint>
  1977. <![CDATA[这里是销售下车的原始卷信息,供排车计划员参考]]>
  1978. </hint>
  1979. </datagrid>
  1980. <caption id="caption10" class="cell" style="left:860px; top:285px; width:120px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">
  1981. <![CDATA[下计划时候的钢卷]]>
  1982. <hint>
  1983. <![CDATA[通过双击钢卷信息框来获得销售下车的原始卷数据]]>
  1984. </hint>
  1985. </caption>
  1986. <button id="button6" visibility="visible" style="left:550px; top:0px; width:65px; height:20px; font-weight:bold; text-align:center; background-color:#33cccc; border-color:#000000; border-style:solid; ">
  1987. <caption>轨道拉取</caption>
  1988. <script type="javascript" ev:event="onclick">
  1989. <![CDATA[
  1990. getcar();
  1991. InitParamsEE();
  1992. ]]>
  1993. </script>
  1994. </button>
  1995. <button id="button2" visibility="hidden" style="left:350px; top:0px; width:40px; height:20px; ">
  1996. <caption>FIND</caption>
  1997. <script type="javascript" ev:event="DOMActivate">
  1998. <![CDATA[
  1999. find();
  2000. ]]>
  2001. </script>
  2002. </button>
  2003. <button id="button7" visibility="hidden" style="left:630px; top:0px; width:40px; height:20px; ">
  2004. <caption>SAVE</caption>
  2005. <script type="javascript" ev:event="DOMActivate">
  2006. <![CDATA[
  2007. save();
  2008. ]]>
  2009. </script>
  2010. </button>
  2011. </xhtml:body>
  2012. </xhtml:html>