order_pink.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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='title'}我的拼团详情{/block}
  12. {block name="head_top"}
  13. <style>
  14. body {
  15. background-color: #f5f5f5;
  16. }
  17. </style>
  18. {/block}
  19. {block name="content"}
  20. <div v-cloak id="app">
  21. <div class="assemble">
  22. <div class="header acea-row row-between-wrapper">
  23. <div class="item">
  24. <div class="iconfont icon-weixinzhifu"></div>
  25. <div>1.支付成功</div>
  26. </div>
  27. <div class="iconfont icon-icon-yxj-arrow-right"></div>
  28. <div class="item">
  29. <div class="iconfont icon-yaoqing-"></div>
  30. <div>2.邀请朋友参团</div>
  31. </div>
  32. <div class="iconfont icon-icon-yxj-arrow-right"></div>
  33. <div class="item">
  34. <div class="iconfont icon-bofang1 acea-row row-center-wrapper"></div>
  35. <div>3.上课啦</div>
  36. </div>
  37. </div>
  38. <div class="teamwork">
  39. <div class="list acea-row row-center-wrapper">
  40. <div class="pictrue">
  41. <img src="{__WAP_PATH}zsff/images/king.png" class="king">
  42. <img :src="pinkT.avatar">
  43. </div>
  44. <div class="pictrue" v-for="item in pinkAll"><img :src="item.avatar"></div>
  45. <div class="pictrue" v-for="item in count"><img src="{__WAP_PATH}zsff/images/symbol.png"></div>
  46. </div>
  47. <div class="tiptime" v-if="count && pinkBool!=1">仅剩{{count}}人,剩余时间<span class="time">{{hour}}: {{minute}}: {{second}}</span></div>
  48. <div class="tiptime" v-else>拼团成功,快去学习吧!</div>
  49. <div class="label acea-row row-center-wrapper" v-if="!pinkBool">正在拼团</div>
  50. <div class="label acea-row row-center-wrapper" v-else-if="pinkBool==1">拼团成功</div>
  51. <div class="label acea-row row-center-wrapper" v-else-if="pinkBool > 1 && pinkBool < 4">拼团失败</div>
  52. <div class="label acea-row row-center-wrapper" v-else-if="pinkBool==6">拼团人数已满</div>
  53. </div>
  54. <div class="my-course">
  55. <div class="swiper-list2">
  56. <div class="item acea-row">
  57. <a class="pictrue" :href="getTashUrl(special.id)"><img :src="special.image"></a>
  58. <div class="text-pic">
  59. <div class="name line1" v-text="special.title" :href="getTashUrl(special.id)"></div>
  60. <div class="label acea-row row-middle">
  61. <div class="num acea-row row-center-wrapper" v-for="(vo,index) in special.label" v-text="vo" v-if="index < min"></div>
  62. </div>
  63. <!-- <div class="money">{{special.is_pink ? (special.pink_money == 0 ? '免费':'¥'+special.pink_money): (special.money <= 0 ? '免费':'¥'+special.money) }}</div> -->
  64. <div class="bottom acea-row row-middle">
  65. <template v-if="special.is_pink">
  66. <div v-if="special.pink_money === '0.00'" class="free">免费</div>
  67. <div v-else class="money">¥<span>{{ special.pink_money }}</span></div>
  68. </template>
  69. <template v-else>
  70. <div v-if="special.money === '0.00'" class="free">免费</div>
  71. <div v-else class="money">¥<span>{{ special.money }}</span></div>
  72. </template>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. <div class="initiate-group">
  79. <div class="acea-row row-center-wrapper" v-if="!pinkBool">
  80. <a class="bnt invite acea-row row-center-wrapper" style="margin: 0 auto;width: 7rem;" :href="goPosterShow()"> {{is_help ? '帮助他完成拼团':'邀请朋友拼课'}}</a>
  81. </div>
  82. <div class="acea-row row-center-wrapper" v-else-if="pinkBool==1">
  83. <a class="bnt invite acea-row row-center-wrapper" style="margin: 0 auto;width: 7rem;" :href="getTashUrl(special.id,true)">去学习</a>
  84. </div>
  85. <div class="acea-row row-center-wrapper" v-else-if="pinkBool==2">
  86. <div class="bnt invite acea-row row-center-wrapper" style="margin: 0 auto;width: 7rem;">拼团时间已到,退款中</div>
  87. </div>
  88. <div class="acea-row row-center-wrapper" v-else-if="pinkBool==3">
  89. <div class="bnt invite acea-row row-center-wrapper" style="margin: 0 auto;width: 7rem;">拼团已结束,请您参加别的拼团</div>
  90. </div>
  91. <div class="acea-row row-center-wrapper" v-else-if="pinkBool==6">
  92. <div class="bnt invite acea-row row-center-wrapper" style="margin: 0 auto;width: 7rem;">拼团人数已满,等待订单状态</div>
  93. </div>
  94. </div>
  95. <div class="shares-model" v-show="shares" @click="shares=false">
  96. <img style="position: fixed;left: 0;top: 0;width: 100%;height: 100%;" src="{__WAP_PATH}zsff/images/share-info.png">
  97. </div>
  98. {if !$subscribe && !empty($userInfo) && $is_official_account_switch}
  99. <div class="publicFollow acea-row row-between-wrapper">
  100. <div>关注公众号"{$Auth_site_name}",看课更方便</div>
  101. <div class="follow acea-row row-center-wrapper" @click=" is_code = true ">关注</div>
  102. </div>
  103. <div class="mask" style="align-items:center;display: flex;" v-show="is_code" @click="is_code=false">
  104. <img :src="wechat_qrcode" alt="" style="width: 5rem;height: 5rem;margin: 0 auto;">
  105. </div>
  106. <div style="height: 1.0rem"></div>
  107. {/if}
  108. </div>
  109. <quick-menu></quick-menu>
  110. </div>
  111. {/block}
  112. {block name='foot'}
  113. <script>
  114. var pink_id={$pink_id},is_help = {$is_help},wechat_qrcode = '{$subscribeQrcode}';
  115. window.overallShare=false;
  116. require(['vue','helper','store','{__WAP_PATH}zsff/js/quick.js'],function(Vue,$h,app) {
  117. new Vue({
  118. el: '#app',
  119. data: {
  120. special:{},
  121. pinkT:{},
  122. pinkAll:[],
  123. count:0,
  124. hour:"00",
  125. minute:"00",
  126. second:"00",
  127. shares:false,
  128. datatime:0,
  129. pinkBool:0,
  130. userBool:0,
  131. min:2,
  132. is_help:is_help,
  133. wechat_qrcode:wechat_qrcode,
  134. is_code: true,
  135. },
  136. methods:{
  137. goPosterShow:function(){
  138. return $h.U({c:'special',a:'poster_show',q:{special_id:this.special.id,pinkId:pink_id,is_help:is_help}});
  139. },
  140. getTashUrl:function(id,isAtn){
  141. return $h.U({c:'special',a:'details',q:{id:id}})+(isAtn ? '#tash' : '');
  142. },
  143. getPinkInfo:function () {
  144. var that=this;
  145. app.baseGet($h.U({c:'special',a:'get_pink_info',q:{pinkId:pink_id}}),function (res) {
  146. var data=res.data.data;
  147. that.$set(that,'pinkT',data.pinkT);
  148. that.$set(that,'pinkAll',data.pinkAll);
  149. that.$set(that,'special',data.special);
  150. that.count=data.count < 0 ? 0 : data.count;
  151. that.pinkBool=data.pinkBool;
  152. that.userBool=data.userBool;
  153. that.datatime=data.pinkT.stop_time;
  154. that.show_time();
  155. mapleWx($jssdk(), function () {
  156. this.onMenuShareAll({
  157. title:'仅差'+that.count+'人拼课成功! ['+that.special.title+']' ,
  158. desc: that.special.abstract,
  159. imgUrl: that.special.image,
  160. link: that.special.link
  161. });
  162. });
  163. },function (msg) {
  164. $h.pushMsgOnce(msg,function () {
  165. window.location.href=$h.U({c:'my',a:'order_list'});
  166. })
  167. },true);
  168. },
  169. show_time:function(){
  170. var that = this;
  171. function nowTime() {
  172. var intDiff = that.datatime - Date.parse(new Date()) / 1000;
  173. var days = 0, hour = 0, minute = 0, second = 0;
  174. if (intDiff > 0) {
  175. hour = Math.floor(intDiff / (60 * 60)) - (days * 24);
  176. minute = Math.floor(intDiff / 60) - (hour * 60);
  177. second = Math.floor(intDiff) - (hour * 60 * 60) - (minute * 60);
  178. if (hour <= 9) hour = '0' + hour;
  179. if (minute <= 9) minute = '0' + minute;
  180. if (second <= 9) second = '0' + second;
  181. that.hour=hour;
  182. that.minute=minute;
  183. that.second=second;
  184. } else {
  185. that.hour="00";
  186. that.minute="00";
  187. that.second="00";
  188. clearInterval(timer);
  189. }
  190. }
  191. nowTime();
  192. var timer = setInterval(nowTime, 1000);
  193. }
  194. },
  195. mounted:function () {
  196. this.getPinkInfo();
  197. }
  198. })
  199. })
  200. </script>
  201. {/block}