Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. var param = getStorJson('fill_order_20170307');
  2. var adult_count = 0;
  3. window.onload = function() {
  4. for(var i=0;i<param.prod_arr.length;i++){
  5. var obj=param.prod_arr[i];
  6. if(obj['prod_name']==='成人票' || obj['prod_name']==='成人'){
  7. adult_count += Math.floor(obj['prod_count']);
  8. }
  9. }
  10. ifLogin(function(flag) {
  11. $('body').show();
  12. httpLoadInfo();
  13. })
  14. }
  15. function httpLoadInfo() {
  16. //清空缓存
  17. // param = {
  18. // pro_cate_id: '1',
  19. // if_back: '1', //只有去程 1 往返 2
  20. // prod_arr: [{
  21. // prod_id: '1',
  22. // prod_count: '1',
  23. // prod_name: "成人"
  24. // }, {
  25. // prod_id: '2',
  26. // prod_count: '1',
  27. // prod_name: "儿童"
  28. // }],
  29. // total_money: '340',
  30. // go_info: {
  31. // go_start_date: '2017-03-07',
  32. // go_start_time: '07:30',
  33. // go_run_id : '111',
  34. // go_pro_cate_name: '中星君廷大酒店 - 迪士尼乐园'
  35. // },
  36. // back_info: {
  37. // back_start_date: '2017-03-08',
  38. // back_start_time: '07:30',
  39. // back_run_id : '111',
  40. // back_pro_cate_name: '迪士尼乐园 - 中星君廷大酒店'
  41. // }
  42. // }
  43. if(!param) {
  44. alert('缺少参数');
  45. $('body').hide();
  46. return;
  47. }
  48. $('body').show();
  49. //
  50. var html = '';
  51. for(var i=0;i<adult_count;i++){
  52. var tempHTML = '<div class="ui_p_t15 text_c_80">乘车人'+(i+1)+'</div>' +
  53. '<div class="ub ub-ver ui_p_t05 ui_p_b10 bor_b_e5">' +
  54. '<input style="width: 100%;" class="travel_people_name ulev1 text_c_2b" type="text" value="" placeholder="必填,姓名" />' +
  55. '</div>' +
  56. '<div class="ui_p_t15 text_c_80">乘车人'+(i+1)+'身份证</div>' +
  57. '<div class="ub ub-ver ui_p_t05 ui_p_b10 bor_b_e5">' +
  58. '<input maxlength="18" style="width: 100%;" class="travel_people_cardid ulev1 text_c_2b" type="text" placeholder="必填,身份证"/>' +
  59. '</div>';
  60. html+=tempHTML;
  61. }
  62. $('.travel_people_list').html(html);
  63. $('.travel_people_cardid').off('blur');
  64. $('.travel_people_cardid').on('blur',function(){
  65. var cardid = $(this).val();
  66. if(cardid!==""){
  67. var info = getCardIdInfo(cardid);
  68. if(info.flag===false){
  69. alert($(this).parent().prev().html()+'输入不正确');
  70. $(this).focus();
  71. return false;
  72. }
  73. }
  74. });
  75. // param.if_back == '0' ? $('#back_info').hide() : $('#back_info').show();
  76. //去程信息
  77. var go_dict = param.go_info;
  78. var go_month = getMonthAndDayByDate(go_dict.go_start_date, 'month');
  79. var go_day = getMonthAndDayByDate(go_dict.go_start_date, 'day');
  80. $('.go_time').text('去程: ' + go_month + '月' + go_day + '日(' + go_dict.go_start_time + ')出发');
  81. $('.go_pro').text(go_dict.go_pro_cate_name);
  82. //返程信息
  83. if(param.if_back == '1') {
  84. var back_dict = param.back_info;
  85. var back_month = getMonthAndDayByDate(back_dict.back_start_date, 'month');
  86. var back_day = getMonthAndDayByDate(back_dict.back_start_date, 'day');
  87. $('.back_time').text('返程: ' + back_month + '月' + back_day + '日(' + back_dict.back_start_time + ')出发');
  88. $('.back_pro').text(back_dict.back_pro_cate_name);
  89. $('.back_info').show();
  90. } else {
  91. $('.back_info').hide();
  92. }
  93. $('#total_price').text(param.total_money);
  94. var arr = param.prod_arr;
  95. var HTML = '';
  96. for(var i = 0, m = arr.length; i < m; i++) {
  97. var dict = arr[i];
  98. var str = '';
  99. if(dict['prod_count'] == 0) {
  100. continue;
  101. }
  102. if(i != 0) {
  103. str = '</br>';
  104. }
  105. // var tempHTML = `${str}<span class="text_c_2b ulev1">${dict['prod_count']}</span>
  106. // <span class="text_c_2b ulev1 ui_m_r05">${dict['prod_name']}</span>`;
  107. var tempHTML = str + '<span class="text_c_2b ulev1">' + dict['prod_count'] + '</span>' +
  108. '<span class="text_c_2b ulev1 ui_m_r05">' + dict['prod_name'] + '</span>';
  109. HTML += tempHTML;
  110. }
  111. $('#person_count').html(HTML);
  112. }
  113. $(document).ready(function() {
  114. var timer_paysuccess = null; //实时刷是否支付
  115. var _pay_type = '1'; //微信支付:1 支付宝支付:2 预付款支付:3
  116. $('#wx_pay').on('click', function() {
  117. _pay_type = '1';
  118. resetPayTypeCSS()
  119. $('#wx_pay').removeClass('bor_pay_un');
  120. $('.p_wx').removeClass('pay_w_icon_unsel');
  121. $('#wx_pay').addClass('bor_pay');
  122. $('.p_wx').addClass('pay_w_icon_sel');
  123. })
  124. // $('#ali_pay').on('click', function() {
  125. // _pay_type = '2';
  126. // resetPayTypeCSS()
  127. // $('#ali_pay').addClass('bor_pay');
  128. // $('.p_ali').addClass('pay_z_icon_sel');
  129. // $('#ali_pay').removeClass('bor_pay_un');
  130. // $('.p_ali').removeClass('pay_z_icon_unsel');
  131. //
  132. // })
  133. $('#advance_pay').on('click', function() {
  134. _pay_type = '3';
  135. resetPayTypeCSS()
  136. $('#advance_pay').addClass('bor_pay');
  137. $('.p_advance').addClass('pay_advance_icon_sel');
  138. $('#advance_pay').removeClass('bor_pay_un');
  139. $('.p_advance').removeClass('pay_advance_icon_unsel');
  140. })
  141. function resetPayTypeCSS() {
  142. $('#wx_pay').removeClass('bor_pay');
  143. $('.p_wx').removeClass('pay_w_icon_sel');
  144. $('#wx_pay').addClass('bor_pay_un');
  145. $('.p_wx').addClass('pay_w_icon_unsel');
  146. // $('#ali_pay').removeClass('bor_pay');
  147. // $('.p_ali').removeClass('pay_z_icon_sel');
  148. // $('#ali_pay').addClass('bor_pay_un');
  149. // $('.p_ali').addClass('pay_z_icon_unsel');
  150. $('#advance_pay').removeClass('bor_pay');
  151. $('.p_advance').removeClass('pay_advance_icon_sel');
  152. $('#advance_pay').addClass('bor_pay_un');
  153. $('.p_advance').addClass('pay_advance_icon_unsel');
  154. }
  155. //点击蒙板
  156. $('#close_cha').on('click', function() {
  157. closeDidClicked();
  158. })
  159. function closeDidClicked() {
  160. $('.model').fadeOut();
  161. $('.container-div').removeClass('mod_fil');
  162. $('body').css("position",'');
  163. clearInterval(timer_paysuccess);
  164. timer_paysuccess = null;
  165. }
  166. //去结算
  167. $('#go_settlement').on('click', function() {
  168. $('#qr_code_img').attr('src', 'images/base.png');
  169. $('#close_cha').hide();
  170. if(timer_paysuccess) {
  171. $('body').css("position",'');
  172. clearInterval(timer_paysuccess);
  173. timer_paysuccess = null;
  174. }
  175. var prod_arr = [];
  176. for(var i = 0, m = param['prod_arr'].length; i < m; i++) {
  177. var dict = param['prod_arr'][i];
  178. var obj = {
  179. prod_id: dict['prod_id'],
  180. prod_count: dict['prod_count']
  181. }
  182. prod_arr.push(obj);
  183. }
  184. var pro_cate_id = param.pro_cate_id ? param.pro_cate_id : "";
  185. var if_back = param.if_back ? param.if_back : "0";
  186. var prod_arr = JSON.stringify(prod_arr) ? JSON.stringify(prod_arr) : "";
  187. var total_money = param['total_money'] ? param['total_money'] : "";
  188. var contacts_name = $('#contacts_name').val();
  189. var contacts_phone = $('#contacts_phone').val();
  190. var pay_type = _pay_type ? _pay_type : '1';
  191. var start_date = param.go_info.go_start_date ? param.go_info.go_start_date : '';
  192. var start_time = param.go_info.go_start_time ? param.go_info.go_start_time : '';
  193. var run_id = param.go_info.go_run_id ? param.go_info.go_run_id : '';
  194. //add date:2017-04-01 13:45:07
  195. var back_run_id = "";
  196. var back_prod_arr = [];
  197. var back_start_date = "";
  198. var back_start_time = "";
  199. var back_pro_cate_id = "";
  200. var is_line = "";
  201. if(param['if_back'] != "0") {
  202. is_line = param['is_line'] ? param['is_line'] : "";
  203. // if(param['is_line'] == '1') {
  204. for(var i = 0, m = param['back_prod_arr'].length; i < m; i++) {
  205. var dict = param['back_prod_arr'][i];
  206. var obj = {
  207. prod_id: dict['prod_id'],
  208. prod_count: dict['prod_count']
  209. }
  210. back_prod_arr.push(obj);
  211. }
  212. // }
  213. back_run_id = param.back_info.back_run_id ? param.back_info.back_run_id : '';
  214. back_start_time = param.back_info.back_start_time ? param.back_info.back_start_time : '';
  215. back_start_date = param.back_info.back_start_date ? param.back_info.back_start_date : '';
  216. back_pro_cate_id = param['back_pro_cate_id'] ? param['back_pro_cate_id'] : '';
  217. back_prod_arr = JSON.stringify(back_prod_arr) ? JSON.stringify(back_prod_arr) : "";
  218. }
  219. if(pro_cate_id.trim().length <= 0) return;
  220. if(prod_arr.length <= 0) return;
  221. if(contacts_name.trim().length <= 0) {
  222. $('#contacts_name').focus();
  223. alert('请输入联系人姓名');
  224. return;
  225. }
  226. if(contacts_phone.trim().length != 11) {
  227. $('#contacts_phone').focus();
  228. alert('手机号格式不正确');
  229. return;
  230. }
  231. //乘车人
  232. var names = [];
  233. $('.travel_people_name').each(function(index,dom){
  234. var name = $(this).val();
  235. name!=="" && names.push(name);
  236. });
  237. var cardids = [];
  238. $('.travel_people_cardid').each(function(index,dom){
  239. var cardid = $(this).val();
  240. cardid!=="" && cardids.push(cardid);
  241. });
  242. if(cardids.length!==names.length){
  243. alert('请完善乘车人信息');
  244. return;
  245. }
  246. var passanger_arr = [];
  247. var allow_flag = true;
  248. for(var i=0;i<cardids.length;i++){
  249. var name = names[i];
  250. var cardid = cardids[i];
  251. if(name.trim()!==""){
  252. var info = getCardIdInfo(cardid);
  253. if(info.flag!==false){
  254. passanger_arr.push({
  255. passenger_name:name,
  256. passenger_cardid:cardid
  257. });
  258. }else{
  259. allow_flag=false;
  260. // alert('乘车人'+Math.floor(i+1)+' 身份证号输入不正确');
  261. break;
  262. }
  263. }else{
  264. if(passanger_arr.length<=0){
  265. allow_flag = false;
  266. alert('请填写乘车人'+(i+1)+'信息');
  267. break;
  268. }
  269. }
  270. // if(name.trim()===""){
  271. // allow_flag=false;
  272. // alert('请填写乘车人'+Math.floor(i+1));
  273. // return;
  274. // }
  275. //
  276. // var info = getCardIdInfo(cardid);
  277. // if(info.flag===false){
  278. // allow_flag=false;
  279. // alert('乘车人'+Math.floor(i+1)+' 身份证号输入不正确');
  280. // return;
  281. // }
  282. //
  283. // passanger_arr.push({
  284. // passenger_name:name,
  285. // passenger_cardid:cardid
  286. // });
  287. }
  288. if(allow_flag===false)return;
  289. //补齐数组
  290. var len = adult_count-passanger_arr.length;
  291. for(var i=0;i<len;i++){
  292. passanger_arr.length>0 && passanger_arr.push(passanger_arr[0]);
  293. }
  294. if(_pay_type.trim().length <= 0) return;
  295. // if(total_money.trim().length <= 0) return;
  296. if(_pay_type == '1') {
  297. $('.pay_type').addClass('weixin');
  298. $('.pay_type').removeClass('zhifubao');
  299. $('.qr_pay_type').text('微信扫码支付:');
  300. $('.container-div').addClass('mod_fil');
  301. $('.model').fadeIn();
  302. } else if(_pay_type == '2') {
  303. $('.pay_type').addClass('zhifubao');
  304. $('.pay_type').removeClass('weixin');
  305. $('.qr_pay_type').text('支付宝扫码支付:');
  306. $('.container-div').addClass('mod_fil');
  307. $('.model').fadeIn();
  308. } else if(_pay_type == '3') {
  309. var result = confirm('预付款支付 ' + param.total_money + '元');
  310. if(!result) return;
  311. } else {}
  312. $('#pay_money').text(total_money);
  313. var data = {
  314. pro_cate_id: pro_cate_id,
  315. back_pro_cate_id: back_pro_cate_id,
  316. if_back: if_back,
  317. is_line: is_line,
  318. prod_arr: prod_arr,
  319. back_prod_arr: back_prod_arr,
  320. contacts_name: contacts_name,
  321. contacts_phone: contacts_phone,
  322. passanger_arr: JSON.stringify(passanger_arr),
  323. pay_type: _pay_type,
  324. start_date: start_date,
  325. back_start_date: back_start_date,
  326. start_time: start_time,
  327. back_start_time: back_start_time,
  328. run_id: run_id,
  329. back_run_id: back_run_id
  330. }
  331. ZZLog(base_api + 'prod/prod/make-order', data);
  332. if(_pay_type==='1' || _pay_type==='2'){
  333. $('body').css("position",'fixed');
  334. }
  335. submit();
  336. function submit() {
  337. $.ajax({
  338. type: "post",
  339. url: base_api + 'prod/prod/make-order',
  340. data: data,
  341. dataType: 'json',
  342. // traditional: true, //这里设置为true
  343. success: function(res_data) {
  344. ZZLog(res_data);
  345. if(false == res_data['flag']) {
  346. if(codeNotLogin == res_data['code']) {
  347. location.href = res_data['url'] + '/web/fx/';
  348. // alert(infoNotLogin);
  349. } else if(codeNotRegister == res_data['code']) {
  350. location.href = 'register.html';
  351. } else {
  352. alert(res_data['msg']);
  353. }
  354. closeDidClicked();
  355. } else {
  356. if(_pay_type == '3') {
  357. location.href = 'pay_success.html';
  358. return;
  359. }
  360. var data = res_data['data'];
  361. var total_money = data['total_money'];
  362. var qr_code = data['qr_code'];
  363. var pay_type = data['pay_type'];
  364. var order_id = data['order_id'];
  365. if(pay_type == '1') {
  366. $('.pay_type').addClass('weixin');
  367. $('.pay_type').removeClass('zhifubao');
  368. $('.qr_pay_type').text('微信扫码支付:');
  369. } else if(pay_type == '2') {
  370. $('.pay_type').addClass('zhifubao');
  371. $('.pay_type').removeClass('weixin');
  372. $('.qr_pay_type').text('支付宝扫码支付:');
  373. }else{}
  374. $('#pay_money').text(total_money);
  375. $('#qr_code_img').attr('src', qr_code);
  376. $('#close_cha').show();
  377. timer_paysuccess = setInterval(ifPaySuccess, 3000);
  378. function ifPaySuccess() {
  379. var _data = {
  380. order_id: order_id
  381. }
  382. ZZLog(base_api + 'prod/prod/check-order', JSON.stringify(_data));
  383. $.ajax({
  384. type: "post",
  385. url: base_api + 'prod/prod/check-order',
  386. data: _data,
  387. dataType: 'json',
  388. success: function(res_data) {
  389. ZZLog(res_data);
  390. if(false == res_data['flag']) {
  391. if(codeNotLogin == res_data['code']) {
  392. var URL = '/web/fx/fill_order_unbus.html';
  393. URL = encodeURI(URL);
  394. location.href = res_data['url'] + URL;
  395. // alert(infoNotLogin);
  396. } else {
  397. alert(res_data['msg']);
  398. }
  399. } else {
  400. //..
  401. var data = res_data['data'];
  402. var order_status = data['order_status'];
  403. //1:待支付 2:已支付
  404. if('2' == order_status) {
  405. closeDidClicked();
  406. setTimeout(function() {
  407. location.href = 'pay_success.html';
  408. }, 1000);
  409. }
  410. }
  411. },
  412. error: function() {
  413. alert(infoApiError);
  414. }
  415. });
  416. }
  417. }
  418. },
  419. error: function() {
  420. alert(infoApiError);
  421. closeDidClicked();
  422. }
  423. });
  424. }
  425. })
  426. })