// pages/order/scene/index.js let app = getApp() import util from "../../../utils/util" import commonApi from "../../../utils/https/common" Page({ /** * 页面的初始数据 */ data: { product:app.globalData.product, productNum:1, linkmanList:[], skuIndex:0, type:0, address:null, postFee:0, coupon:null }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if(!app.globalData.product){ util.back(); return; } this.couponCom = this.selectAllComponents("#coupon")[0]; this.setData({ product:app.globalData.product }) if(app.globalData.product.product.sku[0].sku_model.fetch_type=='post'){ this.setData({ type:1 }) } }, changeType:function(e){ if(e.currentTarget.dataset.type==this.data.type) return; this.setData({ type:e.currentTarget.dataset.type, linkmanList:[], address:null }) if(this.data.coupon){ wx.showToast({ title: '订单价格发生变化,请重新选择优惠券', icon: 'none' }) this.couponCom.setNullCoupon() app.globalData.couponInfo = null; this.setData({ coupon:null }) } }, setSku:function(e){ let skuIndex = e.currentTarget.dataset.index; if(skuIndex==this.data.skuIndex) return; this.setData({ skuIndex:skuIndex }) if(this.data.coupon){ wx.showToast({ title: '订单价格发生变化,请重新选择优惠券', icon: 'none' }) this.couponCom.setNullCoupon() app.globalData.couponInfo = null; this.setData({ coupon:null }) } }, setLinkman:function(e){ let linkmanList = e.detail; this.setData({ // productNum:linkmanList.length==0?1:linkmanList.length, linkmanList:linkmanList }) }, setAddress:function(e){ this.setData({ address:e.detail, postFee:0 }) this.getPostFee() }, add:function(){ if(this.data.product.sku.sku_model.traveller_limit_num!=0 && this.data.productNum==this.data.product.sku.sku_model.traveller_limit_num){ wx.showToast({ title: '本产品单笔限购'+this.data.product.sku.sku_model.traveller_limit_num+"份", icon:'none' }) return; } this.setData({ productNum:this.data.productNum+1 }) this.getPostFee() }, minus:function(){ this.setData({ productNum:this.data.productNum>1?(this.data.productNum-1):1 }) if(this.data.coupon){ wx.showToast({ title: '订单价格发生变化,请重新选择优惠券', icon: 'none' }) this.couponCom.setNullCoupon() app.globalData.couponInfo = null; this.setData({ coupon:null }) } this.getPostFee() }, getPostFee:function(){ if(!this.data.address) return; commonApi.user_post("order/get_post_price",{ sku_id:this.data.product.sku.id, num:this.data.productNum, consignee_id:this.data.address.id }).then(res=>{ if(res.data.price<0) { wx.showToast({ title: '该地区不发货', icon:'none' }) res.data.price = 0; }; if(res.data.price!=this.data.postFee && this.data.coupon){ wx.showToast({ title: '订单价格发生变化,请重新选择优惠券', icon: 'none' }) this.couponCom.setNullCoupon() app.globalData.couponInfo = null; this.setData({ coupon:null }) } this.setData({ postFee:res.data.price }) }) }, order:function(){ let linkmanList = this.data.linkmanList,productNum = this.data.productNum,product = this.data.product,visitors=[]; if(linkmanList.length{ visitors.push(item.id) }) let data = { source:"WECHATXCX", coupon_id:this.data.coupon?this.data.coupon.id:null, product_list:[{ type:product.product.type, product_id:product.product.id, sku_id:product.sku.id, product_num:productNum, recharge:product.sku.sku_model.recharge[this.data.skuIndex] || 0, visitors:visitors.join(","), post:this.data.type==0?'':this.data.address.id, fetch_type:this.data.type==0?'selffetch':'post' }] } if(app.globalData.retailId){ data.commission_code = app.globalData.retailId; app.globalData.retailId = null; } if(app.globalData.from){ data.system_name = app.globalData.from; } if(app.globalData.category_id){ data.category_id = app.globalData.category_id; } commonApi.user_post("order/create",{ data:JSON.stringify(data) }).then(res=>{ console.log(res) }) }, //获取最高优惠券 getNewCoupon(e){ this.setData({ coupon:e.detail }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { this.setData({ coupon:app.globalData.couponInfo }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { } })