Commit 07565417e5af0bf9130ea375ef7dfc478e41443f
1 parent
0d400342
购物车 汇总商品的时候,再啦一下
Showing
1 changed file
with
57 additions
and
59 deletions
pages/cart/cart/cart.js
... | ... | @@ -2611,7 +2611,7 @@ Page({ |
2611 | 2611 | } |
2612 | 2612 | for (let j = 0; j < this.data.requestData.length;j++){ |
2613 | 2613 | if(j!=pitem){ |
2614 | - var goods=this.data.requestData[j]; | |
2614 | + var goods=this.data.requestData[j].goods; | |
2615 | 2615 | for (let k = 0; k <goods.length ; k++) { |
2616 | 2616 | var m_item=goods[k]; |
2617 | 2617 | if(m_item.goods_id==goods_id && m_item.is_gift==0){ |
... | ... | @@ -2734,7 +2734,7 @@ Page({ |
2734 | 2734 | if (res_d.data.code == 0 && res_d.data.data) { |
2735 | 2735 | |
2736 | 2736 | var cbuy=limit; |
2737 | - if (t.goods_num > store_count && !is_showing) { | |
2737 | + if (t.goods_num+other_gd_num > store_count && !is_showing) { | |
2738 | 2738 | wx.showToast({ |
2739 | 2739 | title: '购买数量超出商品库存', |
2740 | 2740 | icon: 'none', |
... | ... | @@ -2742,7 +2742,7 @@ Page({ |
2742 | 2742 | is_showing=1; |
2743 | 2743 | } |
2744 | 2744 | //一直都要给一个最小值,和库存比较 |
2745 | - if(cbuy>store_count) cbuy=store_count; | |
2745 | + if(cbuy>store_count-other_gd_num) cbuy=store_count-other_gd_num; | |
2746 | 2746 | |
2747 | 2747 | var false_data = res_d.data.data; |
2748 | 2748 | //--判断库存-- |
... | ... | @@ -2789,7 +2789,7 @@ Page({ |
2789 | 2789 | e.update_cart(t, pitem, item); |
2790 | 2790 | |
2791 | 2791 | } else { |
2792 | - e.normal_check(t, item, pitem,store_count,limit,goodsinfo, wareIds); //普通商品的调用和计算 | |
2792 | + e.normal_check(t, item, pitem,store_count,limit,other_gd_num,goodsinfo, wareIds); //普通商品的调用和计算 | |
2793 | 2793 | } |
2794 | 2794 | break; |
2795 | 2795 | case 2: |
... | ... | @@ -2799,7 +2799,7 @@ Page({ |
2799 | 2799 | if (res.data.code == 0 && res.data.data) { |
2800 | 2800 | |
2801 | 2801 | var cbuy=limit; |
2802 | - if (t.goods_num > store_count && !is_showing) { | |
2802 | + if (t.goods_num > store_count-other_gd_num && !is_showing) { | |
2803 | 2803 | wx.showToast({ |
2804 | 2804 | title: '购买数量超出商品库存', |
2805 | 2805 | icon: 'none', |
... | ... | @@ -2807,7 +2807,7 @@ Page({ |
2807 | 2807 | is_showing=1; |
2808 | 2808 | } |
2809 | 2809 | //一直都要给一个最小值,和库存比较 |
2810 | - if(cbuy>store_count) cbuy=store_count; | |
2810 | + if(cbuy>store_count) cbuy=store_count-other_gd_num; | |
2811 | 2811 | |
2812 | 2812 | var gr_data = res.data.data; |
2813 | 2813 | //--判断库存-- |
... | ... | @@ -2853,11 +2853,11 @@ Page({ |
2853 | 2853 | e.update_cart(t, pitem, item); |
2854 | 2854 | |
2855 | 2855 | } else { |
2856 | - e.normal_check(t, item, pitem,store_count,limit,goodsinfo, wareIds); //普通商品的调用和计算 | |
2856 | + e.normal_check(t, item, pitem,store_count,limit,other_gd_num,goodsinfo, wareIds); //普通商品的调用和计算 | |
2857 | 2857 | } |
2858 | 2858 | break; |
2859 | 2859 | default: |
2860 | - e.normal_check(t, item, pitem,store_count,limit, goodsinfo, wareIds); //普通商品的调用和计算 | |
2860 | + e.normal_check(t, item, pitem,store_count,limit,other_gd_num,goodsinfo, wareIds); //普通商品的调用和计算 | |
2861 | 2861 | break |
2862 | 2862 | } |
2863 | 2863 | } |
... | ... | @@ -2865,7 +2865,7 @@ Page({ |
2865 | 2865 | }, |
2866 | 2866 | |
2867 | 2867 | //-- 这个函数在计算的时候,要包含限购的那一部分 -- |
2868 | - async normal_check(t, item, pitem,store_count,limit,goodsinfo, wareIds){ | |
2868 | + async normal_check(t, item, pitem,store_count,limit,other_gd_num,goodsinfo, wareIds){ | |
2869 | 2869 | |
2870 | 2870 | var cx_arr=await getApp().get_has_cx_act(goodsinfo.goods_id); |
2871 | 2871 | |
... | ... | @@ -2873,6 +2873,8 @@ Page({ |
2873 | 2873 | // getApp().my_warnning('购买数量超出商品库存', 0, th); |
2874 | 2874 | var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; |
2875 | 2875 | |
2876 | + | |
2877 | + var cQty=store_count; | |
2876 | 2878 | //--- 看一下是不是线下库存 --- |
2877 | 2879 | if (th.data.sales_rules >= 2 && !goodsinfo.whsle_id) { |
2878 | 2880 | |
... | ... | @@ -2881,63 +2883,63 @@ Page({ |
2881 | 2883 | await th.check_down_line_next(t, pitem, item, erpwareid, function (res) { |
2882 | 2884 | ob = res; |
2883 | 2885 | }); |
2886 | + cQty=ob.CanOutQty; | |
2887 | + } | |
2884 | 2888 | |
2885 | 2889 | |
2886 | - } else { | |
2890 | + var is_showing=0; | |
2891 | + var cbuy=limit; | |
2892 | + if (t.goods_num > limit) { | |
2893 | + wx.showToast({ | |
2894 | + title: '购买数量超出商品限购', | |
2895 | + icon: 'none', | |
2896 | + }); | |
2897 | + is_showing=1; | |
2898 | + } | |
2887 | 2899 | |
2888 | - var is_showing=0; | |
2889 | - var cbuy=limit; | |
2890 | - if (t.goods_num > limit) { | |
2891 | - wx.showToast({ | |
2892 | - title: '购买数量超出商品限购', | |
2893 | - icon: 'none', | |
2894 | - }); | |
2895 | - is_showing=1; | |
2900 | + if (t.goods_num > cQty-other_gd_num) { | |
2901 | + if(!is_showing){ | |
2902 | + wx.showToast({ | |
2903 | + title: '购买数量超出商品库存', | |
2904 | + icon: 'none', | |
2905 | + }); | |
2906 | + is_showing=1; | |
2896 | 2907 | } |
2908 | + } | |
2909 | + if(cbuy>cQty-other_gd_num) cbuy=cQty-other_gd_num; | |
2897 | 2910 | |
2898 | - if (t.goods_num > store_count) { | |
2899 | - if(!is_showing){ | |
2900 | - wx.showToast({ | |
2901 | - title: '购买数量超出商品库存', | |
2902 | - icon: 'none', | |
2903 | - }); | |
2904 | - is_showing=1; | |
2905 | - } | |
2906 | - } | |
2907 | - if(cbuy>store_count) cbuy=store_count; | |
2911 | + if(t.goods_num>cbuy) t.goods_num=cbuy; | |
2908 | 2912 | |
2909 | - if(t.goods_num>cbuy) t.goods_num=cbuy; | |
2913 | + if([0,3,5,7,10].indexOf(goodsinfo.prom_type)>-1){ | |
2914 | + var mo_num=getApp().get_limit_qty(goodsinfo,cx_arr.length); | |
2915 | + var steep=getApp().get_limit_qty(goodsinfo,cx_arr.length,1); | |
2910 | 2916 | |
2911 | - if([0,3,5,7,10].indexOf(goodsinfo.prom_type)>-1){ | |
2912 | - var mo_num=getApp().get_limit_qty(goodsinfo,cx_arr.length); | |
2913 | - var steep=getApp().get_limit_qty(goodsinfo,cx_arr.length,1); | |
2917 | + if(mo_num>1 && t.goods_num<mo_num){ | |
2918 | + if(!is_showing) { | |
2919 | + wx.showToast({ | |
2920 | + title: '购买数量小于商品的起订量', | |
2921 | + icon: 'none', | |
2922 | + }); | |
2923 | + } | |
2924 | + t.goods_num=mo_num; | |
2925 | + } | |
2914 | 2926 | |
2915 | - if(mo_num>1 && t.goods_num<mo_num){ | |
2927 | + if(steep>1 && t.goods_num>mo_num && (t.goods_num-mo_num)%steep!=0){ | |
2916 | 2928 | if(!is_showing) { |
2917 | - wx.showToast({ | |
2918 | - title: '购买数量小于商品的起订量', | |
2919 | - icon: 'none', | |
2920 | - }); | |
2929 | + wx.showToast({ | |
2930 | + title: '购买数量必须是起订量的倍数', | |
2931 | + icon: 'none', | |
2932 | + }); | |
2921 | 2933 | } |
2922 | - t.goods_num=mo_num; | |
2923 | - } | |
2934 | + if(t.goods_num<mo_num) t.goods_num=mo_num; | |
2935 | + else{ | |
2936 | + t.goods_num=mo_num+parseInt((t.goods_num-mo_num)/steep+'')*steep | |
2937 | + } | |
2938 | + } | |
2939 | + } | |
2924 | 2940 | |
2925 | - if(steep>1 && t.goods_num>mo_num && (t.goods_num-mo_num)%steep!=0){ | |
2926 | - if(!is_showing) { | |
2927 | - wx.showToast({ | |
2928 | - title: '购买数量必须是起订量的倍数', | |
2929 | - icon: 'none', | |
2930 | - }); | |
2931 | - } | |
2932 | - if(t.goods_num<mo_num) t.goods_num=mo_num; | |
2933 | - else{ | |
2934 | - t.goods_num=mo_num+parseInt((t.goods_num-mo_num)/steep+'')*steep | |
2935 | - } | |
2936 | - } | |
2937 | - } | |
2941 | + th.update_cart(t, pitem, item); | |
2938 | 2942 | |
2939 | - th.update_cart(t, pitem, item); | |
2940 | - } | |
2941 | 2943 | }, |
2942 | 2944 | |
2943 | 2945 | //----------------------更新购物数量,加减,调用接口--------------------- |
... | ... | @@ -3076,18 +3078,14 @@ Page({ |
3076 | 3078 | await th.doCheckAll(); |
3077 | 3079 | await th.update_cart_ser(t, pitem, item); |
3078 | 3080 | return false; |
3079 | - }; | |
3080 | - | |
3081 | + } | |
3081 | 3082 | } |
3082 | 3083 | |
3083 | - | |
3084 | 3084 | } |
3085 | 3085 | |
3086 | 3086 | |
3087 | 3087 | await e.doCheckAll(); |
3088 | 3088 | await e.update_cart_ser(t, pitem, item); |
3089 | - | |
3090 | - | |
3091 | 3089 | }, |
3092 | 3090 | |
3093 | 3091 | ... | ... |