order_verify.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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"}
  13. <style>
  14. body {
  15. background: #F5F5F5;
  16. }
  17. </style>
  18. {/block}
  19. {block name="content"}
  20. <div v-cloak id="app" class="activity-verify">
  21. <div class="one">
  22. <div v-if="order.status==0">待核销</div>
  23. <div v-else-if="order.status==1">已核销</div>
  24. <div>报名成功,请在活动时间内到活动地点核销</div>
  25. </div>
  26. <div class="two" @click="activityDetails(activity.id)">
  27. <div>
  28. <img :src="activity.image">
  29. </div>
  30. <div>
  31. <div v-text="activity.title"></div>
  32. <div>¥<span>{{activity.price}}</span></div>
  33. </div>
  34. </div>
  35. <div class="three">
  36. <div>核销信息</div>
  37. <div>
  38. <div>
  39. <div>活动时间:</div>
  40. <div>{{ activity.start_time | timeFormat }}至{{ activity.end_time | timeFormat }}</div>
  41. </div>
  42. <div>
  43. <div>活动地址:</div>
  44. <div>{{activity.province}}{{activity.city}}{{activity.district}}{{activity.detail}}</div>
  45. </div>
  46. <div>
  47. <div>活动状态:</div>
  48. <div v-if="activity.statu == 0 || activity.statu == 1 || activity.statu == 2">活动未开始</div>
  49. <div v-else-if="activity.statu == 3">活动已开始</div>
  50. <div v-else-if="activity.statu == 4">活动已结束</div>
  51. </div>
  52. <div>
  53. <div>核销状态:</div>
  54. <div v-if="order.status == 0">未核销</div>
  55. <div v-else-if="order.status == 1">已核销</div>
  56. </div>
  57. <div class="qrcode">
  58. <div>
  59. <img :src="order.write_off_code">
  60. </div>
  61. <div>券码 {{ order.code }}</div>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="four">
  66. <div>订单信息</div>
  67. <div>
  68. <div v-for="item in userInfo">
  69. <div>{{ item.event_name }}:</div>
  70. <div>{{ item.event_value }}</div>
  71. </div>
  72. <div>
  73. <div>人数:</div>
  74. <div>{{ order.number }}人</div>
  75. </div>
  76. <div>
  77. <div>订单编号:</div>
  78. <div>{{order_id}}</div>
  79. </div>
  80. <div>
  81. <div>支付时间:</div>
  82. <div>{{order.add_time | timeFormat}}</div>
  83. </div>
  84. <div>
  85. <div>支付金额:</div>
  86. <div>¥{{order.pay_price}}</div>
  87. </div>
  88. </div>
  89. </div>
  90. <quick-menu></quick-menu>
  91. </div>
  92. {/block}
  93. {block name="foot"}
  94. <script>
  95. var orderId="{$order_id}";
  96. require(['vue', 'store', 'helper', 'moment', '{__WAP_PATH}zsff/js/quick.js'], function (Vue, store, $h, moment) {
  97. new Vue({
  98. el: '#app',
  99. filters: {
  100. timeFormat: function (value) {
  101. if (!value) {
  102. return '--';
  103. }
  104. return moment(value * 1000).format('YYYY-MM-DD HH:mm');
  105. }
  106. },
  107. data: {
  108. order: {},
  109. activity: {},
  110. order_id: orderId,
  111. status: 0,
  112. userInfo: []
  113. },
  114. mounted: function () {
  115. this.getActivitySign();
  116. if(this.status==0) {
  117. setInterval(this.orderStatus, 60000);
  118. }
  119. },
  120. methods: {
  121. orderStatus:function(){
  122. var vm = this;
  123. store.baseGet($h.U({
  124. c: 'activity',
  125. a: 'orderStatus',
  126. q: {
  127. order_id: vm.order_id
  128. }
  129. }),function (res) {
  130. if (res.data.data == 1) {
  131. window.location.assign("{:url('wap/my/sign_list')}");
  132. }
  133. });
  134. },
  135. getActivitySign: function () {
  136. var vm = this;
  137. store.baseGet($h.U({
  138. c: 'activity',
  139. a: 'activitySignIn',
  140. q:{
  141. order_id: this.order_id
  142. }
  143. }),function (res) {
  144. var data = res.data.data;
  145. vm.order = data;
  146. vm.activity = data.activity;
  147. vm.status = data.status;
  148. vm.userInfo = JSON.parse(data.user_info);
  149. });
  150. },
  151. activityDetails: function (id) {
  152. window.location.assign($h.U({
  153. c: 'special',
  154. a: 'activity_details',
  155. q: {
  156. id: id
  157. }
  158. }));
  159. }
  160. }
  161. });
  162. });
  163. </script>
  164. {/block}