You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

665 lines
18 KiB

  1. //var val =null;
  2. $(document).ready(function(){
  3. var ticket1 = $(".adult").outerHTML();
  4. $(".adult").remove();
  5. var ticket2 = $(".noble").outerHTML();
  6. var addcar = $(".car-select").outerHTML();
  7. $(".car-select").remove();
  8. //var cansell_ticket =
  9. // var hour = $(".hour").html(),
  10. // minute = $(".minute").html(),
  11. // place = $(".place").html(),
  12. // entry = $(".entry").html(),
  13. // mouth = $(".mouth").html();
  14. //console.log(hour)
  15. //$(".replace-lineinfo").hide()
  16. $('.add-line').on('keyup',function(ev){
  17. var val = this.value;
  18. if(/[a-zA-Z]+/.test(val)){
  19. //console.log(1)
  20. $.getJSON("json/"+val+".html?rand="+Math.random(),function(data){
  21. //console.log(2);
  22. //console.log(data);
  23. var html = [];
  24. $.each(data,function(i,v){
  25. html.push('<li dataid='+v.lineid+'>'+v.name+'</li>')
  26. });
  27. //console.log(this)
  28. $(".line-item").html(html.join(""));
  29. $(".line-item>li").on("click",function(){
  30. var val = $(this).html().replace(/[^a-zA-Z]+/,'');
  31. $('.add-line').val($(this).html()).attr("dataid",$(this).attr("dataid"));
  32. $(".line-item").html("");
  33. // $.getJSON('json/'+val+'.html?rand='+Math.random(),function(data){
  34. // var linehtml = [];
  35. // //console.log(1);
  36. // //console.log(lineInfoFormat);
  37. // var tickethtml = [];
  38. // $.each(data,function(i,v){
  39. // // console.log(v.lineId);
  40. // if(typeof v.lineId=="undefined"){
  41. // var td1= addTd(addTime(v.time));
  42. // var td2= addTd(v.site);
  43. // if(i==0){var td3= addTd('<select disabled><option>上</option></select>')}
  44. // else{var td3=addTd(addUpdownType(v.type))};
  45. // var td4 = addTd(addMouth(v.maxcheck,v.check));
  46. // linehtml.push(addItem("tr","aline",td1.concat(td2,td3,td4)))
  47. // }else{
  48. // var line = v.line.split("-"),
  49. // ticket11= ticket1.replace("出发地",line[0]).replace("目的地",line[1]),
  50. // ticket22 = ticket2,
  51. // arr = [],
  52. // ticket=null,
  53. // judge=false;
  54. // $.each(v,function(key,value){
  55. // if(key=="child"){
  56. // var child=["child","","儿童"];
  57. // Array.prototype.push.apply(child,value.split(","));
  58. // arr.push(child);
  59. // };
  60. // if(key=="noble"){
  61. // var noble=["noble","贵宾","成人"];
  62. // Array.prototype.push.apply(noble,value.split(","));
  63. // arr.push(noble);
  64. // };
  65. // if(key=="adult"){
  66. // var adult=["adult","普通","成人"];
  67. // Array.prototype.push.apply(adult,value.split(","));
  68. // arr.push(adult);
  69. // };
  70. // });
  71. // //var myticket1 = ticket1.replace("出发地",line[0]).replace("目的地",line[1]);
  72. // for(var i = 0;i<arr.length;i++){
  73. // if(judge==false){
  74. // //myticket1.replace("座位",arr[i][0]).replace("人群",arr[i][1]).replace("零售价",arr[i][2].replace("ticketnum",arr[]))
  75. // ticket = ticket11.replace(/座位|人群|零售价|ticketnum|ticketval/g,function(match){
  76. // switch(match){
  77. // case "座位":
  78. // return arr[i][1];
  79. // case "人群":
  80. // return arr[i][2];
  81. // case "零售价":
  82. // return arr[i][3];
  83. // case "ticketnum":
  84. // return arr[i][4];
  85. // case "ticketval":
  86. // return arr[i][0]
  87. // }
  88. // })
  89. // judge=true;
  90. // tickethtml.push(addTr(ticket));
  91. // }
  92. // else{
  93. // ticket=ticket2.replace(/座位|人群|零售价|ticketnum|ticketval/g,function(match){
  94. // switch(match){
  95. // case "座位":
  96. // return arr[i][1];
  97. // case "人群":
  98. // return arr[i][2];
  99. // case "零售价":
  100. // return arr[i][3];
  101. // case "ticketnum":
  102. // return arr[i][4];
  103. // case "ticketval":
  104. // return arr[i][0]
  105. // }
  106. // })
  107. // tickethtml.push(addTr(ticket))
  108. // }
  109. // }
  110. // $(".able-ticket").html(addTr(tickethtml.join("")))
  111. // }
  112. // })
  113. // $(".replace-lineinfo").html(linehtml);
  114. // var hourinfo = [];
  115. // $.each($('.hour'),function(i,v){
  116. // var val = $('.hour').eq(i).val()
  117. // var arr = [i,val]
  118. // hourinfo.push(arr)
  119. // })
  120. // var minuteinfo = [];
  121. // $.each($('.minute'),function(i,v){
  122. // var val = $('.minute').eq(i).val()
  123. // var arr = [i,val]
  124. // minuteinfo.push(arr)
  125. // })
  126. // $(".hour").on("change",function(){
  127. // var index = $(this).parent().parent().index();
  128. // var max = $(".hour").length;
  129. // var dangvalue = $(this).val();
  130. // for(var i = 0;i<hourinfo.length;i++){
  131. // if(index == hourinfo[i][0]){//获得下标
  132. // var nextindex = hourinfo[i][0]+1;
  133. // var myaddvalue = dangvalue-hourinfo[i][1];
  134. // if(myaddvalue<0){
  135. // hourinfo[i][1]=myaddvalue;
  136. // }else{
  137. // for(var t = nextindex;t<max;t++){
  138. // var myvalue = hourinfo[t][1];//获得下一个input值
  139. // var addvalue = myaddvalue+parseInt(myvalue);
  140. // if(addvalue>23){addvalue-=24}{
  141. // $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addvalue).attr("selected","true")
  142. // hourinfo[t][1]=addvalue;
  143. // }
  144. // }
  145. // }
  146. // }
  147. // }
  148. // hourinfo[index][1]=dangvalue;
  149. // })
  150. // $(".minute").on("change",function(){
  151. // var index = $(this).parent().parent().index();
  152. // var max = $(".minute").length;
  153. // var dangvalue = parseInt($(this).val());
  154. // for(var i = 0;i<minuteinfo.length;i++){
  155. // if(index == minuteinfo[i][0]){//获得下标
  156. // var nextindex = parseInt(minuteinfo[i][0])+1;
  157. // var addnum = dangvalue-parseInt(minuteinfo[i][1]);
  158. // if(addnum<0){minuteinfo[i][1]=addnum}
  159. // else{
  160. // for(var t = nextindex;t<max;t++){
  161. // var myhourvalue = hourinfo[t][1];
  162. // var myminutevalue = minuteinfo[t][1];
  163. // var addvalue = addnum+parseInt(myminutevalue);
  164. // if(addvalue>=60){addvalue-=60; var addhour = parseInt(hourinfo[t][1])+1;}
  165. // if(typeof addhour=="undefined"){
  166. // $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
  167. // minuteinfo[t][1]=addvalue;
  168. // }else{
  169. // $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
  170. // minuteinfo[t][1]=addvalue;
  171. // $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addhour).attr("selected","true");
  172. // hourinfo[t][1]=addhour;
  173. // }
  174. // }
  175. // }
  176. // }
  177. // }
  178. // minuteinfo[index][1]=dangvalue;
  179. // })
  180. // })
  181. $.getJSON('json/'+val+'.html?rand='+Math.random(),function(data){
  182. var linehtml = [];
  183. //console.log(1);
  184. //console.log(lineInfoFormat);
  185. var tickethtml = [];
  186. $(".add-cartype").on("click",function(){
  187. var cartype = [];
  188. $.each(data.addcartype,function(i,v){
  189. var acar = additemall("option",v.cartype,{"value":v.id})
  190. cartype.push(acar)
  191. })
  192. var acartype = addcar.replace("cartype",cartype.join());
  193. $(".car-type").append(acartype);
  194. $(".car-select .del").unbind();
  195. $(".car-select .del").on("click",function(){
  196. $(this).parent().remove();
  197. });
  198. })
  199. $.each(data.station,function(i,v){
  200. var td1= addTd(addTime(v.DATE_TIME));
  201. var td2= additemall("td",v.SITES,{alineid:v.RES_ID});
  202. //
  203. //console.log(td2)
  204. if(i==0){var td3= addTd('<select disabled><option>上</option></select>')}
  205. else{var td3=addTd(addUpdownType(v.UP_DOWN_TYPE))};
  206. var td4 = addTd(addMouth(v.TICKET_GATE,v.CHECKPORT));
  207. linehtml.push(addItem("tr","aline",td1.concat(td2,td3,td4)))
  208. })
  209. $.each(data.ticket,function(i,v){
  210. //var html = [];
  211. if(i==0){
  212. var atciket = ticket1.replace(/START_AREA|END_AREA|SEAT|CROWD|PRICE|MAX_COUNT|PROD_ID/g,function(match){
  213. switch(match){
  214. case "START_AREA":
  215. return v.START_AREA;
  216. case "END_AREA":
  217. return v.END_AREA;
  218. case "SEAT":
  219. return v.SEAT;
  220. case "CROWD":
  221. return v.CROWD;
  222. case "MAX_COUNT":
  223. return v.MAX_COUNT;
  224. case "PROD_ID":
  225. return v.PROD_ID;
  226. case "PRICE":
  227. return v.PRICE;
  228. }
  229. })
  230. tickethtml.push(atciket)
  231. //console.log(html)
  232. }else{
  233. var atciket = ticket1.replace(/START_AREA|END_AREA|SEAT|CROWD|PRICE|MAX_COUNT|PROD_ID/g,function(match){
  234. switch(match){
  235. case "START_AREA":
  236. return "";
  237. case "END_AREA":
  238. return "";
  239. case "SEAT":
  240. return v.SEAT;
  241. case "CROWD":
  242. return v.CROWD;
  243. case "MAX_COUNT":
  244. return v.MAX_COUNT;
  245. case "PROD_ID":
  246. return v.PROD_ID;
  247. case "PRICE":
  248. return v.PRICE;
  249. }
  250. })
  251. tickethtml.push(atciket)
  252. }
  253. })
  254. $(".replace-lineinfo").html(linehtml).attr("lineid",data.station[1].PROD_ID);
  255. console.log(tickethtml)
  256. console.log(ticket1)
  257. $(".able-ticket").html(tickethtml.join())
  258. var hourinfo = [];
  259. $.each($('.hour'),function(i,v){
  260. var val = $('.hour').eq(i).val()
  261. var arr = [i,val]
  262. hourinfo.push(arr)
  263. })
  264. var minuteinfo = [];
  265. $.each($('.minute'),function(i,v){
  266. var val = $('.minute').eq(i).val()
  267. var arr = [i,val]
  268. minuteinfo.push(arr)
  269. })
  270. $(".hour").on("change",function(){
  271. var index = $(this).parent().parent().index();
  272. var max = $(".hour").length;
  273. var dangvalue = $(this).val();
  274. for(var i = 0;i<hourinfo.length;i++){
  275. if(index == hourinfo[i][0]){//获得下标
  276. var nextindex = hourinfo[i][0]+1;
  277. var myaddvalue = dangvalue-hourinfo[i][1];
  278. if(myaddvalue<0){
  279. hourinfo[i][1]=myaddvalue;
  280. }else{
  281. for(var t = nextindex;t<max;t++){
  282. var myvalue = hourinfo[t][1];//获得下一个input值
  283. var addvalue = myaddvalue+parseInt(myvalue);
  284. if(addvalue>23){addvalue-=24}{
  285. $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addvalue).attr("selected","true")
  286. hourinfo[t][1]=addvalue;
  287. }
  288. }
  289. }
  290. }
  291. }
  292. hourinfo[index][1]=dangvalue;
  293. })
  294. $(".minute").on("change",function(){
  295. var index = $(this).parent().parent().index();
  296. var max = $(".minute").length;
  297. var dangvalue = parseInt($(this).val());
  298. for(var i = 0;i<minuteinfo.length;i++){
  299. if(index == minuteinfo[i][0]){//获得下标
  300. var nextindex = parseInt(minuteinfo[i][0])+1;
  301. var addnum = dangvalue-parseInt(minuteinfo[i][1]);
  302. if(addnum<0){minuteinfo[i][1]=addnum}
  303. else{
  304. for(var t = nextindex;t<max;t++){
  305. var myhourvalue = hourinfo[t][1];
  306. var myminutevalue = minuteinfo[t][1];
  307. var addvalue = addnum+parseInt(myminutevalue);
  308. if(addvalue>=60){addvalue-=60; var addhour = parseInt(hourinfo[t][1])+1;}
  309. if(typeof addhour=="undefined"){
  310. $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
  311. minuteinfo[t][1]=addvalue;
  312. }else{
  313. $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
  314. minuteinfo[t][1]=addvalue;
  315. $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addhour).attr("selected","true");
  316. hourinfo[t][1]=addhour;
  317. }
  318. }
  319. }
  320. }
  321. }
  322. minuteinfo[index][1]=dangvalue;
  323. })
  324. })
  325. })
  326. })
  327. }
  328. });
  329. // $(".add-cartype").on("click",function(){
  330. // $.getJSON("json/cartype.html?rand="+Math.random(),function(data){
  331. // var car = [];
  332. // $.each(data,function(i,v){
  333. // car.push('<option value='+v.id+'>'+v.cartype+'</option>');
  334. // });
  335. // car = addItem('select','car-item',car.join(""));
  336. // var carnumoption = [];
  337. // for(var i = 1;i<=data[0].count;i++){
  338. // carnumoption.push('<option value='+i+'>'+i+'</option>')
  339. // }
  340. // var carnum = addItem('select','car-num',carnumoption.join(""));
  341. // var ifseat = [];
  342. // if(data[0].ifSeat==0){
  343. // ifseat.push('<option value="sel">可选</option><option value="nosel">不可选</option>');
  344. // }else if(data[0].ifSeat==1){
  345. // ifseat.push('<option value="sel">可选</option>');
  346. // }else if(data[0].ifSeat==2){
  347. // ifseat.push('<option value="nosel">不可选</option>');
  348. // }
  349. // ifseat=addItem("select","ifseat",ifseat.join(""))
  350. // var del = addItem('span','del','删除')
  351. // var all = car.concat(carnum,ifseat,del);
  352. // var div = addItem('div','car-select',all);
  353. // $(".car-type").append(div);
  354. // $(".del").on("click",function(){
  355. // $(this).parent().remove();
  356. // })
  357. // $(".car-item").on("change",function(){
  358. // var count = null;
  359. // var ifseat = null;
  360. // var val = this.value;
  361. // $.each(data,function(i,v){
  362. // if(val==v.id){
  363. // count=v.count;
  364. // ifseat=v.ifSeat
  365. // }
  366. // });
  367. // var selnum = [];
  368. // for(var i = 1;i<=count;i++){
  369. // selnum.push('<option>'+i+'</option>')
  370. // }
  371. // $(this).parent().find(".car-num").html(selnum.join("")).removeAttr("disabled");
  372. // if(ifseat==0){
  373. // $(this).parent().find(".if-seat").html('<option value="sel">可选</option><option value="nosel">不可选</option>').removeAttr("disabled");
  374. // }
  375. // else if(ifseat==1){
  376. // $(this).parent().find(".if-seat").html('<option value="sel">可选</option>').removeAttr("disabled");
  377. // }
  378. // else if(ifseat==1){
  379. // $(this).parent().find(".if-seat").html('<option value="nosel">不可选</option>').removeAttr("disabled");
  380. // }
  381. // })
  382. // })
  383. // })
  384. $('.date-picker').datepicker({autoclose:true}).next().on('click', function(){
  385. $(this).prev().focus();
  386. });
  387. $('.allweek').on('change',function(){
  388. if($(this).is(":checked")){
  389. for(var i=0;i<$(".week").length;i++){
  390. $(".week").eq(i).click()
  391. }
  392. }else{
  393. for(var i=0;i<$(".week").length;i++){
  394. $(".week").eq(i).removeAttr("checked");
  395. }
  396. }
  397. })
  398. $(".storage").on("click",function(){
  399. var lineid = 'lineid='+$(".add-line").attr('dataid');
  400. var time = 'time='+$("#id-date-picker-1").val()+'-'+$("#id-date-picker-2").val();
  401. var pass = [];
  402. (function(){
  403. var line =[];
  404. for(var i = 0;i<$(".aline").length;i++){
  405. var aline = [];
  406. aline.push("time="+$(".aline").eq(i).find(".hour").val()+":"+$(".aline").eq(i).find(".minute").val());
  407. aline.push("site="+$(".aline").find("td").eq(1).html());
  408. aline.push("updown="+$(".aline").find(".updown").val());
  409. aline.push("mouth="+$(".aline").find(".mouth").val());
  410. line.push(aline.join(""));
  411. }
  412. })()
  413. url = 'lineid='+$(".add-line").attr('dataid')+'time='+$("#id-date-picker-1").val()+'-'+$("#id-date-picker-2").val()
  414. })
  415. })
  416. function addItem(label,classname,cent){
  417. var html = ['<'+label+' class='+classname+'>'];
  418. html.push(cent);
  419. html.push('</'+label+'>');
  420. return html.join("")
  421. }
  422. function addLi(html){
  423. var li = ['<li>'];
  424. li.push(html);
  425. li.push('</li>');
  426. li = li.join("");
  427. return li
  428. }
  429. function addTime(time){
  430. var time = time.split(":");
  431. var newHour = parseInt(time[0]),
  432. newMinute = parseInt(time[1]);
  433. var html = ['<select class="hour">'];
  434. for(var i=0;i<24;i++){
  435. if(i==newHour){
  436. html.push('<option selected value='+i+'>'+i+'</option>')}
  437. else{html.push('<option value='+i+'>'+i+'</option>')}
  438. }
  439. html.push('</select>:<select class="minute">')
  440. for(var t=0;t<60;t++){
  441. if(t==newMinute){
  442. html.push('<option selected value='+t+'>'+t+'</option>')
  443. }else{
  444. html.push('<option value='+t+'>'+t+'</option>')
  445. }
  446. }
  447. html.push('</select>');
  448. html = html.join("")
  449. return html
  450. }
  451. function addUpdownType(type){
  452. var typeid= null
  453. if(type==108){typeid="上"}
  454. else if(type==109){typeid="上下"}
  455. else if(type==110){typeid="下"}
  456. var html = ['<select class="updown">'],
  457. alltype = ['上','下','上下','不停']
  458. for(var i = 0;i<4;i++){
  459. if(typeid==alltype[i]){html.push('<option selected>'+alltype[i]+'</option>')}
  460. else{html.push('<option>'+alltype[i]+'</option>')}
  461. }
  462. html.push('</select>');
  463. html = html.join("")
  464. return html
  465. }
  466. function addMouth(maxNum,num){
  467. var html = ['<select class="mouth">'];
  468. for(var i in maxNum){
  469. if(i==num){
  470. html.push('<option selected>'+maxNum[i]+'</option>')
  471. }else{
  472. html.push('<option>'+maxNum[i]+'</option>')
  473. }
  474. };
  475. html.push("</select>");
  476. html = html.join("")
  477. return html;
  478. }
  479. function addTd(html){
  480. var td = ['<td>'];
  481. td.push(html);
  482. td.push('</td>');
  483. td = td.join("")
  484. return td;
  485. }
  486. function addTr(html){
  487. var tr = ['<tr>'];
  488. tr.push(html)
  489. tr.push('</tr>');
  490. tr = tr.join("")
  491. return tr;
  492. }
  493. jQuery.fn.outerHTML = function(s) {
  494. return (s) ? this.before(s).remove() : $("<Hill_man>").append(this.eq(0).clone()).html();
  495. }
  496. function additemall(lable,cen,attr){
  497. var html = ['<'+lable+ ' ' + (function(attr){if(typeof(attr)=="undefined"){return ""}else{var arr=[];for(i in attr){arr.push(i+'="'+attr[i]+'"')};return arr.join(" ")}})(attr) +'>'];
  498. html.push(cen);
  499. html.push('</'+lable+'>');
  500. console.log(html)
  501. return html.join("")
  502. }