index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <template>
  2. <view v-if="isShow">
  3. <view class="act-list" v-if="pageList && pageList.length > 0">
  4. <view class="li" v-for="(item, index) in pageList" :key="index" @click="toActivity(item)">
  5. <view class="imgbox"><image :src="item.pic" mode="aspectFill"></image></view>
  6. <view class="infos fflex">
  7. <view class="act-tit tovers">{{ item.title }}</view>
  8. <view class="stas ddflex">
  9. <view class="fflex">
  10. <view class="tag-box tovers">{{ item.brief }}</view>
  11. <view class="area">
  12. <block v-if="item.state < 4">报名截止时间:{{ item.enlistEndTime }}</block>
  13. <block v-else>活动结束时间:{{ item.endTime }}</block>
  14. </view>
  15. <!-- <view class="money" v-if="userinfovip.levelGrade>0&& !userinfovip.end"><text>¥</text>{{item.vipMoney}}</view>
  16. <view class="money" v-else><text>¥</text>{{item.money}}</view> -->
  17. </view>
  18. <view class="act-btn" @click.stop="jumpUrl('/match/activity/activity')" v-if="item.isEnlist">查看报名</view>
  19. <block v-else>
  20. <view class="act-btn" @click.stop="toActivity(item)" v-if="item.state == 2">我要报名</view>
  21. <view class="act-btn" @click.stop="toActivity(item)" v-if="item.state == 3">报名结束</view>
  22. <view class="act-btn" @click.stop="toActivity(item)" v-if="item.state == 4">活动中</view>
  23. <view class="act-btn end" @click.stop="toActivity(item)" v-if="item.state == 5">活动结束</view>
  24. </block>
  25. </view>
  26. </view>
  27. </view>
  28. </view>
  29. <view class="nodata" v-else>
  30. <image :src="picUrlss + 'empty_dd.png'"></image>
  31. <text>暂无记录~</text>
  32. </view>
  33. </view>
  34. </template>
  35. <script>
  36. const req = require('../../utils/request.js');
  37. const api = require('../../utils/api.js');
  38. const util = require('../../utils/util.js');
  39. const app = getApp();
  40. export default {
  41. components: {},
  42. data() {
  43. return {
  44. picUrlss: req.public.picUrls,
  45. isShow: false,
  46. pageList: [],
  47. isLoad: true,
  48. form: {
  49. page: 1,
  50. limit: 10
  51. },
  52. isLogin: false,
  53. userinfovip: {}
  54. };
  55. },
  56. onLoad() {},
  57. onShow() {
  58. this.isLogin = req.isAuth();
  59. this.getPageList(true);
  60. if (this.isLogin) {
  61. this.getuserVip();
  62. }
  63. },
  64. onReachBottom: function() {
  65. this.form.page++;
  66. this.getPageList(false);
  67. },
  68. onShareAppMessage() {
  69. },
  70. onShareTimeline() {
  71. },
  72. methods: {
  73. jumpUrl(url) {
  74. if (!req.isLogins(true)) {
  75. return;
  76. }
  77. uni.navigateTo({
  78. url: url
  79. });
  80. },
  81. getPageList(isShow) {
  82. if (!this.isLoad) return false;
  83. this.isLoad = false;
  84. let form = this.form;
  85. if(req.getStorage("shareId")){
  86. form.shareSaleNo = req.getStorage("shareId")
  87. }
  88. uni.showLoading();
  89. req.getRequest(
  90. '/api/match/list',
  91. form,
  92. res => {
  93. this.isShow = true;
  94. if (res && res.length == 10) {
  95. this.isLoad = true;
  96. }
  97. if (this.form.page > 1) {
  98. res = this.pageList.concat(res);
  99. }
  100. this.pageList = res;
  101. uni.hideLoading();
  102. },
  103. isShow
  104. );
  105. },
  106. getuserVip() {
  107. req.getRequest('/api/user/levelDetails', {}, data => {
  108. let expireTime = Array;
  109. if (data.expireTime) {
  110. expireTime = data.expireTime.split(' ');
  111. data.expireTime = data.expireTime.replace(/-/g, '/');
  112. } // 解决苹果不兼容---日期
  113. let nowTime = new Date().getTime();
  114. let endTime = new Date(data.expireTime).getTime();
  115. let times = parseInt((endTime - nowTime) / 1000); // var expireTime= new Date(data.expireTime)
  116. // console.log(times, nowTime, endTime, data.expireTime);
  117. this.userinfovip = data;
  118. if (times <= 0) {
  119. this.userinfovip.end = true;
  120. } else {
  121. this.userinfovip.end = false;
  122. }
  123. });
  124. },
  125. toActivity(item) {
  126. uni.navigateTo({
  127. url: '/match/activityDetail/activityDetail?id=' + item.id
  128. });
  129. }
  130. }
  131. };
  132. </script>
  133. <style>
  134. @import './index.css';
  135. </style>