// pages/quan/quan.js const app = getApp() const util = require("../../utils/util") const urlDef = require("../../utils/urls") Page({ /** * 页面的初始数据 */ data: { status: '0', list: [ ], loading: '上拉加载', flag: 0, pageNum: 0, hasNextPage: true, switchTitle: [ '可使用', '已使用' ] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.queryList(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { if (this.data.hasNextPage) { let pn = this.data.pageNum this.setData({ loading: '加载中', 'pageNum': ++pn }) this.queryList() } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, queryList: function () { const urls = urlDef.urls; let stu = wx.getStorageSync('student'); if (stu) { let params = { 'q.studentId': stu.studentId, 'q.orgId': stu.orgId } let url = null; if (this.data.status == '0') { // 待领取 + 已领取 url = urls.coupon_receive_list; } else if (this.data.status == '2') { // 已经使 url = urls.my_coupon; params['q.status'] = '2'; } params.pageNum = this.data.pageNum util.apiPost(url, params).then(rs => { let list = rs.list this.setData({ 'hasNextPage': rs.hasNextPage, 'loading': rs.hasNextPage ? '下拉刷新' : '没有更多数据', 'list': this.data.list.concat(list) }) }) } }, changeIndex: function (e) { if (e.detail == 0) { this.setData({ status: '0' }) } else { this.setData({ status: '2' }) } this.setData({ list: [], loading: '上拉加载', pageNum: 0 }) this.queryList() }, submitCilck: function (e) {console.log(JSON.stringify(e)) const urls = urlDef.urls; let item = this.data.list[e.currentTarget.dataset.index] if (item.receiveDate) { wx.showToast({ title: '已领取过该优惠券', icon: 'none' }); return; } wx.showLoading({ title: '正在领取...', mask: true }) util.apiPost(urls.coupon_receive + '?publishId=' + item.publishId + '&couponId=' + item.couponId).then((rs) => { wx.hideLoading({}) if (rs.message) { wx.showToast({ title: rs.message, icon: 'none' }); return; } item.receiveDate = new Date(); wx.showToast({ title: '领取成功', icon: 'success' }); this.setData({ list: [], pageNum: 0 }) this.queryList(); }) } })