Commit b29b5dd8c6148728369853717228408f75de8330
1 parent
57973d9d
物流
Showing
7 changed files
with
126 additions
and
48 deletions
packageC/pages/presell/cart/cart.js
@@ -852,12 +852,12 @@ Page({ | @@ -852,12 +852,12 @@ Page({ | ||
852 | th.calculatePrice2(); | 852 | th.calculatePrice2(); |
853 | }, | 853 | }, |
854 | //-------------------计算物流--------------- | 854 | //-------------------计算物流--------------- |
855 | - calculatewuliu: function (code, o_shipping_price, goods_weight, | 855 | + calculatewuliu: function (code, o_shipping_price, goods_weight,out_of_weight, |
856 | goods_piece, user_addr, freight_free, o_price, rs) { | 856 | goods_piece, user_addr, freight_free, o_price, rs) { |
857 | var price = 0, th = this; | 857 | var price = 0, th = this; |
858 | price += parseFloat(o_shipping_price); | 858 | price += parseFloat(o_shipping_price); |
859 | //如果是包邮 | 859 | //如果是包邮 |
860 | - if (freight_free > 0 && o_price >= freight_free) { | 860 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight>=0) { |
861 | return 0; | 861 | return 0; |
862 | } | 862 | } |
863 | if (user_addr == null) { | 863 | if (user_addr == null) { |
@@ -875,7 +875,7 @@ Page({ | @@ -875,7 +875,7 @@ Page({ | ||
875 | item = item.config; | 875 | item = item.config; |
876 | if (item == null) return o_shipping_price; | 876 | if (item == null) return o_shipping_price; |
877 | //------按重量---------- | 877 | //------按重量---------- |
878 | - if (goods_weight >= 0 && item['money']) { | 878 | + if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { |
879 | fw_price = parseFloat(item['money']); | 879 | fw_price = parseFloat(item['money']); |
880 | if (goods_weight > item['first_weight']) { | 880 | if (goods_weight > item['first_weight']) { |
881 | var fw = goods_weight - item['first_weight']; | 881 | var fw = goods_weight - item['first_weight']; |
@@ -883,6 +883,16 @@ Page({ | @@ -883,6 +883,16 @@ Page({ | ||
883 | fw_price = fw_price + n * parseFloat(item['add_money']); | 883 | fw_price = fw_price + n * parseFloat(item['add_money']); |
884 | } | 884 | } |
885 | } | 885 | } |
886 | + //------超出重量---------- | ||
887 | + if(out_of_weight < 0){ | ||
888 | + fw_price = parseFloat(item['money']); | ||
889 | + var out_of_weight = Math.abs(out_of_weight); | ||
890 | + if (out_of_weight > item['first_weight']) { | ||
891 | + var fw = out_of_weight - item['first_weight']; | ||
892 | + var n = Math.ceil(fw / item['second_weight']) | ||
893 | + fw_price = fw_price + n * parseFloat(item['add_money']); | ||
894 | + } | ||
895 | + } | ||
886 | //------按件数---------- | 896 | //------按件数---------- |
887 | if (goods_piece > 0 && item['piecemoney']) { | 897 | if (goods_piece > 0 && item['piecemoney']) { |
888 | fp_price = parseFloat(item['piecemoney']); | 898 | fp_price = parseFloat(item['piecemoney']); |
@@ -1713,6 +1723,9 @@ Page({ | @@ -1713,6 +1723,9 @@ Page({ | ||
1713 | var quan_no = null; | 1723 | var quan_no = null; |
1714 | var bn_pick=th.data.pickup.pickup_id; | 1724 | var bn_pick=th.data.pickup.pickup_id; |
1715 | var allpice =th.data.all_price; | 1725 | var allpice =th.data.all_price; |
1726 | + var out_of_weight=null; //超出多少重量 | ||
1727 | + var freight_free = ee.freight_free; //全场满多少包邮 | ||
1728 | + var weight_free = ee.weight_free; //多少kg内包邮 | ||
1716 | 1729 | ||
1717 | if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined) | 1730 | if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined) |
1718 | quan_no = th.data.using_quan[bn_pick].coupon_no; | 1731 | quan_no = th.data.using_quan[bn_pick].coupon_no; |
@@ -1793,6 +1806,9 @@ Page({ | @@ -1793,6 +1806,9 @@ Page({ | ||
1793 | if (goods_weight < 0) goods_weight = 0; | 1806 | if (goods_weight < 0) goods_weight = 0; |
1794 | //累积商品重量 每种商品的重量 * 数量 | 1807 | //累积商品重量 每种商品的重量 * 数量 |
1795 | goods_weight += good['weight'] * th.data.order.order_goods['goods_num']; | 1808 | goods_weight += good['weight'] * th.data.order.order_goods['goods_num']; |
1809 | + if(weight_free > 0){ | ||
1810 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
1811 | + } | ||
1796 | break; | 1812 | break; |
1797 | case 3: | 1813 | case 3: |
1798 | if (goods_piece < 0) goods_piece = 0; | 1814 | if (goods_piece < 0) goods_piece = 0; |
@@ -1802,7 +1818,6 @@ Page({ | @@ -1802,7 +1818,6 @@ Page({ | ||
1802 | } | 1818 | } |
1803 | 1819 | ||
1804 | var code = th.data.wu_arr[th.data.index].code; | 1820 | var code = th.data.wu_arr[th.data.index].code; |
1805 | - var freight_free = ee.freight_free; //全场满多少包邮 | ||
1806 | var shipping_price = | 1821 | var shipping_price = |
1807 | th.calculatewuliu(code, o_shipping_price, goods_weight, | 1822 | th.calculatewuliu(code, o_shipping_price, goods_weight, |
1808 | goods_piece, th.data.user_addr, freight_free, allpice, rs); | 1823 | goods_piece, th.data.user_addr, freight_free, allpice, rs); |
packageC/pages/presell/cart/cart2.js
@@ -734,7 +734,7 @@ Page({ | @@ -734,7 +734,7 @@ Page({ | ||
734 | 734 | ||
735 | //如果有赠品的时候,也要计算赠品的物流费用 | 735 | //如果有赠品的时候,也要计算赠品的物流费用 |
736 | if (th.data.buy_now_gift_goods) { | 736 | if (th.data.buy_now_gift_goods) { |
737 | - shipping_price = th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free,gift_weight_free, | 737 | + shipping_price = th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free,out_of_weight,gift_weight_free, |
738 | parseFloat(allpice) - cut_price - quan_price, rs, shipping_price, no_by_data, goods_weight, goods_piece); | 738 | parseFloat(allpice) - cut_price - quan_price, rs, shipping_price, no_by_data, goods_weight, goods_piece); |
739 | } | 739 | } |
740 | 740 | ||
@@ -2540,7 +2540,7 @@ Page({ | @@ -2540,7 +2540,7 @@ Page({ | ||
2540 | }, | 2540 | }, |
2541 | 2541 | ||
2542 | //计算立即购买赠品的物流费用 | 2542 | //计算立即购买赠品的物流费用 |
2543 | - get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free,gift_weight_free, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) { | 2543 | + get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free,gift_weight_free,out_of_weight,allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) { |
2544 | var good = this.data.buy_now_gift_goods; | 2544 | var good = this.data.buy_now_gift_goods; |
2545 | var goods_weight = -1, goods_piece = -1; | 2545 | var goods_weight = -1, goods_piece = -1; |
2546 | var gift_shipping_price = 0; | 2546 | var gift_shipping_price = 0; |
@@ -2556,8 +2556,9 @@ Page({ | @@ -2556,8 +2556,9 @@ Page({ | ||
2556 | //累积商品重量 每种商品的重量 * 数量 | 2556 | //累积商品重量 每种商品的重量 * 数量 |
2557 | goods_weight += good['weight'] * good['buynum']; | 2557 | goods_weight += good['weight'] * good['buynum']; |
2558 | if (goods_weight1 > 0) { | 2558 | if (goods_weight1 > 0) { |
2559 | + out_of_weight = gift_weight_free - goods_weight; | ||
2560 | + //不能调换位置 下面goods_weight会变大 | ||
2559 | goods_weight += goods_weight1; | 2561 | goods_weight += goods_weight1; |
2560 | - out_of_weight = (gift_weight_free*1000) - goods_weight; | ||
2561 | } | 2562 | } |
2562 | break; | 2563 | break; |
2563 | case 3: | 2564 | case 3: |
packageC/pages/presell/cart/cart2_pre.js
@@ -342,7 +342,11 @@ Page({ | @@ -342,7 +342,11 @@ Page({ | ||
342 | 342 | ||
343 | app.getConfig2(function (ee) { | 343 | app.getConfig2(function (ee) { |
344 | app.getwuliuprice(function (rs) { | 344 | app.getwuliuprice(function (rs) { |
345 | - var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; | 345 | + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; |
346 | + var out_of_weight=null; //超出多少重量 | ||
347 | + var freight_free = ee.freight_free; //全场满多少包邮 | ||
348 | + var weight_free = ee.weight_free; //多少kg内包邮 | ||
349 | + var no_ex_id = ee.no_ex_id; | ||
346 | //-----------当地址不为空,且是物流时,计算物流费用,同时阶梯团不计算拼团价格---------- | 350 | //-----------当地址不为空,且是物流时,计算物流费用,同时阶梯团不计算拼团价格---------- |
347 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 | 351 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 |
348 | && good.is_free_shipping == 0 && (th.data.kt_type!=3 || th.data.bn_goods.is_normal==1) ){ | 352 | && good.is_free_shipping == 0 && (th.data.kt_type!=3 || th.data.bn_goods.is_normal==1) ){ |
@@ -353,7 +357,11 @@ Page({ | @@ -353,7 +357,11 @@ Page({ | ||
353 | case 2: | 357 | case 2: |
354 | if (goods_weight < 0) goods_weight = 0; | 358 | if (goods_weight < 0) goods_weight = 0; |
355 | //累积商品重量 每种商品的重量 * 数量 | 359 | //累积商品重量 每种商品的重量 * 数量 |
356 | - goods_weight += good['weight'] * good['buynum'];break; | 360 | + goods_weight += good['weight'] * good['buynum']; |
361 | + if(weight_free > 0){ | ||
362 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
363 | + } | ||
364 | + break; | ||
357 | case 3: | 365 | case 3: |
358 | if (goods_piece < 0) goods_piece = 0; | 366 | if (goods_piece < 0) goods_piece = 0; |
359 | //累积商品数量 | 367 | //累积商品数量 |
@@ -361,9 +369,8 @@ Page({ | @@ -361,9 +369,8 @@ Page({ | ||
361 | } | 369 | } |
362 | 370 | ||
363 | var code = th.data.wu_arr[th.data.index].code; | 371 | var code = th.data.wu_arr[th.data.index].code; |
364 | - var freight_free = ee.freight_free; //全场满多少包邮 | ||
365 | var shipping_price= | 372 | var shipping_price= |
366 | - th.calculatewuliu(code, o_shipping_price, goods_weight, | 373 | + th.calculatewuliu(code, o_shipping_price, goods_weight,out_of_weight, |
367 | goods_piece, th.data.user_addr, freight_free, allpice, rs); | 374 | goods_piece, th.data.user_addr, freight_free, allpice, rs); |
368 | 375 | ||
369 | shipping_price = parseFloat(shipping_price).toFixed(2); | 376 | shipping_price = parseFloat(shipping_price).toFixed(2); |
@@ -701,12 +708,12 @@ Page({ | @@ -701,12 +708,12 @@ Page({ | ||
701 | }, | 708 | }, |
702 | 709 | ||
703 | //-------------------计算物流--------------- | 710 | //-------------------计算物流--------------- |
704 | - calculatewuliu:function(code, o_shipping_price, goods_weight, | 711 | + calculatewuliu:function(code, o_shipping_price, goods_weight,out_of_weight, |
705 | goods_piece,user_addr, freight_free, o_price, rs){ | 712 | goods_piece,user_addr, freight_free, o_price, rs){ |
706 | var price =0,th=this; | 713 | var price =0,th=this; |
707 | price +=parseFloat(o_shipping_price); | 714 | price +=parseFloat(o_shipping_price); |
708 | //如果是包邮 | 715 | //如果是包邮 |
709 | - if (freight_free > 0 && o_price >= freight_free){ return 0;} | 716 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight>=0){ return 0;} |
710 | if (user_addr==null) { return 0; } | 717 | if (user_addr==null) { return 0; } |
711 | //计算物流的config item; | 718 | //计算物流的config item; |
712 | var item=null; | 719 | var item=null; |
@@ -720,7 +727,7 @@ Page({ | @@ -720,7 +727,7 @@ Page({ | ||
720 | item=item.config; | 727 | item=item.config; |
721 | if (item == null) return o_shipping_price; | 728 | if (item == null) return o_shipping_price; |
722 | //------按重量---------- | 729 | //------按重量---------- |
723 | - if (goods_weight>0) { | 730 | + if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { |
724 | fw_price =parseFloat(item['money']); | 731 | fw_price =parseFloat(item['money']); |
725 | if (goods_weight > item['first_weight']){ | 732 | if (goods_weight > item['first_weight']){ |
726 | var fw = goods_weight - item['first_weight']; | 733 | var fw = goods_weight - item['first_weight']; |
@@ -728,6 +735,16 @@ Page({ | @@ -728,6 +735,16 @@ Page({ | ||
728 | fw_price = fw_price + n * parseFloat(item['add_money']); | 735 | fw_price = fw_price + n * parseFloat(item['add_money']); |
729 | } | 736 | } |
730 | } | 737 | } |
738 | + //------超出重量---------- | ||
739 | + if(out_of_weight < 0){ | ||
740 | + fw_price = parseFloat(item['money']); | ||
741 | + var out_of_weight = Math.abs(out_of_weight); | ||
742 | + if (out_of_weight > item['first_weight']) { | ||
743 | + var fw = out_of_weight - item['first_weight']; | ||
744 | + var n = Math.ceil(fw / item['second_weight']) | ||
745 | + fw_price = fw_price + n * parseFloat(item['add_money']); | ||
746 | + } | ||
747 | + } | ||
731 | //------按件数---------- | 748 | //------按件数---------- |
732 | if (goods_piece > 0) { | 749 | if (goods_piece > 0) { |
733 | fp_price = parseFloat(item['piecemoney']); | 750 | fp_price = parseFloat(item['piecemoney']); |
pages/cart/cart2/cart2.js
@@ -1484,13 +1484,11 @@ Page({ | @@ -1484,13 +1484,11 @@ Page({ | ||
1484 | o_price += item[j].goods_price * item[j].goods_num; | 1484 | o_price += item[j].goods_price * item[j].goods_num; |
1485 | 1485 | ||
1486 | //判断是否有设置限制重量包邮,先看商品有没有包邮 | 1486 | //判断是否有设置限制重量包邮,先看商品有没有包邮 |
1487 | - if(item[j]['is_past']!==1 && weight_free){ | ||
1488 | - if( item[j]['exp_sum_type']==2 ){ | ||
1489 | - if (goods_weight < 0) goods_weight = 0; | ||
1490 | - //累积商品重量 每种商品的重量 * 数量 | ||
1491 | - goods_weight += item[j]['weight'] * item[j]['goods_num']; | ||
1492 | - out_of_weight = (weight_free*1000) - goods_weight; | ||
1493 | - } | 1487 | + if(item[j]['is_past']!==1 && item[j]['exp_sum_type']==2 && weight_free>0){ |
1488 | + if (goods_weight < 0) goods_weight = 0; | ||
1489 | + //累积商品重量 每种商品的重量 * 数量 | ||
1490 | + goods_weight += item[j]['weight'] * item[j]['goods_num']; | ||
1491 | + out_of_weight = (weight_free*1000) - goods_weight; | ||
1494 | } | 1492 | } |
1495 | } | 1493 | } |
1496 | //判断是不是有组合购的金额 | 1494 | //判断是不是有组合购的金额 |
@@ -1666,7 +1664,7 @@ Page({ | @@ -1666,7 +1664,7 @@ Page({ | ||
1666 | o_shipping_price += item[j]['uniform_exp_sum']; | 1664 | o_shipping_price += item[j]['uniform_exp_sum']; |
1667 | break; | 1665 | break; |
1668 | // case 2: //1464行已计算 不必重复计算 注释为:判断是否有设置限制重量包邮 | 1666 | // case 2: //1464行已计算 不必重复计算 注释为:判断是否有设置限制重量包邮 |
1669 | - // +'' | 1667 | + // +'' |
1670 | // if (goods_weight < 0) goods_weight = 0; | 1668 | // if (goods_weight < 0) goods_weight = 0; |
1671 | // //累积商品重量 每种商品的重量 * 数量 | 1669 | // //累积商品重量 每种商品的重量 * 数量 |
1672 | // goods_weight += item[j]['weight'] * item[j]['goods_num']; | 1670 | // goods_weight += item[j]['weight'] * item[j]['goods_num']; |
@@ -1679,12 +1677,14 @@ Page({ | @@ -1679,12 +1677,14 @@ Page({ | ||
1679 | break; | 1677 | break; |
1680 | } | 1678 | } |
1681 | } | 1679 | } |
1682 | - | ||
1683 | }else{ | 1680 | }else{ |
1684 | - if(goods_weight && out_of_weight !==0){ | ||
1685 | - goods_weight=-1; | ||
1686 | - out_of_weight=0; | 1681 | + if(item[j]['exp_sum_type']==2){ |
1682 | + if(out_of_weight !==0){ | ||
1683 | + goods_weight=-1; | ||
1684 | + out_of_weight=0; | ||
1685 | + } | ||
1687 | } | 1686 | } |
1687 | + | ||
1688 | } | 1688 | } |
1689 | } | 1689 | } |
1690 | 1690 | ||
@@ -1999,7 +1999,9 @@ Page({ | @@ -1999,7 +1999,9 @@ Page({ | ||
1999 | //dw | 1999 | //dw |
2000 | //累积商品重量 每种商品的重量 * 数量 | 2000 | //累积商品重量 每种商品的重量 * 数量 |
2001 | goods_weight += good['weight'] * good['buynum']; | 2001 | goods_weight += good['weight'] * good['buynum']; |
2002 | - out_of_weight = (weight_free * 1000 ) - goods_weight; | 2002 | + if(weight_free > 0){ |
2003 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
2004 | + } | ||
2003 | break; | 2005 | break; |
2004 | case 3: | 2006 | case 3: |
2005 | if (goods_piece < 0) goods_piece = 0; | 2007 | if (goods_piece < 0) goods_piece = 0; |
@@ -3067,8 +3069,6 @@ Page({ | @@ -3067,8 +3069,6 @@ Page({ | ||
3067 | if(out_of_weight < 0){ | 3069 | if(out_of_weight < 0){ |
3068 | fw_price = parseFloat(item['money']); | 3070 | fw_price = parseFloat(item['money']); |
3069 | var out_of_weight = Math.abs(out_of_weight); | 3071 | var out_of_weight = Math.abs(out_of_weight); |
3070 | - // var n = Math.ceil(out_of_weight / item['second_weight']) | ||
3071 | - // fw_price = fw_price + n * parseFloat(item['add_money']); | ||
3072 | if (out_of_weight > item['first_weight']) { | 3072 | if (out_of_weight > item['first_weight']) { |
3073 | var fw = out_of_weight - item['first_weight']; | 3073 | var fw = out_of_weight - item['first_weight']; |
3074 | var n = Math.ceil(fw / item['second_weight']) | 3074 | var n = Math.ceil(fw / item['second_weight']) |
@@ -3985,7 +3985,7 @@ Page({ | @@ -3985,7 +3985,7 @@ Page({ | ||
3985 | }, | 3985 | }, |
3986 | 3986 | ||
3987 | //计算立即购买赠品的物流费用 | 3987 | //计算立即购买赠品的物流费用 |
3988 | - get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free,gift_weight_free, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) { | 3988 | + get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free,out_of_weight, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) { |
3989 | var good = this.data.buy_now_gift_goods; | 3989 | var good = this.data.buy_now_gift_goods; |
3990 | var goods_weight = -1, goods_piece = -1; | 3990 | var goods_weight = -1, goods_piece = -1; |
3991 | var gift_shipping_price = 0; | 3991 | var gift_shipping_price = 0; |
pages/cart/cart2_inte/cart2_inte.js
@@ -442,6 +442,9 @@ Page({ | @@ -442,6 +442,9 @@ Page({ | ||
442 | to.getwuliuprice(async function (rs) { | 442 | to.getwuliuprice(async function (rs) { |
443 | 443 | ||
444 | var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; | 444 | var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; |
445 | + var out_of_weight=null; //超出多少重量 | ||
446 | + var freight_free = ee.freight_free; //全场满多少包邮 | ||
447 | + var weight_free = ee.weight_free; //多少kg内包邮 | ||
445 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- | 448 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- |
446 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 ){ | 449 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 ){ |
447 | 450 | ||
@@ -452,7 +455,11 @@ Page({ | @@ -452,7 +455,11 @@ Page({ | ||
452 | case 2: | 455 | case 2: |
453 | if (goods_weight < 0) goods_weight = 0; | 456 | if (goods_weight < 0) goods_weight = 0; |
454 | //累积商品重量 每种商品的重量 * 数量 | 457 | //累积商品重量 每种商品的重量 * 数量 |
455 | - goods_weight += good['weight'] * good['buynum'];break; | 458 | + goods_weight += good['weight'] * good['buynum']; |
459 | + if(weight_free > 0){ | ||
460 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
461 | + } | ||
462 | + break; | ||
456 | case 3: | 463 | case 3: |
457 | if (goods_piece < 0) goods_piece = 0; | 464 | if (goods_piece < 0) goods_piece = 0; |
458 | //累积商品数量 | 465 | //累积商品数量 |
@@ -461,8 +468,7 @@ Page({ | @@ -461,8 +468,7 @@ Page({ | ||
461 | 468 | ||
462 | var code =""; | 469 | var code =""; |
463 | if(th.data.wu_arr && th.data.wu_arr[th.data.index]) code=th.data.wu_arr[th.data.index].code; | 470 | if(th.data.wu_arr && th.data.wu_arr[th.data.index]) code=th.data.wu_arr[th.data.index].code; |
464 | - var freight_free = ee.freight_free; //全场满多少包邮 | ||
465 | - var no_ex_id=ee.no_ex_id; | 471 | + var no_ex_id=ee.no_ex_id; |
466 | th.data.is_no_by[th.data.bn_pick]=0; | 472 | th.data.is_no_by[th.data.bn_pick]=0; |
467 | 473 | ||
468 | var no_by_data=null; | 474 | var no_by_data=null; |
@@ -924,7 +930,7 @@ Page({ | @@ -924,7 +930,7 @@ Page({ | ||
924 | var price =0,th=this; | 930 | var price =0,th=this; |
925 | price +=parseFloat(o_shipping_price); | 931 | price +=parseFloat(o_shipping_price); |
926 | //如果是包邮 | 932 | //如果是包邮 |
927 | - if (freight_free > 0 && o_price >= freight_free){ return 0;} | 933 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight>=0){ return 0;} |
928 | if (user_addr==null) { return 0; } | 934 | if (user_addr==null) { return 0; } |
929 | //计算物流的config item; | 935 | //计算物流的config item; |
930 | var item=null; | 936 | var item=null; |
@@ -938,7 +944,7 @@ Page({ | @@ -938,7 +944,7 @@ Page({ | ||
938 | item=item.config; | 944 | item=item.config; |
939 | if (item == null) return o_shipping_price; | 945 | if (item == null) return o_shipping_price; |
940 | //------按重量---------- | 946 | //------按重量---------- |
941 | - if (goods_weight>=0 && item['money']) { | 947 | + if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { |
942 | fw_price =parseFloat(item['money']); | 948 | fw_price =parseFloat(item['money']); |
943 | if (goods_weight > item['first_weight']){ | 949 | if (goods_weight > item['first_weight']){ |
944 | var fw = goods_weight - item['first_weight']; | 950 | var fw = goods_weight - item['first_weight']; |
@@ -946,6 +952,16 @@ Page({ | @@ -946,6 +952,16 @@ Page({ | ||
946 | fw_price = fw_price + n * parseFloat(item['add_money']); | 952 | fw_price = fw_price + n * parseFloat(item['add_money']); |
947 | } | 953 | } |
948 | } | 954 | } |
955 | + //------超出重量---------- | ||
956 | + if(out_of_weight < 0){ | ||
957 | + fw_price = parseFloat(item['money']); | ||
958 | + var out_of_weight = Math.abs(out_of_weight); | ||
959 | + if (out_of_weight > item['first_weight']) { | ||
960 | + var fw = out_of_weight - item['first_weight']; | ||
961 | + var n = Math.ceil(fw / item['second_weight']) | ||
962 | + fw_price = fw_price + n * parseFloat(item['add_money']); | ||
963 | + } | ||
964 | + } | ||
949 | //------按件数---------- | 965 | //------按件数---------- |
950 | if (goods_piece > 0 && item['piecemoney']) { | 966 | if (goods_piece > 0 && item['piecemoney']) { |
951 | fp_price = parseFloat(item['piecemoney']); | 967 | fp_price = parseFloat(item['piecemoney']); |
pages/cart/cart2_pt/cart2_pt.js
@@ -395,7 +395,6 @@ Page({ | @@ -395,7 +395,6 @@ Page({ | ||
395 | }, | 395 | }, |
396 | //---------计算立即购买---------- | 396 | //---------计算立即购买---------- |
397 | calculatePrice2: function () { | 397 | calculatePrice2: function () { |
398 | - console.log('calculatePrice2'); | ||
399 | var th = this, good = this.data.bn_goods; | 398 | var th = this, good = this.data.bn_goods; |
400 | //-----------计算商品总价-------------- | 399 | //-----------计算商品总价-------------- |
401 | var allpice = good.shop_price * good.buynum; | 400 | var allpice = good.shop_price * good.buynum; |
@@ -408,7 +407,10 @@ Page({ | @@ -408,7 +407,10 @@ Page({ | ||
408 | to.getwuliuprice(function (rs) { | 407 | to.getwuliuprice(function (rs) { |
409 | console.log('calculatePrice2222'); | 408 | console.log('calculatePrice2222'); |
410 | console.log(rs); | 409 | console.log(rs); |
411 | - var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; | 410 | + var o_shipping_price = 0,goods_weight = -1,goods_piece = -1; |
411 | + var out_of_weight=null; //超出多少重量 | ||
412 | + var freight_free = ee.freight_free; //全场满多少包邮 | ||
413 | + var weight_free = ee.weight_free; //多少kg内包邮 | ||
412 | //-----------当地址不为空,且是物流时,计算物流费用,同时阶梯团不计算拼团价格---------- | 414 | //-----------当地址不为空,且是物流时,计算物流费用,同时阶梯团不计算拼团价格---------- |
413 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && (th.data.kt_type!=3 || th.data.bn_goods.is_normal==1) ){ | 415 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && (th.data.kt_type!=3 || th.data.bn_goods.is_normal==1) ){ |
414 | switch (good['exp_sum_type']) { | 416 | switch (good['exp_sum_type']) { |
@@ -418,7 +420,12 @@ Page({ | @@ -418,7 +420,12 @@ Page({ | ||
418 | case 2: | 420 | case 2: |
419 | if (goods_weight < 0) goods_weight = 0; | 421 | if (goods_weight < 0) goods_weight = 0; |
420 | //累积商品重量 每种商品的重量 * 数量 | 422 | //累积商品重量 每种商品的重量 * 数量 |
421 | - goods_weight += good['weight'] * good['buynum'];break; | 423 | + goods_weight += good['weight'] * good['buynum']; |
424 | + if(weight_free > 0){ | ||
425 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
426 | + } | ||
427 | + break; | ||
428 | + // goods_weight += good['weight'] * good['buynum'];break; | ||
422 | case 3: | 429 | case 3: |
423 | if (goods_piece < 0) goods_piece = 0; | 430 | if (goods_piece < 0) goods_piece = 0; |
424 | //累积商品数量 | 431 | //累积商品数量 |
@@ -430,7 +437,7 @@ Page({ | @@ -430,7 +437,7 @@ Page({ | ||
430 | var code = th.data.wu_arr[th.data.index].code; | 437 | var code = th.data.wu_arr[th.data.index].code; |
431 | var freight_free = ee.freight_free; //全场满多少包邮 | 438 | var freight_free = ee.freight_free; //全场满多少包邮 |
432 | var shipping_price= | 439 | var shipping_price= |
433 | - th.calculatewuliu(code, o_shipping_price, goods_weight, | 440 | + th.calculatewuliu(code, o_shipping_price, goods_weight,out_of_weight, |
434 | goods_piece, th.data.user_addr, freight_free, allpice, rs); | 441 | goods_piece, th.data.user_addr, freight_free, allpice, rs); |
435 | 442 | ||
436 | shipping_price = parseFloat(shipping_price).toFixed(2); | 443 | shipping_price = parseFloat(shipping_price).toFixed(2); |
@@ -779,7 +786,7 @@ Page({ | @@ -779,7 +786,7 @@ Page({ | ||
779 | var price =0,th=this; | 786 | var price =0,th=this; |
780 | price +=parseFloat(o_shipping_price); | 787 | price +=parseFloat(o_shipping_price); |
781 | //如果是包邮 | 788 | //如果是包邮 |
782 | - if (freight_free > 0 && o_price >= freight_free){ return 0;} | 789 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight>=0){ return 0;} |
783 | if (user_addr==null) { return 0; } | 790 | if (user_addr==null) { return 0; } |
784 | //计算物流的config item; | 791 | //计算物流的config item; |
785 | var item=null; | 792 | var item=null; |
@@ -793,7 +800,7 @@ Page({ | @@ -793,7 +800,7 @@ Page({ | ||
793 | item=item.config; | 800 | item=item.config; |
794 | if (item == null) return o_shipping_price; | 801 | if (item == null) return o_shipping_price; |
795 | //------按重量---------- | 802 | //------按重量---------- |
796 | - if (goods_weight>=0) { | 803 | + if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { |
797 | fw_price =parseFloat(item['money']); | 804 | fw_price =parseFloat(item['money']); |
798 | if (goods_weight > item['first_weight']){ | 805 | if (goods_weight > item['first_weight']){ |
799 | var fw = goods_weight - item['first_weight']; | 806 | var fw = goods_weight - item['first_weight']; |
@@ -801,6 +808,16 @@ Page({ | @@ -801,6 +808,16 @@ Page({ | ||
801 | fw_price = fw_price + n * parseFloat(item['add_money']); | 808 | fw_price = fw_price + n * parseFloat(item['add_money']); |
802 | } | 809 | } |
803 | } | 810 | } |
811 | + //------超出重量---------- | ||
812 | + if(out_of_weight < 0){ | ||
813 | + fw_price = parseFloat(item['money']); | ||
814 | + var out_of_weight = Math.abs(out_of_weight); | ||
815 | + if (out_of_weight > item['first_weight']) { | ||
816 | + var fw = out_of_weight - item['first_weight']; | ||
817 | + var n = Math.ceil(fw / item['second_weight']) | ||
818 | + fw_price = fw_price + n * parseFloat(item['add_money']); | ||
819 | + } | ||
820 | + } | ||
804 | //------按件数---------- | 821 | //------按件数---------- |
805 | if (goods_piece > 0) { | 822 | if (goods_piece > 0) { |
806 | fp_price = parseFloat(item['piecemoney']); | 823 | fp_price = parseFloat(item['piecemoney']); |
pages/cart/cart_wk/cart_wk.js
@@ -420,10 +420,10 @@ Page({ | @@ -420,10 +420,10 @@ Page({ | ||
420 | var to = getApp(), th = this; | 420 | var to = getApp(), th = this; |
421 | to.getConfig2(function (ee) { | 421 | to.getConfig2(function (ee) { |
422 | to.getwuliuprice(function (rs) { | 422 | to.getwuliuprice(function (rs) { |
423 | - var o_shipping_price = 0, | ||
424 | - goods_weight = -1, | ||
425 | - goods_piece = -1, | ||
426 | - good = th.data.goods; | 423 | + var o_shipping_price = 0,goods_weight = -1,goods_piece = -1; |
424 | + var out_of_weight=null; //超出多少重量 | ||
425 | + var freight_free = ee.freight_free; //全场满多少包邮 | ||
426 | + var weight_free = ee.weight_free; //多少kg内包邮 | ||
427 | //-----------当地址不为空,且是物流时,计算物流费用---------- | 427 | //-----------当地址不为空,且是物流时,计算物流费用---------- |
428 | if (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) { | 428 | if (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) { |
429 | switch (good['exp_sum_type']) { | 429 | switch (good['exp_sum_type']) { |
@@ -435,6 +435,9 @@ Page({ | @@ -435,6 +435,9 @@ Page({ | ||
435 | if (goods_weight < 0) goods_weight = 0; | 435 | if (goods_weight < 0) goods_weight = 0; |
436 | //累积商品重量 每种商品的重量 * 数量 | 436 | //累积商品重量 每种商品的重量 * 数量 |
437 | goods_weight += good['weight'] * th.data.order.order_goods['goods_num']; | 437 | goods_weight += good['weight'] * th.data.order.order_goods['goods_num']; |
438 | + if(weight_free > 0){ | ||
439 | + out_of_weight = (weight_free * 1000 ) - goods_weight; | ||
440 | + } | ||
438 | break; | 441 | break; |
439 | case 3: | 442 | case 3: |
440 | if (goods_piece < 0) goods_piece = 0; | 443 | if (goods_piece < 0) goods_piece = 0; |
@@ -443,7 +446,6 @@ Page({ | @@ -443,7 +446,6 @@ Page({ | ||
443 | break; | 446 | break; |
444 | } | 447 | } |
445 | var code = th.data.wu_arr[th.data.index].code; | 448 | var code = th.data.wu_arr[th.data.index].code; |
446 | - var freight_free = ee.freight_free; //全场满多少包邮 | ||
447 | //--全部金额-- | 449 | //--全部金额-- |
448 | var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.pt_tail_money; | 450 | var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.pt_tail_money; |
449 | var shipping_price = | 451 | var shipping_price = |
@@ -470,7 +472,7 @@ Page({ | @@ -470,7 +472,7 @@ Page({ | ||
470 | var price = 0, th = this; | 472 | var price = 0, th = this; |
471 | price += parseFloat(o_shipping_price); | 473 | price += parseFloat(o_shipping_price); |
472 | //如果是包邮 | 474 | //如果是包邮 |
473 | - if (freight_free > 0 && o_price >= freight_free) { return 0; } | 475 | + if (freight_free > 0 && o_price >= freight_free && out_of_weight>=0) { return 0; } |
474 | if (user_addr == null) { return 0; } | 476 | if (user_addr == null) { return 0; } |
475 | //计算物流的config item; | 477 | //计算物流的config item; |
476 | var item = null; | 478 | var item = null; |
@@ -484,7 +486,7 @@ Page({ | @@ -484,7 +486,7 @@ Page({ | ||
484 | item = item.config; | 486 | item = item.config; |
485 | if (item == null) return o_shipping_price; | 487 | if (item == null) return o_shipping_price; |
486 | //------按重量---------- | 488 | //------按重量---------- |
487 | - if (goods_weight > 0) { | 489 | + if (goods_weight >= 0 && item['money'] && out_of_weight >= 0) { |
488 | fw_price = parseFloat(item['money']); | 490 | fw_price = parseFloat(item['money']); |
489 | if (goods_weight > item['first_weight']) { | 491 | if (goods_weight > item['first_weight']) { |
490 | var fw = goods_weight - item['first_weight']; | 492 | var fw = goods_weight - item['first_weight']; |
@@ -492,6 +494,16 @@ Page({ | @@ -492,6 +494,16 @@ Page({ | ||
492 | fw_price = fw_price + n * parseFloat(item['add_money']); | 494 | fw_price = fw_price + n * parseFloat(item['add_money']); |
493 | } | 495 | } |
494 | } | 496 | } |
497 | + //------超出重量---------- | ||
498 | + if(out_of_weight < 0){ | ||
499 | + fw_price = parseFloat(item['money']); | ||
500 | + var out_of_weight = Math.abs(out_of_weight); | ||
501 | + if (out_of_weight > item['first_weight']) { | ||
502 | + var fw = out_of_weight - item['first_weight']; | ||
503 | + var n = Math.ceil(fw / item['second_weight']) | ||
504 | + fw_price = fw_price + n * parseFloat(item['add_money']); | ||
505 | + } | ||
506 | + } | ||
495 | //------按件数---------- | 507 | //------按件数---------- |
496 | if (goods_piece > 0) { | 508 | if (goods_piece > 0) { |
497 | fp_price = parseFloat(item['piecemoney']); | 509 | fp_price = parseFloat(item['piecemoney']); |