postaddr.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
  6. <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7. <title></title>
  8. <link rel="stylesheet" type="text/css" href="../../css/api.css" />
  9. <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
  11. <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
  12. <style>
  13. body{
  14. background:#f2f2f2;
  15. }
  16. .addr-room, .addr-roomx {
  17. color: #666666;
  18. width: 100%;
  19. padding: 0.2rem 0;
  20. }
  21. .addr-room2 {
  22. font-size:16px;
  23. color:#666666;
  24. width:100%;
  25. position:relative;
  26. padding-top:10px;
  27. padding-bottom:10px;
  28. }
  29. .addr-room-realname{
  30. width:80%;overflow: hidden;height:48px;
  31. }
  32. .addr-room span, .addr-roomx span {
  33. float:right;
  34. }
  35. .addr-room img, .addr-roomx img {
  36. width: 0.4rem;
  37. vertical-align:middle;
  38. }
  39. .addr-data{
  40. width:100%;
  41. height: 1rem;
  42. line-height: 1rem;
  43. border-bottom:1px solid #e8e8e8;
  44. }
  45. .addr-data div{
  46. float:left;
  47. }
  48. .addr-data-title{
  49. width:100px;
  50. /*font-size:18px;*/
  51. color:#666666;
  52. }
  53. .addr-conf{
  54. width:100%;
  55. border-top:1px solid #e8e8e8;
  56. position:fixed;
  57. bottom:0px;
  58. float: left;
  59. height: 1rem;
  60. line-height: 1rem;
  61. text-align: center;
  62. font-size: 0.28rem;
  63. /*border-right: 1px solid #e8e8e8;*/
  64. box-sizing: border-box;
  65. }
  66. .pay-total{
  67. float: left;
  68. height: 1rem;
  69. line-height: 1rem;
  70. text-align: center;
  71. font-size: 0.28rem;
  72. box-sizing: border-box;
  73. padding-left: 0.2rem;
  74. }
  75. .pay-btn{
  76. float: right;
  77. color: #ffffff;
  78. background: #d9251c;
  79. width: 2.2rem;
  80. }
  81. .order-dtl{
  82. width:100%;
  83. }
  84. .order-dtl-title{
  85. width:100%;
  86. padding: 0.15rem 0;
  87. font-size: 0.28rem;
  88. border-bottom:1px solid #e8e8e8;
  89. }
  90. .order-dtl-title img{
  91. width: 0.31rem;
  92. height: 0.31rem;
  93. border-radius:50%;
  94. vertical-align:middle;
  95. }
  96. .order-dtl-item{
  97. width:100%;
  98. /*height:90px;*/
  99. }
  100. .order-dtl-item img{
  101. width: 1.73rem;
  102. height: 1.73rem;
  103. }
  104. .order-item{
  105. position: relative;
  106. }
  107. .order-item div{
  108. float:left;
  109. }
  110. .order-dtl-item li{
  111. float:left;
  112. width:100%;
  113. /*height:80px;*/
  114. }
  115. .order-item-list{
  116. padding-left: 0.3rem;
  117. overflow: hidden;
  118. width: 4.8rem;
  119. }
  120. .order-item-title{
  121. /*font-size:18px;*/
  122. width:100%;
  123. /*height:26px;*/
  124. overflow: hidden;
  125. }
  126. .add-num{
  127. float:right;
  128. width: 2rem;
  129. border:1px solid #e8e8e8;
  130. border-radius:5px;
  131. position:absolute;
  132. right:0px;
  133. bottom: 0;
  134. background: #FFFFFF;
  135. }
  136. .add-num li{
  137. float:left;
  138. width:33.3%;
  139. text-align:center;
  140. border-right:1px solid #e8e8e8;
  141. box-sizing:border-box;
  142. }
  143. .add-num input{
  144. text-align:center;
  145. width:100%;
  146. color:#666666;
  147. }
  148. .add-num li {
  149. height: 0.6rem;
  150. line-height: 0.6rem;
  151. }
  152. .add-addr{
  153. border-bottom: none; font-size:18px;
  154. }
  155. .order-freight{
  156. width:100%;
  157. height:40px;
  158. line-height:40px;
  159. border-top:1px solid #e8e8e8;
  160. background:#ffffff;
  161. }
  162. .nav_fixed {
  163. position: fixed;
  164. margin-top: 0.86rem;
  165. top: 0;
  166. }
  167. .m-bottom {
  168. margin: 0 0.2rem 0.2rem 0.2rem;
  169. }
  170. .weui-dialog__bd:after {
  171. bottom: 0;
  172. border-bottom: 1px solid rgba(0,0,0,.1);
  173. -webkit-transform-origin: 0 100%;
  174. transform-origin: 0 100%;
  175. -webkit-transform: scaleY(.5);
  176. transform: scaleY(.5);
  177. }
  178. </style>
  179. <script>
  180. (function(w, d, m) {
  181. function r() {
  182. var t = 100,
  183. o = 750,
  184. e = d.documentElement.clientWidth || w.innerWidth,
  185. n = m.max(m.min(e, 480), 320),
  186. h = 50;
  187. 320 >= n && (h = m.floor(n / o * t * .99)),
  188. n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
  189. n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
  190. n > 375 && (h = m.floor(n / o * t * .97)),
  191. d.querySelector("html").style.fontSize = h + "px"
  192. };
  193. r();
  194. w.onresize = function() {
  195. r()
  196. }
  197. })(window, document, Math);
  198. </script>
  199. </head>
  200. <body>
  201. <div class="topbar"></div>
  202. <header class="back-header back-header-bottom">
  203. <ul>
  204. <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
  205. <li class="back-header-title">确认订单</li>
  206. <li class="more-btn"></li>
  207. </ul>
  208. </header>
  209. <section class="white-back padding-top">
  210. <div class="addr-room">请送到我的房间<span><img class="change-room" tag="set-addr" src="../../image/checked.png" /></span></div>
  211. <div class="addr-room">快递到我的地址<span><img class="change-room" tag="select-addr" src="../../image/checkun.png" /></span></div>
  212. <div class="addr-room">处理我的客房预订<span><img class="change-room" tag="room-addr" src="../../image/checkun.png" /></span></div>
  213. </section>
  214. <div class="back-h50"></div>
  215. <section class="white-back addr-info" id="set-addr">
  216. <div class="addr-data white-back">
  217. <div class="addr-data-title">酒店</div>
  218. <div class="addr-data-input"><input id="hotel-name" type="text" placeholder="酒店名称" readonly="readonly" /></div>
  219. </div>
  220. <div class="addr-data">
  221. <div class="addr-data-title">房间号</div>
  222. <div class="addr-data-input"><input id="hotel-room" type="text" tag="1" placeholder="填写房间号" /></div>
  223. </div>
  224. <div class="addr-data">
  225. <div class="addr-data-title">收货人</div>
  226. <div class="addr-data-input"><input id="address_realname" type="text" placeholder="填写收货人" /></div>
  227. </div>
  228. <div class="addr-data" style="border-bottom:none;">
  229. <div class="addr-data-title">手机号</div>
  230. <div class="addr-data-input"><input id="address_mob_phone" maxlength="11" type="tel" placeholder="填写收货人手机号" /></div>
  231. </div>
  232. </section>
  233. <section class="white-back addr-info mask-hidden" id="room-addr">
  234. <div class="addr-data white-back">
  235. <div class="addr-data-title">预订酒店</div>
  236. <div class="addr-data-input"><input id="hotel-namex" class="hotel-name" type="text" placeholder="酒店名称" readonly="readonly" /></div>
  237. </div>
  238. <div class="addr-data">
  239. <div class="addr-data-title">入住人</div>
  240. <div class="addr-data-input"><input id="address_realnamex" class="address_realname" type="text" placeholder="填写入住人" /></div>
  241. </div>
  242. <div class="addr-data">
  243. <div class="addr-data-title">手机号</div>
  244. <div class="addr-data-input"><input id="address_mob_phonex" class="address_mob_phone" maxlength="11" type="tel" placeholder="填写手机号" /></div>
  245. </div>
  246. <div class="addr-data" style="border-bottom:none;">
  247. <div class="addr-data-title">备注</div>
  248. <div class="addr-data-input"><input id="hotel-roomx" class="hotel-room" type="text" tag="1" placeholder="" /></div>
  249. </div>
  250. </section>
  251. <section class="white-back addr-info mask-hidden" id="select-addr">
  252. <div class="my-order add-addr"> 选择地址<span class="right-tag iconfont">&#xe62e;</span></div>
  253. </section>
  254. <div id="select-addr-info">
  255. </div>
  256. <div class="back-h50"></div>
  257. <section class="white-back">
  258. <div class="addr-roomx mask-hidden" data-role="page" id="buy_notice" isnotice="false">我已阅读并同意<a href="javascript:notice_btn();">《预订须知》</a><span><img class="change-room" data-role="page" id="xuzhi_btn" tag="notice-addr" src="../../image/checkun.png" /></span></div>
  259. <div class="order-dtl">
  260. <div class="order-dtl-title"><img id="store-logo" src="../../image/hotel01.jpg" /> <span id="store-name"></span></div>
  261. </div>
  262. </section>
  263. <div class="h50"></div>
  264. <div class="h20" style="padding-bottom: 1rem;"></div>
  265. <div class="addr-conf white-back">
  266. <div class="pay-total">应付 ¥<span class="count-price"></span></div>
  267. <div class="pay-btn">付 款</div>
  268. </div>
  269. <input type="hidden" id="address_id" value="" />
  270. <input type="hidden" id="city-id" value="" />
  271. <input type="hidden" id="county-id" value="" />
  272. <input type="hidden" id="area-info" value="" />
  273. <div class="js_dialog" id="iosDialog2" style="display: none;">
  274. <div class="weui-mask"></div>
  275. <div class="weui-dialog">
  276. <div class="weui-dialog__hd" style="padding: 10px 27px;"><strong class="weui-dialog__title">预订须知</strong><span class="iconfont icon-guanbi weui-dialog__btnx" style="float: right;"></span></div>
  277. <div class="weui-dialog__bd" style="text-align: left;max-height: 7rem;overflow-y: auto;"></div>
  278. <div class="weui-dialog__ft mask-hidden">
  279. <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">知道了</a>
  280. </div>
  281. </div>
  282. </div>
  283. </body>
  284. <script type="text/javascript" src="../../script/api.js"></script>
  285. <script type="text/javascript" src="../../script/jquery.min.js"></script>
  286. <script type="text/javascript" src="../../script/jquery.tap.js"></script>
  287. <script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
  288. <script type="text/javascript">
  289. var _gorderid = '';
  290. var _store_id = '';
  291. var _isfree = 1; //免邮费
  292. var _totalFreight = 0.00;
  293. var _address_id = '';
  294. apiready = function() {
  295. _gorderid = api.pageParam.gorderid;
  296. _store_id = api.pageParam.storeid;
  297. _address_id = api.pageParam.address_id;
  298. setFixStatusBar();
  299. getRouteData();
  300. getUserData();
  301. };
  302. function getRouteData() {
  303. $.ajax({
  304. url: siteurl + 'v2/order/og',
  305. data: {
  306. order_id: _gorderid,
  307. store_id: _store_id
  308. },
  309. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  310. dataType: 'json',
  311. type: 'post',
  312. success: function(datas) {
  313. if (datas.result) {
  314. var _html = '';
  315. // getStoreData(_store_id);
  316. // $("#city-id").val(datas.city_id),
  317. $("#county-id").val(datas.data.store.region_id),
  318. $("#area-info").val(datas.data.store.area_info),
  319. $("#hotel-name").val(datas.data.store.store_name);
  320. $("#hotel-namex").val(datas.data.store.store_name);
  321. $("#store-name").html(datas.data.store.store_name);
  322. $("#store-logo").attr('src', siteurl + 'uploads/home/store/' + datas.data.store.store_id + '/' + datas.data.store.store_avatar);
  323. if (datas.data.store.buy_notice) {
  324. $("#buy_notice").attr("isnotice", "true");
  325. $(".weui-dialog__bd").html(datas.data.store.buy_notice);
  326. }
  327. $.each(datas.data.og_list, function(index, item) {
  328. var _storeid_url = '1';
  329. if (item.public_type == 'self') {
  330. _storeid_url = item.store_id;
  331. } else {
  332. _storeid_url = item.public_store_id;
  333. }
  334. var arr = item.goods_name.split(" ");
  335. var name_arr = arr[0];
  336. var size_arr = item.goods_name.replace(name_arr, "");
  337. _html += '<div class="order-dtl-item" recid="' + item.rec_id + '"><ul><li class="order-item"><div><div class="h10"></div><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '"></div><div>';
  338. _html += '<div class="order-item-list"><div class="h5"></div>';
  339. _html += '<div class="order-item-title">' + name_arr + '</div><div style="font-size: 0.22rem;color: #999">' + size_arr + '</div><div class="h2"></div>';
  340. _html += '<div class="order-item-title">¥ <span class="total-price" souc_price="' + item.goods_price + '">' + item.goods_price + ' x '+item.goods_num+'</span></div></div>';
  341. _html += '<div class="add-num mask-hidden"><ul><li class="num-down">-</li><li><input class="buy-num" id="buy-num" type="tel" value="' + item.goods_num + '"/></li>';
  342. _html += '<li style="border-right:none;" class="num-up">+</li></ul></div></div>';
  343. _html += '</li></ul></div><div class="h10"></div>';
  344. _html += '<div class="order-freight mask-hidden" goodsid="' + item.goods_id + '">运费 <span class="freight">0.00</span></div>';
  345. });
  346. $(".order-dtl").append(_html);
  347. function_name();
  348. if (datas.data.is_traffic == 0) {
  349. $("#set-addr").before('<div class="weui-cells__title is_traffic" style="color: #ffffff;margin: 0 auto;background-color: #d9251c;">酒店现在是休息时间,可能无法及时为您配送</div>');
  350. }
  351. countPrice();
  352. } else {
  353. errcode(datas, datas.code);
  354. }
  355. }
  356. });
  357. }
  358. function getUserData() {
  359. var _memberid = $api.getStorage("memberid");
  360. $.ajax({
  361. url: siteurl + 'v2/member/info',//'?do=getuserinfo',
  362. data: {
  363. memberid: _memberid
  364. },
  365. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  366. dataType: 'json',
  367. type: 'post',
  368. success: function(datas) {
  369. if (datas.result) {
  370. $("#address_realname").val(datas.data.member_truename);
  371. $("#address_realnamex").val(datas.data.member_truename);
  372. $("#address_mob_phone").val(datas.data.member_mobile);
  373. $("#address_mob_phonex").val(datas.data.member_mobile);
  374. } else {
  375. errcode(datas, datas.code);
  376. }
  377. }
  378. });
  379. }
  380. /// del
  381. function getStoreData(store_id) {
  382. if (store_id != "") {
  383. $.ajax({
  384. url: rooturl + '?do=getstore',
  385. data: {
  386. storeid: store_id
  387. },
  388. dataType: 'json',
  389. type: 'post',
  390. success: function(datas) {
  391. $("#city-id").val(datas.city_id),
  392. $("#county-id").val(datas.region_id),
  393. $("#area-info").val(datas.area_info),
  394. $("#hotel-name").val(datas.store_name);
  395. $("#store-name").html(datas.store_name);
  396. $("#store-logo").attr('src', siteurl + 'uploads/home/store/' + datas.store_id + '/' + datas.store_avatar);
  397. }
  398. });
  399. }
  400. }
  401. $(".add-addr,#select-addr-info").on("tap", function() {
  402. api.openWin({
  403. name: 'selectaddress',
  404. url: './selectaddress.html',
  405. bounces: false,
  406. pageParam: {
  407. isselect: true
  408. }
  409. });
  410. return false;
  411. });
  412. function getAddress(address_realname, address_mob_phone, area_info, address_id, address_detail) {
  413. var _html = '';
  414. _address_id = address_id;
  415. $("#select-addr-info").empty();
  416. _html += '<section class="white-back"><div class="addr-room2"><div class="addr-room-realname">' + address_realname + '';
  417. _html += '&nbsp;&nbsp;' + address_mob_phone + '';
  418. _html += ' <p>' + area_info +'&nbsp;&nbsp;'+ address_detail + '</p></div>';
  419. _html += '</section>';
  420. $("#select-addr-info").append(_html);
  421. $("#address_id").val(address_id);
  422. $("#select-addr").addClass("mask-hidden");
  423. setfreight();
  424. }
  425. function mobile_check() {
  426. var reg_phone = /^1[3456789]\d{9}$/;
  427. var phone = $("#address_mob_phone").val();
  428. if (!reg_phone.test(phone)) {
  429. $("#address_mob_phone").parent().parent().addClass("error-k");
  430. return false;
  431. } else {
  432. $("#address_mob_phone").parent().parent().removeClass("error-k");
  433. }
  434. }
  435. $(".order-dtl").on("tap", ".num-up", function() {
  436. var _addnum = $(this).parents(".add-num");
  437. var _num = parseInt(_addnum.find("#buy-num").val()) + 1;
  438. _addnum.find("#buy-num").val(_num);
  439. var _orderitem = $(this).parents(".order-dtl-item");
  440. var _total_price = _orderitem.find(".total-price").text();
  441. var _souc_price = _orderitem.find(".total-price").attr("souc_price");
  442. var _ntotal_price = parseFloat(_souc_price) * _num;
  443. //_orderitem.find(".total-price").text(_ntotal_price.toFixed(2));
  444. var _recid = _orderitem.attr("recid");
  445. console.log(_num);
  446. changenum(_recid, _num);
  447. // setfreight();
  448. return false;
  449. })
  450. $(".order-dtl").on("tap", ".num-down", function() {
  451. var _addnum = $(this).parents(".add-num");
  452. var _num = 1;
  453. if (parseInt(_addnum.find("#buy-num").val()) > 1) {
  454. _num = parseInt(_addnum.find("#buy-num").val()) - 1;
  455. _addnum.find("#buy-num").val(_num);
  456. }
  457. var _orderitem = $(this).parents(".order-dtl-item");
  458. var _total_price = _orderitem.find(".total-price").text();
  459. var _souc_price = _orderitem.find(".total-price").attr("souc_price");
  460. var _ntotal_price = parseFloat(_souc_price) * _num;
  461. //_orderitem.find(".total-price").text(_ntotal_price.toFixed(2));
  462. var _recid = _orderitem.attr("recid");
  463. console.log(_num);
  464. changenum(_recid, _num);
  465. // setfreight();
  466. return false;
  467. })
  468. ///
  469. function changenum(recid, num) {
  470. $.ajax({
  471. url: rooturl + '?do=changenum',
  472. data: {
  473. recid: recid,
  474. num: num,
  475. },
  476. dataType: 'json',
  477. type: 'post',
  478. success: function(datas) {
  479. if (datas.result) {
  480. _totalFreight = getfreight();
  481. $(".order-freight:last-child .freight").html((_totalFreight * 1).toFixed(2));
  482. if (_isfree) {
  483. $(".order-freight:last-child").addClass("mask-hidden");
  484. } else {
  485. $(".order-freight:last-child").removeClass("mask-hidden");
  486. }
  487. countPrice();
  488. }
  489. }
  490. });
  491. }
  492. ////
  493. function getfreight() {
  494. var _freight = 0.00;
  495. // _address_id = $("#address_id").val();
  496. if ( typeof(_address_id) == 'undefined' || _address_id == '' || _address_id < 1 ) {
  497. return false;
  498. }
  499. // $("#hotel-roomx").val(_address_id + 'xx');
  500. $.ajax({
  501. url: siteurl + 'v2/entry/orderFreight',//'?do=calculatefreight',
  502. data: {
  503. order_id: _gorderid,
  504. address_id: _address_id,
  505. },
  506. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  507. dataType: 'json',
  508. type: 'post',
  509. async: false,
  510. success: function(datas) {
  511. if ( datas.result ) {
  512. _freight = datas.data.shipping_fee;
  513. } else {
  514. errcode(datas, datas.code);
  515. }
  516. }
  517. });
  518. return _freight;
  519. }
  520. function setfreight() {
  521. _totalFreight = getfreight();
  522. console.log(_totalFreight);
  523. $(".order-freight:last-child .freight").html((_totalFreight * 1).toFixed(2));
  524. if (_isfree) {
  525. $(".order-freight:last-child").addClass("mask-hidden");
  526. } else {
  527. $(".order-freight:last-child").removeClass("mask-hidden");
  528. }
  529. countPrice();
  530. }
  531. ///
  532. function countPrice() {
  533. var _count_price = 0.00;
  534. $(".total-price").each(function(index, item) {
  535. //_count_price=_count_price+parseFloat($(this).text());
  536. var _pcs = $(".order-dtl-item").find("input").eq(index).val();
  537. console.log(_pcs);
  538. var _total = parseFloat($(this).text()) * _pcs;
  539. _count_price += _total;
  540. })
  541. if (_isfree) {
  542. _count_price = _count_price;
  543. } else {
  544. _count_price = (_count_price * 1) + (_totalFreight * 1);
  545. }
  546. $(".count-price").text((_count_price * 1).toFixed(2));
  547. }
  548. ////
  549. $("#xuzhi_btn").on("touchstart", function() {
  550. console.log($(this).attr("src"))
  551. // $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
  552. if ( $(this).attr("src") == '../../image/checked.png' ) {
  553. $(this).attr("src", "../../image/checkun.png");
  554. } else {
  555. $(this).attr("src", "../../image/checked.png");
  556. }
  557. });
  558. function notice_btn() {
  559. // body...
  560. $("#iosDialog2").fadeIn('200');
  561. }
  562. $("#iosDialog2 .weui-dialog__btnx").on("tap", function() {
  563. $("#iosDialog2").fadeOut('200');
  564. });
  565. $(".addr-room").on("tap", function() {
  566. var isnotice = $("#buy_notice").attr("isnotice");
  567. $(".change-room").attr("src", "../../image/checkun.png");
  568. $(this).find("img").attr("src", "../../image/checked.png");
  569. $(".addr-info").addClass("mask-hidden");
  570. $("#buy_notice").addClass("mask-hidden");
  571. if ($(this).find("img").attr("tag") == "select-addr") {
  572. $("#select-addr-info").removeClass("mask-hidden");
  573. // $(".order-freight").removeClass("mask-hidden");
  574. if ($("#select-addr-info").html().length < 10) {
  575. $("#select-addr:last").removeClass("mask-hidden");
  576. }
  577. $(".is_traffic").fadeOut();
  578. _isfree = 0;
  579. setfreight();
  580. } else {
  581. $("#" + $(this).find("img").attr("tag")).removeClass("mask-hidden");
  582. $("#select-addr-info").addClass("mask-hidden");
  583. $("#select-addr").addClass("mask-hidden");
  584. $(".order-freight").addClass("mask-hidden");
  585. _isfree = 1;
  586. // toast_weui($("#store-name").html()); buy_notice
  587. if ( $(this).find("img").attr("tag") == 'set-addr' ) {
  588. $(".is_traffic").fadeIn();
  589. } else {
  590. if ( isnotice ) {
  591. $("#buy_notice").removeClass("mask-hidden");
  592. }
  593. $(".is_traffic").fadeOut();
  594. _isfree = 2;
  595. }
  596. setfreight();
  597. }
  598. return false;
  599. });
  600. $('#set-addr').on("tap", "#hotel-room", function(){
  601. var tag = $(this).attr("tag");
  602. console.log(tag)
  603. if (tag == '1') {
  604. $(this).attr("tag", '0');
  605. toast_weui($("#store-name").html());
  606. }
  607. });
  608. ///
  609. $(".pay-btn").on("tap", function() {
  610. // var _address_id = '';
  611. if (_isfree == 1) {
  612. if ($("#hotel-room").val() == '') {
  613. api.toast({ msg: '请填写房间号码' });
  614. return false;
  615. }
  616. var phone = $("#address_mob_phone").val();
  617. if ( $("#address_realname").val() == "") {
  618. api.toast({ msg: '请填写完整收货人信息!' });
  619. return false;
  620. }
  621. var reg_phone = /^1[3456789]\d{9}$/;
  622. if (!reg_phone.test(phone)) {
  623. api.toast({ msg: '请填写正确的手机号码!' });
  624. return false;
  625. }
  626. $.ajax({
  627. url: siteurl + 'v2/address/add',//'?do=saveaddress',
  628. data: {
  629. memberid: $api.getStorage("memberid"),
  630. city_id: $("#city-id").val(),
  631. area_id: $("#county-id").val(),
  632. area_info: $("#area-info").val(),
  633. address_detail: $("#hotel-name").val() + $("#hotel-room").val(),
  634. address_mob_phone: phone,
  635. address_realname: $("#address_realname").val(),
  636. is_free: 1
  637. },
  638. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  639. dataType: 'json',
  640. type: 'post',
  641. async: false,
  642. success: function(datas) {
  643. if (datas.result) {
  644. _address_id = datas.data.address_id;
  645. suborder(_address_id);
  646. } else {
  647. errcode(datas, datas.code);
  648. }
  649. }
  650. });
  651. } else if (_isfree == 2) {
  652. if ( $("#xuzhi_btn").attr("src") == '../../image/checked.png' ) {
  653. //
  654. } else {
  655. api.toast({ msg: '请阅读并同意须知' });
  656. return false;
  657. }
  658. var phone = $("#address_mob_phonex").val();
  659. if ( $("#address_realnamex").val() == "" ) {
  660. api.toast({ msg: '请填写入住信息!' });
  661. return false;
  662. }
  663. var reg_phone = /^1[3456789]\d{9}$/;
  664. if (!reg_phone.test(phone)) {
  665. api.toast({ msg: '请填写正确的手机号码!' });
  666. return false;
  667. }
  668. $.ajax({
  669. url: siteurl + 'v2/address/add',//'?do=saveaddress',
  670. data: {
  671. memberid: $api.getStorage("memberid"),
  672. city_id: $("#city-id").val(),
  673. area_id: $("#county-id").val(),
  674. area_info: $("#area-info").val(),
  675. address_detail: $("#hotel-namex").val(),// + $("#hotel-roomx").val(),
  676. address_mob_phone: phone,
  677. address_realname: $("#address_realnamex").val(),
  678. is_free: 1,
  679. },
  680. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  681. dataType: 'json',
  682. type: 'post',
  683. async: false,
  684. success: function(datas) {
  685. if (datas.result) {
  686. _address_id = datas.data.address_id;
  687. suborder(_address_id);
  688. } else {
  689. errcode(datas, datas.code);
  690. }
  691. }
  692. });
  693. } else {
  694. _address_id = $("#address_id").val();
  695. if(_address_id * 1 <= 0){
  696. api.toast({ msg: '请选择收货地址!' });
  697. return false;
  698. }
  699. suborder(_address_id);
  700. }
  701. if (_address_id == "") {
  702. api.toast({ msg: '请选择收货人信息!' });
  703. return false;
  704. }
  705. return false;
  706. });
  707. function suborder(address_id) {
  708. $.ajax({
  709. url: siteurl + 'v2/order/create',
  710. data: {
  711. gorderid: _gorderid,
  712. address_id: _address_id,
  713. buyer_id: $api.getStorage("memberid"),
  714. store_id: _store_id,
  715. count_price: $(".count-price").text(),
  716. shipping_fee: _totalFreight,
  717. shipping_type: _isfree,
  718. remark: $("#hotel-roomx").val()
  719. },
  720. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  721. dataType: 'json',
  722. type: 'post',
  723. success: function(datas) {
  724. if (datas.result) {
  725. api.openWin({
  726. name: 'paymode',
  727. url: 'paymode.html',
  728. bounces: false,
  729. pageParam: {
  730. keyid: datas.data.order_id
  731. }
  732. });
  733. api.addEventListener({
  734. name: 'viewdisappear'
  735. }, function() {
  736. api.closeWin({ name: api.winName });
  737. });
  738. api.closeWin();
  739. } else {
  740. errcode(datas, datas.code);
  741. }
  742. }
  743. });
  744. }
  745. </script>
  746. </html>