order_pink.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <!-- +---------------------------------------------------------------------- -->
  2. <!-- | CRMEB [ CRMEB赋能开发者,助力企业发展 ] -->
  3. <!-- +---------------------------------------------------------------------- -->
  4. <!-- | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved. -->
  5. <!-- +---------------------------------------------------------------------- -->
  6. <!-- | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 -->
  7. <!-- +---------------------------------------------------------------------- -->
  8. <!-- | Author: CRMEB Team <admin@crmeb.com> -->
  9. <!-- +---------------------------------------------------------------------- -->
  10. {extend name="public/container"}
  11. {block name="head_top"}
  12. <script type="text/javascript" src="{__PLUG_PATH}jquery.downCount.js"></script>
  13. <script type="text/javascript" src="{__WAP_PATH}crmeb/js/car-model.js"></script>
  14. <style>
  15. .pk-box .pt-info .pt-state .pt-state-info{width: initial; text-align: center;}
  16. </style>
  17. {/block}
  18. {block name="title"}{$store_combination.title}{/block}
  19. {block name="content"}
  20. <body style="background-color:#f5f5f5;">
  21. <!-- 拼客 -->
  22. <section class="pk-box" id="store_detail">
  23. <div class="comfirm-wrapper">
  24. <ul class="product_list">
  25. <li>
  26. <div class="goods-img pk-list-img"><img src="{$store_combination.image}"></div>
  27. <div class="goods-info pk-list-info">
  28. <div class="goods-detail">
  29. <p class="name">{$store_combination.title}</p>
  30. <p class="pk-list-all"><em>{$pinkT.people}</em>人团·已团<em>{$store_combination.sales}</em>件</p>
  31. <p class="carnum pk-list-carnum">
  32. <span class="price">¥<em>{$pinkT.price}</em><span class="discount">拼团劲省<i><?php echo floatval($store_combination['product_price']-$pinkT['price']);?></i>元</span></span>
  33. </p>
  34. </div>
  35. </div>
  36. </li>
  37. </ul>
  38. </div>
  39. <!-- 拼客人数 -->
  40. <div class="pk-number">
  41. <div class="pk-number-box">
  42. <ul>
  43. <li>
  44. <img src="{$pinkT.avatar}"/>
  45. <div class="name">团长</div>
  46. </li>
  47. {volist name="pinkAll" id="vo"}
  48. <li><img src="{$vo.avatar}"/></li>
  49. {/volist}
  50. <?php for ($i=1;$i<=$count;$i++){?>
  51. <li class="unknown"></li>
  52. <?php }?>
  53. </ul>
  54. </div>
  55. <div class="pk-number-con">
  56. {if condition="$pinkBool eq 1 && $userBool"}
  57. <div class="pk-buy"><a href="{:Url('orderPinkOld',['uni'=>$current_pink_order])}">查看订单</a></div>
  58. <div class="pt-info">
  59. <div class="pt-state pt-success">
  60. <div class="pt-state-info">拼团成功</div>
  61. <span>商家正在努力发货,请耐心等待</span>
  62. </div>
  63. </div>
  64. {elseif condition="$pinkBool eq 1 && !$userBool"}
  65. <div class="pk-buy"><a href="{:Url('store/combination')}">返回拼团列表</a></div>
  66. <div class="pt-info">
  67. <div class="pt-state pt-success">
  68. <div class="pt-state-info">拼团已完成</div>
  69. <span>请您参加别的拼团</span>
  70. </div>
  71. </div>
  72. {elseif condition="$pinkBool eq 2 && $userBool"}
  73. <div class="pk-buy"><a href="{:Url('orderPinkOld',['uni'=>$current_pink_order])}">查看订单</a></div>
  74. <div class="pt-info">
  75. <div class="pt-state pt-error">
  76. <div class="pt-state-info">拼团时间已到</div>
  77. <span>退款中</span>
  78. </div>
  79. </div>
  80. {elseif condition="$pinkBool eq 3"}
  81. <div class="pk-buy"><a href="{:Url('store/combination')}">返回拼团列表</a></div>
  82. <div class="pt-info">
  83. <div class="pt-state pt-error">
  84. <div class="pt-state-info">拼团已结束</div>
  85. <span>请您参加别的拼团</span>
  86. </div>
  87. </div>
  88. {elseif condition="$pinkBool eq 6"}
  89. <div class="pk-buy"><a href="{:Url('store/combination')}">返回拼团列表</a></div>
  90. <div class="pt-info">
  91. <div class="pt-state pt-error">
  92. <div class="pt-state-info">拼团人数已满</div>
  93. <span>等待订单状态</span>
  94. </div>
  95. </div>
  96. {elseif condition="$pinkBool eq 2 && !$userBool"}
  97. <div class="pk-buy"><a href="{:Url('store/combination')}">返回拼团列表</a></div>
  98. <div class="pt-info">
  99. <div class="pt-state pt-error">
  100. <div class="pt-state-info">拼团已结束</div>
  101. <span>请您参加别的拼团</span>
  102. </div>
  103. </div>
  104. {elseif condition="!$pinkBool && !$userBool"}
  105. <div class="pk-number-con-number">仅剩<em>{$count}</em>个名额</div>
  106. <div class="pk-number-con-time" v-pre>
  107. 剩余
  108. <div style="height: .1rem"></div>
  109. <div class="count-time" data-time="{$pinkT.stop_time|date='Y/m/d H:i:s',###}">
  110. <span class="hours">00</span>
  111. :
  112. <span class="minutes">00</span>
  113. :
  114. <span class="seconds">00</span>
  115. </div>
  116. </div>
  117. <div class="pk-buy"><a href="javascript:void(0);" @click="goBuy" >一键参团</a></div>
  118. <div class="pt-info">
  119. <div class="pt-state pt-success">
  120. <div class="pt-state-info">正在拼团中...</div>
  121. <!-- <span>参加拼团</span>-->
  122. </div>
  123. </div>
  124. {elseif condition="!$pinkBool && $userBool"}
  125. <div class="pk-number-con-number">仅剩<em>{$count}</em>个名额</div>
  126. <div class="pk-number-con-time" v-pre>
  127. 剩余
  128. <div style="height: .1rem"></div>
  129. <div class="count-time" data-time="{$pinkT.stop_time|date='Y/m/d H:i:s',###}">
  130. <span class="hours">00</span>
  131. :
  132. <span class="minutes">00</span>
  133. :
  134. <span class="seconds">00</span>
  135. </div>
  136. </div>
  137. <div class="pk-buy shares-btn" @click="sharesBtn"><a href="javascript:void(0);">邀请好友</a></div>
  138. <div class="shares-model" style="display: none;"><img style="position: fixed;left: 0;top: 0;width: 100%;height: 100%;" src="{__WAP_PATH}crmeb/images/share-info.png"></div>
  139. <div class="pt-info">
  140. <div class="pt-state pt-success">
  141. <div class="pt-state-info">正在拼团中...</div>
  142. <span></span>
  143. </div>
  144. </div>
  145. {/if}
  146. </div>
  147. </div>
  148. <div class="model-bg"></div>
  149. <div class="template-pro-list">
  150. <div class="pro-title like-title"><i class="like-line"></i><span>你可能还喜欢</span><i class="like-line right"></i></div>
  151. <div class="item-box">
  152. <ul class="flex">
  153. {volist name="store_combination_host" id="vo"}
  154. <li>
  155. <a href="{:Url('Store/combination_detail',array('id'=>$vo['id']))}">
  156. <div class="picture"><img src="{$vo.image}" /></div>
  157. <div class="pro-content">
  158. <div class="pro-name">{$vo.title}</div>
  159. <div class="pro-infos">
  160. <span class="price">¥{$vo.price}</span>
  161. <span class="count fr">已拼{$vo.sales}单</span>
  162. </div>
  163. </div>
  164. </a>
  165. </li>
  166. {/volist}
  167. </ul>
  168. </div>
  169. </div>
  170. <quick-menu></quick-menu>
  171. </section>
  172. <script>
  173. $(document).ready(function() {
  174. $('.shares-btn').on('click', function(){
  175. $('.shares-model').css('display', 'block');
  176. $('.shares-model').on('click' , function(){
  177. $(this).css('display', 'none');
  178. });
  179. });
  180. $('.shares-model').on('touchmove',function(e){
  181. e.preventDefault();
  182. })
  183. $('.count-time').downCount({
  184. date: $('.count-time').attr('data-time'),
  185. offset: +8
  186. });
  187. });
  188. </script>
  189. <script type="text/javascript">
  190. window.$product = <?php unset($storeInfo['description']); echo json_encode($storeInfo);?>;
  191. window.$pinkT = <?php echo json_encode($pinkT);?>;
  192. (function ($) {
  193. requirejs(['vue', 'axios', 'helper', 'store', 'quick'], function (Vue, axios, $h, storeApi){
  194. new Vue({
  195. el: "#store_detail",
  196. data: {
  197. product: $product,
  198. pinkT: $pinkT,
  199. productValue: {},
  200. productCardInfo: {},
  201. status: {like: false, collect: false},
  202. cartNum: 1
  203. },
  204. methods: {
  205. sharesBtn:function () {
  206. $('.shares-model').css('display', 'block');
  207. $('.shares-model').on('click' , function(){
  208. $(this).css('display', 'none');
  209. });
  210. },
  211. goBuy: function () {
  212. that = this;
  213. storeApi.goBuy({
  214. cartNum: that.cartNum,
  215. productId: this.product.product_id,
  216. combinationId: this.product.id
  217. }, function (cartId) {
  218. location.href = $h.U({
  219. c: 'store',
  220. a: 'combination_order',
  221. q: 'cartId='+cartId+'&pinkId='+that.pinkT.id
  222. });
  223. });
  224. },
  225. setProductCardInfo: function (info) {
  226. info || (info = {});
  227. this.$set(this, 'productCardInfo', {
  228. image: info.image !== undefined ? info.image : this.product.image,
  229. price: info.price !== undefined ? info.price : this.product.price,
  230. stock: info.stock !== undefined ? info.stock : this.product.stock
  231. });
  232. },
  233. pushMsg: function (msg, fn) {
  234. $h.pushMsg(msg, fn)
  235. },
  236. init: function () {
  237. $('.count-time').downCount({
  238. date: $('.count-time').attr('data-time'),
  239. offset: +8
  240. });
  241. },
  242. getCartNum: function () {
  243. var that = this;
  244. storeApi.getCartNum(function (cartNum) {
  245. that.cartNum = cartNum;
  246. });
  247. }
  248. },
  249. mounted: function () {
  250. var wxApi = mapleWx($jssdk(), function () {
  251. this.onMenuShareAll({
  252. title: $product.store_name,
  253. desc: $product.store_name,
  254. imgUrl: location.origin + $product.image,
  255. link: location.href
  256. });
  257. });
  258. this.getCartNum();
  259. this.init();
  260. this.setProductCardInfo();
  261. }
  262. });
  263. });
  264. })($);
  265. </script>
  266. </body>
  267. {/block}