var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), s = require("../../../utils/util.js"), o = require("../../../utils/md5.js"), to = getApp(); var oo=t.globalData.setting; var regeneratorRuntime = require('../../../utils/runtime.js'); var util_pay = require("../../../utils/pay.js"); Page({ data: { url: t.globalData.setting.url, resourceUrl: t.globalData.setting.resourceUrl, imgUrl: t.globalData.setting.imghost, goods: null, order: null, orderPrices: null, coupons: null, coupon: null, invoiceToggle: !0, payWithUserMoney: !0, payWithPoints: !0, maxWord: 0, enterAddressPage: !1, firstEnter: !0, //页面获取的参数 param:null, postdata:null, //提交订单的格式 formData: { order_amount:0,//支付金额 total_amount:0,//总价 all_price:0,//商品卖的总价 pay_points: 0,//使用积分 user_money: 0,//使用余额 couponCode: "",//使用优惠券(多单就用逗号隔开) shipping_price:0,//物流费用 }, /*----------------立即购买---------------------*/ is_b_now:0, //0是购物车结算 1立即购买 bn_goods:null, //立即购买时候的调用商品 bn_use_money:0,//是否使用余额 bn_exp_type:1, //0是物流 1自提 bn_pick:0, //选择的门店 bn_pickname: "", //选择的门店名称 bn_t_exp_t:0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流 /*------------------------*/ user_addr:null,//物流 userinfo:null, //获取会员 /*----------物流选择--------*/ wu_arr:null, index:0, //判断页面是返回回来的还是 首次进入的 isclose:1, kt_type:0, //开团类型 is_pt_tz:0,//是否开团团长 qh:'', //期号 pt_listno:'',//期号 is_normal:0, is_express:0,//选择物流的控制器 }, onLoad: function(t) { console.log("onLoad_pt_cart"); var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow,}); var appD=getApp().get_b_now(); th.data.postdata=appD; //如果期号有值 if(appD.qh){ th.data.qh=appD.qh; th.data.pt_listno=appD.qh; } //th.data.kt_type=appD.kt_type; th.setData({kt_type:appD.kt_type}); if(appD.is_pt_tz) th.data.is_pt_tz=appD.is_pt_tz; th.data.param=t; //先获取物流,再获取用户信息,再展示页面 th.get_wuliu(th.get_info(th.show_page)); }, onUnload: function () { this.setData({ isclose: 1 })}, //------获取会员信息-----先获取用户信息,在进行下一步--- get_info:function(func){ var user_id = t.globalData.user_id; to.auth.get_u(func); }, //-------------------获取物流--------------- get_wuliu(func) { var th = this; console.log("getwuliu4545"); to.getwuliu(function (e) { console.log("ws"); console.log(e); th.setData({ wu_arr: e }) typeof func == "function" && func(); }) }, //------获取会员收货地址----- getuser_addr:function(func){ if (to.globalData.baddr!=null){ var user_addr = to.globalData.baddr; to.globalData.baddr=null; func(user_addr); }else{ a.get("/api/weshop/useraddress/page", { data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600 }, success: function (su) { var user_addr = su.data.data.pageData; var item = null; var def_item=null; for (var i = 0; i < user_addr.length; i++) { if (user_addr[i]['is_default'] == 1) { def_item = user_addr[i]; } if (user_addr[i]['is_pickup'] == 1) { item = user_addr[i]; } } if (item == null) item = def_item; if (item == null) item = user_addr[0]; if (item == undefined) item = null; func(item); } }); } }, //----------------展示页面,是再获取用户信息之后-------------- show_page:function(){ var th=this; th.setData({ userinfo: to.globalData.userInfo}); //获取立即购买的商品信息 th.get_buy_goods(); }, //-----获取立即购买的商品信息---- get_buy_goods: function (){ var th=this,a=getApp().request; var gg = th.data.postdata; //调用商品 a.get("/api/weshop/goods/get/" + oo.stoid+"/"+gg.goods_id, { success: function (t) { var gd = t.data.data; t.data.data.original_img = oo.imghost + t.data.data.original_img; t.data.data['buynum'] = gg.goods_num; console.log(t.data.data); var distr_t = 0, et = 0 if (t.data.data.distr_type == 0) { distr_t = gg.pick_dis; } else { distr_t = t.data.data.distr_type; } switch (distr_t) { case 0: et = 1; break; case 1: et = 1; break; case 2: et = 0; break; } t.data.data.shop_price=gg.goods_price; //--如果是普通购买的时候-- if(gg.is_normal==1){ t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal=1; th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et, bn_pick: gg.pick_id, bn_t_exp_t: distr_t, is_normal:1 }); th.calculatePrice2(); }else{ //--阶梯团很特殊,不能用总表来拿价格-- getApp().request.get("/api/weshop/teamlist/get/"+oo.stoid+"/"+gd.prom_id, { success: function (tt) { if (tt.data.code == 0) { var pt_data=tt.data.data; var now=s.gettimestamp(); if(pt_data.is_end==1){ t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal=1; }else if(now>pt_data.end_time){ t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal=1; }else{ t.data.data.shop_price = tt.data.data.price; //活动价格 t.data.data.is_normal=0; if(pt_data.kttype==3){ t.data.data.shop_price = tt.data.data.yf_price; //用定金来购买 } } } else { t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal=1; } th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et, bn_pick: gg.pick_id, bn_t_exp_t: distr_t }); //计算价格 th.calculatePrice2(); } }); } } }); }, //----------子页返回父页触发---------- onShow: function() { var th=this; if (th.data.isclose==0){ wx.switchTab({ url: "/pages/index/index/index" }) }else{ this.getuser_addr(function(ie){ th.setData({user_addr: ie }); }) //--更新默认地址--,看一下是不是跳到地址页面 if(!getApp().globalData.is_cart2_old){ this.update_code(); }else{ getApp().globalData.is_cart2_old=0; } } }, //---------------检查是否有收货地址------------------- checkAddressList: function() { var t = this; return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({ title: "请先填写或选择收货地址~", success: function(a) { a.confirm ? t.enterAddressPage() : wx.navigateBack(); }, fail: function() { wx.navigateBack(); } }), !1); }, showInvoice: function() { this.setData({ invoiceToggle: !this.data.invoiceToggle }); }, keyUpChangePay1: function(t) { this.setData({ payWithUserMoney: !(t.detail.value.length > 0) }); }, keyUpChangePay2: function(t) { this.setData({ payWithPoints: !(t.detail.value.length > 0) }); }, keyUpChangeNum: function(t) { this.setData({ maxWord: t.detail.value.length }); }, //---------计算立即购买---------- calculatePrice2: function () { console.log('calculatePrice2'); var th = this, good = this.data.bn_goods; //-----------计算商品总价-------------- var allpice = good.shop_price * good.buynum; allpice=parseFloat(allpice).toFixed(2); var txt = "formData.all_price"; th.setData({ [txt]: allpice, }); console.log(th.data.formData); to.getConfig2(function (ee) { to.getwuliuprice(function (rs) { console.log('calculatePrice2222'); console.log(rs); var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; //-----------当地址不为空,且是物流时,计算物流费用---------- if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 ){ switch (good['exp_sum_type']) { case 1: //统一运费 o_shipping_price += good['uniform_exp_sum']; break; case 2: if (goods_weight < 0) goods_weight = 0; //累积商品重量 每种商品的重量 * 数量 goods_weight += good['weight'] * good['buynum'];break; case 3: if (goods_piece < 0) goods_piece = 0; //累积商品数量 goods_piece += good['buynum']; break; } console.log(o_shipping_price + ":" + goods_weight + ":" + goods_piece); console.log(th.data.wu_arr); var code = th.data.wu_arr[th.data.index].code; var freight_free = ee.freight_free; //全场满多少包邮 var shipping_price= th.calculatewuliu(code, o_shipping_price, goods_weight, goods_piece, th.data.user_addr, freight_free, allpice, rs); shipping_price = parseFloat(shipping_price).toFixed(2); var wl_txt = "formData.shipping_price"; th.setData({ [wl_txt]: shipping_price, }) }else{ var wl_txt = "formData.shipping_price"; th.setData({ [wl_txt]: 0, }) } //-----------------总价----------------- var total_m = parseFloat(allpice) + parseFloat( th.data.formData.shipping_price); total_m = parseFloat(total_m).toFixed(2); var atxt= "formData.total_amount"; th.setData({ [atxt]: total_m, }) var order_m = total_m; var txt = "formData.user_money"; var txt2 = "formData.order_amount"; //--------------如果使用余额--------------------- if (th.data.bn_use_money == 1) { if (th.data.userinfo.user_money > total_m) { th.setData({ [txt]: total_m, [txt2]:0 }) }else{ order_m = order_m - th.data.userinfo.user_money; order_m = order_m.toFixed(2); th.setData({ [txt]: th.data.userinfo.user_money, [txt2]: order_m }) } }else{ th.setData({ [txt]: 0, [txt2]: order_m }) } }); }); }, //--------------------提交订单----------------------- submitForm:function(t){ if(this.data.is_summit_ing==1) return false; //--提交中退出-- this.data.is_summit_ing=1; var th=this,pdata=new Array(); var ff=true; //------------立即购买------------- console.log("buy_new"); if(th.data.bn_exp_type == 0 && th.data.user_addr==null ){ ff = false; getApp().my_warnning("请选择收货地址",0,this); this.data.is_summit_ing = 0; } if (!ff) return false; var addr = th.data.user_addr; if (th.data.bn_exp_type == 1) addr=null; console.log(th.data.formData); console.log(th.data.wu_arr); console.log(th.data.bn_exp_type); if(th.data.bn_exp_type==0) { if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) { getApp().my_warnning("读取物流失败",0,this); this.data.is_summit_ing = 0; return false; } } var item={ 'user_id': to.globalData.user_id, 'consignee': addr == null ? "" : addr.consignee, 'province': addr == null ? 0 : addr.province, 'city': addr == null ? 0 : addr.city, 'district': addr == null ? 0 : addr.district, 'twon': addr == null ? 0 : addr.twon, 'address': addr == null ? "": addr.address, 'more_address': addr == null ? "" : addr.more_address, 'mobile': th.data.userinfo.mobile, 'email':'', 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code, 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name, 'invoice_title':'', 'goods_price': th.data.formData.all_price, //商品总价 'shipping_price': th.data.formData.shipping_price, //物流金额 'user_money': th.data.formData.user_money, //使用余额 'total_amount': th.data.formData.total_amount, //订单总价 'order_amount': th.data.formData.order_amount, //应付 'user_note': t.detail.value.user_note, //用户备注 'store_id':oo.stoid, //商家 'pickup_id': th.data.bn_pick, //门店 'exp_type': th.data.bn_exp_type, //配送方式 'is_normal':th.data.bn_goods.is_normal, //是否是普通购买 'pt_prom_id':th.data.bn_goods.prom_id, //拼单ID 'is_pt_tz':th.data.is_pt_tz, //开团类型 'order_goods':new Array(), }; if(!th.data.bn_goods.is_normal){ item.is_zsorder=th.data.kt_type+1; //开团类型 } if(th.data.qh!='') { item.team_qh=th.data.qh; item.pt_listno=th.data.qh; } var gg = to.get_b_now(); var goods={ 'goods_id': gg.goods_id, 'goods_name': gg.goods_name, 'goods_sn': gg.goods_sn, 'goods_num': gg.goods_num, 'market_price': th.data.bn_goods.market_price, 'goods_price': th.data.bn_goods.shop_price, 'member_goods_price': th.data.bn_goods.shop_price, 'store_id': oo.stoid, 'prom_type':th.data.bn_goods.prom_type, //促销活动类型 'prom_id': th.data.bn_goods.prom_id, //促销活动id }; item.order_goods.push(goods); pdata.push(item); if (pdata.length==0) return; var str = JSON.stringify(pdata); console.log("支付数据"); console.log(str); //return false; wx.showLoading({title: "加载中"}); wx.request({ url: oo.url + '/api/weshop/order/createWxdOrder', data: str, method: 'POST', header: { 'content-type': 'application/json' },// 设置请求的 header success: function (res) { th.data.is_summit_ing=0; //是否提交中 wx.hideLoading(); if (res.statusCode == 200) { var data=res.data; if(data.code==0){ console.log(th.data.is_b_now); //如果是购物车结算,还要删除购物车 if (th.data.is_b_now == 0) { console.log(th.data.cartlist_y); var list = th.data.cartlist_y; for (var i = 0; i < list.length; i++) { //删除购物车 getApp().request.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {}); } } var order_amount = 0; pdata.forEach(function (em, ind) { order_amount += em.order_amount; }) //要进行判断,如果是用微信支付,就要跳转到支付界面 if (order_amount > 0) { th.setData({ isclose: 0 }); //void e.jumpToCart4({ // order_sn: data.data, // type:1, // }, 1); util_pay.pay(data.data, function() { setTimeout(function () { wx.navigateTo({ //url: "/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data, url: "/pages/team/team_success/team_success?ordersn=" + data.data, }) },1000) }, function () { //支付失败 setTimeout(function () { wx.navigateBack({ delta: 1 }) },1000) },oo.stoid,1); } else { var dd = { parent_sn: data.data, store_id: oo.stoid, type: 1, }; //return false; getApp().request.post("/api/weshop/order/pay/createOrder", { data: dd, success: function (t) { console.log(t); app.my_warnning("支付成功",1,th); setTimeout(function () { th.setData({ isclose: 0 }); if(th.data.is_normal==1){ /*-- wx.navigateTo({ url: "/pages/user/order_list/order_list", })--*/ var url="/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data; getApp().goto(url); }else{ wx.navigateTo({ url: "/pages/team/team_success/team_success?ordersn=" + data.data, }) } }, 1000) } }); } } else{ getApp().confirmBox(data.msg); } } else { console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); } }, fail: function () { wx.hideLoading(); console.log("index.js wx.request CheckCallUser fail"); }, complete: function () {} }) }, useCoupon: function() { if (this.data.order.couponNum <= 0) { //return t.showWarning("无可用优惠券"); getApp().my_warnning("无可用优惠券",0,this); return; } var a = { lid: this.data.coupon ? this.data.coupon.id : "0" }; wx.navigateTo({ url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a) }); }, enterAddressPage: function() { getApp().globalData.is_cart_old=1; this.data.enterAddressPage = !0, wx.navigateTo({ url: "/pages/user/address_list/address_list" }); }, //--------立即购买时,选择自提和物流----------- setexptype_w:function(t){ var th=this; var ty = t.currentTarget.dataset.t,txt = t.currentTarget.dataset.txt; th.setData({ [txt]: ty }); var iszt=1; if(ty==0){ th.setData({ is_all_zt: 0 }); }else{ for(var i=0;i