From aae0598d57bc7eba3a68243fee498a1e36382275 Mon Sep 17 00:00:00 2001 From: yvan.ni <765199919@qq.com> Date: Mon, 25 May 2020 14:46:44 +0800 Subject: [PATCH] 确认订单页 --- pages/cart/cart2/cart2.js | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 56 insertions(+), 28 deletions(-) diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index f5c8c71..2a8bd22 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -165,8 +165,23 @@ Page({ th.data.isget_by_quan={}; } - th.setData({user_addr: ie }); - var going=0; + //更换地址回来要重新调用计算价钱的接口 + if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){ + if (th.data.is_b_now == 1) { + if(th.data.bn_goods) { + th.calculatePrice2(); + } + }else{ + if (th.data.cartlist){ + th.calculatePrice(); + } + } + } + + th.setData({user_addr: ie }); + var going=0; + + //使用计时器,避免空现象 /*--- var jishi= setInterval(function () { @@ -597,7 +612,7 @@ Page({ }; var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist)); //---循环购物车--- - for(var i=0;i { - if (res.data.code == 0) { + if (res.data.code == 0 && res.data.data.condition) { var get_data = res.data.data; item_map.is_bz = get_data.is_bz; //是不是倍增 - item_map.is_xz_yh = get_data.is_xz_yh; //是不是优惠 item_map.bs = get_data.bs; //是不是倍数 item_map.is_past = get_data.is_past; //是不是包邮 - item_map.prom_price = get_data.price?get_data.price:0; + item_map.prom_price = get_data.price?get_data.price:item_map.price; item_map.s_intValue = get_data.intValue; item_map.s_coupon_id = get_data.coupon_id; item_map.s_coupon_num = get_data.coupon_num; @@ -674,6 +688,10 @@ Page({ } } + var q_conditin=0; + //判断包邮券的钱 + q_conditin=o_price; + if(!item_map.is_xz_yh) q_conditin=o_price-item_map.price; //--看有没有减价-- if(item_map.prom_price && item_map.price-item_map.prom_price){ if(cart_item.prom_pt_json){ @@ -681,7 +699,10 @@ Page({ }else{ cart_item.prom_pt_json=[{"prom_id":item_map.prom_id,"dis":item_map.price-item_map.prom_price,"ispt":0}]; } + o_price-=(item_map.price-item_map.prom_price); + //如果有限制使用优惠券,就要减掉参与的活动商品的钱 + if(!item_map.is_xz_yh) q_conditin=o_price; } //--优惠多少钱-- @@ -742,7 +763,7 @@ Page({ if(!th.data.isget_by_quan[pickid]){ //--判断要不要显示包邮券,调用接口,因为有for循环--- await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{ - data:{store_id:os.stoid,isuse:0,condition:o_price,user_id:getApp().globalData.user_id,pageSize:2000} + data:{store_id:os.stoid,isuse:0,condition:q_conditin,user_id:getApp().globalData.user_id,pageSize:2000} }).then(res=>{ if(res.data.code==0 && res.data.data.total>0){ //此时要循环判断包邮的地区,不包邮商品是不是符合 @@ -808,6 +829,8 @@ Page({ for(var j=0;j=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){ - var i=1; continue; } //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby==1 && !is_good_no_by){ - var i=1; continue; } @@ -1029,7 +1050,7 @@ Page({ 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 && good.is_past!=1){ + if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 && good.is_xz_yh!=1){ //看是不是有调用过包邮券 if(!th.data.isget_by_quan[th.data.bn_pick]){ var condition=allpice-cut_price; @@ -1349,7 +1370,7 @@ Page({ } if(th.data.formData.give_coupon_id>0){ order_prom_list.give_coupon_id=th.data.formData.give_coupon_id; - order_prom_list.give_coupon_id=th.data.formData.g_coupon_num; + order_prom_list.g_coupon_num=th.data.formData.g_coupon_num; } if(th.data.formData.give_lb_id>0){ order_prom_list.give_lb_id=th.data.formData.give_lb_id; @@ -2417,7 +2438,7 @@ Page({ storeId: oo.stoid, userId: app.globalData.user_id, BuySum: th.data.ckeck_quan_price, - WareIds: th.data.check_quan_ware_list, + WareIds: encodeURIComponent(th.data.check_quan_ware_list), pageSize: 100 }, success: function (res) { @@ -2470,9 +2491,10 @@ Page({ //立即购买获取优惠活动的内容 buy_now_prom_goods:function (prom_id,arr,func) { var price=arr.shop_price*arr.goods_num; + var prom=null; getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+prom_id,{}).then(res=>{ if(res.data.code==0){ - var prom=res.data.data; + prom=res.data.data; return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { price: price, @@ -2488,24 +2510,27 @@ Page({ }).then(res=>{ if(res.data.code==0){ var get_data=res.data.data; - arr.is_bz=get_data.is_bz; //是不是倍增 - arr.is_xz_yh=get_data.is_xz_yh; //是不是优惠 + arr.is_bz=prom.is_bz; //是不是倍增 + arr.is_xz_yh=prom.is_xz_yh; //是不是优惠 arr.bs=get_data.bs; //是不是倍数 arr.is_past=get_data.is_past; //是不是包邮 - arr.prom_price=get_data.price; + arr.prom_price=get_data.price?get_data.price:price; arr.s_intValue=get_data.intValue; arr.s_coupon_id=get_data.coupon_id; arr.s_coupon_num=get_data.coupon_num; - arr.gift_id=get_data.gift_id; - arr.gift_goods_id=get_data.goods_id; - arr.gift_goods_name=get_data.goods_name; - arr.gift_goods_color=get_data.goodsinfo.goods_color; - arr.gift_goods_spec=get_data.goodsinfo.goods_spec; - arr.gift_original_img=get_data.goodsinfo.original_img; - arr.gift_weight=get_data.goodsinfo.weight; - arr.gift_exp_sum_type=get_data.goodsinfo.exp_sum_type; - arr.gift_limit_num=get_data.limit_num; - arr.gift_storecount=get_data.gift_storecount; + //-- 看是不是有赠品 -- + if(get_data.gift_id) { + arr.gift_id = get_data.gift_id; + arr.gift_goods_id = get_data.goods_id; + arr.gift_goods_name = get_data.goods_name; + arr.gift_goods_color = get_data.goodsinfo.goods_color; + arr.gift_goods_spec = get_data.goodsinfo.goods_spec; + arr.gift_original_img = get_data.goodsinfo.original_img; + arr.gift_weight = get_data.goodsinfo.weight; + arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; + arr.gift_limit_num = get_data.limit_num; + arr.gift_storecount = get_data.gift_storecount; + } arr.s_libao=get_data.libao; arr.s_lb_num=get_data.lb_num; } @@ -2550,6 +2575,7 @@ Page({ ob.price=item.goods_price*item.goods_num; ob.goods_num=item.goods_num; ob.is_bz=prom.is_bz; + ob.is_xz_yh=prom.is_xz_yh; map[pickid][item.prom_id]=ob; } }else{ @@ -2562,6 +2588,7 @@ Page({ ob.price=item.goods_price*item.goods_num; ob.goods_num=item.goods_num; ob.is_bz=prom.is_bz; + ob.is_xz_yh=prom.is_xz_yh; var obj={}; obj[item.prom_id]=ob; map[pickid]=obj; @@ -2572,8 +2599,9 @@ Page({ //计算立即购买赠品的物流费用 get_now_gift_goods_wuliu:function (code, o_shipping_price, user_addr, gift_freight_free,allpice, rs,shipping_price,no_by_data) { var good=this.data.buy_now_gift_goods; - var goods_weight=-1, goods_piece=-1; + var goods_weight=-1, goods_piece=-1; var gift_shipping_price=0; + var th=this; switch (good['exp_sum_type']) { case 1: //统一运费 @@ -2596,7 +2624,7 @@ Page({ } } //如果有设置不包邮商品 - if(no_by_data && no_by_data.goods_list && freight_free){ + if(no_by_data && no_by_data.goods_list && gift_freight_free){ if(th.check_by_goods(no_by_data.goods_list)){ gift_freight_free=0; th.data.is_no_by[th.data.bn_pick]=1; -- libgit2 0.21.4