hoteldtl.html 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268
  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/swiper.min.css" />
  10. <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
  11. <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
  12. <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
  13. <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
  14. <style>
  15. .feed-item{
  16. width: 99%;
  17. border-bottom:1px solid #e8e8e8;
  18. position:relative;
  19. padding-top: 0.2rem;
  20. }
  21. .feed-item ul{
  22. width:100%;
  23. clear: both;
  24. }
  25. .fl {
  26. float:left;
  27. }
  28. .feed-item-right{
  29. padding-left: 0.2rem;
  30. }
  31. .feed-item-titel{
  32. font-size: 0.24rem;
  33. color: #999;
  34. padding: 0.2rem 0;
  35. }
  36. .user-head{
  37. width: 0.7rem;
  38. height: 0.7rem;
  39. border-radius:50%;
  40. }
  41. .feed-img{
  42. float: left;
  43. width: 1.2rem;
  44. height: 1.2rem;
  45. padding-right: 0.3rem;
  46. }
  47. .my-rating{
  48. position:absolute;
  49. right: 0;
  50. top: 0.2rem;
  51. }
  52. .my-rating .jq-star {
  53. width: 0.3rem !important;
  54. height: 0.3rem !important;
  55. }
  56. .hotel-top{
  57. width:100%;
  58. height: 4.03rem;
  59. background: url('../../image/881649.jpg') ;
  60. background-repeat:no-repeat;
  61. background-size:100% 100%;
  62. }
  63. .hotel-top-line{
  64. width:100%
  65. }
  66. .hotel-top-line li{
  67. float:left;
  68. }
  69. .weui-tab.tabh {
  70. height: 2.7rem;
  71. }
  72. .hotel-title{
  73. font-size: 0.38rem;
  74. height: 1rem;
  75. line-height: 1rem;
  76. font-weight: 500;
  77. color: #000;
  78. }
  79. .hotel-title span{
  80. float:right;
  81. font-size: 0.2rem;
  82. }
  83. .hotel-title span img {
  84. width: 0.38rem;
  85. }
  86. .hotel-goods{
  87. width:100%;
  88. height: 1rem;
  89. border-bottom:1px solid #e8e8e8;
  90. position:relative;
  91. }
  92. .hotel-goods li{
  93. width:25%;
  94. float:left;
  95. height: 1rem;
  96. line-height: 1rem;
  97. text-align:center;
  98. }
  99. #store_description{
  100. width: 100%;
  101. overflow: hidden;
  102. display: -webkit-box;
  103. -webkit-line-clamp: 2;
  104. -webkit-box-orient: vertical;
  105. word-break: break-all;
  106. font-size: 0.26rem;
  107. color: #606266;
  108. }
  109. #store_descriptionx img {
  110. width: 100%;
  111. }
  112. .hotel-goods-active{
  113. color: #d9251c;
  114. }
  115. .goods-tag span{
  116. margin-right: 0.17rem;
  117. padding: 0.01rem 0.1rem;
  118. margin-top: 0.2rem;
  119. }
  120. .goods-title {
  121. height: auto;
  122. overflow : hidden;
  123. text-overflow: ellipsis;
  124. display: -webkit-box;
  125. -webkit-line-clamp: 2;
  126. -webkit-box-orient: vertical;
  127. }
  128. .goods-price, .goods-tag, .goods-title {
  129. margin-top: 0.2rem;
  130. }
  131. .category-item{
  132. width:100%;
  133. min-height: 0rem;
  134. height:auto;
  135. background:#ffffff;
  136. position:absolute;
  137. top: 1.01rem;
  138. z-index:999;
  139. border-bottom:1px solid #e8e8e8;
  140. padding: 0.1em;
  141. box-sizing:border-box;
  142. }
  143. .category-list{
  144. padding:3px;
  145. width:25%;
  146. float:left;
  147. box-sizing:border-box;
  148. }
  149. .sort-img,.sort-img2{
  150. width:18px;
  151. vertical-align:middle;
  152. }
  153. .category-list-span{
  154. border:1px solid #e8e8e8;
  155. width:90%;
  156. border-radius:3px;
  157. text-align:center;
  158. padding-top:6px;
  159. padding-bottom:6px;
  160. padding-left:3px;
  161. padding-right:3px;
  162. }
  163. .cate-active{
  164. color:#D9251C;
  165. border:1px solid #D9251C;
  166. }
  167. .share-item{
  168. position:fixed;
  169. left:0px;right:0px;
  170. bottom:0px;
  171. height: 3.9rem;
  172. background:#f2f2f2;
  173. border-top:1px solid #E8E8E8;
  174. z-index:9999;
  175. }
  176. .share-item-tips{
  177. height: 0.28rem;
  178. line-height: 0.28rem;
  179. width:100%;
  180. text-align:center;
  181. font-size: 0.28rem;
  182. padding: 0.38rem 0;
  183. }
  184. .share-item-cent{
  185. height: 1.8rem;
  186. width: 100%;
  187. }
  188. .share-item-cent li{
  189. width:33.3%;
  190. text-align:center;
  191. float:left;
  192. font-size: 0.28rem;
  193. }
  194. .share-item-cent img{
  195. width: 0.9rem;
  196. }
  197. .share-item-cancel{
  198. height: 0.98rem;
  199. line-height: 0.98rem;
  200. width:100%;
  201. text-align:center;
  202. background:#ffffff;
  203. font-size: 0.28rem;
  204. }
  205. .business-time{
  206. width:100%;
  207. padding: 0 0.32rem;
  208. box-sizing:border-box;
  209. }
  210. .padl {
  211. padding-left: 0.13rem;
  212. }
  213. .tag-item{
  214. float: left;
  215. line-height: normal;
  216. font:inherit;
  217. padding:0.01rem 0.1rem;
  218. background: #ffffff;
  219. color: #d9251c;
  220. font-size:0.24rem;
  221. font-weight: normal;
  222. text-align: center;
  223. position: relative;
  224. }
  225. .tag-item:after {
  226. content: ' ';
  227. position: absolute;
  228. pointer-events: none;
  229. box-sizing: border-box;
  230. -webkit-border-radius: 0.1rem;
  231. -moz-border-radius: 0.1rem;
  232. border-radius: 0.1rem;
  233. top: -50%;
  234. left: -50%;
  235. right: -50%;
  236. bottom: -55%;
  237. -webkit-transform: scale(0.5);
  238. transform: scale(0.5);
  239. border: 1px solid #d9251c;
  240. }
  241. .iconfont {
  242. color: #ffffff;
  243. }
  244. .weui-mask {
  245. position: fixed;
  246. z-index: 1000;
  247. top: 0;
  248. right: 0;
  249. left: 0;
  250. bottom: 0;
  251. background: rgba(0, 0, 0, .6);
  252. }
  253. .weui-mask_transparent{
  254. position: fixed;
  255. z-index: 1000;
  256. top: 0;
  257. right: 0;
  258. left: 0;
  259. bottom: 0;
  260. }
  261. .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  262. bottom: 0;
  263. }
  264. .swiper-pagination-bullet {
  265. background: #fff;
  266. opacity: .8;
  267. }
  268. .swiper-pagination-bullet-active {
  269. background: #d9251c;
  270. }
  271. .weui-bar__item_on span {
  272. color: #d9251c;
  273. border-bottom: 0.2em solid;
  274. padding-bottom: 0.2rem;
  275. }
  276. .weui-navbar__item {
  277. padding: 0.1rem 0;
  278. font-size: 0.28rem;
  279. padding-bottom: 0;
  280. }
  281. .placeholder {
  282. text-align: center;
  283. padding: 0.3rem 0;
  284. line-height: 0;
  285. }
  286. .placeholder img {
  287. padding-bottom: 0.3rem;
  288. }
  289. .placeholder p {
  290. font-size: 0.26rem;
  291. }
  292. .weui-cell:before {
  293. left: 0;
  294. }
  295. .weui-cell {
  296. padding: 0.16rem 0;
  297. font-size: 0.3rem;
  298. }
  299. .weui-navbar__item.weui-bar__item_on {
  300. background-color: #ffffff;
  301. }
  302. .fixed_top {
  303. position: fixed;
  304. z-index: 501;
  305. background-color: #fff;
  306. padding-bottom: 0.2rem;
  307. }
  308. .weui-gallery {
  309. z-index: 10000;
  310. }
  311. .weui-navbar__item:after {
  312. border-right: 0;
  313. }
  314. #store_phone a, #store_phone a:hover {
  315. color: #d9251c;
  316. }
  317. .m-bottom {
  318. height: 0.86rem;
  319. line-height: 0.86rem;
  320. border-radius: 0.15rem;
  321. }
  322. .fixed_top .hotel-top-search, .fixed_top .hotel-top-back {
  323. background-color: rgba(0, 0, 0, 0.5);
  324. }
  325. .swiper-container {
  326. width: 100% !important;
  327. height: 4.03rem;
  328. position: absolute;
  329. z-index: 0;
  330. }
  331. .swiper-slide img {
  332. width: 100%;
  333. }
  334. .bg-full {
  335. background-size: cover !important;
  336. -webkit-background-size: cover !important;
  337. -o-background-size: cover !important;
  338. background-position: center 0;
  339. background-repeat: no-repeat !important;
  340. height: auto;
  341. width: 100% !important;
  342. }
  343. </style>
  344. <script>
  345. (function(w, d, m) {
  346. function r() {
  347. var t = 100,
  348. o = 750,
  349. e = d.documentElement.clientWidth || w.innerWidth,
  350. n = m.max(m.min(e, 480), 320),
  351. h = 50;
  352. 320 >= n && (h = m.floor(n / o * t * .99)),
  353. n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
  354. n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
  355. n > 375 && (h = m.floor(n / o * t * .97)),
  356. d.querySelector("html").style.fontSize = (e / 7.5) + "px"
  357. };
  358. r();
  359. w.onresize = function() {
  360. r()
  361. }
  362. })(window, document, Math);
  363. </script>
  364. </head>
  365. <body>
  366. <div class="topbar"></div>
  367. <div class="hotel-top" id="div_top">
  368. <div class="swiper-container">
  369. <div class="swiper-wrapper">
  370. </div>
  371. <div class="swiper-pagination"></div>
  372. </div>
  373. <section style="padding: 0;padding-bottom: 0.2rem;">
  374. <div class="h20"></div>
  375. <div class="hotel-top-line">
  376. <ul>
  377. <li style="width: 0.61rem;padding-left: 0.04rem;" class="back-btn">
  378. <div class="hotel-top-back"><span class="iconfont">&#xe61e;</span></div>
  379. </li>
  380. <li style="width: 6rem;padding: 0 0.1rem;">
  381. <div class="hotel-top-search"><img src="../../image/search_2.png"/> 搜索商品</div>
  382. </li>
  383. <li style="width: 0.61rem;padding-right: 0.04rem;">
  384. <div class="hotel-top-back" id="share-btn" style="float:right;"><span class="iconfont">&#xe648;</span></div>
  385. </li>
  386. </ul>
  387. </div>
  388. </section>
  389. </div>
  390. <section class="hotel-item">
  391. <div class="hotel-title font-rem11">
  392. <h id="store_name">乐辰酒店</h> <span onclick="chkfavorite()"><img id="favorite" src="../../image/goods_buy_favorite.png"></span>
  393. </div>
  394. <div id="store_description"></div>
  395. </section>
  396. <div class="h10"></div>
  397. <!-- <div class="business-time" style="padding-bottom: 0.3rem;"></div> -->
  398. <!-- <div class="back-h10" style="height: 0.2rem;"></div> -->
  399. <div class="weui-tab tabh" style="padding: 0;">
  400. <div class="weui-navbar">
  401. <div class="weui-navbar__item weui-bar__item_on" href="#tab1">
  402. <span>服务项目</span>
  403. </div>
  404. <div class="weui-navbar__item" href="#tab2">
  405. <span>评价</span>
  406. </div>
  407. <div class="weui-navbar__item" href="#tab3">
  408. <span>酒店信息</span>
  409. </div>
  410. </div>
  411. <div class="weui-tab__panel">
  412. <div id="tab1" class="weui_tab_bd_item weui_tab_bd_item_active"></div>
  413. <div id="tab2" class="weui_tab_bd_item feed-list" page="1" style="padding-top: 0.2rem; padding:0 0.32rem;"></div>
  414. <div id="tab3" class="weui_tab_bd_item" style="padding: 0 0.32rem;">
  415. <div style="background:#ffffff;width:100%;padding-bottom: 1.2rem;">
  416. <section style="padding: 0;">
  417. <div class="hotel-title">
  418. <h id="store_namex" style="font-size: 0.3rem;color: #606266;">商家信息</h>
  419. </div>
  420. <div id="store_descriptionx"></div>
  421. <div class="h10"></div>
  422. <div class="weui-cells">
  423. <div class="weui-cell">
  424. <div class="weui-cell__bd">
  425. <p>酒店地址</p>
  426. </div>
  427. <div class="weui-cell__ft" id="store_address"></div>
  428. </div>
  429. <div class="weui-cell">
  430. <div class="weui-cell__bd">
  431. <p>联系酒店</p>
  432. </div>
  433. <div class="weui-cell__ft" id="store_phone"></div>
  434. </div>
  435. </div>
  436. <div class="h20"></div>
  437. </section>
  438. </div>
  439. <div class="m-bottom" feedback="false" style="position: fixed;bottom: 0.2rem;width: 6.86rem;">您的入住意见反馈(反馈送圈币)</div>
  440. </div>
  441. </div>
  442. </div>
  443. <div class="hotel-goods">
  444. <ul>
  445. <li class="gsort hotel-goods-active goods-all" tag="praise">综合</li>
  446. <li class="gsort goods-new" tag="goods_commonid">上新<img class="sort-img" src="../../image/sort.png" /></li>
  447. <li class="gsort goods-sprice" tag="goods_price">价格<img class="sort-img" src="../../image/sort.png" /></li>
  448. <li id="category-btn" tag="gc_id_1">分类<img class="sort-img2" src="../../image/sort_down2.png" /></li>
  449. </ul>
  450. <div id="category-item" class="category-item mask-hidden">
  451. </div>
  452. </div>
  453. <section>
  454. <div class="h10"></div>
  455. <div class="goods-list" page="1"></div>
  456. </section>
  457. </body>
  458. <div class="h50"></div>
  459. <div class="share-item mask-hidden">
  460. <div>
  461. <div class="share-item-tips">分享至</div>
  462. <div class="share-item-cent">
  463. <ul>
  464. <li class="share-item-friend"><img src="../../image/share_friend.png" />
  465. <p>微信好友</p>
  466. </li>
  467. <li class="share-item-cale"><img src="../../image/share_cale.png" />
  468. <p>微信朋友圈</p>
  469. </li>
  470. <li class="share-item-qq"><img src="../../image/share_qq.png" />
  471. <p>QQ</p>
  472. </li>
  473. </ul>
  474. </div>
  475. <div class="share-item-cancel">取消</div>
  476. </div>
  477. </div>
  478. <div class="back-top mask-hidden" id="fix1"></div>
  479. </body>
  480. <script type="text/javascript" src="../../script/api.js"></script>
  481. <script type="text/javascript" src="../../script/swiper.min.js"></script>
  482. <script type="text/javascript" src="../../script/jquery.min.js"></script>
  483. <script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
  484. <script type="text/javascript" src="../../script/jquery.tap.js"></script>
  485. <script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
  486. <script type="text/javascript">
  487. var _storeid = '';
  488. var _cateid = '';
  489. var _sort = "id";
  490. var _minsort = '';
  491. var _desc = "desc";
  492. var _shareimg = '';
  493. var _description = '';
  494. var _title = '';
  495. var _shareurl = '';
  496. var _page = '1';
  497. var _data_toggle = "#tab1";
  498. var imgUrl = "";
  499. apiready = function() {
  500. _storeid = api.pageParam.keyid;
  501. $(".goods-list").attr("page", "1");
  502. setIosTopBar();
  503. getstoreCategory();
  504. getRouteData(_storeid);
  505. getRouteGoodsData();
  506. getstorefeedbackList();
  507. api.addEventListener({
  508. name: 'scrolltobottom',
  509. extra: {
  510. threshold: 200
  511. }
  512. }, function(ret, err) {
  513. if (_data_toggle == "#tab1") {
  514. getRouteGoodsData();
  515. }
  516. if (_data_toggle == "#tab2") {
  517. getstorefeedbackList();
  518. }
  519. });
  520. };
  521. ///////////
  522. $(function() {
  523. $('.weui-navbar__item').on('click', function() {
  524. $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
  525. $(".weui-tab__panel .weui_tab_bd_item_active").removeClass('weui_tab_bd_item_active');
  526. _data_toggle = jQuery(this).attr("href");
  527. $(_data_toggle).addClass("weui_tab_bd_item_active");
  528. if (_data_toggle == "#tab1") {
  529. $(".hotel-goods").show();
  530. $(".goods-list").fadeIn('1500');
  531. // $(".weui-tab").css("height", "2.2rem");
  532. } else {
  533. $(".hotel-goods").fadeOut('1500');
  534. $(".goods-list").fadeOut('1500');
  535. $(".weui-tab").css("height", "auto");
  536. }
  537. if (_data_toggle == "#tab2") {
  538. $("#tab2").attr('page', '1');
  539. }
  540. });
  541. $(window).scroll(function() {
  542. var a = document.getElementById("div_top").offsetTop;
  543. if (a >= $(window).scrollTop() && a < ($(window).scrollTop() + $(window).height())) {
  544. $("#div_top section").removeClass("fixed_top");
  545. }
  546. if ($("#div_top").outerHeight() <= $(window).scrollTop()) {
  547. $("#div_top section").addClass("fixed_top");
  548. }
  549. });
  550. $('img').error(function() {
  551. $(this).attr('src', '/image/logo2.png');
  552. })
  553. });
  554. function getRouteData(_storeid) {
  555. // toast_loding_show();
  556. $.ajax({
  557. url: siteurl + 'v1/store/info',
  558. data: {
  559. store_id: _storeid
  560. },
  561. headers: {
  562. "X-TOKEN": $api.getStorage("accesstoken")
  563. },
  564. dataType: 'json',
  565. type: 'post',
  566. success: function(datas) {
  567. if (datas.result) {
  568. var img = siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_banner;
  569. $("#store_name").html(datas.data.store_name);
  570. $("#store_description").html(datas.data.store_summary);
  571. $(".hotel-top").css("background-image", "url(" + siteurl + "uploads/home/store/" + datas.data.store_id + "/" +
  572. datas.data.store_banner + ")");
  573. _shareimg = siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_logo;
  574. _title = datas.data.store_name;
  575. _shareurl = siteurl + 'v1/view/market.html';
  576. // api.hideProgress();
  577. datas.data.has_collected ? $("#favorite").attr("src", "../../image/favorite_hl.png") : $("#favorite").attr(
  578. "src", "../../image/goods_buy_favorite.png");
  579. $(".m-bottom").attr("feedback", datas.data.can_feedback);
  580. // $("#store_namex").html(datas.data.store_name); can_feedback
  581. $(".weui-tab.tabh .weui-navbar__item:nth-child(2)").append(datas.data.feedback_count);
  582. $("#store_descriptionx").html(datas.data.store_description);
  583. $("#store_address").html(datas.data.store_address);
  584. if (datas.data.store_phone) {
  585. $("#store_phone").html('<a href="tel:' + datas.data.store_phone + '">' + datas.data.store_phone + '</a>');
  586. } else {
  587. $("#store_phone").html('<a style="color: rgba(0,0,0,.5);">暂无</a>');
  588. }
  589. //
  590. if (datas.data.store_slide.length > 1) {
  591. imgUrl = datas.data.store_slide[0];
  592. } else {
  593. imgUrl = siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_banner;
  594. }
  595. if (datas.data.store_slide.length > 0) {
  596. $.each(datas.data.store_slide, function(index, item) {
  597. $(".swiper-wrapper").append('<div class="swiper-slide bg-full" style="background: url(' + item + ');">');
  598. })
  599. }
  600. var swiper = new Swiper('.swiper-container', {
  601. allowSlidePrev: true,
  602. width: window.innerWidth,
  603. autoplay: {
  604. disableOnInteraction: false
  605. },
  606. loop: true,
  607. pagination: {
  608. el: '.swiper-pagination',
  609. },
  610. });
  611. } else {
  612. errcode(datas, datas.code);
  613. }
  614. function_name();
  615. }
  616. });
  617. }
  618. function chkfavorite() {
  619. $("#favorite").removeAttr("style", "");
  620. $.ajax({
  621. url: siteurl + 'v1/favorites/collect',
  622. data: {
  623. type: 'store',
  624. fav_id: _storeid
  625. },
  626. headers: {
  627. "X-TOKEN": $api.getStorage("accesstoken")
  628. },
  629. dataType: 'json',
  630. type: 'post',
  631. success: function(datas) {
  632. $("#favorite").css("animation", "bounceOut 2s");
  633. if (datas.result) {
  634. datas.data.action == 'add' ? $("#favorite").attr("src", "../../image/favorite_hl.png") : $("#favorite").attr(
  635. "src", "../../image/goods_buy_favorite.png");
  636. var _msg = datas.data.action == 'add' ? "收藏成功" : "取消收藏";
  637. // console.log(_msg);
  638. api.toast({
  639. msg: _msg
  640. });
  641. } else {
  642. errcode(datas, datas.code);
  643. }
  644. }
  645. });
  646. }
  647. function getstoreCategory() {
  648. $.ajax({
  649. url: siteurl + 'v1/entry/storeCategory',
  650. data: {
  651. type: 'store',
  652. store_id: _storeid
  653. },
  654. headers: {
  655. "X-TOKEN": $api.getStorage("accesstoken")
  656. },
  657. dataType: 'json',
  658. type: 'post',
  659. success: function(datas) {
  660. if (datas.result) {
  661. var _html = '<div class="weui-flex">';
  662. var xx = datas.data.category_list;
  663. for (var i = 0; i < 10; i++) {
  664. if (i == 5 && !xx[i]) {
  665. _html += '</div>';
  666. break;
  667. }
  668. if (i == 5) {
  669. _html += '</div><div class="weui-flex">';
  670. $(".weui-tab").css("height", "4.7rem");
  671. }
  672. if (xx[i]) {
  673. _html += '<div class="weui-flex__item"><div class="placeholder" gcid="' + xx[i].gc_id +
  674. '"><img style="height: 1rem;" src="' + xx[i].pic + '" /><p>' + xx[i].gc_name + '</p></div></div>';
  675. } else {
  676. _html += '<div class="weui-flex__item"><div class="placeholder"></div></div>';
  677. }
  678. }
  679. $(_data_toggle).html(_html);
  680. } else {
  681. errcode(datas, datas.code);
  682. }
  683. function_name();
  684. }
  685. });
  686. }
  687. $(".hotel-top-search").on("tap", function() {
  688. api.openWin({
  689. name: 'goodssearch',
  690. url: './goodssearch.html',
  691. bounces: false,
  692. pageParam: {
  693. storeid: _storeid
  694. }
  695. });
  696. return false;
  697. })
  698. $(".hotel-itemx").on("tap", function() {
  699. //var _storeid=$(this).attr("keyid");
  700. api.openWin({
  701. name: 'showhotel',
  702. url: './showhotel.html',
  703. bounces: false,
  704. pageParam: {
  705. keyid: _storeid
  706. }
  707. });
  708. return false;
  709. })
  710. $("#tab1").on("tap", ".placeholder", function() {
  711. var _gcid = $(this).attr("gcid");
  712. var _categoryname = $(this).children("p").html();
  713. if (!_gcid) {
  714. return false;
  715. }
  716. api.openWin({
  717. name: 'storecategory',
  718. url: './storecategory.html',
  719. bounces: false,
  720. pageParam: {
  721. keyid: _gcid,
  722. storeid: _storeid,
  723. categoryname: _categoryname
  724. }
  725. });
  726. return false;
  727. })
  728. $("#tab2").on("tap", "img", function() {
  729. gallery_qz($(this).attr("src"));
  730. });
  731. $(".goods-list").on("tap", ".goods-list-item", function() {
  732. var _goodsid = $(this).attr("keyid");
  733. var _spot = $(this).attr("spot");
  734. api.openWin({
  735. name: 'showgoods',
  736. url: './showgoods.html',
  737. bounces: false,
  738. pageParam: {
  739. keyid: _goodsid,
  740. storeid: _storeid,
  741. spot: _spot
  742. }
  743. });
  744. return false;
  745. })
  746. //////////
  747. function getRouteGoodsData() {
  748. _page = $(".goods-list").attr("page");
  749. if (_page == 0) {
  750. return false;
  751. }
  752. var _xdata = {
  753. store_id: _storeid,
  754. page: _page,
  755. praise: _desc
  756. };
  757. var _data_type = $(".hotel-goods-active").attr("tag");
  758. if (_data_type == 'praise') {
  759. _xdata = {
  760. store_id: _storeid,
  761. page: _page,
  762. praise: _desc
  763. };
  764. } else if (_data_type == 'goods_commonid') {
  765. _xdata = {
  766. store_id: _storeid,
  767. page: _page,
  768. goods_commonid: _desc
  769. };
  770. } else if (_data_type == 'goods_price') {
  771. _xdata = {
  772. store_id: _storeid,
  773. page: _page,
  774. goods_price: _desc
  775. };
  776. } else {
  777. var catid = $("#category-item .cate-active").parent(".category-list").attr("catid");
  778. if (catid == 'all') {
  779. _xdata = {
  780. store_id: _storeid,
  781. page: _page
  782. };
  783. } else {
  784. _xdata = {
  785. store_id: _storeid,
  786. page: _page,
  787. gc_id_1: catid
  788. };
  789. }
  790. }
  791. // toast_loding_show();
  792. $(".goods-list").attr("page", "0");
  793. $.ajax({
  794. url: siteurl + 'v2/entry/storeGoods', //'v2/entry/storeGoods'
  795. data: _xdata,
  796. headers: {
  797. "X-TOKEN": $api.getStorage("accesstoken")
  798. },
  799. dataType: 'json',
  800. type: 'post',
  801. success: function(datas) {
  802. // toast_loding_hide();
  803. if (datas.result) {
  804. var html = '';
  805. if (datas.data.goods_list.length > 0) {
  806. var j = 0;
  807. $.each(datas.data.goods_list, function(index, item) {
  808. var _advarr = item.goods_advword.split("\n");
  809. var _taghtml = '';
  810. var _tagcolor = ['#006699', '#d9251c', '#e8e8e8'];
  811. if (_advarr.length > 0) {
  812. for (var i = 0; i < _advarr.length; i++) {
  813. if (_advarr[i]) {
  814. _taghtml += '<span class="tag-item" style="">' + _advarr[i] + '</span>';
  815. }
  816. }
  817. }
  818. j++;
  819. html = '';
  820. if (j % 2 == 0) {
  821. html += '<div class="goods-list-item padl" ';
  822. } else {
  823. html += '<div class="goods-list-item" ';
  824. }
  825. html += 'keyid="' + item.goods_commonid + '" spot="' + item.spot + '" goods_li="' + j + '"><ul>';
  826. html += '<li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image
  827. .indexOf("\_")) + "/" + item.goods_image + '" class="goods-image"/></li>';
  828. html += '<li class="goods-title font-rem11">' + item.goods_name + '</li>';
  829. html += '<li class="goods-price">¥' + item.goods_price + ' <span class="line-through">' + item.goods_marketprice +
  830. '</span></li>';
  831. html += '<li class="goods-tag" style="margin-top: 0;">' + _taghtml + '</li>';
  832. html += '</ul></div>';
  833. if (j % 2 == 0) {
  834. html += '<div class="h10"></div>';
  835. }
  836. console.log(html)
  837. if (_page == 1 && index == 0) {
  838. $(".goods-list").html(html);
  839. } else {
  840. $(".goods-list").append(html);
  841. }
  842. });
  843. _page++;
  844. $(".goods-list").attr("page", _page);
  845. } else {
  846. html = '<div class="data-null">暂时没有更多商品</div>';
  847. $(".goods-list").attr("page", '0');
  848. if (_page == 1) {
  849. $(".goods-list").html(html);
  850. } else {
  851. $(".goods-list").append(html);
  852. }
  853. }
  854. } else {
  855. errcode(datas, datas.code)
  856. }
  857. function_name();
  858. }
  859. });
  860. }
  861. /////
  862. function getCategoryData() {
  863. $.ajax({
  864. url: siteurl + 'v1/entry/storeCategory',
  865. data: {
  866. store_id: _storeid
  867. },
  868. headers: {
  869. "X-TOKEN": $api.getStorage("accesstoken")
  870. },
  871. dataType: 'json',
  872. type: 'post',
  873. success: function(datas) {
  874. if (datas.result) {
  875. var html = '';
  876. $("#category-item").empty();
  877. $("#category-item").append(
  878. '<div class="category-list" catid="all"><span class="category-list-span">全部</span></div>');
  879. $.each(datas.data.category_list, function(index, item) {
  880. html = '<div class="category-list" catid="' + item.gc_id + '"><span class="category-list-span">' + item.gc_name +
  881. '</span></div>';
  882. $("#category-item").append(html);
  883. });
  884. } else {
  885. errcode(datas, datas.code);
  886. }
  887. function_name();
  888. }
  889. });
  890. }
  891. function getstorefeedbackList() {
  892. _pagex = $("#tab2").attr('page');
  893. if (_pagex == 0) {
  894. return false;
  895. }
  896. $.ajax({
  897. url: siteurl + 'v1/store/feedbackList',
  898. data: {
  899. store_id: _storeid,
  900. page: _pagex
  901. },
  902. headers: {
  903. "X-TOKEN": $api.getStorage("accesstoken")
  904. },
  905. dataType: 'json',
  906. type: 'post',
  907. success: function(datas) {
  908. if (datas.result) {
  909. if (datas.data.feedback_list.length > 0) {
  910. $.each(datas.data.feedback_list, function(index, item) {
  911. var _html = '';
  912. if (item.img_list) {
  913. var _imglist = item.img_list;
  914. } else {
  915. var _imglist = '';
  916. }
  917. _html += '<div class="feed-item"><ul>';
  918. _html += '<li class="fl" style="width: 0.7rem;"><img src="' + item.member_avatar +
  919. '" class="user-head"/></li>';
  920. _html += '<li class="feed-item-right fl">' + item.member_truename + '<p class="feed-item-titel">' + item.add_time +
  921. '</p></li>';
  922. _html += '<li><div class="my-rating my-rating' + index + '"></div></li></ul>';
  923. _html += '<ul><li>' + item.content + '</li></ul><ul style="margin-top: 0.25rem;"><li>';
  924. if (_imglist.length > 0) {
  925. for (var i = 0; i < _imglist.length; i++) {
  926. _html += '<img src="' + _imglist[i] + '" style="width: 1.2rem;height: 1.2rem;margin-right: 0.3rem;"/>';
  927. }
  928. }
  929. _html += '</li></ul><div class="h50"></div></div>';
  930. if (_pagex == 1 && index == 0) {
  931. $("#tab2").html(_html);
  932. } else {
  933. $("#tab2").append(_html);
  934. }
  935. $(".my-rating" + index).starRating({
  936. starSize: 17,
  937. initialRating: item.satisfaction,
  938. readOnly: true,
  939. starShape: 'rounded',
  940. emptyColor: 'lightgray',
  941. hoverColor: 'salmon',
  942. activeColor: '#d9251c',
  943. useGradient: false,
  944. callback: function(currentRating, $el) {
  945. // make a server call here #d9251c
  946. }
  947. });
  948. })
  949. _pagex++;
  950. $("#tab2").attr('page', _pagex);
  951. } else {
  952. $("#tab2").attr('page', '0');
  953. if (_pagex == 1) {
  954. $("#tab2").html('<div class="data-null">暂时没有更多评价</div>');
  955. } else {
  956. $("#tab2").append('<div class="data-null">暂时没有更多评价</div>');
  957. }
  958. }
  959. } else {
  960. errcode(datas, datas.code);
  961. }
  962. function_name();
  963. }
  964. });
  965. }
  966. $("#category-btn").on("tap", function() {
  967. $(".gsort").removeClass("hotel-goods-active");
  968. $(".gsort").find("img").attr("src", "../../image/sort.png");
  969. getCategoryData();
  970. if (!$(".category-item").hasClass("mask-hidden")) {
  971. $(".category-item").addClass("mask-hidden");
  972. $("#category-btn").removeClass("hotel-goods-active");
  973. $(this).find("img").attr("src", "../../image/sort.png");
  974. $("#category-btn img").attr("src", "../../image/sort_down2.png");
  975. } else {
  976. $(".category-item").removeClass("mask-hidden");
  977. $("#category-btn").addClass("hotel-goods-active");
  978. $(this).find("img").attr("src", "../../image/sort_up.png");
  979. $("#category-btn img").attr("src", "../../image/sort_down2_up.png");
  980. }
  981. return false;
  982. })
  983. function hiddenCate() {
  984. $(".category-item").addClass("mask-hidden");
  985. $("#category-btn").removeClass("hotel-goods-active");
  986. $("#category-btn").find("img").attr("src", "../../image/sort.png");
  987. $("#category-btn img").attr("src", "../../image/sort_down2.png");
  988. }
  989. function shorNewGoods() {
  990. _minsort = '';
  991. $(".goods-list").empty();
  992. $(".goods-list").attr("page", '1');
  993. getRouteGoodsData();
  994. }
  995. ///
  996. $(".category-item").on("tap", ".category-list", function() {
  997. $(this).find("span").addClass("cate-active");
  998. hiddenCate();
  999. _cateid = $(this).attr("catid");
  1000. _minsort = '';
  1001. shorNewGoods();
  1002. setTimeout(function() {
  1003. $(".category-item").addClass("mask-hidden");
  1004. }, 300);
  1005. return false;
  1006. })
  1007. ///
  1008. $(".goods-all").on("tap", function() {
  1009. hiddenCate();
  1010. _sort = $(this).attr("tag");
  1011. $(".gsort").removeClass("hotel-goods-active");
  1012. $(this).addClass("hotel-goods-active");
  1013. $(".gsort").find("img").attr("src", "../../image/sort.png");
  1014. _desc = "desc";
  1015. shorNewGoods();
  1016. return false;
  1017. })
  1018. ////
  1019. $(".goods-new").on("tap", function() {
  1020. hiddenCate();
  1021. _sort = $(this).attr("tag");
  1022. $(".gsort").removeClass("hotel-goods-active");
  1023. $(this).addClass("hotel-goods-active");
  1024. $(".goods-sprice").find("img").attr("src", "../../image/sort.png");
  1025. $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ?
  1026. "../../image/sort_down.png" : "../../image/sort_up.png");
  1027. if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
  1028. _desc = "asc";
  1029. } else {
  1030. _desc = "desc";
  1031. }
  1032. shorNewGoods();
  1033. return false;
  1034. })
  1035. ////
  1036. $(".goods-sprice").on("tap", function() {
  1037. hiddenCate();
  1038. _sort = $(this).attr("tag");
  1039. $(".gsort").removeClass("hotel-goods-active");
  1040. $(this).addClass("hotel-goods-active");
  1041. $(".goods-new").find("img").attr("src", "../../image/sort.png");
  1042. $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ?
  1043. "../../image/sort_down.png" : "../../image/sort_up.png");
  1044. if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
  1045. _desc = "asc";
  1046. } else {
  1047. _desc = "desc";
  1048. }
  1049. shorNewGoods();
  1050. return false;
  1051. })
  1052. $(".share-item-cancel").on("tap", function() {
  1053. $(".share-item").slideUp(500, function() {});
  1054. $(".weui-mask").remove();
  1055. _show = false;
  1056. return false;
  1057. })
  1058. $(".share-item-friend").on("tap", function() {
  1059. var wx = api.require('wx');
  1060. api.download({
  1061. url: imgUrl,
  1062. // savePath: 'fs://test.rar',
  1063. report: false,
  1064. cache: true,
  1065. allowResume: true
  1066. }, function(ret, err) {
  1067. var str=ret.savePath.slice(-3);
  1068. var str2="";
  1069. if(str=='png'){
  1070. str2=ret.savePath;
  1071. }else{
  1072. str2="widget://image/logo3.png";
  1073. }
  1074. if (ret.state == 1) {
  1075. wx.shareProgram({
  1076. scene: 'session',
  1077. description: _description,
  1078. title: _title,
  1079. thumb: str2,
  1080. webpageUrl: _shareurl,
  1081. userName: 'gh_344fb21bce0f',
  1082. path: 'pages/index/hotel?id=' + _storeid + '&isfx=true',
  1083. }, function(ret, err) {
  1084. if (ret.status) {
  1085. api.toast({
  1086. msg: '分享成功!'
  1087. });
  1088. setPoint();
  1089. } else {
  1090. if (err.code == 2) {
  1091. api.toast({
  1092. msg: '用户取消'
  1093. });
  1094. } else if (err.code == 3) {
  1095. api.toast({
  1096. msg: '发送失败'
  1097. });
  1098. } else if (err.code == 4) {
  1099. api.toast({
  1100. msg: '授权拒绝'
  1101. });
  1102. } else {
  1103. api.toast({
  1104. msg: '发送失败!'
  1105. });
  1106. }
  1107. }
  1108. });
  1109. }
  1110. })
  1111. $(".share-item").slideUp(500, function() {});
  1112. $(".weui-mask").remove();
  1113. _show = false;
  1114. return false;
  1115. })
  1116. $(".share-item-cale").on("tap", function() {
  1117. var wx = api.require('wx');
  1118. wx.shareWebpage({
  1119. scene: 'timeline',
  1120. title: _title,
  1121. description: _description,
  1122. thumb: 'widget://image/logo2.png', //'widget://share' + _storeid + '.png',
  1123. contentUrl: _shareurl
  1124. }, function(ret, err) {
  1125. if (ret.status) {
  1126. //alert("分享成功!");
  1127. api.toast({
  1128. msg: '分享成功!'
  1129. });
  1130. setPoint();
  1131. } else {
  1132. // alert(err.code);
  1133. api.toast({
  1134. msg: err.msg
  1135. });
  1136. }
  1137. });
  1138. $(".share-item").slideUp(500, function() {});
  1139. $(".weui-mask").remove();
  1140. _show = false;
  1141. return false;
  1142. })
  1143. $(".share-item-qq").on("tap", function() {
  1144. var qq = api.require('QQPlus');
  1145. qq.shareNews({
  1146. url: _shareurl,
  1147. title: _title,
  1148. description: _description,
  1149. imgUrl: _shareimg
  1150. }, function(ret, err) {
  1151. if (ret.status) {
  1152. //alert("分享成功!");
  1153. api.toast({
  1154. msg: '分享成功!'
  1155. });
  1156. setPoint();
  1157. } else {
  1158. // alert(err.code);
  1159. api.toast({
  1160. msg: err.msg
  1161. });
  1162. }
  1163. });
  1164. $(".share-item").slideUp(500, function() {});
  1165. $(".weui-mask").remove();
  1166. _show = false;
  1167. return false;
  1168. })
  1169. var _show = false;
  1170. $("#share-btn").on("tap", function() {
  1171. if (_show == false) {
  1172. $(".share-item").slideDown(500, function() {});
  1173. $("body").append('<div class="weui-mask"></div>');
  1174. _show = true;
  1175. } else {
  1176. $(".share-item").slideUp(500, function() {});
  1177. _show = false;
  1178. }
  1179. return false;
  1180. })
  1181. function setPoint() {
  1182. $.ajax({
  1183. url: siteurl + 'v1/member/point',
  1184. data: {
  1185. memberid: $api.getStorage("memberid"),
  1186. stage: 'share'
  1187. },
  1188. headers: {
  1189. "X-TOKEN": $api.getStorage("accesstoken")
  1190. },
  1191. dataType: 'json',
  1192. type: 'post',
  1193. success: function(datas) {
  1194. if (datas.result) {
  1195. //
  1196. } else {
  1197. errcode(datas, datas.code);
  1198. }
  1199. }
  1200. });
  1201. }
  1202. $(".m-bottom").on("tap", function() {
  1203. if ($(".m-bottom").attr("feedback") == 1) {
  1204. api.openWin({
  1205. name: 'feedback',
  1206. url: './feedback.html',
  1207. bounces: false,
  1208. pageParam: {
  1209. keyid: _storeid
  1210. }
  1211. })
  1212. } else {
  1213. api.toast({
  1214. msg: '入住客人才可以反馈'
  1215. });
  1216. }
  1217. return false;
  1218. })
  1219. $(".back-top").on("tap", function() {
  1220. $('html , body').animate({
  1221. scrollTop: 0
  1222. }, 'slow');
  1223. return false;
  1224. });
  1225. $.fn.fixedDiv = function(actCls) {
  1226. var that = $(this),
  1227. offsetTop = that.offset().top,
  1228. scrollTop;
  1229. function fix() {
  1230. scrollTop = $(document).scrollTop();
  1231. if (scrollTop > offsetTop) {
  1232. that.removeClass(actCls);
  1233. } else {
  1234. that.addClass(actCls);
  1235. }
  1236. }
  1237. fix();
  1238. $(window).scroll(fix);
  1239. }
  1240. $('#fix1').fixedDiv('mask-hidden')
  1241. </script>
  1242. </html>