index.js 2.21 KB
// pack-activity/pages/index.js
import util from '../../utils/util';
import App from '../../utils/api';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    checkout:null,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.options=options
    this.GetBalance()
  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.GetCheckout()
    this.GetOrderInfoRun()
  },

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

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

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

  },

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

  },
  GetCheckout(){
    App.Customer.GetOrderInfo({rid:this.options.rid}).then(res=>{
      this.setData({
        checkout:res.data
      })
    })
  },
  is_wine:0,
  is_pack:0,
  checkoutData(e){
    console.log(e)
    this[util.attr(e,'type')]=util.val(e)?1:0
  },
  checkoutInit(){
    let params={
      rid:this.options.rid,
      sid:this.options.sid,
      is_wine:this.is_wine,
      is_pack:this.is_pack
    }
    App.Customer.InitOrder(params).then(res=>{
      this.GetCheckout()
    })
  },
  setInvoice(e){
    let invoice={
      orderid:this.data.checkout.id,
    }
    Object.keys(e.detail).forEach(key=>{
      invoice[key.toLowerCase()]=e.detail[key]
    })
    console.log('setInvoice',invoice)
    App.Customer.SetInvoice(invoice).then(res=>{
      util.toast('发票已提交','none')
    })
  },
  GetBalance(){//获得余额
    App.User.GetBalance().then(res=>{
      this.setData({
        user:res.data
      })
    })
  },
  GetOrderInfoInterval:null,
  GetOrderInfoRun(){
    if(!this.GetOrderInfoInterval){
      setInterval(()=>{
        this.GetCheckout()
      },15000)
    }
  },
  GetOrderInfoStop(){
    if(this.GetOrderInfoInterval){
      clearInterval(this.GetOrderInfoInterval)
      this.GetOrderInfoInterval=null
    }
  },
})