// pages/activityOrder/activityOrder.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        stateType   : 'all',  //状态
        counts      : '', //数量
        orderArr    : [], //列表
        page        : {}, //下一页
        lodingStats : false //加载状态
    },

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

    onShow() {
        // 获取商品活动订单
        this.orderInfo();
    },

    /**
     * 商品活动订单
     */
    orderInfo(page) {
        wx.$api.exchange.index(this.data.stateType, page).then(res=>{
            let listArr = this.data.orderArr,
                newData = []
            if(page == 1 || page == undefined) listArr = []

            newData = listArr.concat(res.data.data)
            this.setData({
                counts      : res.data.count,
                orderArr    : newData,
                page        : res.data.page,
                lodingStats : false
            })
            wx.stopPullDownRefresh()
        })
    },

    /**
     * tabs
     */
    orderTab(e){
        if(this.data.stateType != e.currentTarget.dataset.state){
            this.setData({
                stateType: e.currentTarget.dataset.state
            })

            // 获取商品活动订单
            this.orderInfo()

            wx.pageScrollTo({
                scrollTop: 0
            })
        }
    },

    /**
     * 取消订单
     */
    orderDelete(e) {
        let orderId = e.currentTarget.dataset.id
        wx.showModal({
            title   : '订单取消',
            content : '确认取消吗？',
            success : res=> {
                if (res.confirm) {
                    wx.$api.exchange.cancel(orderId).then(res=>{
                        // 获取商品活动订单
                        this.orderInfo()

                        wx.showToast({
                            title: res.data,
                            icon : 'none'
                        })
                    }) 
                } else if (res.cancel) {
                    wx.showToast({
                        title   : '取消',
                        icon    : 'loading',
                        duration: 1000
                    })
                }
            }
        }) 
    },

    /**
     * 支付提交
     */
    orderPay(e) {
        let orderid = e.currentTarget.dataset.id
        wx.$api.exchange.payments(orderid).then(res=>{
            wx.$api.index.wechat(res.data.trade_no).then(res=>{
                let payInfo = JSON.parse(res.data)
                wx.requestPayment({
                    timeStamp: payInfo.timeStamp,
                    nonceStr : payInfo.nonceStr,
                    package  : payInfo.package,
                    paySign  : payInfo.paySign,
                    signType : payInfo.signType,
                    success  : res=>{
                        if(res.errMsg == "requestPayment:ok"){
                            wx.showToast({
                                title: '支付成功',
                                icon : 'success'
                            })
                            setTimeout(()=>{
                                wx.reLaunch({
                                    url: '/pages/coupon/coupon?type=couponPublic'
                                })
                            },2000)
                        }
                    },
                    fail  : res=>{
                        wx.redirectTo({
                            url: '/pages/order/order?stateType=unpay'
                        })
                    }
                })
            })
        })
        
    },

    /**
     * 上拉加载
     */
    onReachBottom(){
        this.setData({
            lodingStats: true
        })
        let pageNumber = this.data.page.current
        if(this.data.page.has_more){
            pageNumber++
            this.orderInfo(pageNumber)
        }
    }

})