123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- // nova-werun/pages/activity/index.js
- const Parse = getApp().Parse;
- const company = getApp().globalData.company;
- const uid = Parse.User.current()?.id
- const 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 // 目标页面的路径
- });
- },
- })
|