Commit b39365c7c39820c8e4d22ae063fb3e8e4637e207
1 parent
e597e10b
积分购 物流超重优化
Showing
10 changed files
with
58 additions
and
37 deletions
packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js
... | ... | @@ -1374,13 +1374,11 @@ Page({ |
1374 | 1374 | o_price += item[j].goods_price * item[j].goods_num; |
1375 | 1375 | |
1376 | 1376 | //判断是否有设置限制重量包邮 |
1377 | - if(weight_free){ | |
1378 | - if( item[j]['exp_sum_type']==2 ){ | |
1379 | - if (goods_weight < 0) goods_weight = 0; | |
1380 | - //累积商品重量 每种商品的重量 * 数量 | |
1381 | - goods_weight += item[j]['weight'] * item[j]['goods_num']; | |
1382 | - out_of_weight = (weight_free*1000) - goods_weight; | |
1383 | - } | |
1377 | + if(item[j]['is_past']!==1 && item[j]['exp_sum_type']==2 && weight_free>0){ | |
1378 | + if (goods_weight < 0) goods_weight = 0; | |
1379 | + //累积商品重量 每种商品的重量 * 数量 | |
1380 | + goods_weight += item[j]['weight'] * item[j]['goods_num']; | |
1381 | + out_of_weight = (weight_free*1000) - goods_weight; | |
1384 | 1382 | } |
1385 | 1383 | } |
1386 | 1384 | //判断是不是有组合购的金额 |
... | ... | @@ -1560,9 +1558,11 @@ Page({ |
1560 | 1558 | } |
1561 | 1559 | |
1562 | 1560 | }else{ |
1563 | - if(goods_weight && out_of_weight !== 0){ | |
1564 | - goods_weight=-1; | |
1565 | - out_of_weight=0; | |
1561 | + if(item[j]['exp_sum_type']==2){ | |
1562 | + if(out_of_weight !==0){ | |
1563 | + goods_weight=-1; | |
1564 | + out_of_weight=0; | |
1565 | + } | |
1566 | 1566 | } |
1567 | 1567 | } |
1568 | 1568 | } |
... | ... | @@ -1866,7 +1866,9 @@ Page({ |
1866 | 1866 | if (goods_weight < 0) goods_weight = 0; |
1867 | 1867 | //累积商品重量 每种商品的重量 * 数量 |
1868 | 1868 | goods_weight += good['weight'] * good['buynum']; |
1869 | - out_of_weight = (weight_free * 1000 ) - goods_weight; | |
1869 | + if(weight_free > 0){ | |
1870 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | |
1871 | + } | |
1870 | 1872 | break; |
1871 | 1873 | case 3: |
1872 | 1874 | if (goods_piece < 0) goods_piece = 0; |
... | ... | @@ -2863,7 +2865,7 @@ Page({ |
2863 | 2865 | var price = 0, th = this; |
2864 | 2866 | price += parseFloat(o_shipping_price); |
2865 | 2867 | //如果是包邮 |
2866 | - if (freight_free > 0 && o_price >= freight_free && out_of_weight > 0) { | |
2868 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight >= 0) { | |
2867 | 2869 | return 0; |
2868 | 2870 | } |
2869 | 2871 | if (user_addr == null) { |
... | ... | @@ -2881,7 +2883,7 @@ Page({ |
2881 | 2883 | item = item.config; |
2882 | 2884 | if (item == null) return o_shipping_price; |
2883 | 2885 | //------按重量---------- |
2884 | - if (goods_weight >= 0 && item['money'] && out_of_weight > 0) { | |
2886 | + if (goods_weight >= 0 && item['money']) { | |
2885 | 2887 | fw_price = parseFloat(item['money']); |
2886 | 2888 | if (goods_weight > item['first_weight']) { |
2887 | 2889 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -2890,11 +2892,14 @@ Page({ |
2890 | 2892 | } |
2891 | 2893 | } |
2892 | 2894 | //------超出重量---------- |
2893 | - if(out_of_weight < 0){ | |
2895 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
2894 | 2896 | fw_price = parseFloat(item['money']); |
2895 | 2897 | var out_of_weight = Math.abs(out_of_weight); |
2896 | - var n = Math.ceil(out_of_weight / item['second_weight']) | |
2897 | - fw_price = fw_price + n * parseFloat(item['add_money']); | |
2898 | + if (out_of_weight > item['first_weight']) { | |
2899 | + var fw = out_of_weight - item['first_weight']; | |
2900 | + var n = Math.ceil(fw / item['second_weight']) | |
2901 | + fw_price = fw_price + n * parseFloat(item['add_money']); | |
2902 | + } | |
2898 | 2903 | } |
2899 | 2904 | //------按件数---------- |
2900 | 2905 | if (goods_piece > 0 && item['piecemoney']) { | ... | ... |
packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js
... | ... | @@ -513,6 +513,10 @@ Page({ |
513 | 513 | var o_shipping_price = 0, |
514 | 514 | goods_weight = -1, |
515 | 515 | goods_piece = -1; |
516 | + var out_of_weight=null; //超出多少重量 | |
517 | + var freight_free = ee.freight_free; //全场满多少包邮 | |
518 | + var weight_free = ee.weight_free; //多少kg内包邮 | |
519 | + var no_ex_id = ee.no_ex_id; | |
516 | 520 | //-----------当地址不为空,且是物流时,计算物流费用,同时阶梯团不计算拼团价格---------- |
517 | 521 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && (th.data.kt_type != |
518 | 522 | 3 || th.data.bn_goods.is_normal == 1)) { |
... | ... | @@ -525,6 +529,9 @@ Page({ |
525 | 529 | if (goods_weight < 0) goods_weight = 0; |
526 | 530 | //累积商品重量 每种商品的重量 * 数量 |
527 | 531 | goods_weight += good['weight'] * good['buynum']; |
532 | + if(weight_free > 0){ | |
533 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | |
534 | + } | |
528 | 535 | break; |
529 | 536 | case 3: |
530 | 537 | if (goods_piece < 0) goods_piece = 0; |
... | ... | @@ -1042,7 +1049,7 @@ Page({ |
1042 | 1049 | th = this; |
1043 | 1050 | price += parseFloat(o_shipping_price); |
1044 | 1051 | //如果是包邮 |
1045 | - if (freight_free > 0 && o_price >= freight_free) { | |
1052 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight >= 0) { | |
1046 | 1053 | return 0; |
1047 | 1054 | } |
1048 | 1055 | if (user_addr == null) { |
... | ... | @@ -1061,7 +1068,7 @@ Page({ |
1061 | 1068 | item = item.config; |
1062 | 1069 | if (item == null) return o_shipping_price; |
1063 | 1070 | //------按重量---------- |
1064 | - if (goods_weight > 0) { | |
1071 | + if (goods_weight > 0 && item['money']) { | |
1065 | 1072 | fw_price = parseFloat(item['money']); |
1066 | 1073 | if (goods_weight > item['first_weight']) { |
1067 | 1074 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -1069,6 +1076,16 @@ Page({ |
1069 | 1076 | fw_price = fw_price + n * parseFloat(item['add_money']); |
1070 | 1077 | } |
1071 | 1078 | } |
1079 | + //------超出重量---------- | |
1080 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
1081 | + fw_price = parseFloat(item['money']); | |
1082 | + var out_of_weight = Math.abs(out_of_weight); | |
1083 | + if (out_of_weight > item['first_weight']) { | |
1084 | + var fw = out_of_weight - item['first_weight']; | |
1085 | + var n = Math.ceil(fw / item['second_weight']) | |
1086 | + fw_price = fw_price + n * parseFloat(item['add_money']); | |
1087 | + } | |
1088 | + } | |
1072 | 1089 | //------按件数---------- |
1073 | 1090 | if (goods_piece > 0) { |
1074 | 1091 | fp_price = parseFloat(item['piecemoney']); | ... | ... |
packageC/pages/presell/cart/cart.js
... | ... | @@ -875,7 +875,7 @@ Page({ |
875 | 875 | item = item.config; |
876 | 876 | if (item == null) return o_shipping_price; |
877 | 877 | //------按重量---------- |
878 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
878 | + if (goods_weight >= 0 && item['money']) { | |
879 | 879 | fw_price = parseFloat(item['money']); |
880 | 880 | if (goods_weight > item['first_weight']) { |
881 | 881 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -884,7 +884,7 @@ Page({ |
884 | 884 | } |
885 | 885 | } |
886 | 886 | //------超出重量---------- |
887 | - if(out_of_weight < 0){ | |
887 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
888 | 888 | fw_price = parseFloat(item['money']); |
889 | 889 | var out_of_weight = Math.abs(out_of_weight); |
890 | 890 | if (out_of_weight > item['first_weight']) { | ... | ... |
packageC/pages/presell/cart/cart2.js
... | ... | @@ -1693,7 +1693,7 @@ Page({ |
1693 | 1693 | item = item.config; |
1694 | 1694 | if (item == null) return o_shipping_price; |
1695 | 1695 | //------按重量---------- |
1696 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
1696 | + if (goods_weight >= 0 && item['money']) { | |
1697 | 1697 | fw_price = parseFloat(item['money']); |
1698 | 1698 | if (goods_weight > item['first_weight']) { |
1699 | 1699 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -1703,7 +1703,7 @@ Page({ |
1703 | 1703 | } |
1704 | 1704 | |
1705 | 1705 | //------超出重量---------- |
1706 | - if(out_of_weight < 0){ | |
1706 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
1707 | 1707 | fw_price = parseFloat(item['money']); |
1708 | 1708 | var out_of_weight = Math.abs(out_of_weight); |
1709 | 1709 | var n = Math.ceil(out_of_weight / item['second_weight']) | ... | ... |
packageC/pages/presell/cart/cart2_pre.js
... | ... | @@ -727,7 +727,7 @@ Page({ |
727 | 727 | item=item.config; |
728 | 728 | if (item == null) return o_shipping_price; |
729 | 729 | //------按重量---------- |
730 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
730 | + if (goods_weight >= 0 && item['money']) { | |
731 | 731 | fw_price =parseFloat(item['money']); |
732 | 732 | if (goods_weight > item['first_weight']){ |
733 | 733 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -736,7 +736,7 @@ Page({ |
736 | 736 | } |
737 | 737 | } |
738 | 738 | //------超出重量---------- |
739 | - if(out_of_weight < 0){ | |
739 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
740 | 740 | fw_price = parseFloat(item['money']); |
741 | 741 | var out_of_weight = Math.abs(out_of_weight); |
742 | 742 | if (out_of_weight > item['first_weight']) { | ... | ... |
pages/cart/cart2/cart2.js
... | ... | @@ -3057,7 +3057,7 @@ Page({ |
3057 | 3057 | item = item.config; |
3058 | 3058 | if (item == null) return o_shipping_price; |
3059 | 3059 | //------按重量---------- |
3060 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
3060 | + if (goods_weight >= 0 && item['money']) { | |
3061 | 3061 | fw_price = parseFloat(item['money']); |
3062 | 3062 | if (goods_weight > item['first_weight']) { |
3063 | 3063 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -3066,7 +3066,7 @@ Page({ |
3066 | 3066 | } |
3067 | 3067 | } |
3068 | 3068 | //------超出重量---------- |
3069 | - if(out_of_weight < 0){ | |
3069 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
3070 | 3070 | fw_price = parseFloat(item['money']); |
3071 | 3071 | var out_of_weight = Math.abs(out_of_weight); |
3072 | 3072 | if (out_of_weight > item['first_weight']) { | ... | ... |
pages/cart/cart2/zh_calculate.js
... | ... | @@ -153,7 +153,6 @@ module.exports = { |
153 | 153 | if (zhqty_bz.length > 1) { |
154 | 154 | let zhqty_bz_arr = []; |
155 | 155 | let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); |
156 | - | |
157 | 156 | if (zhqty_bz_flag) { |
158 | 157 | for (let i = 0; i < zhqty_bz.length; i++) { |
159 | 158 | var vv = zhqty_bz[i]; | ... | ... |
pages/cart/cart2_inte/cart2_inte.js
... | ... | @@ -502,7 +502,7 @@ Page({ |
502 | 502 | th.data.is_by[th.data.bn_pick]=0; |
503 | 503 | //--------------开始计算物流------------------ |
504 | 504 | var shipping_price= |
505 | - th.calculatewuliu(code, o_shipping_price, goods_weight, | |
505 | + th.calculatewuliu(code, o_shipping_price, goods_weight,out_of_weight, | |
506 | 506 | goods_piece, th.data.user_addr, freight_free, allpice-cut_price, rs); |
507 | 507 | if(shipping_price<=0){ |
508 | 508 | th.data.is_by[th.data.bn_pick]=1; //已经是包邮了,就不要选择包邮券 |
... | ... | @@ -925,7 +925,7 @@ Page({ |
925 | 925 | th.calculatePrice(); |
926 | 926 | }, |
927 | 927 | //-------------------计算物流--------------- |
928 | - calculatewuliu:function(code, o_shipping_price, goods_weight, | |
928 | + calculatewuliu:function(code, o_shipping_price, goods_weight,out_of_weight, | |
929 | 929 | goods_piece,user_addr, freight_free, o_price, rs){ |
930 | 930 | var price =0,th=this; |
931 | 931 | price +=parseFloat(o_shipping_price); |
... | ... | @@ -944,7 +944,7 @@ Page({ |
944 | 944 | item=item.config; |
945 | 945 | if (item == null) return o_shipping_price; |
946 | 946 | //------按重量---------- |
947 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
947 | + if (goods_weight >= 0 && item['money']) { | |
948 | 948 | fw_price =parseFloat(item['money']); |
949 | 949 | if (goods_weight > item['first_weight']){ |
950 | 950 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -953,7 +953,7 @@ Page({ |
953 | 953 | } |
954 | 954 | } |
955 | 955 | //------超出重量---------- |
956 | - if(out_of_weight < 0){ | |
956 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
957 | 957 | fw_price = parseFloat(item['money']); |
958 | 958 | var out_of_weight = Math.abs(out_of_weight); |
959 | 959 | if (out_of_weight > item['first_weight']) { | ... | ... |
pages/cart/cart2_pt/cart2_pt.js
... | ... | @@ -800,7 +800,7 @@ Page({ |
800 | 800 | item=item.config; |
801 | 801 | if (item == null) return o_shipping_price; |
802 | 802 | //------按重量---------- |
803 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
803 | + if (goods_weight >= 0 && item['money']) { | |
804 | 804 | fw_price =parseFloat(item['money']); |
805 | 805 | if (goods_weight > item['first_weight']){ |
806 | 806 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -809,7 +809,7 @@ Page({ |
809 | 809 | } |
810 | 810 | } |
811 | 811 | //------超出重量---------- |
812 | - if(out_of_weight < 0){ | |
812 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
813 | 813 | fw_price = parseFloat(item['money']); |
814 | 814 | var out_of_weight = Math.abs(out_of_weight); |
815 | 815 | if (out_of_weight > item['first_weight']) { |
... | ... | @@ -819,7 +819,7 @@ Page({ |
819 | 819 | } |
820 | 820 | } |
821 | 821 | //------按件数---------- |
822 | - if (goods_piece > 0) { | |
822 | + if (goods_piece > 0 ) { | |
823 | 823 | fp_price = parseFloat(item['piecemoney']); |
824 | 824 | if (goods_piece > item['first_piece']) { |
825 | 825 | var fp = goods_piece - item['first_piece']; | ... | ... |
pages/cart/cart_wk/cart_wk.js
... | ... | @@ -420,7 +420,7 @@ Page({ |
420 | 420 | var to = getApp(), th = this; |
421 | 421 | to.getConfig2(function (ee) { |
422 | 422 | to.getwuliuprice(function (rs) { |
423 | - var o_shipping_price = 0,goods_weight = -1,goods_piece = -1; | |
423 | + var o_shipping_price = 0,goods_weight = -1,goods_piece = -1,good=th.data.goods; | |
424 | 424 | var out_of_weight=null; //超出多少重量 |
425 | 425 | var freight_free = ee.freight_free; //全场满多少包邮 |
426 | 426 | var weight_free = ee.weight_free; //多少kg内包邮 |
... | ... | @@ -486,7 +486,7 @@ Page({ |
486 | 486 | item = item.config; |
487 | 487 | if (item == null) return o_shipping_price; |
488 | 488 | //------按重量---------- |
489 | - if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { | |
489 | + if (goods_weight >= 0 && item['money']) { | |
490 | 490 | fw_price = parseFloat(item['money']); |
491 | 491 | if (goods_weight > item['first_weight']) { |
492 | 492 | var fw = goods_weight - item['first_weight']; |
... | ... | @@ -495,7 +495,7 @@ Page({ |
495 | 495 | } |
496 | 496 | } |
497 | 497 | //------超出重量---------- |
498 | - if(out_of_weight < 0){ | |
498 | + if(out_of_weight < 0 && o_price >= freight_free){ | |
499 | 499 | fw_price = parseFloat(item['money']); |
500 | 500 | var out_of_weight = Math.abs(out_of_weight); |
501 | 501 | if (out_of_weight > item['first_weight']) { | ... | ... |