Commit 2dcbeb36ebe424f9192c88b9f992082e65af491a
1 parent
85254bb9
组合购多余的商品有店铺优惠的时候的bug优化
Showing
3 changed files
with
52 additions
and
10 deletions
pages/cart/cart/cart.js
@@ -828,7 +828,7 @@ Page({ | @@ -828,7 +828,7 @@ Page({ | ||
828 | 828 | ||
829 | //---------------全选,全选的时候要判断是否门店的匹配方式一致-------------- | 829 | //---------------全选,全选的时候要判断是否门店的匹配方式一致-------------- |
830 | checkAll: function() { | 830 | checkAll: function() { |
831 | - var e = this, | 831 | + var e = this,th=this, |
832 | dda = e.data.requestData, | 832 | dda = e.data.requestData, |
833 | sdda = e.data.service_data, | 833 | sdda = e.data.service_data, |
834 | tfeel = 0, | 834 | tfeel = 0, |
@@ -846,11 +846,17 @@ Page({ | @@ -846,11 +846,17 @@ Page({ | ||
846 | 846 | ||
847 | this.data.btn_click=1; | 847 | this.data.btn_click=1; |
848 | 848 | ||
849 | + | ||
850 | + | ||
851 | + var offline_price=0; | ||
852 | + var offline_num=0; | ||
853 | + | ||
854 | + | ||
849 | if(dda && dda.length>0){ | 855 | if(dda && dda.length>0){ |
850 | for (var i = 0; i < dda.length; i++) { | 856 | for (var i = 0; i < dda.length; i++) { |
851 | var item = dda[i].goods; | 857 | var item = dda[i].goods; |
852 | 858 | ||
853 | - if (!e.data.checkAllToggle) { | 859 | + if (e.data.checkAllToggle) { |
854 | var txt = "requestData[" + i + "].selected"; | 860 | var txt = "requestData[" + i + "].selected"; |
855 | e.setData({ | 861 | e.setData({ |
856 | [txt]: 0, | 862 | [txt]: 0, |
@@ -889,6 +895,13 @@ Page({ | @@ -889,6 +895,13 @@ Page({ | ||
889 | tfeel += item[j].goods_num * item[j].goods_price; | 895 | tfeel += item[j].goods_num * item[j].goods_price; |
890 | t_num += item[j].goods_num; | 896 | t_num += item[j].goods_num; |
891 | } | 897 | } |
898 | + | ||
899 | + //-- 如果这个商品是线下取价的时候 -- | ||
900 | + if(item[j].is_offline && item[j].prom_type!=7){ | ||
901 | + offline_price+= (item[j].goods_price-item[j].offline_price)*item[j].goods_num; | ||
902 | + offline_num+=item[j].goods_num; | ||
903 | + } | ||
904 | + | ||
892 | } | 905 | } |
893 | } | 906 | } |
894 | 907 | ||
@@ -900,13 +913,42 @@ Page({ | @@ -900,13 +913,42 @@ Page({ | ||
900 | }); | 913 | }); |
901 | return false; | 914 | return false; |
902 | } else { | 915 | } else { |
903 | - | 916 | + |
904 | for (var i = 0; i < dda.length; i++) { | 917 | for (var i = 0; i < dda.length; i++) { |
918 | + | ||
919 | + if (!e.data.checkAllToggle) { | ||
920 | + var txt = "requestData[" + i + "].selected"; | ||
921 | + e.setData({ | ||
922 | + [txt]: 1, | ||
923 | + }); | ||
924 | + } | ||
925 | + | ||
905 | //总的价格,把组合商品的价格拿出来 | 926 | //总的价格,把组合商品的价格拿出来 |
906 | var zh_calc_res=zh_calc.calculate_zh(dda,i,this); | 927 | var zh_calc_res=zh_calc.calculate_zh(dda,i,this); |
907 | tfeel+=zh_calc_res.tfeel; | 928 | tfeel+=zh_calc_res.tfeel; |
929 | + offline_price+=zh_calc_res.offline_price; | ||
930 | + offline_num+=zh_calc_res.offline_num; | ||
931 | + | ||
932 | + //当有线下取价的时候 | ||
933 | + if(offline_price){ | ||
934 | + var txt1= "requestData[" + i + "].offline_price"; | ||
935 | + var txt2= "requestData[" + i+ "].offline_num"; | ||
936 | + th.setData({ | ||
937 | + [txt1]: offline_price.toFixed(2), | ||
938 | + [txt2]: offline_num, | ||
939 | + }); | ||
940 | + }else{ | ||
941 | + if(dda[i].offline_price>0){ | ||
942 | + var txt1= "requestData[" + i + "].offline_price"; | ||
943 | + var txt2= "requestData[" + i + "].offline_num"; | ||
944 | + th.setData({ | ||
945 | + [txt1]: 0, | ||
946 | + [txt2]: 0 | ||
947 | + }); | ||
948 | + } | ||
949 | + } | ||
908 | } | 950 | } |
909 | - | 951 | + |
910 | e.setData({ | 952 | e.setData({ |
911 | checkAllToggle: !e.data.checkAllToggle, | 953 | checkAllToggle: !e.data.checkAllToggle, |
912 | total_fee: tfeel.toFixed(2), | 954 | total_fee: tfeel.toFixed(2), |
@@ -922,7 +964,7 @@ Page({ | @@ -922,7 +964,7 @@ Page({ | ||
922 | if(sdda && sdda.length>0){ | 964 | if(sdda && sdda.length>0){ |
923 | for (var i = 0; i < sdda.length; i++) { | 965 | for (var i = 0; i < sdda.length; i++) { |
924 | var item = sdda[i].goods; | 966 | var item = sdda[i].goods; |
925 | - if (!e.data.checkAllToggle) { | 967 | + if (e.data.checkAllToggle) { |
926 | var txt = "service_data[" + i + "].selected"; | 968 | var txt = "service_data[" + i + "].selected"; |
927 | e.setData({ | 969 | e.setData({ |
928 | [txt]: 0, | 970 | [txt]: 0, |
pages/cart/cart2/cart2.js
@@ -2324,8 +2324,8 @@ Page({ | @@ -2324,8 +2324,8 @@ Page({ | ||
2324 | 'store_id': oo.stoid, | 2324 | 'store_id': oo.stoid, |
2325 | }; | 2325 | }; |
2326 | 2326 | ||
2327 | - //-- 线下取价也要写入 -- | ||
2328 | - if (g_item.offline_price && t_item.is_offline == 1) { | 2327 | + //-- 线下取价也要写入,组合购的商品不能去线下价格 -- |
2328 | + if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type!=7) { | ||
2329 | goods.goods_price = g_item.offline_price; | 2329 | goods.goods_price = g_item.offline_price; |
2330 | goods.member_goods_price = g_item.offline_price; | 2330 | goods.member_goods_price = g_item.offline_price; |
2331 | goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2); | 2331 | goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2); |
pages/cart/cart2/zh_calculate.js
@@ -42,14 +42,14 @@ module.exports = { | @@ -42,14 +42,14 @@ module.exports = { | ||
42 | if (item.num > item.zhqty) { | 42 | if (item.num > item.zhqty) { |
43 | for (let i = 0; i < item.num - item.zhqty; i++) { | 43 | for (let i = 0; i < item.num - item.zhqty; i++) { |
44 | no_in_arr.push({ | 44 | no_in_arr.push({ |
45 | - price: item.goods_price, goods_id: item.goods_id, offline_price: item.offline_price | 45 | + price: item.goods_price, goods_id: item.goods_id, offline_price: item_j.offline_price |
46 | }) | 46 | }) |
47 | } | 47 | } |
48 | } | 48 | } |
49 | } else { | 49 | } else { |
50 | for (let j = 0; j < item.num; j++) { | 50 | for (let j = 0; j < item.num; j++) { |
51 | no_in_arr.push({ | 51 | no_in_arr.push({ |
52 | - price: item.goods_price, goods_id: item.goods_id, offline_price: item.offline_price | 52 | + price: item.goods_price, goods_id: item.goods_id, offline_price: item_j.offline_price |
53 | }) | 53 | }) |
54 | } | 54 | } |
55 | } | 55 | } |
@@ -92,7 +92,7 @@ module.exports = { | @@ -92,7 +92,7 @@ module.exports = { | ||
92 | for (let ii in no_in_arr) { | 92 | for (let ii in no_in_arr) { |
93 | let item = no_in_arr[ii]; | 93 | let item = no_in_arr[ii]; |
94 | if (item.offline_price) { | 94 | if (item.offline_price) { |
95 | - offline_price += item.goods_price - item.offline_price; | 95 | + offline_price += item.price - item.offline_price; |
96 | offline_num += 1; | 96 | offline_num += 1; |
97 | } | 97 | } |
98 | if (goods_map[item.goods_id]) { | 98 | if (goods_map[item.goods_id]) { |