25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 

949 satır
30 KiB

  1. var category_id = getStorage("category_id");
  2. var pro_cate_id = getStorage("pro_cate_id");
  3. //category_id = '1';
  4. //pro_cate_id = '205';
  5. var run_date = after(getDateTime(0));
  6. var back_run_date = after(getDateTime(0));
  7. var car_id = "";
  8. var back_car_id = "";
  9. var go_back = "0";
  10. //var total_price = 0;
  11. var total_no = 1;
  12. var status_go_back = '';
  13. var cache_data = {};
  14. var cache_data_back = {};
  15. var cache_select_data = {};
  16. var cache_select_data_back = {};
  17. var run_date_list = [];
  18. var back_date_list = [];
  19. //切换班次信息
  20. var passindex = '';
  21. var selectindex = '';
  22. window.onload = function() {
  23. ifLogin(function(flag) {
  24. $('body').show();
  25. httpBaseInfo();
  26. });
  27. }
  28. var temp_run = {};
  29. var temp_start = {};
  30. var temp_end = {};
  31. var temp_run_back = {};
  32. var temp_start_back = {};
  33. var temp_end_back = {};
  34. var go_total = '';
  35. var back_total = '';
  36. var sel_cate_id = '';
  37. var back_cate_id = '';
  38. //基础信息展示
  39. function httpBaseInfo() {
  40. var urlstr = base_api + "prod/prod/get-prod-detail";
  41. var data = { "pro_cate_id": pro_cate_id, "category_id": category_id };
  42. ZZLog(urlstr);
  43. $.ajax({
  44. url: urlstr,
  45. data: data,
  46. type: "post",
  47. dataType: "json",
  48. async: false,
  49. success: function(res) {
  50. run_date_list = res.data.run_date;
  51. ZZLog(res);
  52. if(res.flag) {
  53. replaceBaseInfo(res.data);
  54. } else {
  55. if(codeNotLogin == res.code) {
  56. alert(infoNotLogin);
  57. var URL = '/web/fx/station_ticket.html';
  58. URL = encodeURI(URL);
  59. location.href = res.url + URL;
  60. } else if(codeNotRegister == res.code) {
  61. location.href = 'register.html';
  62. } else {
  63. alert(res.msg);
  64. }
  65. }
  66. },
  67. error: function(error) {
  68. console.log(error);
  69. }
  70. });
  71. }
  72. //替换初始化页面数据
  73. function replaceBaseInfo(data) {
  74. var temp = "";
  75. for(var i = 0, j = data.prod_arr.length; i < j; i++) {
  76. var img = 'images/jianhao.png';
  77. var str = '<span class="ulev3 count aticket" type="text" readonly="true" one_price="' + data.prod_arr[i].prod_price + '" prod_name="' + data.prod_arr[i].prod_name + '" prod_id="' + data.prod_arr[i].prod_id + '">0</span>';
  78. if(i == 0) {
  79. img = 'images/jianhao_sel.png';
  80. str = '<span class="ulev3 count aticket" type="text" readonly="true" one_price="' + data.prod_arr[i].prod_price + '" prod_name="' + data.prod_arr[i].prod_name + '" prod_id="' + data.prod_arr[i].prod_id + '">1</span>'
  81. }
  82. temp += '<div class="ub ub-ver disney_div">' +
  83. '<div style="padding-bottom: 0.12rem;">' + data.prod_arr[i].prod_name + '</div>' +
  84. '<div class="ub">' +
  85. '<div class="ub-f1 ub">' +
  86. '<img class="cut" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="' + img + '"/>' +
  87. str +
  88. '<img class="add" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="images/jiahao_sel.png"/>' +
  89. '</div>' +
  90. '<div class="ub-f1 ub tx-r">' +
  91. '<div class="ub-f1 ub ub-pe ub-ae font_price" >¥</div>' +
  92. '<div class="ulev3 ub ub-ae font_price" style="line-height: 1;">' + data.prod_arr[i].prod_price + '<span class="font_price" style="font-size:0.12rem">/张</span></div>' +
  93. '</div>' +
  94. '</div>' +
  95. '</div>'
  96. }
  97. $("#tick_type").html(temp);
  98. //订票须知
  99. if(data.booking_notice) {
  100. var booking_notice_arr = data.booking_notice.split('<br/>');
  101. var bnHTML = '';
  102. for(var i = 0, m = booking_notice_arr.length; i < m; i++) {
  103. bnHTML += '<div class="font_gray">' + booking_notice_arr[i] + '</div>';
  104. }
  105. $(".booking_notice").html(bnHTML);
  106. }
  107. //展示数据
  108. $("#bg_img").css("background-image", "url(" + data.show_img + ")");
  109. $(".top_title").text(data.pro_cate_name);
  110. pro_cate_name = data.pro_cate_name;
  111. var go_year = getMonthAndDayByDate(run_date, 'year');
  112. var go_month = getMonthAndDayByDate(run_date, 'month');
  113. var go_day = getMonthAndDayByDate(run_date, 'day');
  114. var back_year = getMonthAndDayByDate(back_run_date, 'year');
  115. var back_month = getMonthAndDayByDate(back_run_date, 'month');
  116. var back_day = getMonthAndDayByDate(back_run_date, 'day');
  117. $("#go_run_date").text(go_month + "月" + go_day + "日");
  118. // $("#back_run_date").text(back_month + "月" + back_day + "日");
  119. $("#back_run_date").text('请选择');
  120. $("#go_sel_date").text(go_month + "月" + go_day + "日");
  121. //添加事件
  122. addTargets();
  123. jiajian();
  124. }
  125. //添加事件
  126. function addTargets() {
  127. $(".model").on("click", function() {
  128. $('.model_box').addClass('fadeInDown animated');
  129. setTimeout(function() {
  130. $('.model').hide();
  131. $('#body_mod').removeClass('mod_fil');
  132. }, 400);
  133. });
  134. //选择班次弹层
  135. $(".model_car").on("click", function() {
  136. $('.model_box_car').addClass('fadeInDown animated');
  137. if(cache_select_data.hasOwnProperty(run_date)) {}
  138. setTimeout(function() {
  139. $('.model_car').hide();
  140. $('#body_mod').removeClass('mod_fil');
  141. }, 400);
  142. });
  143. //解决冒泡
  144. $(".model_box").on("click", function(e) {
  145. e.stopPropagation();
  146. });
  147. $(".model_box_car").on("click", function(e) {
  148. e.stopPropagation();
  149. });
  150. //选择去程日期
  151. $("#go_date_select").on("click", function() {
  152. $('.model_box').removeClass('fadeInUp');
  153. $('.model_box').removeClass('animated');
  154. $('.model_box').removeClass('fadeInDown');
  155. // $("#go_sel_date").text(go_month + "月" + go_day + "日");
  156. var caType = window.calendar.init.showTypeEnum.show_customer;
  157. window.calendar.init({
  158. startDate: getDateTime(0),
  159. chooseDate: run_date,
  160. showType:caType,
  161. showDays:run_date_list
  162. }, function(year, month, day, ymdString) {
  163. $('.model_box').addClass('fadeInDown animated');
  164. setTimeout(function() {
  165. $('.model').hide();
  166. $('#body_mod').removeClass('mod_fil');
  167. }, 400);
  168. run_date = ymdString;
  169. cancel_back();
  170. function cancel_back() {
  171. $("#back_date").animate({
  172. height: "hide"
  173. }, 200);
  174. status_go_back = 'go';
  175. $('#if_back').attr("go_back", "0");
  176. $('#if_back').text("添加返程");
  177. $('#if_back').removeClass("cancel_back_btn");
  178. $('#if_back').addClass("sel_back_btn");
  179. $("#back_show_class").text("请选择");
  180. $("#back_show_class").removeAttr("go_time");
  181. $('.sigle_price').each(function(index, dom) {
  182. var current = parseFloat($(this).text());
  183. var back = 0;
  184. if(back_list_ary.length > 0) {
  185. back = parseFloat(back_list_ary[index].prod_price ? back_list_ary[index].prod_price : 0);
  186. }
  187. $(this).text(current - back);
  188. })
  189. cache_select_data_back = {};
  190. }
  191. // go_year = year;
  192. // go_month = month;
  193. // go_day = day;
  194. if(run_date > back_run_date) {
  195. back_run_date = ymdString;
  196. // back_year = year;
  197. // back_month = month;
  198. // back_day = day;
  199. $("#back_run_date").text(month + "月" + day + "日");
  200. $("#back_show_class").text("请选择");
  201. $("#back_show_class").removeAttr("back_time");
  202. $("#back_show_class").removeAttr("back_run_id");
  203. $("#back_show_class").removeAttr("back_cate_name");
  204. back_car_id = "";
  205. }
  206. $("#go_run_date").text(month + "月" + day + "日");
  207. $("#go_sel_date").text(month + "月" + day + "日");
  208. //重新选择日期后班次要重新选
  209. $("#go_show_class").text("请选择");
  210. $("#go_show_class").removeAttr("go_time");
  211. $("#go_show_class").removeAttr("go_run_id");
  212. $("#go_show_class").removeAttr("go_cate_name");
  213. car_id = "";
  214. });
  215. $(".model").show();
  216. $('.model_box').show();
  217. $("#body_mod").addClass("mod_fil");
  218. $('.model_box').addClass('fadeInUp animated');
  219. });
  220. //选择去程班次
  221. $("#go_classes").on("click", function() {
  222. $('.model_box_car').removeClass('fadeInUp');
  223. $('.model_box_car').removeClass('animated');
  224. $('.model_box_car').removeClass('fadeInDown');
  225. $('#back_run_date').html('请选择');
  226. status_go_back = 'go';
  227. //fuhc start
  228. if(cache_data.hasOwnProperty(run_date)) {
  229. ZZLog('cache data qu de ')
  230. var data = cache_data[run_date];
  231. // showGoInfo(data);
  232. window.runbus.init({
  233. run_list: data.station_list,
  234. run_date: run_date,
  235. cache_select_data: cache_select_data
  236. },
  237. function(run) {
  238. temp_run = run;
  239. go_total = run.count;
  240. },
  241. function(start) {
  242. temp_start = start;
  243. go_total = start.count;
  244. },
  245. function(end) {
  246. temp_end = end;
  247. go_total = end.count;
  248. }
  249. );
  250. $(".model_car").show();
  251. $('.model_box_car').show();
  252. $("#body_mod").addClass("mod_fil");
  253. $('.model_box_car').addClass('fadeInUp animated');
  254. } else {
  255. go_back = '0';
  256. ajax();
  257. function ajax() {
  258. $.ajax({
  259. url: base_api + 'prod/prod/get-line-bus-stock',
  260. data: { pro_cate_id: pro_cate_id, date: run_date, if_back: go_back },
  261. type: "post",
  262. dataType: "json",
  263. async: false,
  264. success: function(res) {
  265. ZZLog('去程班次返回', res);
  266. if(res.flag) {
  267. cache_data[run_date] = res.data;
  268. window.runbus.init({
  269. run_list: res.data.station_list
  270. },
  271. function(run) {
  272. temp_run = run;
  273. go_total = run.count;
  274. },
  275. function(start) {
  276. temp_start = start;
  277. go_total = start.count;
  278. },
  279. function(end) {
  280. temp_end = end;
  281. go_total = end.count;
  282. }
  283. );
  284. $(".model_car").show();
  285. $('.model_box_car').show();
  286. $("#body_mod").addClass("mod_fil");
  287. $('.model_box_car').addClass('fadeInUp animated');
  288. } else {
  289. if(codeNotLogin == res.code) {
  290. alert(infoNotLogin);
  291. var URL = 'station_ticket.html';
  292. URL = encodeURI(URL);
  293. location.href = res.url + URL;
  294. } else {
  295. alert(res.msg);
  296. }
  297. }
  298. },
  299. error: function(error) {
  300. console.log(error);
  301. }
  302. });
  303. }
  304. }
  305. });
  306. //选择返程日期
  307. $("#back_date_select").on("click", function() {
  308. if($('#go_show_class').html() == '请选择'){
  309. alert('请选择去程班次');
  310. return;
  311. }
  312. $.ajax({
  313. url: base_api + 'prod/prod/get-line-sale-date',
  314. data: { pro_cate_id: sel_cate_id, if_back: '1' },
  315. type: "post",
  316. dataType: "json",
  317. async: false,
  318. success: function(res) {
  319. if(res.flag) {
  320. back_date_list = res.data.list;
  321. } else {
  322. alert('数据错误');
  323. }
  324. },
  325. error: function(error) {
  326. console.log(error);
  327. }
  328. });
  329. $('.model_box').removeClass('fadeInUp');
  330. $('.model_box').removeClass('animated');
  331. $('.model_box').removeClass('fadeInDown');
  332. $("#go_sel_date").text($('#back_run_date').text());
  333. var baType = window.calendar.init.showTypeEnum.show_customer;
  334. window.calendar.init({
  335. showType:baType,
  336. startDate: run_date,
  337. chooseDate: back_run_date,
  338. showDays:back_date_list
  339. }, function(year, month, day, ymdString) {
  340. $('.model_box').addClass('fadeInDown animated');
  341. setTimeout(function() {
  342. $('.model').hide();
  343. $('#body_mod').removeClass('mod_fil');
  344. }, 400);
  345. back_run_date = ymdString;
  346. if(run_date > back_run_date) {
  347. back_run_date = ymdString;
  348. $("#back_run_date").text(month + "月" + day + "日");
  349. }
  350. $("#back_run_date").text(month + "月" + day + "日");
  351. $("#go_sel_date").text(month + "月" + day + "日");
  352. $("#back_show_class").text("请选择");
  353. $("#back_show_class").removeAttr("back_time");
  354. $("#back_show_class").removeAttr("back_run_id");
  355. $("#back_show_class").removeAttr("back_cate_name");
  356. back_car_id = "";
  357. });
  358. $(".model").show();
  359. $('.model_box').show();
  360. $("#body_mod").addClass("mod_fil");
  361. $('.model_box').addClass('fadeInUp animated');
  362. });
  363. //选择返程班次
  364. $("#back_classes").on("click", function() {
  365. if($('#go_show_class').html() == '请选择'){
  366. alert('请选择去程班次');
  367. return;
  368. }
  369. if($('#back_run_date').html() == '请选择'){
  370. alert('请选择返程日期');
  371. return;
  372. }
  373. status_go_back = 'back';
  374. var go_run_id = '';
  375. if(cache_select_data.hasOwnProperty(run_date)) {
  376. go_run_id = cache_select_data[run_date].cache_run_id;
  377. }
  378. if(go_run_id == '') {
  379. alert('请选择去程班次');
  380. return;
  381. }
  382. $('.model_box_car').removeClass('fadeInUp');
  383. $('.model_box_car').removeClass('animated');
  384. $('.model_box_car').removeClass('fadeInDown');
  385. if(cache_data_back.hasOwnProperty(back_run_date)) {
  386. ZZLog('cache data qu de ')
  387. var data = cache_data_back[back_run_date];
  388. // showGoInfo(data);
  389. window.runbus.init({
  390. run_list: data.station_list,
  391. run_date: back_run_date,
  392. cache_select_data: cache_select_data_back
  393. },
  394. function(run) {
  395. temp_run_back = run;
  396. back_total = run.count;
  397. },
  398. function(start) {
  399. temp_start_back = start;
  400. back_total = start.count;
  401. },
  402. function(end) {
  403. temp_end_back = end;
  404. back_total = end.count;
  405. }
  406. );
  407. $(".model_car").show();
  408. $('.model_box_car').show();
  409. $("#body_mod").addClass("mod_fil");
  410. $('.model_box_car').addClass('fadeInUp animated');
  411. } else {
  412. ajax();
  413. function ajax() {
  414. go_back = '1';
  415. $.ajax({
  416. url: base_api + 'prod/prod/get-line-bus-stock',
  417. data: { pro_cate_id: sel_cate_id, date: back_run_date, if_back: go_back },
  418. type: "post",
  419. dataType: "json",
  420. async: false,
  421. success: function(res) {
  422. ZZLog('去程班次返回', res);
  423. if(res.flag) {
  424. cache_data_back[back_run_date] = res.data;
  425. window.runbus.init({
  426. run_list: res.data.station_list
  427. },
  428. function(run) {
  429. temp_run_back = run;
  430. back_total = run.count;
  431. },
  432. function(start) {
  433. temp_start_back = start;
  434. back_total = start.count;
  435. },
  436. function(end) {
  437. temp_end_back = end;
  438. back_total = end.count;
  439. }
  440. );
  441. $(".model_car").show();
  442. $('.model_box_car').show();
  443. $("#body_mod").addClass("mod_fil");
  444. $('.model_box_car').addClass('fadeInUp animated');
  445. } else {
  446. if(codeNotLogin == res.code) {
  447. alert(infoNotLogin);
  448. var URL = 'station_ticket.html';
  449. URL = encodeURI(URL);
  450. location.href = res.url + URL;
  451. } else {
  452. alert(res.msg);
  453. }
  454. }
  455. },
  456. error: function(error) {
  457. console.log(error);
  458. }
  459. });
  460. }
  461. }
  462. });
  463. //添加或取消返程
  464. $(".sel_back_btn").on("click", function(e) {
  465. var target = e.target;
  466. go_back = $(target).attr("go_back");
  467. if(go_back == "0") {
  468. // if(status_go_back == "go") {
  469. var go_run_id = '';
  470. // if(cache_select_data.hasOwnProperty(run_date)) {
  471. // go_run_id = cache_select_data[run_date].cache_run_id;
  472. // }
  473. // if(go_run_id == '') {
  474. // alert('请选择去程班次');
  475. // return;
  476. // }
  477. $("#back_date").animate({
  478. height: "show"
  479. }, 200);
  480. $(target).attr("go_back", "1");
  481. $(target).text("取消返程");
  482. $(target).removeClass("sel_back_btn");
  483. $(target).addClass("cancel_back_btn");
  484. } else {
  485. if(pro_cate_id == '') {
  486. alert('请选择');
  487. return;
  488. }
  489. status_go_back = 'go';
  490. $("#back_date").animate({
  491. height: "hide"
  492. }, 200);
  493. $(target).attr("go_back", "0");
  494. $(target).text("添加返程");
  495. $(target).removeClass("cancel_back_btn");
  496. $(target).addClass("sel_back_btn");
  497. $("#back_show_class").text("请选择");
  498. $("#back_show_class").removeAttr("go_time");
  499. back_car_id = "";
  500. $('.sigle_price').each(function(index, dom) {
  501. var current = parseFloat($(this).text());
  502. var back = 0;
  503. if(back_list_ary.length > 0) {
  504. back = parseFloat(back_list_ary[index].prod_price ? back_list_ary[index].prod_price : 0);
  505. }
  506. $(this).text(current - back);
  507. })
  508. cache_select_data_back = {};
  509. }
  510. });
  511. }
  512. var total_price = 0;
  513. //总价
  514. function countTotal() {
  515. total_price = 0;
  516. var prod_Arr = [];
  517. var ticket_info = "";
  518. total_no = 0;
  519. $(".aticket").each(function(index, domE) {
  520. var tick_no = parseInt($(this).text());
  521. var tick_price = parseFloat($(this).attr("one_price"));
  522. total_price = (total_price * 100 + tick_no * tick_price * 100) / 100;
  523. total_no += tick_no;
  524. ticket_info = {
  525. "prod_id": $(this).attr("prod_id"),
  526. "prod_count": $(this).text(),
  527. "prod_name": $(this).attr("prod_name")
  528. }
  529. prod_Arr.push(ticket_info);
  530. });
  531. }
  532. var back_list_ary = [];
  533. //点击确定按钮
  534. function rightDidClick() {
  535. // var sel_cate_id = '';
  536. // var back_cate_id = '';
  537. var go_back = $('#if_back').attr('go_back');
  538. // if(go_back == 0) {
  539. if(status_go_back == 'go') {
  540. cache_select_data[run_date] = {};
  541. if(temp_run.run_id) {
  542. cache_select_data[run_date].cache_run_id = temp_run.run_id;
  543. cache_select_data[run_date].cache_run_time = temp_run.run_time;
  544. $('#go_show_class').text(temp_run.run_time + '发车');
  545. } else {
  546. alert('请选择班次')
  547. return;
  548. }
  549. var run_list = cache_data[run_date]['station_list'];
  550. var dict = {};
  551. run_list.forEach(function(v, i) {
  552. if(v['run_id'] == cache_select_data[run_date].cache_run_id) {
  553. dict = v;
  554. }
  555. })
  556. if(temp_start.start_station_id) {
  557. cache_select_data[run_date].cache_start_station_id = temp_start.start_station_id;
  558. cache_select_data[run_date].cache_start_station_name = temp_start.start_station_name;
  559. } else {
  560. var ss_id = dict['start_station_list'][0]['start_res_id'];
  561. var ss_name = dict['start_station_list'][0]['start_res_name'];
  562. cache_select_data[run_date].cache_start_station_id = ss_id;
  563. cache_select_data[run_date].cache_start_station_name = ss_name;
  564. }
  565. if(temp_end.end_station_id) {
  566. cache_select_data[run_date].cache_end_station_id = temp_end.end_station_id;
  567. cache_select_data[run_date].cache_end_station_name = temp_end.end_station_name;
  568. sel_cate_id = temp_end.pro_cate_id;
  569. } else {
  570. for (var i=0,m=dict['start_station_list'].length;i<m;i++) {
  571. var d = dict['start_station_list'][i];
  572. if(d['start_res_id']==cache_select_data[run_date].cache_start_station_id){
  573. var ss_id = d['end_station_list'][0]['station_id'];
  574. var ss_name = d['end_station_list'][0]['station_name'];
  575. cache_select_data[run_date].cache_end_station_id = ss_id;
  576. cache_select_data[run_date].cache_end_station_name = ss_name;
  577. sel_cate_id = d['end_station_list'][0]['pro_cate_id'];
  578. }
  579. }
  580. // var ss_id = dict['start_station_list'][0]['end_station_list'][0]['station_id'];
  581. // var ss_name = dict['start_station_list'][0]['end_station_list'][0]['station_name'];
  582. // cache_select_data[run_date].cache_end_station_id = ss_id;
  583. // cache_select_data[run_date].cache_end_station_name = ss_name;
  584. // sel_cate_id = dict['start_station_list'][0]['end_station_list'][0]['pro_cate_id'];
  585. }
  586. //更换库存价格信息
  587. $.ajax({
  588. url: base_api + 'prod/prod/get-prod-arr',
  589. data: { pro_cate_id: sel_cate_id },
  590. type: "post",
  591. dataType: "json",
  592. async: false,
  593. success: function(res) {
  594. ZZLog('更换库存', res);
  595. cache_select_data_back = {};
  596. $("#back_show_class").text("请选择");
  597. if(res.flag) {
  598. replaceTicketInfo(res.data.prod_arr);
  599. } else {
  600. if(codeNotLogin == res.code) {
  601. alert(infoNotLogin);
  602. var URL = 'station_ticket.html';
  603. URL = encodeURI(URL);
  604. location.href = res.url + URL;
  605. } else {
  606. alert(res.msg);
  607. }
  608. }
  609. },
  610. error: function(error) {
  611. console.log(error);
  612. }
  613. });
  614. } else {
  615. cache_select_data_back[back_run_date] = {};
  616. if(temp_run_back.run_id) {
  617. cache_select_data_back[back_run_date].cache_run_id = temp_run_back.run_id;
  618. cache_select_data_back[back_run_date].cache_run_time = temp_run_back.run_time;
  619. $('#back_show_class').text(temp_run_back.run_time + '发车');
  620. } else {
  621. alert('请选择班次')
  622. return;
  623. }
  624. var run_list = cache_data_back[back_run_date]['station_list'];
  625. var dict = {};
  626. run_list.forEach(function(v, i) {
  627. if(v['run_id'] == cache_select_data_back[back_run_date].cache_run_id) {
  628. dict = v;
  629. }
  630. })
  631. if(temp_start_back.start_station_id) {
  632. cache_select_data_back[back_run_date].cache_start_station_id = temp_start_back.start_station_id;
  633. cache_select_data_back[back_run_date].cache_start_station_name = temp_start_back.start_station_name;
  634. } else {
  635. var ss_id = dict['start_station_list'][0]['start_res_id'];
  636. var ss_name = dict['start_station_list'][0]['start_res_name'];
  637. cache_select_data_back[back_run_date].cache_start_station_id = ss_id;
  638. cache_select_data_back[back_run_date].cache_start_station_name = ss_name;
  639. }
  640. if(temp_end_back.end_station_id) {
  641. cache_select_data_back[back_run_date].cache_end_station_id = temp_end_back.end_station_id;
  642. cache_select_data_back[back_run_date].cache_end_station_name = temp_end_back.end_station_name;
  643. back_cate_id = temp_end_back.pro_cate_id;
  644. } else {
  645. for (var i=0,m=dict['start_station_list'].length;i<m;i++) {
  646. var d = dict['start_station_list'][i];
  647. if(d['start_res_id']==cache_select_data_back[back_run_date].cache_start_station_id){
  648. var ss_id = d['end_station_list'][0]['station_id'];
  649. var ss_name = d['end_station_list'][0]['station_name'];
  650. cache_select_data_back[back_run_date].cache_end_station_id = ss_id;
  651. cache_select_data_back[back_run_date].cache_end_station_name = ss_name;
  652. back_cate_id = d['end_station_list'][0]['pro_cate_id'];
  653. }
  654. }
  655. // var ss_id = dict['start_station_list'][0]['end_station_list'][0]['station_id'];
  656. // var ss_name = dict['start_station_list'][0]['end_station_list'][0]['station_name'];
  657. // cache_select_data_back[back_run_date].cache_end_station_id = ss_id;
  658. // cache_select_data_back[back_run_date].cache_end_station_name = ss_name;
  659. // back_cate_id = dict['start_station_list'][0]['end_station_list'][0]['pro_cate_id'];
  660. }
  661. //更换库存价格信息
  662. $.ajax({
  663. url: base_api + 'prod/prod/get-prod-arr',
  664. data: { pro_cate_id: back_cate_id },
  665. type: "post",
  666. dataType: "json",
  667. async: false,
  668. success: function(res) {
  669. ZZLog('更换返程库存', res);
  670. if(res.flag) {
  671. back_list_ary = res.data.prod_arr;
  672. replaceBackTicketInfo(res.data.prod_arr);
  673. } else {
  674. if(codeNotLogin == res.code) {
  675. alert(infoNotLogin);
  676. var URL = 'station_ticket.html';
  677. URL = encodeURI(URL);
  678. location.href = res.url + URL;
  679. } else {
  680. alert(res.msg);
  681. }
  682. }
  683. },
  684. error: function(error) {
  685. console.log(error);
  686. }
  687. });
  688. }
  689. $('.model_box_car').addClass('fadeInDown animated');
  690. setTimeout(function() {
  691. $('.model_car').hide();
  692. $('#body_mod').removeClass('mod_fil');
  693. }, 400);
  694. }
  695. //替换去程的票种html
  696. function replaceTicketInfo(list_ary) {
  697. var html = '';
  698. var str = '0';
  699. var img = 'images/jianhao.png';
  700. list_ary.forEach(function(dict, index) {
  701. if(index == 0) {
  702. img = 'images/jianhao_sel.png'
  703. str = '1';
  704. } else {
  705. img = 'images/jianhao.png';
  706. str = '0';
  707. }
  708. html += '<div class="ub ub-ver disney_div">' +
  709. ' <div class="ui_p_b12" prod_count="' + dict.prod_count + '" >' + dict.prod_name + '</div>' +
  710. ' <div class="ub">' +
  711. ' <div class="ub-f1 ub">' +
  712. ' <img class="cut" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="' + img + '"/>' +
  713. ' <span class="ulev3 count aticket" type="text" readonly="true" value="' + str + '">' + str + '</span>' +
  714. ' <img class="add" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="images/jiahao_sel.png"/>' +
  715. ' </div>' +
  716. ' <div class="ub-f1 ub tx-r">' +
  717. ' <div class="ub-f1 ub ub-pe ub-ae font_price" >¥</div>' +
  718. ' <div class="ulev3 ub ub-ae font_price sigle_price" prod_id="' + dict.prod_id + '" style="line-height: 1;">' + dict.prod_price + '<span class="font_price" style="font-size:0.12rem">/张</span></div>' +
  719. ' </div>' +
  720. ' </div>' +
  721. '</div>';
  722. })
  723. $('#tick_type').html(html);
  724. jiajian();
  725. }
  726. function replaceBackTicketInfo(back_list_ary) {
  727. $('.sigle_price').each(function(index, dom) {
  728. var cc = $(this).text() ? $(this).text() : 0
  729. var current = parseFloat(cc);
  730. var bb = back_list_ary[index].prod_price ? back_list_ary[index].prod_price : 0;
  731. var back = parseFloat(bb);
  732. $(this).text(current + back);
  733. })
  734. }
  735. function jiajian() {
  736. //加
  737. $(".add").on("touchstart", function(e) {
  738. var target = e.target;
  739. console.log(e.target);
  740. if(pro_cate_id == "3") {
  741. $(".aticket").each(function(index, domE) {
  742. total_no += parseInt($(domE).text());
  743. });
  744. if(total_no == 5) {
  745. alert("迪士尼最多只能买五张票");
  746. } else {
  747. var current = $(target).parent().find(".aticket").text();
  748. var now_count = parseInt(current) + 1;
  749. $(target).parent().find(".aticket").text(now_count);
  750. $(target).parent().find(".cut").attr("src", "images/jianhao_sel.png");
  751. }
  752. } else {
  753. var current = $(target).parent().find(".aticket").text();
  754. var now_count = parseInt(current) + 1;
  755. $(target).parent().find(".aticket").text(now_count);
  756. $(target).parent().find(".cut").attr("src", "images/jianhao_sel.png");
  757. }
  758. });
  759. //减
  760. $(".cut").on("touchstart", function(e) {
  761. var target = e.target;
  762. var current = $(target).parent().find(".aticket").text();
  763. var now_count = parseInt(current) - 1;
  764. if(now_count > 0) {
  765. $(target).parent().find(".aticket").text(now_count);
  766. } else {
  767. $(target).parent().find(".aticket").text('0');
  768. $(target).attr("src", "images/jianhao.png");
  769. }
  770. })
  771. }
  772. //预订
  773. function reserve() {
  774. // countTotal();
  775. var if_back = $('#if_back').attr('go_back');
  776. var total_money = 0;
  777. var total_num = 0;
  778. var is_line = "1"; //是主线路
  779. var fill_order_20170307 = {};
  780. fill_order_20170307['if_back'] = if_back;
  781. fill_order_20170307['is_line'] = is_line;
  782. //去程
  783. if(!cache_select_data.hasOwnProperty(run_date)) { alert('请选择去程班次'); return; };
  784. var go_run_id = cache_select_data[run_date].cache_run_id ? cache_select_data[run_date].cache_run_id : "";
  785. var go_start_date = run_date;
  786. var go_start_time = cache_select_data[run_date].cache_run_time ? cache_select_data[run_date].cache_run_time : "";
  787. var t_start_station_name = cache_select_data[run_date].cache_start_station_name ? cache_select_data[run_date].cache_start_station_name : "";
  788. var t_end_station_name = cache_select_data[run_date].cache_end_station_name ? cache_select_data[run_date].cache_end_station_name : "";
  789. var go_pro_cate_name = t_start_station_name + '-' + t_end_station_name;
  790. var pro_cate_id = sel_cate_id;
  791. if(go_run_id == '') { alert('请选择去程班次'); return; }
  792. if(go_start_time == '') { alert('请选择去程班次'); return; }
  793. if(go_pro_cate_name == '-') { alert('请选择去程班次'); return; }
  794. var prod_arr = [];
  795. $('.disney_div').each(function(index, dom) {
  796. var t_prod_name = $(this).children().eq(0).text();
  797. var t_prod_id = $(this).find('.sigle_price').attr('prod_id');
  798. var t_prod_count = $(this).find('.count').text();
  799. var t_obj = {
  800. prod_name: t_prod_name,
  801. prod_id: t_prod_id,
  802. prod_count: t_prod_count
  803. }
  804. prod_arr.push(t_obj);
  805. var tick_price = parseFloat($(this).find('.sigle_price').text());
  806. var num = parseInt($(this).find('.aticket').text());
  807. total_money += parseFloat(num * tick_price);
  808. total_num += num-0;
  809. })
  810. var go_info = {
  811. go_run_id: go_run_id,
  812. go_pro_cate_name: go_pro_cate_name,
  813. go_start_date: go_start_date,
  814. go_start_time: go_start_time
  815. }
  816. fill_order_20170307['go_info'] = go_info;
  817. fill_order_20170307['pro_cate_id'] = pro_cate_id;
  818. fill_order_20170307['prod_arr'] = prod_arr;
  819. fill_order_20170307['total_money'] = total_money;
  820. if(go_run_id == '') {
  821. alert('请选择去程班次');
  822. return;
  823. } else if(total_num > go_total) {
  824. alert('库存不足');
  825. return;
  826. } else if(total_num == 0) {
  827. alert('请选择购买数量');
  828. return;
  829. }
  830. if(if_back == '1') {
  831. //返程
  832. var back_pro_cate_id = back_cate_id;
  833. if(!cache_select_data_back.hasOwnProperty(back_run_date)) { alert('请选择返程班次'); return; };
  834. var back_run_id = cache_select_data_back[back_run_date].cache_run_id ? cache_select_data_back[back_run_date].cache_run_id : "";
  835. var back_start_date = back_run_date;
  836. var back_start_time = cache_select_data_back[back_run_date].cache_run_time ? cache_select_data_back[back_run_date].cache_run_time : "";
  837. var t_start_station_name = cache_select_data_back[back_run_date].cache_start_station_name ? cache_select_data_back[back_run_date].cache_start_station_name : "";
  838. var t_end_station_name = cache_select_data_back[back_run_date].cache_end_station_name ? cache_select_data_back[back_run_date].cache_end_station_name : "";
  839. var back_pro_cate_name = t_start_station_name + '-' + t_end_station_name;
  840. if(back_run_id == '') { alert('请选择返程班次'); return; }
  841. if(back_start_time == '') { alert('请选择返程班次'); return; }
  842. if(back_pro_cate_name == '-') { alert('请选择返程班次'); return; }
  843. var back_prod_arr = [];
  844. fill_order_20170307['back_pro_cate_id'] = back_pro_cate_id;
  845. fill_order_20170307['back_run_id'] = back_run_id;
  846. fill_order_20170307['back_start_date'] = back_start_date;
  847. fill_order_20170307['back_start_time'] = back_start_time;
  848. fill_order_20170307['back_pro_cate_name'] = back_pro_cate_name;
  849. $('.disney_div').each(function(index, dom) {
  850. var v = back_list_ary[index];
  851. var t_prod_name = v['prod_name'];
  852. var t_prod_id = v['prod_id'];
  853. var t_prod_count = $(this).find('.count').text();
  854. var t_obj = {
  855. prod_name: t_prod_name,
  856. prod_id: t_prod_id,
  857. prod_count: t_prod_count
  858. }
  859. back_prod_arr.push(t_obj);
  860. var tick_price = parseFloat($(this).find('.sigle_price').text());
  861. var num = parseInt($(this).find('.aticket').text());
  862. total_money += parseFloat(num * tick_price);
  863. total_num += num;
  864. })
  865. var back_info = {
  866. back_run_id: back_run_id,
  867. back_pro_cate_name: back_pro_cate_name,
  868. back_start_date: back_start_date,
  869. back_start_time: back_start_time
  870. }
  871. fill_order_20170307['back_info'] = back_info;
  872. fill_order_20170307['back_prod_arr'] = back_prod_arr;
  873. var temp_count = go_total > back_total ? back_total : go_total;
  874. if(back_run_id == '') {
  875. alert('请选择返程班次');
  876. return;
  877. } else if(total_num > temp_count) {
  878. alert('库存不足');
  879. return;
  880. } else if(total_num == 0) {
  881. alert('请选择购买数量');
  882. return;
  883. }
  884. }
  885. setStorJson("fill_order_20170307", fill_order_20170307);
  886. window.location.href = "fill_order.html?"+version;
  887. }