index.js 3.57 KB
// pages/taocan/index.js
import util from '../../utils/util';
import App from '../../utils/api';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    current:0,
    activityId:'',
    packs:{},
  },
  activityId:'',
  /**
   * 生命周期函数--监听页面加载
   * sid  商家id
   * pid  套餐id
   */
  onLoad: function (options) {
    this.activityId=options.pid
    App.Foodset.GetFoodsetList({sid:options.sid}).then(res=>{
      let packs={}
      res.data.some(r=>{
        r['包间可用']=r.service.indexOf('包间可用')>-1;
        r['免预约']=r.service.indexOf('免预约')>-1;
        r['随时退']=r.service.indexOf('随时退')>-1;
        r.sid=this.data.sid
        packs[r.id]=r
      })
      do{
        packs[Math.random()]={}
      }while(Object.keys(packs).length<3)
      if(!packs[this.activityId]){
        util.toast('套餐已下架','none')
        this.activityId=res.data[0].id
      }
      this.setData({
        packs:packs,
        activityId:this.activityId,
        current:this.getCurrent(this.activityId,packs)
      })
      this.getActivityDetail()
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  getCurrent(id,packs){
    let ps=Object.keys(packs)
    let index=ps.indexOf(id)
    let length=ps.length;
    let current=0
    if(index>length-3){
      current=length-3;
    }else{
      current=index>0?(index-1):0
    }
    return current>0?current:0
  },
  touchTab(e){
    let activityId=util.attr(e,'id')
    if(!activityId) return;
    this.activityId=activityId
    let obj={
      activityId:this.activityId,
    }
    let id=util.attr(e,'id')
    obj.current=this.getCurrent(id,this.data.packs)
    this.setData(obj)
    this.getActivityDetail();
  },
  swiperChange(e){
    console.log(e)
    if(e.detail.source!='touch') return;
    this.setData({
      current:e.detail.current
    })
  },
  toggleRule(){
    this.setData({
      hasShowRule:!this.data.hasShowRule,
    })
  },
  getActivityDetail(){
    let packs=this.data.packs
    if(!packs[this.activityId].operator){
      App.Foodset.GetFoodsetDetail({fid:this.activityId}).then(res=>{
        packs[this.activityId]={...packs[this.activityId],...res.data}
        this.setData({
          packs:packs,
        })
      })
    }
  },
  createSaleIng:false,
  createSale(){
    this.createSaleIng=true
    let pack=this.data.packs[this.activityId]
    App.PayOnline.JsApiPay({
      pay_type:1,
      fid:this.activityId,
      sid:pack.sid,
    }).then(res=>{
      this.createSaleIng=false
      if(res.ret==200){
        let order_id=res.data.order_id
        res.data.timeStamp+=""
        wx.requestPayment({
          ...res.data,
          success:res=>{
            util.toast('支付成功')
            setTimeout(()=>{
              wx.navigateTo({
                url:'/pages/taocan/order?id='+order_id,
              })
            },1000)
          },
        })
      }else{
        util.toast(res.msg,'none')
      }
    }).catch(res=>{
      this.createSaleIng=false
    })
  },
})