// pages/confirmOrder/index.js const app = getApp(); import { getCurrentPageUrl } from './../../utils/util.js' let id = ''; let venueId = ''; let venueType = ''; Page({ /** * 页面的初始数据 */ data: { count: 1, lessonOrder: {}, memberCard: {}, memberCardNum: 0, showUnclickMask: false, memberCardList: [], showCardPopup: false, isWxLogin: false, payType: 2 }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { id = options.id; venueId = options.venueId; venueType = options.venueType; this.getData(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function() { }, /** * 生命周期函数--监听页面显示 */ onShow: function() { this.setData({ showUnclickMask: false }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { return { title: '智慧云馆' } }, // 选择会员卡 selectMembershipCard() { if (this.data.memberCardNum == 0) { return; } this.setData({ showCardPopup: true }) }, // 增加数量 add() { if (this.data.count >= (this.data.lessonOrder.num - this.data.lessonOrder.saleNum)) { wx.showToast({ title: '库存不足', icon: 'none', duration: 2000, }) return; } if (this.data.memberCard.cardType) { wx.showToast({ title: '使用会员卡仅能预约一人', icon: 'none', duration: 2000, }) return; } if (this.data.count >= 4) { wx.showToast({ title: '每单最多预约四人', icon: 'none', duration: 2000, }) return; } if (this.data.count >= 1 && this.data.lessonOrder.price == 0) { wx.showToast({ title: '免费课程仅能预约一人', icon: 'none', duration: 2000, }) return; } this.setData({ count: ++this.data.count }) }, // 减少人数 sub() { if (this.data.count == 1) { return; } this.setData({ count: --this.data.count }) }, // 确认订单 confirmOrder() { let that = this; this.setData({ showUnclickMask: true }) wx.showLoading({ title: '加载中...', }) if (this.data.memberCard.cardType) { app.$api.memberLessonTicketOrderMemberCard({ lessonId: id, memberCardId: this.data.memberCard.id, num: this.data.count }).then(res => { wx.showToast({ title: '预约成功', icon: 'success', duration: 2000 }) setTimeout(function() { that.setData({ showUnclickMask: false }) wx.redirectTo({ url: '/pages/myBookings/index?orderSn=' + res.orderSn, }) }, 2000) }, err => { that.setData({ showUnclickMask: false }) }) } else { app.$api.memberLessonTicketOrderWX({ lessonId: id, num: this.data.count, type:this.data.payType }).then(res => { if (!res.pay.time_stamp) { wx.showToast({ title: '预约成功', icon: 'success', duration: 2000 }) setTimeout(function() { that.setData({ showUnclickMask: false }) wx.redirectTo({ url: '/pages/myBookings/index?orderSn=' + res.pay.orderSn, }) }, 2000) return; } app.$pay.wxPay(res.pay).then(data => { setTimeout(function() { that.setData({ showUnclickMask: false }) wx.redirectTo({ url: '/pages/myBookings/index?orderSn=' + res.pay.orderSn, }) }, 2000) }, err => { console.log("SSSSS") wx.showToast({ title: '取消支付,预约失败', icon: 'none' }) this.setData({ showUnclickMask: false }) }); }, err => { this.setData({ showUnclickMask: false, }) if (err.data.err_code == 30022) { this.setData({ isWxLogin: true, isShowBuyVip: false }) } }) } }, getData() { wx.showLoading({ title: '加载中...', }) app.$api.venueLessonOrder({ lessonId: id, venueId: venueId, venueType: venueType }).then(res => { for (let i = 0; i < res.memberCard.length; i++) { if (res.memberCard[i].status == 1 && res.memberCard[i].cardFlg == 0) { this.data.memberCard = res.memberCard[i]; } if (res.memberCard[i].cardFlg == 0) { this.data.memberCardNum++; } res.memberCard[i].startTime = res.memberCard[i].startTime.split(' ')[0]; res.memberCard[i].endTime = res.memberCard[i].endTime.split(' ')[0]; } this.setData({ lessonOrder: res.lessonOrder, memberCardList: res.memberCard, memberCard: this.data.memberCard, memberCardNum: this.data.memberCardNum }) }, err => { }) }, // 隐藏会员卡弹框 cencalCardBox() { this.setData({ showCardPopup: false }) }, unTap() { return; }, unUserCard() { this.setData({ memberCard: {}, showCardPopup: false }) }, // 选择会员卡 changeCard(e) { let id = e.currentTarget.dataset.id; let obj = {}; for (let i = 0; i < this.data.memberCardList.length; i++) { if (id == this.data.memberCardList[i].id) { obj = this.data.memberCardList[i] } } this.setData({ memberCard: obj, showCardPopup: false, count: 1 }) }, // 取消授权登录 cancelDeleteDialog() { this.setData({ isWxLogin: false }) }, // 授权微信 getUserInfo(e) { console.log(e.detail); app.$pay.payWxLoing(e.detail).then(res => { wx.showToast({ title: '绑定成功', duration: 2000, }) this.setData({ isWxLogin: false }) }, err => { this.setData({ isWxLogin: false }) }) }, // 选中支付方式 changePayType(e) { this.setData({ payType: e.currentTarget.dataset.type }) } })