Page({ /** * 页面的初始数据 */ data: { parentId : '', //分享者ID address : '', //默认收货地址 allAddress : '', //收货地址列表 groupId : '', //权益id detail : '', //权益详情 amount : '', //总金额 moreAmount : '', //产品金额 score : '', //应付总积分 freight : '', //运费 num : 1, //购买的数量 content : '', //内容介绍 notification: '', //重要提示 remark : '', //使用须知 noticeShow : true, //须知显示状态 addressShow : false, //收货地址显示 getType : '', //是否显示自提 platIndex : 0, //选择提交方式下标 isdeliver : -1, platformCp : [], //选择提交数组 pointMoreShow: false, from : '', typeNo : '', uniUrl : '', //跳转h5页面 openid : '', webShow : false, rightsTap : false, disabled : false, payWayIndex : 0, payWay :[ {value: 0, name: "微信支付"}, {value: 1, name: "沃钱包支付"} ] }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.setData({ groupId : options.rightsId || options.id, typeWeb : options.type, getType : options.getType, openid : options.openid || '', parentId : options.parentid || '' }) // 获取详情 this.rightsInfo(); }, /** * 生命周期函数--监听页面显示 */ onShow() {}, /** * 详情 */ rightsInfo() { wx.$api.index.rightShow(this.data.groupId, this.data.address.id, this.data.num, this.data.isdeliver).then(res=>{ let obj = res.data.detail.express let defGet = res.data.detail.def_get let arr = new Array arr = Object.keys(obj).map(val=>{ return { ...obj[val], ...{key: val} } }) if(this.data.isdeliver == -1){ if(res.data.detail.type == 'physical') { this.setData({ isdeliver : res.data.detail.def_get }) } if(res.data.detail.type == 'virtual') this.setData({isdeliver : 1}) } this.setData({ address : res.data.address, allAddress : res.data.all_address, detail : res.data.detail, num : res.data.num, freight : res.data.freight, platformCp : arr, from : res.data.detail.from, amount : res.data.total, moreAmount : res.data.amount, score : res.data.score, typeNo : res.data.detail.type_no, remark : res.data.detail.remark.replace(/\{ this.setData({ uniUrl : encodeURIComponent(res.data) }) }).catch(err => {}); } } }).catch(err=>{}) }, /** * 商品数量加减 */ goodsNumber(e){ let num = this.data.num if (e.currentTarget.dataset.type == 'plus'){ num ++; }else{ if (num > 1){ num --; }else{ wx.showToast({ title : '商品数量不能小于1', icon : 'none' }) } } this.setData({ num : num }) // 获取详情 this.rightsInfo() }, /** * 输入商品数量 */ goodsNumberInput(e){ let goodsNum = e.detail.value if (goodsNum > 0){ this.setData({ num : goodsNum }) }else{ wx.showToast({ title : '商品数量不能小于1', icon : 'none' }) this.setData({ num : goodsNum }) } // 获取详情 this.rightsInfo() }, /** * 须知展开收起状态 */ noticeTap() { this.setData({ noticeShow : !this.data.noticeShow }) }, /** * 选择提交方式 */ platBind(e) { this.setData({ platIndex : e.detail.value, isdeliver : this.data.platformCp[e.detail.value].value }) // 获取详情 this.rightsInfo() }, /** * 收货地址弹出 */ addressTap() { this.setData({ addressShow : true }) }, /** * 收货地址收起 */ addressHide() { this.setData({ addressShow : false }) }, /** * 选择收货地址 */ selectAddress(e){ let new_addressId = e.currentTarget.dataset.id, addressId = this.data.address.id if (new_addressId != addressId) { this.setData({ address : e.currentTarget.dataset.index, addressShow : false }) }else{ this.setData({ addressShow : false }) } // 获取详情 this.rightsInfo() }, /** * 普通商品支付提交 */ ordinary() { this.submitOrder(); this.setData({ disabled : true }) }, /** * 只有银联商品获取 */ unionOrder() { // 更新openid wx.$api.index.unionCode(this.data.openid).then(res=>{}) this.submitOrder(); }, /** * 支付选择 */ payBind(e) { this.setData({ payWayIndex: e.detail.value }) }, /** * 支付提交 */ submitOrder() { if(this.data.isdeliver.length == 0) { this.setData({ isdeliver: this.data.detail.def_get }) } let right_id = this.data.detail.right_id, address_id = this.data.address.id, is_deliver = this.data.isdeliver, qty = this.data.num, parent_id = this.data.parentId wx.$api.index.rightStore(right_id, address_id, is_deliver, qty, parent_id).then(res=>{ if(res.data.canPay == false) { wx.showToast({ title : '支付成功', icon : 'success', duration: 2000 }) setTimeout(()=>{ if(this.data.isdeliver == 1) { wx.reLaunch({ url: '/pages/order/order?orderType=rightsCoupons' }) } else { wx.reLaunch({ url: '/pages/order/order?orderType=rights' }) } },3000) this.setData({ rightsTap: true }) }else { // 跳转收银台 wx.navigateTo({ url: "/pages/cashier/cashier?trade_no=" + res.data.trade_no + "&amount=" + this.data.amount + "&is_deliver=" + is_deliver + "&pay_type=rightsPay" }) } }).catch(err => {}); }, /** * 新增收货地址 */ addSelect() { wx.navigateTo({ url: '/pages/address/address?type=selectAddress' }) this.setData({ addressShow : false }) }, /** * 重要提示显示 */ pointMoreTap() { this.setData({ pointMoreShow : !this.data.pointMoreShow }) } })