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

286 строки
10 KiB

  1. var total_price = 0;
  2. var total_no = 1;
  3. var prod_Arr = [];
  4. var category_id = getStorage("category_id");
  5. var pro_cate_id = getStorage("pro_cate_id");
  6. var is_dsn = "";
  7. var pro_cate_name = "";
  8. var run_date = after(getDateTime(0));
  9. //狮子王不能选日期
  10. var this_year = getMonthAndDayByDate(getDateTime(0), 'year');
  11. var lion_date = "";
  12. var show_price_date_list = {};
  13. var show_calendar_type = ''; //"date_type": , 0 普通,1平日票,2 周末票
  14. $(document).ready(function () {
  15. ifLogin(function (flag) {
  16. $('body').show();
  17. httpLoadInfo();
  18. });
  19. });
  20. function httpLoadInfo() {
  21. var year = getMonthAndDayByDate(run_date, 'year');
  22. var month = getMonthAndDayByDate(run_date, 'month');
  23. var day = getMonthAndDayByDate(run_date, 'day');
  24. //get_data();
  25. $("#run_date").text(month + "月" + day + "日");
  26. $("#sel_date").text(month + "月" + day + "日");
  27. get_data();
  28. $(".model").on("click", function (e) {
  29. $(".model_box").animate({
  30. height: "hide"
  31. }, 400, function () {
  32. $(".model").hide();
  33. $("#body_mod").removeClass("mod_fil");
  34. });
  35. });
  36. $(".model_box").on("click", function (e) {
  37. e.stopPropagation();
  38. });
  39. }
  40. function get_data() {
  41. $.ajax({
  42. // url: base_api + "prod/prod/get-prod-detail", //请求地址
  43. url: base_api + "prod/entrance-ticket/initialize", //请求地址
  44. data: {prod_cate_id: pro_cate_id, category_id: category_id},
  45. type: "post",
  46. dataType: "json",
  47. async: false,
  48. success: function (res_data) {
  49. ZZLog(res_data);
  50. var data = res_data['data'];
  51. if (res_data.flag) {
  52. show_calendar_type = data.date_type;
  53. is_dsn = data.is_dsn;
  54. var choose_date = data.date;
  55. run_date = choose_date;
  56. show_price_date_list = data.date_list;
  57. var cstr = getMonthAndDayByDate(choose_date, 'month') + '月' + getMonthAndDayByDate(choose_date, 'day') + "日";
  58. $('#run_date').text(cstr);
  59. $('#sel_date').text(cstr);
  60. list_html(data);
  61. $("#bg_img").css("background-image", "url(" + data.show_img + ")");
  62. $(".top_title").html(data.pro_cate_name);
  63. pro_cate_name = data.pro_cate_name;
  64. } else {
  65. if (codeNotLogin == res_data['code']) {
  66. alert(infoNotLogin);
  67. var URL = '/web/fx/scene_ticket.html';
  68. URL = encodeURI(URL);
  69. location.href = res_data['url'] + URL;
  70. } else if (codeNotRegister == res_data['code']) {
  71. location.href = 'register.html';
  72. } else {
  73. alert(res_data['msg']);
  74. }
  75. }
  76. },
  77. error: function (error) {
  78. alert(infoApiError);
  79. }
  80. });
  81. }
  82. //得到与当前日期相差几天的日期 + -
  83. function getDatebyDayCount(addDayCount, curDate) {
  84. var d = new Date(curDate);
  85. d.setDate(d.getDate() + addDayCount); //获取AddDayCount天后的日期
  86. //格式化
  87. var year = ";" + d.getFullYear() + ";";
  88. var month = ";" + (d.getMonth() + 0 + 1) + ";";
  89. var day = ";" + d.getDate() + ";";
  90. if (year.length < 4) {
  91. year = "0" + year;
  92. }
  93. if (month.length < 4) {
  94. month = "0" + month;
  95. }
  96. if (day.length < 4) {
  97. day = "0" + day;
  98. }
  99. var datestr = year + "-" + month + "-" + day;
  100. datestr = datestr.replace(/;/g, "");
  101. return datestr;
  102. }
  103. function list_html(data) {
  104. var temp = "";
  105. for (var i = 0, j = data.prod_arr.length; i < j; i++) {
  106. 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>';
  107. var img = 'images/jianhao.png';
  108. if (i == 0) {
  109. img = 'images/jianhao_sel.png';
  110. 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>'
  111. }
  112. temp += '<div class="ub ub-ver disney_div">' +
  113. '<div style="padding-bottom: 0.12rem;">' + data.prod_arr[i].prod_name + '</div>' +
  114. '<div class="ub">' +
  115. '<div class="ub-f1 ub">' +
  116. '<img class="cut" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="' + img + '"/>' +
  117. // '<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>' +
  118. str +
  119. '<img class="add" style="width: 0.22rem;height: 0.22rem;vertical-align: middle;" src="images/jiahao_sel.png"/>' +
  120. '</div>' +
  121. '<div class="ub-f1 ub tx-r">' +
  122. '<div class="ub-f1 ub ub-pe ub-ae font_price" >¥</div>' +
  123. '<div class="ulev3 ub ub-ae font_price" style="line-height: 1;">' + data.prod_arr[i].prod_price + '<span style="font-size:0.12rem">/张</span></div>' +
  124. '</div>' +
  125. '</div>' +
  126. '</div>'
  127. }
  128. $("#tick_type").html(temp);
  129. //订票须知
  130. if (data.booking_notice) {
  131. var booking_notice_arr = data.booking_notice.split('<br/>');
  132. var bnHTML = '';
  133. for (var i = 0, m = booking_notice_arr.length; i < m; i++) {
  134. // bnHTML += `<div class="font_gray">${booking_notice_arr[i]}</div>`;
  135. bnHTML += '<div class="font_gray">' + booking_notice_arr[i] + '</div>';
  136. }
  137. $(".booking_notice").html(bnHTML);
  138. }
  139. //加
  140. $(".add").on("touchstart", function () {
  141. if (is_dsn == "1") {
  142. // var tot_no = 1;
  143. $(".aticket").each(function (index, domE) {
  144. total_no += parseInt($(this).text());
  145. });
  146. if (total_no == 5) {
  147. alert("迪士尼最多只能买五张票");
  148. } else {
  149. var current = $(this).parent().find(".aticket").text();
  150. var now_count = parseInt(current) + 1;
  151. $(this).parent().find(".aticket").text(now_count);
  152. $(this).parent().find(".cut").attr("src", "images/jianhao_sel.png");
  153. // countTotal();
  154. }
  155. } else {
  156. var current = $(this).parent().find(".aticket").text();
  157. var now_count = parseInt(current) + 1;
  158. $(this).parent().find(".aticket").text(now_count);
  159. $(this).parent().find(".cut").attr("src", "images/jianhao_sel.png");
  160. // countTotal();
  161. }
  162. });
  163. //减
  164. $(".cut").on("touchstart", function () {
  165. var current = $(this).parent().find(".aticket").text();
  166. var now_count = parseInt(current) - 1;
  167. if (now_count > 0) {
  168. $(this).parent().find(".aticket").text(now_count);
  169. } else {
  170. $(this).parent().find(".aticket").text('0');
  171. $(this).attr("src", "images/jianhao.png");
  172. }
  173. // countTotal();
  174. })
  175. }
  176. //总价
  177. function countTotal() {
  178. total_price = 0;
  179. prod_Arr = [];
  180. prod_info = "";
  181. total_no = 0;
  182. var tick_no = ''
  183. $(".aticket").each(function (index, domE) {
  184. tick_no = parseInt($(this).text());
  185. var tick_price = parseFloat($(this).attr("one_price"));
  186. total_price = (total_price * 100 + tick_no * tick_price * 100) / 100;
  187. total_no += tick_no;
  188. prod_info = {
  189. "prod_id": $(this).attr("prod_id"),
  190. "prod_count": $(this).text(),
  191. "prod_name": $(this).attr("prod_name")
  192. }
  193. prod_Arr.push(prod_info);
  194. });
  195. }
  196. $("#date_select").on("click", function () {
  197. $('.model_box').removeClass('fadeInUp animated');
  198. $('.model_box').removeClass('fadeInDown animated');
  199. var caType = window.calendar.init.showTypeEnum.show_price_day;
  200. window.calendar.init({
  201. startDate: getDateTime(0),
  202. chooseDate: run_date,
  203. showType: caType,
  204. showPriceDays: show_price_date_list
  205. }, function (year, month, day, ymdString) {
  206. $('.model_box').addClass('fadeInDown animated');
  207. setTimeout(function () {
  208. $('.model').hide();
  209. $('#body_mod').removeClass('mod_fil');
  210. }, 400);
  211. run_date = ymdString;
  212. $("#run_date").text(month + "月" + day + "日");
  213. $("#sel_date").text(month + "月" + day + "日");
  214. $.ajax({
  215. type: "post",
  216. url: base_api + "prod/entrance-ticket/get-prod-arr",
  217. data: {prod_cate_id: pro_cate_id, date: ymdString},
  218. dataType: "json",
  219. success: function (res_data) {
  220. ZZLog(res_data);
  221. if (false == res_data['flag']) {
  222. if (codeNotLogin == res_data['code']) {
  223. alert(infoNotLogin);
  224. var URL = '/web/fx/scene_ticket.html';
  225. URL = encodeURI(URL);
  226. location.href = res_data['url'] + URL;
  227. } else if (codeNotRegister == res_data['code']) {
  228. location.href = 'register.html';
  229. } else {
  230. alert(res_data['msg']);
  231. }
  232. } else {
  233. list_html(res_data['data']);
  234. }
  235. }, error: function () {
  236. alert(infoApiError);
  237. }
  238. });
  239. });
  240. $(".model").show();
  241. $('.model_box').show();
  242. $("#body_mod").addClass("mod_fil");
  243. $('.model_box').addClass('fadeInUp animated');
  244. // $(".model_box").animate({
  245. // height: "show"
  246. // }, 400);
  247. });
  248. function reserve() {
  249. countTotal();
  250. if (total_no == "0") {
  251. alert("请选择票种数量");
  252. } else {
  253. var fill_order_unbus_20170306 = {
  254. "pro_cate_id": pro_cate_id,
  255. "pro_cate_name": pro_cate_name,
  256. "start_date": run_date,
  257. "prod_arr": prod_Arr,
  258. "total_money": total_price
  259. }
  260. setStorJson("fill_order_unbus_20170306", fill_order_unbus_20170306);
  261. console.log(fill_order_unbus_20170306);
  262. window.location.href = "fill_order_unbus.html?" + version;
  263. }
  264. }