Commit aae0598d57bc7eba3a68243fee498a1e36382275
1 parent
7a3b8f7f
确认订单页
Showing
1 changed file
with
56 additions
and
28 deletions
pages/cart/cart2/cart2.js
@@ -165,8 +165,23 @@ Page({ | @@ -165,8 +165,23 @@ Page({ | ||
165 | th.data.isget_by_quan={}; | 165 | th.data.isget_by_quan={}; |
166 | } | 166 | } |
167 | 167 | ||
168 | - th.setData({user_addr: ie }); | ||
169 | - var going=0; | 168 | + //更换地址回来要重新调用计算价钱的接口 |
169 | + if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){ | ||
170 | + if (th.data.is_b_now == 1) { | ||
171 | + if(th.data.bn_goods) { | ||
172 | + th.calculatePrice2(); | ||
173 | + } | ||
174 | + }else{ | ||
175 | + if (th.data.cartlist){ | ||
176 | + th.calculatePrice(); | ||
177 | + } | ||
178 | + } | ||
179 | + } | ||
180 | + | ||
181 | + th.setData({user_addr: ie }); | ||
182 | + var going=0; | ||
183 | + | ||
184 | + | ||
170 | //使用计时器,避免空现象 | 185 | //使用计时器,避免空现象 |
171 | /*--- | 186 | /*--- |
172 | var jishi= setInterval(function () { | 187 | var jishi= setInterval(function () { |
@@ -597,7 +612,7 @@ Page({ | @@ -597,7 +612,7 @@ Page({ | ||
597 | }; | 612 | }; |
598 | var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist)); | 613 | var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist)); |
599 | //---循环购物车--- | 614 | //---循环购物车--- |
600 | - for(var i=0;i<c_arr.length;i++){ | 615 | + for(var i in c_arr){ |
601 | //因为搭配购买也是再这里计算,搭配购的is_b_now==1 | 616 | //因为搭配购买也是再这里计算,搭配购的is_b_now==1 |
602 | if(th.data.is_b_now==0) { | 617 | if(th.data.is_b_now==0) { |
603 | //此时物流的选择方式要用th.data.cartlist; | 618 | //此时物流的选择方式要用th.data.cartlist; |
@@ -639,13 +654,12 @@ Page({ | @@ -639,13 +654,12 @@ Page({ | ||
639 | is_bz: item_map.is_bz | 654 | is_bz: item_map.is_bz |
640 | } | 655 | } |
641 | }).then(res => { | 656 | }).then(res => { |
642 | - if (res.data.code == 0) { | 657 | + if (res.data.code == 0 && res.data.data.condition) { |
643 | var get_data = res.data.data; | 658 | var get_data = res.data.data; |
644 | item_map.is_bz = get_data.is_bz; //是不是倍增 | 659 | item_map.is_bz = get_data.is_bz; //是不是倍增 |
645 | - item_map.is_xz_yh = get_data.is_xz_yh; //是不是优惠 | ||
646 | item_map.bs = get_data.bs; //是不是倍数 | 660 | item_map.bs = get_data.bs; //是不是倍数 |
647 | item_map.is_past = get_data.is_past; //是不是包邮 | 661 | item_map.is_past = get_data.is_past; //是不是包邮 |
648 | - item_map.prom_price = get_data.price?get_data.price:0; | 662 | + item_map.prom_price = get_data.price?get_data.price:item_map.price; |
649 | item_map.s_intValue = get_data.intValue; | 663 | item_map.s_intValue = get_data.intValue; |
650 | item_map.s_coupon_id = get_data.coupon_id; | 664 | item_map.s_coupon_id = get_data.coupon_id; |
651 | item_map.s_coupon_num = get_data.coupon_num; | 665 | item_map.s_coupon_num = get_data.coupon_num; |
@@ -674,6 +688,10 @@ Page({ | @@ -674,6 +688,10 @@ Page({ | ||
674 | } | 688 | } |
675 | } | 689 | } |
676 | 690 | ||
691 | + var q_conditin=0; | ||
692 | + //判断包邮券的钱 | ||
693 | + q_conditin=o_price; | ||
694 | + if(!item_map.is_xz_yh) q_conditin=o_price-item_map.price; | ||
677 | //--看有没有减价-- | 695 | //--看有没有减价-- |
678 | if(item_map.prom_price && item_map.price-item_map.prom_price){ | 696 | if(item_map.prom_price && item_map.price-item_map.prom_price){ |
679 | if(cart_item.prom_pt_json){ | 697 | if(cart_item.prom_pt_json){ |
@@ -681,7 +699,10 @@ Page({ | @@ -681,7 +699,10 @@ Page({ | ||
681 | }else{ | 699 | }else{ |
682 | cart_item.prom_pt_json=[{"prom_id":item_map.prom_id,"dis":item_map.price-item_map.prom_price,"ispt":0}]; | 700 | cart_item.prom_pt_json=[{"prom_id":item_map.prom_id,"dis":item_map.price-item_map.prom_price,"ispt":0}]; |
683 | } | 701 | } |
702 | + | ||
684 | o_price-=(item_map.price-item_map.prom_price); | 703 | o_price-=(item_map.price-item_map.prom_price); |
704 | + //如果有限制使用优惠券,就要减掉参与的活动商品的钱 | ||
705 | + if(!item_map.is_xz_yh) q_conditin=o_price; | ||
685 | } | 706 | } |
686 | 707 | ||
687 | //--优惠多少钱-- | 708 | //--优惠多少钱-- |
@@ -742,7 +763,7 @@ Page({ | @@ -742,7 +763,7 @@ Page({ | ||
742 | if(!th.data.isget_by_quan[pickid]){ | 763 | if(!th.data.isget_by_quan[pickid]){ |
743 | //--判断要不要显示包邮券,调用接口,因为有for循环--- | 764 | //--判断要不要显示包邮券,调用接口,因为有for循环--- |
744 | await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{ | 765 | await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{ |
745 | - data:{store_id:os.stoid,isuse:0,condition:o_price,user_id:getApp().globalData.user_id,pageSize:2000} | 766 | + data:{store_id:os.stoid,isuse:0,condition:q_conditin,user_id:getApp().globalData.user_id,pageSize:2000} |
746 | }).then(res=>{ | 767 | }).then(res=>{ |
747 | if(res.data.code==0 && res.data.data.total>0){ | 768 | if(res.data.code==0 && res.data.data.total>0){ |
748 | //此时要循环判断包邮的地区,不包邮商品是不是符合 | 769 | //此时要循环判断包邮的地区,不包邮商品是不是符合 |
@@ -808,6 +829,8 @@ Page({ | @@ -808,6 +829,8 @@ Page({ | ||
808 | for(var j=0;j<item.length;j++){ | 829 | for(var j=0;j<item.length;j++){ |
809 | //如果都包邮,都没必要等级数量了 | 830 | //如果都包邮,都没必要等级数量了 |
810 | if(th.data.is_quan_by[pickid]) continue; | 831 | if(th.data.is_quan_by[pickid]) continue; |
832 | + //如果是优惠活动是包邮,就不用计算包邮的费用了 | ||
833 | + if(item[j].is_past) continue; | ||
811 | //是不是不包邮的商品 | 834 | //是不是不包邮的商品 |
812 | var is_good_no_by=0; | 835 | var is_good_no_by=0; |
813 | if(no_ex_good){ | 836 | if(no_ex_good){ |
@@ -815,13 +838,11 @@ Page({ | @@ -815,13 +838,11 @@ Page({ | ||
815 | } | 838 | } |
816 | //如果达到全场包邮的条件,同时,没有地区不包邮,或者商品不包邮 | 839 | //如果达到全场包邮的条件,同时,没有地区不包邮,或者商品不包邮 |
817 | if(o_price>=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){ | 840 | if(o_price>=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){ |
818 | - var i=1; | ||
819 | continue; | 841 | continue; |
820 | } | 842 | } |
821 | 843 | ||
822 | //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- | 844 | //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- |
823 | if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby==1 && !is_good_no_by){ | 845 | if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby==1 && !is_good_no_by){ |
824 | - var i=1; | ||
825 | continue; | 846 | continue; |
826 | } | 847 | } |
827 | 848 | ||
@@ -1029,7 +1050,7 @@ Page({ | @@ -1029,7 +1050,7 @@ Page({ | ||
1029 | 1050 | ||
1030 | var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; | 1051 | var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; |
1031 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- | 1052 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- |
1032 | - if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1){ | 1053 | + 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){ |
1033 | //看是不是有调用过包邮券 | 1054 | //看是不是有调用过包邮券 |
1034 | if(!th.data.isget_by_quan[th.data.bn_pick]){ | 1055 | if(!th.data.isget_by_quan[th.data.bn_pick]){ |
1035 | var condition=allpice-cut_price; | 1056 | var condition=allpice-cut_price; |
@@ -1349,7 +1370,7 @@ Page({ | @@ -1349,7 +1370,7 @@ Page({ | ||
1349 | } | 1370 | } |
1350 | if(th.data.formData.give_coupon_id>0){ | 1371 | if(th.data.formData.give_coupon_id>0){ |
1351 | order_prom_list.give_coupon_id=th.data.formData.give_coupon_id; | 1372 | order_prom_list.give_coupon_id=th.data.formData.give_coupon_id; |
1352 | - order_prom_list.give_coupon_id=th.data.formData.g_coupon_num; | 1373 | + order_prom_list.g_coupon_num=th.data.formData.g_coupon_num; |
1353 | } | 1374 | } |
1354 | if(th.data.formData.give_lb_id>0){ | 1375 | if(th.data.formData.give_lb_id>0){ |
1355 | order_prom_list.give_lb_id=th.data.formData.give_lb_id; | 1376 | order_prom_list.give_lb_id=th.data.formData.give_lb_id; |
@@ -2417,7 +2438,7 @@ Page({ | @@ -2417,7 +2438,7 @@ Page({ | ||
2417 | storeId: oo.stoid, | 2438 | storeId: oo.stoid, |
2418 | userId: app.globalData.user_id, | 2439 | userId: app.globalData.user_id, |
2419 | BuySum: th.data.ckeck_quan_price, | 2440 | BuySum: th.data.ckeck_quan_price, |
2420 | - WareIds: th.data.check_quan_ware_list, | 2441 | + WareIds: encodeURIComponent(th.data.check_quan_ware_list), |
2421 | pageSize: 100 | 2442 | pageSize: 100 |
2422 | }, | 2443 | }, |
2423 | success: function (res) { | 2444 | success: function (res) { |
@@ -2470,9 +2491,10 @@ Page({ | @@ -2470,9 +2491,10 @@ Page({ | ||
2470 | //立即购买获取优惠活动的内容 | 2491 | //立即购买获取优惠活动的内容 |
2471 | buy_now_prom_goods:function (prom_id,arr,func) { | 2492 | buy_now_prom_goods:function (prom_id,arr,func) { |
2472 | var price=arr.shop_price*arr.goods_num; | 2493 | var price=arr.shop_price*arr.goods_num; |
2494 | + var prom=null; | ||
2473 | getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+prom_id,{}).then(res=>{ | 2495 | getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+prom_id,{}).then(res=>{ |
2474 | if(res.data.code==0){ | 2496 | if(res.data.code==0){ |
2475 | - var prom=res.data.data; | 2497 | + prom=res.data.data; |
2476 | return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { | 2498 | return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { |
2477 | data: { | 2499 | data: { |
2478 | price: price, | 2500 | price: price, |
@@ -2488,24 +2510,27 @@ Page({ | @@ -2488,24 +2510,27 @@ Page({ | ||
2488 | }).then(res=>{ | 2510 | }).then(res=>{ |
2489 | if(res.data.code==0){ | 2511 | if(res.data.code==0){ |
2490 | var get_data=res.data.data; | 2512 | var get_data=res.data.data; |
2491 | - arr.is_bz=get_data.is_bz; //是不是倍增 | ||
2492 | - arr.is_xz_yh=get_data.is_xz_yh; //是不是优惠 | 2513 | + arr.is_bz=prom.is_bz; //是不是倍增 |
2514 | + arr.is_xz_yh=prom.is_xz_yh; //是不是优惠 | ||
2493 | arr.bs=get_data.bs; //是不是倍数 | 2515 | arr.bs=get_data.bs; //是不是倍数 |
2494 | arr.is_past=get_data.is_past; //是不是包邮 | 2516 | arr.is_past=get_data.is_past; //是不是包邮 |
2495 | - arr.prom_price=get_data.price; | 2517 | + arr.prom_price=get_data.price?get_data.price:price; |
2496 | arr.s_intValue=get_data.intValue; | 2518 | arr.s_intValue=get_data.intValue; |
2497 | arr.s_coupon_id=get_data.coupon_id; | 2519 | arr.s_coupon_id=get_data.coupon_id; |
2498 | arr.s_coupon_num=get_data.coupon_num; | 2520 | arr.s_coupon_num=get_data.coupon_num; |
2499 | - arr.gift_id=get_data.gift_id; | ||
2500 | - arr.gift_goods_id=get_data.goods_id; | ||
2501 | - arr.gift_goods_name=get_data.goods_name; | ||
2502 | - arr.gift_goods_color=get_data.goodsinfo.goods_color; | ||
2503 | - arr.gift_goods_spec=get_data.goodsinfo.goods_spec; | ||
2504 | - arr.gift_original_img=get_data.goodsinfo.original_img; | ||
2505 | - arr.gift_weight=get_data.goodsinfo.weight; | ||
2506 | - arr.gift_exp_sum_type=get_data.goodsinfo.exp_sum_type; | ||
2507 | - arr.gift_limit_num=get_data.limit_num; | ||
2508 | - arr.gift_storecount=get_data.gift_storecount; | 2521 | + //-- 看是不是有赠品 -- |
2522 | + if(get_data.gift_id) { | ||
2523 | + arr.gift_id = get_data.gift_id; | ||
2524 | + arr.gift_goods_id = get_data.goods_id; | ||
2525 | + arr.gift_goods_name = get_data.goods_name; | ||
2526 | + arr.gift_goods_color = get_data.goodsinfo.goods_color; | ||
2527 | + arr.gift_goods_spec = get_data.goodsinfo.goods_spec; | ||
2528 | + arr.gift_original_img = get_data.goodsinfo.original_img; | ||
2529 | + arr.gift_weight = get_data.goodsinfo.weight; | ||
2530 | + arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; | ||
2531 | + arr.gift_limit_num = get_data.limit_num; | ||
2532 | + arr.gift_storecount = get_data.gift_storecount; | ||
2533 | + } | ||
2509 | arr.s_libao=get_data.libao; | 2534 | arr.s_libao=get_data.libao; |
2510 | arr.s_lb_num=get_data.lb_num; | 2535 | arr.s_lb_num=get_data.lb_num; |
2511 | } | 2536 | } |
@@ -2550,6 +2575,7 @@ Page({ | @@ -2550,6 +2575,7 @@ Page({ | ||
2550 | ob.price=item.goods_price*item.goods_num; | 2575 | ob.price=item.goods_price*item.goods_num; |
2551 | ob.goods_num=item.goods_num; | 2576 | ob.goods_num=item.goods_num; |
2552 | ob.is_bz=prom.is_bz; | 2577 | ob.is_bz=prom.is_bz; |
2578 | + ob.is_xz_yh=prom.is_xz_yh; | ||
2553 | map[pickid][item.prom_id]=ob; | 2579 | map[pickid][item.prom_id]=ob; |
2554 | } | 2580 | } |
2555 | }else{ | 2581 | }else{ |
@@ -2562,6 +2588,7 @@ Page({ | @@ -2562,6 +2588,7 @@ Page({ | ||
2562 | ob.price=item.goods_price*item.goods_num; | 2588 | ob.price=item.goods_price*item.goods_num; |
2563 | ob.goods_num=item.goods_num; | 2589 | ob.goods_num=item.goods_num; |
2564 | ob.is_bz=prom.is_bz; | 2590 | ob.is_bz=prom.is_bz; |
2591 | + ob.is_xz_yh=prom.is_xz_yh; | ||
2565 | var obj={}; | 2592 | var obj={}; |
2566 | obj[item.prom_id]=ob; | 2593 | obj[item.prom_id]=ob; |
2567 | map[pickid]=obj; | 2594 | map[pickid]=obj; |
@@ -2572,8 +2599,9 @@ Page({ | @@ -2572,8 +2599,9 @@ Page({ | ||
2572 | //计算立即购买赠品的物流费用 | 2599 | //计算立即购买赠品的物流费用 |
2573 | get_now_gift_goods_wuliu:function (code, o_shipping_price, user_addr, gift_freight_free,allpice, rs,shipping_price,no_by_data) { | 2600 | get_now_gift_goods_wuliu:function (code, o_shipping_price, user_addr, gift_freight_free,allpice, rs,shipping_price,no_by_data) { |
2574 | var good=this.data.buy_now_gift_goods; | 2601 | var good=this.data.buy_now_gift_goods; |
2575 | - var goods_weight=-1, goods_piece=-1; | 2602 | + var goods_weight=-1, goods_piece=-1; |
2576 | var gift_shipping_price=0; | 2603 | var gift_shipping_price=0; |
2604 | + var th=this; | ||
2577 | switch (good['exp_sum_type']) { | 2605 | switch (good['exp_sum_type']) { |
2578 | case 1: | 2606 | case 1: |
2579 | //统一运费 | 2607 | //统一运费 |
@@ -2596,7 +2624,7 @@ Page({ | @@ -2596,7 +2624,7 @@ Page({ | ||
2596 | } | 2624 | } |
2597 | } | 2625 | } |
2598 | //如果有设置不包邮商品 | 2626 | //如果有设置不包邮商品 |
2599 | - if(no_by_data && no_by_data.goods_list && freight_free){ | 2627 | + if(no_by_data && no_by_data.goods_list && gift_freight_free){ |
2600 | if(th.check_by_goods(no_by_data.goods_list)){ | 2628 | if(th.check_by_goods(no_by_data.goods_list)){ |
2601 | gift_freight_free=0; | 2629 | gift_freight_free=0; |
2602 | th.data.is_no_by[th.data.bn_pick]=1; | 2630 | th.data.is_no_by[th.data.bn_pick]=1; |