| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | // nova-werun/pages/activity/index.jsconst Parse = getApp().Parse;const company = getApp().globalData.company;const uid = Parse.User.current()?.idconst dateF = require("../../../utils/date")Page({  /**   * 页面的初始数据   */  data: {    activtList: [],  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {    this.getActivity()  },   /**判断用户参与活动状态 */   async getActStatus(activity, query, count) {    let now = new Date()    if (now > activity.get('endDate')) {      return {        title: '已结束',        isCanSign: false      }    }    if (!activity.get('isEnabled')) {      return {        title: '未开启',        isCanSign: false      }    }    if (activity.get('signFromTo')?.fromDate && now < activity.get('signFromTo').fromDate) {      return {        title: '未到报名时间',        isCanSign: false      }    }    if (activity.get('signFromTo')?.toDate && now >= activity.get('signFromTo').toDate) {      return {        title: '报名时间已过',        isCanSign: false,      }    }    query.equalTo('user', uid)    let aRegister = await query.first()    if (aRegister?.id) {      return {        title: '已报名',        isCanSign: false,        isCanRevise: true      }    }    if (activity.get('merber') >= 0 && count >= activity.get('merber')) {      return {        title: '人数已满',        isCanSign: false      }    }    return {      title: '可报名',      isCanSign: true    }  },  /** 获取前五个活动*/  async getActivity() {    let {      activtList,      count    } = this.data    if (count && activtList.length >= count) {      wx.showToast({        title: '已加载全部',        icon: 'none',        duration: 500      })      return    }    let query = new Parse.Query('Activity')    query.equalTo('company', company)    query.notEqualTo('isDeleted', true)    query.notEqualTo('isHidden', true)    query.ascending('index')    count = await query.count()    query.limit(20)    query.skip(activtList?.length)    let list = await query.find()    let aList = []    if (Array.isArray(list)) {      for (let i in list) {        let query = new Parse.Query('ActivityRegister')        query.notEqualTo('isDeleted', true)        query.equalTo('activity', list[i].id)        query.equalTo('isPay', true)        query.equalTo('isChecked', true)        let count = await query.count()        let tip = await this.getActStatus(list[i], query, count)        let obj = list[i].toJSON()        obj.tip = tip        obj['resgisterCount'] = count        obj.startDate = dateF.formatTime("YYYY.mm.dd HH:MM", obj.startDate?.iso)        obj.endDate = dateF.formatTime("YYYY.mm.dd HH:MM", obj.endDate?.iso)        if (obj.signFromTo?.from && obj.signFromTo?.to) {          obj.signFromTo.from = dateF.formatTime("YYYY.mm.dd HH:MM", obj.signFromTo?.from?.iso)          obj.signFromTo.to = dateF.formatTime("mm.dd HH:MM", obj.signFromTo?.to?.iso)        }        activtList.push(obj)      }    }    this.setData({      activtList,      count    })  },  /**   * 生命周期函数--监听页面初次渲染完成   */  onReady: function () {  },  /**   * 生命周期函数--监听页面显示   */  onShow: function () {  },  /**   * 生命周期函数--监听页面隐藏   */  onHide: function () {  },  /**   * 生命周期函数--监听页面卸载   */  onUnload: function () {  },  /**   * 页面相关事件处理函数--监听用户下拉动作   */  onPullDownRefresh: function () {  },  /**   * 页面上拉触底事件的处理函数   */  onReachBottom: function () {    this.getActivity()  },  /**   * 用户点击右上角分享   */  onShareAppMessage: function () {  },     gourl(e) {    const url = e.currentTarget.dataset.url    const id = e.currentTarget.dataset.id    wx.navigateTo({      url: `${url}?id=` + id // 目标页面的路径    });  },})
 |