vipRecharge.js 6.42 KB
// pack-activity/pack/vipRecharge.js
import App from '../../utils/api';
import util from '../../utils/util'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        opt: {
            name: '',
            id:'',
            sid:'',
            oid:'',
            types:'',// 1邀请函  2提前点餐  3商家端app分享  4支付页充值  5我的页面余额充值
            rid:'',
        },
        exp_date:{},
        detail:{},
        recharge_list:{},
        StyleType:'',//邀请函模板
        multiple: '',//充值倍数
        recharge_list: {},//充值赠送信息
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log('options',{...options});
        this.setData({
            opt:{
                id:options.id,
                name:options.name,
                sid:options.sid,
                oid:options.oid,
                types:options.types,
                rid:options.rid?options.rid:'',
                StyleType:options.StyleType|| '1',
                isFree:options.isFree,
                multiple:options.multiple,
                inputValue:options.inputValue,
                totalize:options.totalize,
                consume:options.consume,
                activity_id:options.activity_id,
                givePrice:options.givePrice,
                phone_activity_id: options.phone_activity_id,
            }
        })
        console.log('onLoad',{...this.data.opt});
    },

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

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        if(this.data.opt.id) this.getDetail();
        if(this.data.opt.isFree == '1') this.getFreeMealConfigFun()
    },

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

    },
    // 获取当餐免费的配置信息
    getFreeMealConfigFun() {
        App.Activity.GetFreeMealConfigBySeller({
            sellerid: this.data.opt.sid,
        }).then(res => {
            if (res && res.data && res.data.length > 0 && res.data[0].is_open == '1') {
                let data = res.data[0];
                let list = data.recharge_list ? JSON.parse(data.recharge_list) : {}
                list.explain = data.explain;
                this.setData({
                    multiple: data.multiple,
                    recharge_list: list
                })
            } else {
                this.setData({
                    multiple: '',
                    recharge_list: {}
                })
            }
        })
    },
    getDetail(){
        App.Activity.GetNewRecharge({
			id: this.data.opt.id
		}).then(res => {
            let detail=res.data
            detail.name=this.data.opt.name
            let exp_date=res.data.exp_date?JSON.parse(res.data.exp_date):''
            let recharge_list=res.data.recharge_list?JSON.parse(res.data.recharge_list):''
            this.setData({
                detail,
                exp_date,
                recharge_list
            })
            console.log('exp_date',{...exp_date});
            console.log('recharge_list',{...recharge_list});
        })
    },
    getCouponDetail(e){
        const item= e.currentTarget.dataset['item'];
        wx.navigateTo({
          url: `./receiveCoupon?id=${item.id}&name=${this.data.opt.name}&types=5&sid=${this.data.opt.sid}`,
        })
    },
    gotoPay() {
        let url = util.http_build_query({
            type: '2',
            types: this.data.opt.types, // 1邀请函  2提前点餐  3商家端app分享 4支付页充值 5我的页面余额充值
            sid: this.data.opt.sid,
            totalize: this.data.opt.totalize,
            sellerName: this.data.opt.name,
            givePrice: this.data.opt.givePrice,
            isFree: this.data.opt.isFree,
            inputValue: this.data.opt.inputValue,
            multiple: this.data.opt.multiple,
            consume: this.data.opt.consume,
            activity_id: this.data.opt.activity_id,
            phone_activity_id: this.data.opt.phone_activity_id,
        }, './confirmPayment')
        wx.navigateTo({
            url
        })
    },
    submitOrder(){
        if(this.data.opt.isFree == '1') return this.gotoPay()
        console.log('oidoid',this.data.opt.oid);
        let detail=this.data.detail
        if(this.data.opt.oid) detail.oid = this.data.opt.oid
        App.Activity.CreateNewRechargeOrder({
            recharge_id:this.data.opt.id,
            sellerid:this.data.opt.sid,
            number:'1',
            price:this.data.detail.recharge_money,
            type:'2',
        }).then(res=>{
            if(res.ret=='200'){
                let price = this.data.recharge_list.price*1
                let url = util.http_build_query({
                    type:'2',
                    types: this.data.opt.types,// 1邀请函  2提前点餐  3商家端app分享 4支付页充值 5我的页面余额充值
                    detail: JSON.stringify(detail),
                    sid: this.data.opt.sid,
                    combine_out_trade_no:res.data.combine_out_trade_no,
                    totalize:this.data.detail.recharge_money,
                    sellerName: this.data.opt.name,
                    oid: this.data.opt.oid,
                    rid:this.data.opt.rid?this.data.opt.rid:'',
                    StyleType:this.data.opt.StyleType,
                    givePrice:price>0?price:0,
                    isFree:this.data.opt.isFree,
                }, './confirmPayment')
                wx.navigateTo({
                    url
                })
            }else{
                wx.showToast({
                    title:res.msg,
                    duration:2000,
                    mask:true
                })
            }
        })
    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

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

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {
        let data=this.data.opt;
        let detail=this.data.detail
        return {
            title:`${data.name}诚邀您参加${detail.rname},点击查看详情。`,
            path:`/pack-activity/pack/vipRecharge?id=${data.id}&name=${data.name}&oid=${data.oid}&rid=${data.rid}&sid=${data.sid}&types=${data.types}`,
            imageUrl:'https://nosqn.colorcun.com/share_recharge.png',
        }
    }
})