| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 | // pages/couponCenter/couponCenter.jsvar http = require("../../utils/http.js");var config = require("../../utils/config.js");var util = require('../../utils/util.js');Page({  /**   * 页面的初始数据   */  data: {    couponList: [], // 通用券列表    prodCouponList: [], // 商品券列表    selectedCouponId:0, // 要领取的优惠券id    current: 1, // 当前页数    pages: 1, // 总页数  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function(options) {    //获取通用列表  },  /**   * 生命周期函数--监听页面初次渲染完成   */  onReady: function() {  },  /**   * 生命周期函数--监听页面显示   */  onShow: function() {    this.getCouponList();    this.getProdCouponList(1);  },  /**   * 生命周期函数--监听页面隐藏   */  onHide: function() {  },  /**   * 生命周期函数--监听页面卸载   */  onUnload: function() {  },  /**   * 页面相关事件处理函数--监听用户下拉动作   */  onPullDownRefresh: function() {  },  /**   * 页面上拉触底事件的处理函数   */  onReachBottom: function() {  },  /**   * 用户点击右上角分享   */  onShareAppMessage: function() {  },  /**   * 获取通用列表   */  getCouponList() {    var params = {      url: "/p/myCoupon/generalCouponList",      method: "GET",      callBack: (res) => {        this.initCouponCanGoUseFlag(res)        this.setData({          couponList: res        });      }    };    http.request(params);  },  /**   * 获取指定商品券   */  getProdCouponList(cur) {    var params = {      url: "/p/myCoupon/getCouponPage",      method: "GET",      data: {        current: cur,        size: 20,      },      callBack: (res) => {        this.initCouponCanGoUseFlag(res.records)        let list = []        if (res.current == 1) {          list = res.records        } else {          list = this.data.prodCouponList          list = list.concat(res.records)        }        this.setData({          prodCouponList: list,          pages: res.pages,          current: res.current        });      }    };    http.request(params);  },  /**   * 初始化优惠券去可以使用的标记   */  initCouponCanGoUseFlag(couponList){    couponList.forEach(coupon => {      coupon.canGoUse = (coupon.curUserReceiveCount >= coupon.limitNum)    });  },  /**   * 设置优惠券去可以使用的标记   */  setCouponCanGoUseFlag(index, couponType) {    if (couponType == 1) {      var tempCouponList = this.data.couponList      tempCouponList[index].canGoUse = true      tempCouponList[index].stocks -= 1      this.setData({        couponList: tempCouponList      })    } else if (couponType == 2) {      var tempCouponList = this.data.prodCouponList      tempCouponList[index].canGoUse = true      tempCouponList[index].stocks -= 1      this.setData({        prodCouponList: tempCouponList      })    }  },  /**   * 立即领取   */  receiveCoupon(e) {    this.setData({      selectedCouponId: e.currentTarget.dataset.couponid    })    util.checkAuthInfo(()=>{      var ths = this      if (ths.data.selectedCouponId) {        wx.showLoading();        http.request({          url: "/p/myCoupon/receive",          method: "POST",          data: ths.data.selectedCouponId,          callBack: (data) => {            wx.hideLoading();            wx.showToast({              title: '领券成功',              icon: 'success',              duration: 2000            })            this.setCouponCanGoUseFlag(e.currentTarget.dataset.couponindex,e.currentTarget.dataset.coupontype)          }        })      }    })  },  /**   * 立即使用   */  useCoupon(e) {    let url = '/pages/prod-classify/prod-classify?sts=4';    let couponId = e.currentTarget.dataset.couponid;    var title = "优惠券活动商品";    var prodList = e.currentTarget.dataset.prodlist    if (prodList && prodList.length == 1) {      wx.navigateTo({        url: '/pages/prod/prod?prodid=' + prodList[0].prodId      })    }else {      if (couponId) {        url += "&tagid=" + couponId + "&title=" + title;      }      wx.navigateTo({        url: url      })    }  },    /**   * 页面上拉触底事件的处理函数   */  onReachBottom: function () {    if (this.data.current < this.data.pages) {      this.getProdCouponList(this.data.current + 1);    }  },})
 |