Commit 688493b9f7337864580f7553a618e43ab5584152
Merge branch 'dev_oa_fu16' into dev
Showing
12 changed files
with
392 additions
and
136 deletions
packageA/pages/goodsInfo/goodsInfo.wxss
| @@ -2425,7 +2425,7 @@ margin: auto; */ | @@ -2425,7 +2425,7 @@ margin: auto; */ | ||
| 2425 | } | 2425 | } |
| 2426 | .shop_name{ | 2426 | .shop_name{ |
| 2427 | margin-right: 10rpx; | 2427 | margin-right: 10rpx; |
| 2428 | - max-width: 375rpx; | 2428 | + max-width: 370rpx; |
| 2429 | } | 2429 | } |
| 2430 | .address{ | 2430 | .address{ |
| 2431 | /* width: 100%; | 2431 | /* width: 100%; |
packageC/pages/presell/cart/cart.js
| @@ -2763,6 +2763,14 @@ Page({ | @@ -2763,6 +2763,14 @@ Page({ | ||
| 2763 | } | 2763 | } |
| 2764 | }) | 2764 | }) |
| 2765 | 2765 | ||
| 2766 | + if(!presellList || !presellList.length){ | ||
| 2767 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 2768 | + th.toast(content); | ||
| 2769 | + th.setData({ paying: 0 }); | ||
| 2770 | + return false; | ||
| 2771 | + } | ||
| 2772 | + | ||
| 2773 | + | ||
| 2766 | if (presellList) { | 2774 | if (presellList) { |
| 2767 | 2775 | ||
| 2768 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { | 2776 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { |
| @@ -2777,6 +2785,29 @@ Page({ | @@ -2777,6 +2785,29 @@ Page({ | ||
| 2777 | return false; | 2785 | return false; |
| 2778 | } | 2786 | } |
| 2779 | 2787 | ||
| 2788 | + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); | ||
| 2789 | + //接口调用成功的时候 | ||
| 2790 | + if(fres && fres.data.code==0 && fres.data.data){ | ||
| 2791 | + //如果有指定门店的时候 | ||
| 2792 | + if(fres.data.data.pick_up_lists){ | ||
| 2793 | + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ | ||
| 2794 | + return e.pickup_id==order.pickup_id; | ||
| 2795 | + }) | ||
| 2796 | + if(idx0<0){ | ||
| 2797 | + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); | ||
| 2798 | + th.setData({ paying: 0 }); | ||
| 2799 | + return false; | ||
| 2800 | + } | ||
| 2801 | + } | ||
| 2802 | + | ||
| 2803 | + }else{ | ||
| 2804 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 2805 | + th.toast(content); | ||
| 2806 | + th.setData({ paying: 0 }); | ||
| 2807 | + return false; | ||
| 2808 | + } | ||
| 2809 | + | ||
| 2810 | + | ||
| 2780 | } | 2811 | } |
| 2781 | } | 2812 | } |
| 2782 | 2813 |
packageC/pages/presell/goodsInfo/goodsInfo.js
| @@ -878,6 +878,7 @@ Page({ | @@ -878,6 +878,7 @@ Page({ | ||
| 878 | sele_g: t.data.data, | 878 | sele_g: t.data.data, |
| 879 | userInfo: getApp().globalData.userInfo, | 879 | userInfo: getApp().globalData.userInfo, |
| 880 | }); | 880 | }); |
| 881 | + | ||
| 881 | ee.init(gid); | 882 | ee.init(gid); |
| 882 | //获取门店 | 883 | //获取门店 |
| 883 | ee.get_sto(); | 884 | ee.get_sto(); |
| @@ -1912,6 +1913,7 @@ Page({ | @@ -1912,6 +1913,7 @@ Page({ | ||
| 1912 | //---------拿出门店分类和门店------------ | 1913 | //---------拿出门店分类和门店------------ |
| 1913 | get_sto(e) { | 1914 | get_sto(e) { |
| 1914 | var th = this, is_normal = e; | 1915 | var th = this, is_normal = e; |
| 1916 | + var that=th; | ||
| 1915 | 1917 | ||
| 1916 | if (e == 1) { | 1918 | if (e == 1) { |
| 1917 | th.setData({ is_normal: 1 }) | 1919 | th.setData({ is_normal: 1 }) |
| @@ -1921,6 +1923,8 @@ Page({ | @@ -1921,6 +1923,8 @@ Page({ | ||
| 1921 | 1923 | ||
| 1922 | var timer_get = setInterval(function () { | 1924 | var timer_get = setInterval(function () { |
| 1923 | if (th.data.is_get_local_ok == 0) return false; | 1925 | if (th.data.is_get_local_ok == 0) return false; |
| 1926 | + if (!th.data.fir_def_store) return false; | ||
| 1927 | + | ||
| 1924 | var dd = null, i = getApp().request; | 1928 | var dd = null, i = getApp().request; |
| 1925 | if (!th.data.sele_g) return false; | 1929 | if (!th.data.sele_g) return false; |
| 1926 | 1930 | ||
| @@ -1968,44 +1972,107 @@ Page({ | @@ -1968,44 +1972,107 @@ Page({ | ||
| 1968 | }).then(res => { | 1972 | }).then(res => { |
| 1969 | var e = res; | 1973 | var e = res; |
| 1970 | 1974 | ||
| 1975 | + //确保门店的数量要>0时,才进行计算 | ||
| 1971 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { | 1976 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { |
| 1972 | 1977 | ||
| 1973 | - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 | ||
| 1974 | - if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { | ||
| 1975 | - th.setData({ | ||
| 1976 | - def_pick_store: e.data.data.pageData[0], | ||
| 1977 | - sto_sele_name: e.data.data.pageData[0].pickup_name, | ||
| 1978 | - sto_sele_id: e.data.data.pageData[0].pickup_id, | ||
| 1979 | - sto_sele_distr: e.data.data.pageData[0].distr_type | ||
| 1980 | - }); | ||
| 1981 | - th.data.fir_def_store = e.data.data.pageData[0]; | ||
| 1982 | - } | ||
| 1983 | 1978 | ||
| 1984 | - //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- | ||
| 1985 | - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { | ||
| 1986 | - for (var k = 0; k < e.data.data.pageData.length; k++) { | ||
| 1987 | - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { | ||
| 1988 | - e.data.data.pageData.splice(k, 1); //删除 | ||
| 1989 | - break; | 1979 | + |
| 1980 | + //指定门店判断, 不是普通购买的时候,秒杀的时候,秒杀有指定门店 | ||
| 1981 | + var pickup_ids=th.data.presellForm.pick_up_lists | ||
| 1982 | + //-- 如果有指定门店的时候 -- | ||
| 1983 | + if(pickup_ids){ | ||
| 1984 | + | ||
| 1985 | + var ok_arr=[]; | ||
| 1986 | + for (let i in e.data.data.pageData) { | ||
| 1987 | + let ite = e.data.data.pageData[i]; | ||
| 1988 | + //-- 查找一下门店有没有在 -- | ||
| 1989 | + var idx=pickup_ids.findIndex(function (e){ | ||
| 1990 | + return e.pickup_id==ite.pickup_id; | ||
| 1991 | + }) | ||
| 1992 | + if(idx>-1){ | ||
| 1993 | + ok_arr.push(ite) | ||
| 1994 | + } | ||
| 1995 | + } | ||
| 1996 | + | ||
| 1997 | + //判断会员的默认的门店是不是匹配指定的门店 | ||
| 1998 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ | ||
| 1999 | + //-- 查找一下门店有没有在 -- | ||
| 2000 | + var idx1=pickup_ids.findIndex(function (e){ | ||
| 2001 | + return e.pickup_id==th.data.def_pick_store.pickup_id; | ||
| 2002 | + }) | ||
| 2003 | + | ||
| 2004 | + if(idx1<0){ | ||
| 2005 | + //如果是秒杀的指定门店,就要设置秒杀的 | ||
| 2006 | + th.data.def_pick_store.is_no_dis_act=1; | ||
| 2007 | + }else{ | ||
| 2008 | + th.data.def_pick_store.is_no_dis_act=0; | ||
| 1990 | } | 2009 | } |
| 2010 | + | ||
| 2011 | + that.setData({ | ||
| 2012 | + def_pick_store: th.data.def_pick_store | ||
| 2013 | + }) | ||
| 2014 | + | ||
| 2015 | + } | ||
| 2016 | + e.data.data.pageData=ok_arr; //数组重新赋值 | ||
| 2017 | + e.data.data.total=ok_arr.length; //数组的长度 | ||
| 2018 | + } | ||
| 2019 | + else{ | ||
| 2020 | + //-- 多规格指定门店优化 -- | ||
| 2021 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ | ||
| 2022 | + th.data.def_pick_store.is_no_dis_act=0; | ||
| 2023 | + that.setData({ | ||
| 2024 | + def_pick_store: th.data.def_pick_store | ||
| 2025 | + }) | ||
| 1991 | } | 2026 | } |
| 1992 | - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | ||
| 1993 | } | 2027 | } |
| 1994 | 2028 | ||
| 2029 | + //确保门店的数量要>0时,才进行计算 | ||
| 2030 | + if(e.data.data.pageData.length > 0) { | ||
| 1995 | 2031 | ||
| 1996 | - th.setData({ all_pick_list: e.data.data.pageData }); | ||
| 1997 | 2032 | ||
| 1998 | - //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- | ||
| 1999 | - if(!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id | ||
| 2000 | - && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) { | ||
| 2001 | - setTimeout(function () { | ||
| 2002 | - th.deal_pickup_dline(e); | ||
| 2003 | - }, 800) | ||
| 2004 | - } else { | ||
| 2005 | - setTimeout(function () { | ||
| 2006 | - th.deal_pickup(e); //--普通门店排版-- | ||
| 2007 | - }, 800) | 2033 | + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
| 2034 | + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { | ||
| 2035 | + th.setData({ | ||
| 2036 | + def_pick_store: e.data.data.pageData[0], | ||
| 2037 | + sto_sele_name: e.data.data.pageData[0].pickup_name, | ||
| 2038 | + sto_sele_id: e.data.data.pageData[0].pickup_id, | ||
| 2039 | + sto_sele_distr: e.data.data.pageData[0].distr_type | ||
| 2040 | + }); | ||
| 2041 | + th.data.fir_def_store = e.data.data.pageData[0]; | ||
| 2042 | + } | ||
| 2043 | + | ||
| 2044 | + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- | ||
| 2045 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { | ||
| 2046 | + for (var k = 0; k < e.data.data.pageData.length; k++) { | ||
| 2047 | + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { | ||
| 2048 | + e.data.data.pageData.splice(k, 1); //删除 | ||
| 2049 | + break; | ||
| 2050 | + } | ||
| 2051 | + } | ||
| 2052 | + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | ||
| 2053 | + } | ||
| 2054 | + | ||
| 2055 | + | ||
| 2056 | + th.setData({all_pick_list: e.data.data.pageData}); | ||
| 2057 | + | ||
| 2058 | + //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- | ||
| 2059 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id | ||
| 2060 | + && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 || is_normal == 1)) { | ||
| 2061 | + setTimeout(function () { | ||
| 2062 | + th.deal_pickup_dline(e); | ||
| 2063 | + }, 800) | ||
| 2064 | + } else { | ||
| 2065 | + setTimeout(function () { | ||
| 2066 | + th.deal_pickup(e); //--普通门店排版-- | ||
| 2067 | + }, 800) | ||
| 2068 | + } | ||
| 2008 | } | 2069 | } |
| 2070 | + else{ | ||
| 2071 | + wx.hideLoading(); | ||
| 2072 | + } | ||
| 2073 | + } | ||
| 2074 | + else{ | ||
| 2075 | + wx.hideLoading(); | ||
| 2009 | } | 2076 | } |
| 2010 | }) | 2077 | }) |
| 2011 | }, 200) | 2078 | }, 200) |
packageC/pages/presell/goodsInfo/goodsInfo.wxml
| @@ -192,7 +192,10 @@ | @@ -192,7 +192,10 @@ | ||
| 192 | </view> | 192 | </view> |
| 193 | <block wx:else> | 193 | <block wx:else> |
| 194 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> | 194 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> |
| 195 | - (配送不匹配2) | 195 | + (配送不匹配) |
| 196 | + </view> | ||
| 197 | + <view class="no_store" wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}"> | ||
| 198 | + (该店不可售) | ||
| 196 | </view> | 199 | </view> |
| 197 | <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && prom_type==0}}"> | 200 | <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && prom_type==0}}"> |
| 198 | (库存不足) | 201 | (库存不足) |
| @@ -629,7 +632,8 @@ | @@ -629,7 +632,8 @@ | ||
| 629 | <block wx:else> | 632 | <block wx:else> |
| 630 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 633 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
| 631 | <block wx:else> | 634 | <block wx:else> |
| 632 | - <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配1)</view> | 635 | + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
| 636 | + <view class="no_store" wx:elif="{{def_pick_store.is_no_dis_act}}">(该店不可售)</view> | ||
| 633 | <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> | 637 | <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
| 634 | (库存不足) | 638 | (库存不足) |
| 635 | </view> | 639 | </view> |
| @@ -671,9 +675,13 @@ | @@ -671,9 +675,13 @@ | ||
| 671 | </view> | 675 | </view> |
| 672 | </view> | 676 | </view> |
| 673 | <view class="spec-cart-btns"> | 677 | <view class="spec-cart-btns"> |
| 674 | - <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn fs32" data-action="add" > | 678 | + <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;"> |
| 675 | 门店的不匹配 | 679 | 门店的不匹配 |
| 676 | </view> | 680 | </view> |
| 681 | + <view wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}" class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;"> | ||
| 682 | + 该门店不可售 | ||
| 683 | + </view> | ||
| 684 | + | ||
| 677 | <block wx:else> | 685 | <block wx:else> |
| 678 | <!-- 根本就找不到门店 --> | 686 | <!-- 根本就找不到门店 --> |
| 679 | <block wx:if="{{!only_pk && !def_pickpu_list}}"> | 687 | <block wx:if="{{!only_pk && !def_pickpu_list}}"> |
| @@ -855,7 +863,10 @@ | @@ -855,7 +863,10 @@ | ||
| 855 | <view class="address-frame xc-ash"> | 863 | <view class="address-frame xc-ash"> |
| 856 | <view class="flex-vertical-between butttem5"> | 864 | <view class="flex-vertical-between butttem5"> |
| 857 | <view class="flex xc-ash"> | 865 | <view class="flex xc-ash"> |
| 858 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | 866 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} |
| 867 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | ||
| 868 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该点不可售)</text> | ||
| 869 | + </view> | ||
| 859 | </view> | 870 | </view> |
| 860 | <view> | 871 | <view> |
| 861 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> | 872 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> |
| @@ -881,7 +892,10 @@ | @@ -881,7 +892,10 @@ | ||
| 881 | <view class="address-frame xc-ash"> | 892 | <view class="address-frame xc-ash"> |
| 882 | <view class="flex-vertical-between "> | 893 | <view class="flex-vertical-between "> |
| 883 | <view class="flex xc-ash"> | 894 | <view class="flex xc-ash"> |
| 884 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | 895 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} |
| 896 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | ||
| 897 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该点不可售)</text> | ||
| 898 | + </view> | ||
| 885 | </view> | 899 | </view> |
| 886 | <view> | 900 | <view> |
| 887 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> | 901 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> |
| @@ -909,7 +923,10 @@ | @@ -909,7 +923,10 @@ | ||
| 909 | <view class="address-frame xc-ash"> | 923 | <view class="address-frame xc-ash"> |
| 910 | <view class="flex-vertical-between "> | 924 | <view class="flex-vertical-between "> |
| 911 | <view class="flex xc-ash"> | 925 | <view class="flex xc-ash"> |
| 912 | - <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> | 926 | + <view class="fs28 xc-black3 address_name">{{item.pickup_name}} |
| 927 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | ||
| 928 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该点不可售)</text> | ||
| 929 | + </view> | ||
| 913 | </view> | 930 | </view> |
| 914 | <view> | 931 | <view> |
| 915 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> | 932 | <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> |
packageC/pages/presell/goodsInfo/goodsInfo.wxss
| @@ -3016,4 +3016,6 @@ button.custom-service::after{ | @@ -3016,4 +3016,6 @@ button.custom-service::after{ | ||
| 3016 | border: 2rpx solid rgb(238, 238, 238); | 3016 | border: 2rpx solid rgb(238, 238, 238); |
| 3017 | padding-left: 30rpx; | 3017 | padding-left: 30rpx; |
| 3018 | } | 3018 | } |
| 3019 | - | 3019 | +.c-red22{ |
| 3020 | + color: #d60021 | ||
| 3021 | +} |
packageE/pages/cart/cart2/cart2.js
| @@ -2333,6 +2333,7 @@ Page({ | @@ -2333,6 +2333,7 @@ Page({ | ||
| 2333 | if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 | 2333 | if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 |
| 2334 | && get_data.zp_num * item_map.bs <= get_data.limit_num-other_gift | 2334 | && get_data.zp_num * item_map.bs <= get_data.limit_num-other_gift |
| 2335 | && get_data.zp_num * item_map.bs <= get_data.gift_storecount | 2335 | && get_data.zp_num * item_map.bs <= get_data.gift_storecount |
| 2336 | + && get_data.zp_num>get_data.must_num //增加一个超量 | ||
| 2336 | ) { | 2337 | ) { |
| 2337 | 2338 | ||
| 2338 | item_map.gift_id = get_data.gift_id; | 2339 | item_map.gift_id = get_data.gift_id; |
| @@ -2371,7 +2372,17 @@ Page({ | @@ -2371,7 +2372,17 @@ Page({ | ||
| 2371 | var can_zp_num = 0; | 2372 | var can_zp_num = 0; |
| 2372 | for (let iy in get_data.giftsinfo) { | 2373 | for (let iy in get_data.giftsinfo) { |
| 2373 | let item = get_data.giftsinfo[iy]; | 2374 | let item = get_data.giftsinfo[iy]; |
| 2374 | - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); | 2375 | + |
| 2376 | + var c_zp=0; | ||
| 2377 | + if(parseInt(item.limit_num)>0){ | ||
| 2378 | + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount); | ||
| 2379 | + }else{ | ||
| 2380 | + c_zp= parseInt(item.gift_storecount); | ||
| 2381 | + } | ||
| 2382 | + | ||
| 2383 | + if(c_zp<0) c_zp=0; | ||
| 2384 | + can_zp_num +=c_zp; | ||
| 2385 | + | ||
| 2375 | } | 2386 | } |
| 2376 | 2387 | ||
| 2377 | var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); | 2388 | var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); |
| @@ -4711,6 +4722,8 @@ Page({ | @@ -4711,6 +4722,8 @@ Page({ | ||
| 4711 | 4722 | ||
| 4712 | var order_prom_list_cart = th.data.order_prom_list_cart; | 4723 | var order_prom_list_cart = th.data.order_prom_list_cart; |
| 4713 | 4724 | ||
| 4725 | + //优惠商品限购的优化 | ||
| 4726 | + var yh_lm_map={}; | ||
| 4714 | //--组装推送数据-- | 4727 | //--组装推送数据-- |
| 4715 | for (var i = 0; i < order_prom_list_cart.length; i++) { | 4728 | for (var i = 0; i < order_prom_list_cart.length; i++) { |
| 4716 | var t_item = order_prom_list_cart[i]; | 4729 | var t_item = order_prom_list_cart[i]; |
| @@ -4877,8 +4890,6 @@ Page({ | @@ -4877,8 +4890,6 @@ Page({ | ||
| 4877 | var check_map = {}; | 4890 | var check_map = {}; |
| 4878 | let groupchat_ids=[] | 4891 | let groupchat_ids=[] |
| 4879 | 4892 | ||
| 4880 | - | ||
| 4881 | - | ||
| 4882 | //-------------让商品添加到商品列表-------------------- | 4893 | //-------------让商品添加到商品列表-------------------- |
| 4883 | for (var k = 0; k < t_item.goods.length; k++) { | 4894 | for (var k = 0; k < t_item.goods.length; k++) { |
| 4884 | 4895 | ||
| @@ -4975,6 +4986,7 @@ Page({ | @@ -4975,6 +4986,7 @@ Page({ | ||
| 4975 | //--赠品的时候,阶梯促销会右重复的情况,还有组合购的时候拆分出去的 -- | 4986 | //--赠品的时候,阶梯促销会右重复的情况,还有组合购的时候拆分出去的 -- |
| 4976 | if (check_map[txt] && goods.prom_type != 10) { | 4987 | if (check_map[txt] && goods.prom_type != 10) { |
| 4977 | getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); | 4988 | getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); |
| 4989 | + th.setData({ submit: 0 }) | ||
| 4978 | return false; | 4990 | return false; |
| 4979 | } else { | 4991 | } else { |
| 4980 | check_map[txt] = 1; | 4992 | check_map[txt] = 1; |
| @@ -4986,18 +4998,65 @@ Page({ | @@ -4986,18 +4998,65 @@ Page({ | ||
| 4986 | var mo_num=getApp().get_limit_qty(g_item,act.length); | 4998 | var mo_num=getApp().get_limit_qty(g_item,act.length); |
| 4987 | var steep=getApp().get_limit_qty(g_item,act.length,1); | 4999 | var steep=getApp().get_limit_qty(g_item,act.length,1); |
| 4988 | 5000 | ||
| 4989 | - if ([0,3,5,7,10].indexOf(goods.prom_type)>-1){ | 5001 | + //赠品要排除之外,不进行判断 |
| 5002 | + if ([0,3,5,7,10].indexOf(goods.prom_type)>-1 && !goods.is_gift){ | ||
| 4990 | if(mo_num>goods.goods_num){ | 5003 | if(mo_num>goods.goods_num){ |
| 4991 | getApp().confirmBox(goods.goods_name + "的未达到起订数量"); | 5004 | getApp().confirmBox(goods.goods_name + "的未达到起订数量"); |
| 4992 | th.data.is_summit_ing = 0; | 5005 | th.data.is_summit_ing = 0; |
| 5006 | + th.setData({ submit: 0 }) | ||
| 4993 | return false; | 5007 | return false; |
| 4994 | } | 5008 | } |
| 4995 | if(steep>1 && (goods.goods_num-mo_num)%steep!=0 ){ | 5009 | if(steep>1 && (goods.goods_num-mo_num)%steep!=0 ){ |
| 4996 | getApp().confirmBox(goods.goods_name + "的购买的数量不是起订量的倍数"); | 5010 | getApp().confirmBox(goods.goods_name + "的购买的数量不是起订量的倍数"); |
| 4997 | th.data.is_summit_ing = 0; | 5011 | th.data.is_summit_ing = 0; |
| 5012 | + th.setData({ submit: 0 }) | ||
| 4998 | return false; | 5013 | return false; |
| 4999 | } | 5014 | } |
| 5000 | 5015 | ||
| 5016 | + //-- 要判断一下优惠促销的商品的限购 -- | ||
| 5017 | + if(goods.prom_type==3){ | ||
| 5018 | + var pro_gd_limit_num=0; | ||
| 5019 | + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ | ||
| 5020 | + data:{ | ||
| 5021 | + store_id:os.stoid,goods_id:goods.goods_id,prom_id:goods.prom_id,prom_type:3 | ||
| 5022 | + } | ||
| 5023 | + }) | ||
| 5024 | + if(p_limit_rs && p_limit_rs.data.code==0){ | ||
| 5025 | + pro_gd_limit_num=p_limit_rs.data.data | ||
| 5026 | + } | ||
| 5027 | + //-- 如果有商品限购的时候 -- | ||
| 5028 | + if(pro_gd_limit_num>0){ | ||
| 5029 | + //-- 获取会员之前优惠促销商品买了多少件 -- | ||
| 5030 | + var pro_by_num=0; | ||
| 5031 | + var lrs= { | ||
| 5032 | + store_id: os.stoid,user_id: getApp().globalData.user_id, | ||
| 5033 | + goods_id: goods.goods_id, prom_type: 3, | ||
| 5034 | + prom_id: goods.prom_id, isnew:1 | ||
| 5035 | + }; | ||
| 5036 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | ||
| 5037 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | ||
| 5038 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | ||
| 5039 | + } | ||
| 5040 | + | ||
| 5041 | + var m_ky=goods.goods_id+'|'+goods.prom_id; | ||
| 5042 | + | ||
| 5043 | + var more_num=yh_lm_map[m_ky]?yh_lm_map[m_ky]:0; | ||
| 5044 | + | ||
| 5045 | + if(pro_gd_limit_num<pro_by_num+goods.goods_num+more_num){ | ||
| 5046 | + getApp().confirmBox(goods.goods_name + "超优惠促销限购,无法购买"); | ||
| 5047 | + th.data.is_summit_ing = 0; | ||
| 5048 | + th.setData({ submit: 0 }) | ||
| 5049 | + return false; | ||
| 5050 | + } | ||
| 5051 | + | ||
| 5052 | + //方便下一轮商品判断限购 | ||
| 5053 | + if(!yh_lm_map[m_ky]) { | ||
| 5054 | + yh_lm_map[m_ky]=0; | ||
| 5055 | + } | ||
| 5056 | + yh_lm_map[m_ky]+=goods.goods_num; | ||
| 5057 | + } | ||
| 5058 | + } | ||
| 5059 | + | ||
| 5001 | } | 5060 | } |
| 5002 | 5061 | ||
| 5003 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 | 5062 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
| @@ -5009,6 +5068,7 @@ Page({ | @@ -5009,6 +5068,7 @@ Page({ | ||
| 5009 | if (!isok) { | 5068 | if (!isok) { |
| 5010 | getApp().confirmBox(goods.goods_name + "的门店库存不足"); | 5069 | getApp().confirmBox(goods.goods_name + "的门店库存不足"); |
| 5011 | th.data.is_summit_ing = 0; | 5070 | th.data.is_summit_ing = 0; |
| 5071 | + th.setData({ submit: 0 }) | ||
| 5012 | return false; | 5072 | return false; |
| 5013 | } | 5073 | } |
| 5014 | } | 5074 | } |
| @@ -7207,7 +7267,7 @@ Page({ | @@ -7207,7 +7267,7 @@ Page({ | ||
| 7207 | var gift_id = discount.gift_id; | 7267 | var gift_id = discount.gift_id; |
| 7208 | for (var i in alllist) { | 7268 | for (var i in alllist) { |
| 7209 | var list_item = alllist[i]; | 7269 | var list_item = alllist[i]; |
| 7210 | - //-- 门店相同,活动相同的时候 -- | 7270 | + //-- 门店相同,活动相同的时候,就continue掉 -- |
| 7211 | if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue; | 7271 | if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue; |
| 7212 | for (var j in list_item.goods) { | 7272 | for (var j in list_item.goods) { |
| 7213 | //如果赠品的ID一样,要进行统计数量 | 7273 | //如果赠品的ID一样,要进行统计数量 |
| @@ -7216,7 +7276,7 @@ Page({ | @@ -7216,7 +7276,7 @@ Page({ | ||
| 7216 | all_num += list_item.goods[j].goods_num; | 7276 | all_num += list_item.goods[j].goods_num; |
| 7217 | } | 7277 | } |
| 7218 | if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) { | 7278 | if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) { |
| 7219 | - all_limit_num += list_item.goods[j].limit_num; | 7279 | + all_limit_num += list_item.goods[j].goods_num; |
| 7220 | } | 7280 | } |
| 7221 | } | 7281 | } |
| 7222 | } | 7282 | } |
| @@ -7230,7 +7290,8 @@ Page({ | @@ -7230,7 +7290,8 @@ Page({ | ||
| 7230 | }); | 7290 | }); |
| 7231 | return false; | 7291 | return false; |
| 7232 | } | 7292 | } |
| 7233 | - if (discount.limit_num < all_limit_num) { | 7293 | + //-- 限购一定要大于0,否则就是不限的意思 -- |
| 7294 | + if (discount.limit_num>0 && discount.can_num < all_limit_num) { | ||
| 7234 | wx.showToast({ | 7295 | wx.showToast({ |
| 7235 | title: "超出赠品限购", | 7296 | title: "超出赠品限购", |
| 7236 | icon: 'none', | 7297 | icon: 'none', |
| @@ -7253,6 +7314,16 @@ Page({ | @@ -7253,6 +7314,16 @@ Page({ | ||
| 7253 | var all_num = 0; | 7314 | var all_num = 0; |
| 7254 | for (let i in giftsinfo) { | 7315 | for (let i in giftsinfo) { |
| 7255 | let item = giftsinfo[i]; | 7316 | let item = giftsinfo[i]; |
| 7317 | + if(item.must_num>0 ){ | ||
| 7318 | + if(!item.selected){ | ||
| 7319 | + ut.m_toast("必送的赠品没有选中"); | ||
| 7320 | + return false; | ||
| 7321 | + } | ||
| 7322 | + if(item.goods_num<item.must_num){ | ||
| 7323 | + ut.m_toast("活动赠品的超量数量不足"); | ||
| 7324 | + return false; | ||
| 7325 | + } | ||
| 7326 | + } | ||
| 7256 | if (!item.selected) continue; | 7327 | if (!item.selected) continue; |
| 7257 | all_num += item.goods_num; | 7328 | all_num += item.goods_num; |
| 7258 | } | 7329 | } |
| @@ -7285,7 +7356,6 @@ Page({ | @@ -7285,7 +7356,6 @@ Page({ | ||
| 7285 | var pos=this.find_pro_last(pk_list_goods,3,this.data.gf_prom_id); | 7356 | var pos=this.find_pro_last(pk_list_goods,3,this.data.gf_prom_id); |
| 7286 | var fd_gd=pk_list_goods[pos] | 7357 | var fd_gd=pk_list_goods[pos] |
| 7287 | 7358 | ||
| 7288 | - | ||
| 7289 | var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id=" | 7359 | var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id=" |
| 7290 | + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.gf_prom_id; | 7360 | + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.gf_prom_id; |
| 7291 | await getApp().request.promiseDelete(url, {}); | 7361 | await getApp().request.promiseDelete(url, {}); |
| @@ -7455,14 +7525,18 @@ Page({ | @@ -7455,14 +7525,18 @@ Page({ | ||
| 7455 | var gf_pr_name = item_arr[ip].gf_pr_name; | 7525 | var gf_pr_name = item_arr[ip].gf_pr_name; |
| 7456 | var zp_num = item_arr[ip].zp_num; | 7526 | var zp_num = item_arr[ip].zp_num; |
| 7457 | var giftsinfo = item_arr[ip].giftsinfo; | 7527 | var giftsinfo = item_arr[ip].giftsinfo; |
| 7528 | + | ||
| 7458 | var limit_all = 0; | 7529 | var limit_all = 0; |
| 7459 | var stock_all = 0; | 7530 | var stock_all = 0; |
| 7531 | + var no_limit=0; | ||
| 7532 | + | ||
| 7460 | for (let iu in giftsinfo) { | 7533 | for (let iu in giftsinfo) { |
| 7461 | let gf_item = giftsinfo[iu]; | 7534 | let gf_item = giftsinfo[iu]; |
| 7462 | - limit_all += gf_item.limit_num; | 7535 | + limit_all += gf_item.can_num>0?gf_item.can_num:0; |
| 7463 | stock_all += gf_item.gift_storecount; | 7536 | stock_all += gf_item.gift_storecount; |
| 7537 | + if(gf_item.limit_num<=0) no_limit=1; | ||
| 7464 | } | 7538 | } |
| 7465 | - if (limit_all < zp_num) { | 7539 | + if (!no_limit && limit_all < zp_num) { |
| 7466 | error_arr.push(gf_pr_name + "限购不足"); | 7540 | error_arr.push(gf_pr_name + "限购不足"); |
| 7467 | } | 7541 | } |
| 7468 | if (stock_all < zp_num) { | 7542 | if (stock_all < zp_num) { |
packageE/pages/cart/cart2/cart2.wxml
| @@ -1054,17 +1054,21 @@ | @@ -1054,17 +1054,21 @@ | ||
| 1054 | </view> | 1054 | </view> |
| 1055 | 1055 | ||
| 1056 | <navigator class="goods-img rel" bindtap="go_gd" data-gd="{{items.goods_id}}"> | 1056 | <navigator class="goods-img rel" bindtap="go_gd" data-gd="{{items.goods_id}}"> |
| 1057 | - <image class="wh100" src="{{imgUrl+items.goodsinfo.original_img}}" binderror="bind_bnerr2" data-errorimg="gift_goods[{{idx}}].goodsinfo.original_img"></image> | 1057 | + <image class="wh100" src="{{imgUrl+items.goodsinfo.original_img}}" binderror="cart_set_err1" data-err="giftsinfo[{{idx}}].goodsinfo.original_img"></image> |
| 1058 | </navigator> | 1058 | </navigator> |
| 1059 | <view class="goods-cont"> | 1059 | <view class="goods-cont"> |
| 1060 | - <view class="goods-name"> | ||
| 1061 | - <navigator bindtap="go_gd" class="ellipsis-2 fs30" data-gd="{{items.goods_id}}">{{items.goods_name}}</navigator> | 1060 | + <view class="goods-name2"> |
| 1061 | + <navigator bindtap="go_gd" class="ellipsis-2 fs30" data-gd="{{items.goods_id}}">{{items.goods_name}} | ||
| 1062 | + </navigator> | ||
| 1062 | 1063 | ||
| 1063 | <view class="specifications ellipsis-1"> | 1064 | <view class="specifications ellipsis-1"> |
| 1064 | <view wx:if="{{items.goodsinfo.goods_color || items.goodsinfo.goods_spec}}"> | 1065 | <view wx:if="{{items.goodsinfo.goods_color || items.goodsinfo.goods_spec}}"> |
| 1065 | {{items.goodsinfo.goods_color}}{{items.goodsinfo.goods_color?"/":''}}{{items.goodsinfo.goods_spec}}</view> | 1066 | {{items.goodsinfo.goods_color}}{{items.goodsinfo.goods_color?"/":''}}{{items.goodsinfo.goods_spec}}</view> |
| 1066 | <view wx:else>规格1</view> | 1067 | <view wx:else>规格1</view> |
| 1067 | </view> | 1068 | </view> |
| 1069 | + <text class="c-red" wx:if="{{items.must_num>0 && items.limit_num>0 && items.must_num>items.can_num}}">(超量不足)</text> | ||
| 1070 | + <text class="c-red" wx:elif="{{items.must_num>0}}">必选{{items.must_num}}件</text> | ||
| 1071 | + | ||
| 1068 | </view> | 1072 | </view> |
| 1069 | 1073 | ||
| 1070 | <view class="flex alend jc_sb"> | 1074 | <view class="flex alend jc_sb"> |
packageE/pages/cart/cart2/cart2.wxss
| @@ -130,7 +130,13 @@ page { | @@ -130,7 +130,13 @@ page { | ||
| 130 | margin-bottom: 16rpx; | 130 | margin-bottom: 16rpx; |
| 131 | font-size: 28rpx; | 131 | font-size: 28rpx; |
| 132 | color: #333; | 132 | color: #333; |
| 133 | - | 133 | +} |
| 134 | +.goods-name2 { | ||
| 135 | + height: 74rpx; | ||
| 136 | + line-height: 40rpx; | ||
| 137 | + margin-bottom: 16rpx; | ||
| 138 | + font-size: 28rpx; | ||
| 139 | + color: #333; | ||
| 134 | } | 140 | } |
| 135 | 141 | ||
| 136 | .goods-color { | 142 | .goods-color { |
| @@ -1228,6 +1234,10 @@ margin-left: 20rpx; | @@ -1228,6 +1234,10 @@ margin-left: 20rpx; | ||
| 1228 | margin-top: 6rpx; | 1234 | margin-top: 6rpx; |
| 1229 | } | 1235 | } |
| 1230 | 1236 | ||
| 1237 | +.c-red { | ||
| 1238 | + color: #f23030;vertical-align: top;position: relative;top: 3rpx;font-size: 21rpx;margin-left: 2rpx; | ||
| 1239 | +} | ||
| 1240 | + | ||
| 1231 | 1241 | ||
| 1232 | 1242 | ||
| 1233 | 1243 |
pages/cart/cart/cart.js
| @@ -4165,7 +4165,15 @@ Page({ | @@ -4165,7 +4165,15 @@ Page({ | ||
| 4165 | var a_limit_num = 0; | 4165 | var a_limit_num = 0; |
| 4166 | for (let iy in discount.giftsinfo) { | 4166 | for (let iy in discount.giftsinfo) { |
| 4167 | let item = discount.giftsinfo[iy]; | 4167 | let item = discount.giftsinfo[iy]; |
| 4168 | - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); | 4168 | + |
| 4169 | + var c_zp=0; | ||
| 4170 | + if(parseInt(item.limit_num)>0){ | ||
| 4171 | + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount); | ||
| 4172 | + }else{ | ||
| 4173 | + c_zp= parseInt(item.gift_storecount); | ||
| 4174 | + } | ||
| 4175 | + if(c_zp<0) c_zp=0; | ||
| 4176 | + can_zp_num +=c_zp; | ||
| 4169 | } | 4177 | } |
| 4170 | 4178 | ||
| 4171 | var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); | 4179 | var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); |
| @@ -4487,7 +4495,14 @@ Page({ | @@ -4487,7 +4495,14 @@ Page({ | ||
| 4487 | var a_limit_num = 0; | 4495 | var a_limit_num = 0; |
| 4488 | for (let iy in discount.giftsinfo) { | 4496 | for (let iy in discount.giftsinfo) { |
| 4489 | let item = discount.giftsinfo[iy]; | 4497 | let item = discount.giftsinfo[iy]; |
| 4490 | - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); | 4498 | + var c_zp=0; |
| 4499 | + if(parseInt(item.limit_num)>0) { | ||
| 4500 | + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount); | ||
| 4501 | + }else{ | ||
| 4502 | + c_zp= parseInt(item.gift_storecount) | ||
| 4503 | + } | ||
| 4504 | + if(c_zp<0) c_zp=0; | ||
| 4505 | + can_zp_num +=c_zp; | ||
| 4491 | } | 4506 | } |
| 4492 | 4507 | ||
| 4493 | var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); | 4508 | var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); |
pages/goods/goodsInfo/goodsInfo.js
| @@ -7786,88 +7786,40 @@ Page({ | @@ -7786,88 +7786,40 @@ Page({ | ||
| 7786 | if(th.data.user_pre_buynum >= fir_act.limit_num){ | 7786 | if(th.data.user_pre_buynum >= fir_act.limit_num){ |
| 7787 | is_yh_out_limit=1; | 7787 | is_yh_out_limit=1; |
| 7788 | } | 7788 | } |
| 7789 | - | ||
| 7790 | } | 7789 | } |
| 7791 | - // var more_arr = []; | ||
| 7792 | - // //减价 | ||
| 7793 | - // if (fir_act.money > 0){ | ||
| 7794 | - // | ||
| 7795 | - // more_arr.push({ | ||
| 7796 | - // text:'减价' + fir_act.money + '元', | ||
| 7797 | - // is_fir:1 | ||
| 7798 | - // }); | ||
| 7799 | - // } | ||
| 7800 | - // if (fir_act.sale > 0) { | ||
| 7801 | - // more_arr.push({ | ||
| 7802 | - // text:'打' + fir_act.sale + '折', | ||
| 7803 | - // is_fir:1 | ||
| 7804 | - // }); | ||
| 7805 | - // } | ||
| 7806 | - // if (fir_act.past == 1) { | ||
| 7807 | - // more_arr.push({ | ||
| 7808 | - // text:'包邮', | ||
| 7809 | - // is_fir:1 | ||
| 7810 | - // }); | ||
| 7811 | - // } | ||
| 7812 | - // if (fir_act.intValue > 0){ | ||
| 7813 | - // more_arr.push({ | ||
| 7814 | - // text:'送' + fir_act.intValue + '积分', | ||
| 7815 | - // is_fir:1 | ||
| 7816 | - // }); | ||
| 7817 | - // } | ||
| 7818 | - // if (fir_act.couponId > 0) { | ||
| 7819 | - // more_arr.push({ | ||
| 7820 | - // text:'送' + fir_act.couponMoney + '元优惠券', | ||
| 7821 | - // is_quan:1 | ||
| 7822 | - // }); | ||
| 7823 | - // } | ||
| 7824 | - // | ||
| 7825 | - // if (fir_act.gift_id) { | ||
| 7826 | - // var is_more_gf = fir_act.gift_id.split(',') | ||
| 7827 | - // if (is_more_gf.length > 1) { | ||
| 7828 | - // more_arr.push({ | ||
| 7829 | - // text:'送赠品', | ||
| 7830 | - // is_gift:1, | ||
| 7831 | - // prom_id:fir_act.prom_id | ||
| 7832 | - // }); | ||
| 7833 | - // } else { | ||
| 7834 | - // more_arr.push({ | ||
| 7835 | - // text:'送' + fir_act.goods_name + ' x' + fir_act.zp_num, | ||
| 7836 | - // is_gift:1, | ||
| 7837 | - // prom_id:fir_act.prom_id | ||
| 7838 | - // }); | ||
| 7839 | - // } | ||
| 7840 | - // } | ||
| 7841 | - // if (fir_act.lb_id){ | ||
| 7842 | - // more_arr.push({ | ||
| 7843 | - // text:'送' + fir_act.lbtitle, | ||
| 7844 | - // lb_id:fir_act.lb_id | ||
| 7845 | - // }); | ||
| 7846 | - // } | ||
| 7847 | - // if (fir_act.zxlb_id){ | ||
| 7848 | - // more_arr.push({ | ||
| 7849 | - // text:'送' + fir_act.zxlbtitle, | ||
| 7850 | - // zxlb_id:fir_act.zxlb_id | ||
| 7851 | - // }); | ||
| 7852 | - // } | ||
| 7853 | - // if (fir_act.monthgiftbag_id){ | ||
| 7854 | - // more_arr.push({ | ||
| 7855 | - // text:'送' + fir_act.monthgiftbag_title, | ||
| 7856 | - // monthgiftbag_id:fir_act.monthgiftbag_id | ||
| 7857 | - // }); | ||
| 7858 | - // } | ||
| 7859 | - var more_arr=ut.format_yh_act(fir_act); | ||
| 7860 | - //-- 开始组装数据 -- | ||
| 7861 | - th.add_cx_prom_group({ | ||
| 7862 | - id: fir_act.prom_id, | ||
| 7863 | - condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'), | ||
| 7864 | - limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'), | ||
| 7865 | - more: more_arr, | 7790 | + |
| 7791 | + //如果是有限购的时候 | ||
| 7792 | + if (fir_act.gd_limit_num>0 && !is_yh_out_limit){ | ||
| 7793 | + var lrs= { | ||
| 7794 | + store_id: os.stoid, | ||
| 7795 | + user_id: user_id, | ||
| 7796 | + goods_id: gid, | ||
| 7866 | prom_type: 3, | 7797 | prom_type: 3, |
| 7867 | - promGoodsListsDtos:r_data.promGoodsLists, | ||
| 7868 | - is_yh_out_limit:is_yh_out_limit | ||
| 7869 | - }); | ||
| 7870 | - //} | 7798 | + prom_id: fir_act.prom_id, isnew:1 |
| 7799 | + }; | ||
| 7800 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | ||
| 7801 | + var pro_by_num=0; | ||
| 7802 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | ||
| 7803 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | ||
| 7804 | + } | ||
| 7805 | + if(pro_by_num >= fir_act.gd_limit_num){ | ||
| 7806 | + is_yh_out_limit=1; | ||
| 7807 | + } | ||
| 7808 | + } | ||
| 7809 | + //-- 如果超出限购,就不显示了 -- | ||
| 7810 | + if(!is_yh_out_limit) { | ||
| 7811 | + var more_arr = ut.format_yh_act(fir_act); | ||
| 7812 | + //-- 开始组装数据 -- | ||
| 7813 | + th.add_cx_prom_group({ | ||
| 7814 | + id: fir_act.prom_id, | ||
| 7815 | + condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'), | ||
| 7816 | + limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'), | ||
| 7817 | + more: more_arr, | ||
| 7818 | + prom_type: 3, | ||
| 7819 | + promGoodsListsDtos: r_data.promGoodsLists, | ||
| 7820 | + is_yh_out_limit: is_yh_out_limit | ||
| 7821 | + }); | ||
| 7822 | + } | ||
| 7871 | 7823 | ||
| 7872 | } | 7824 | } |
| 7873 | 7825 |
pages/user/order_detail/order_detail.js
| @@ -465,7 +465,7 @@ Page({ | @@ -465,7 +465,7 @@ Page({ | ||
| 465 | } | 465 | } |
| 466 | 466 | ||
| 467 | //-- 要进行判断指定门店的判断优化,先做普通商品 -- | 467 | //-- 要进行判断指定门店的判断优化,先做普通商品 -- |
| 468 | - if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids){ | 468 | + if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids && !good.is_gift){ |
| 469 | var idx0=gg.pick_up_lists.findIndex(function (e){ | 469 | var idx0=gg.pick_up_lists.findIndex(function (e){ |
| 470 | return e.pickup_id==order.pickup_id; | 470 | return e.pickup_id==order.pickup_id; |
| 471 | }) | 471 | }) |
| @@ -607,6 +607,13 @@ Page({ | @@ -607,6 +607,13 @@ Page({ | ||
| 607 | } | 607 | } |
| 608 | }) | 608 | }) |
| 609 | 609 | ||
| 610 | + if(!presellList || !presellList.length){ | ||
| 611 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 612 | + th.toast(content); | ||
| 613 | + th.setData({ paying: 0 }); | ||
| 614 | + return false; | ||
| 615 | + } | ||
| 616 | + | ||
| 610 | if (presellList) { | 617 | if (presellList) { |
| 611 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { | 618 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { |
| 612 | var content = good.goods_name + '购买数量超出商品库存,请取消订单'; | 619 | var content = good.goods_name + '购买数量超出商品库存,请取消订单'; |
| @@ -622,6 +629,28 @@ Page({ | @@ -622,6 +629,28 @@ Page({ | ||
| 622 | return false; | 629 | return false; |
| 623 | } | 630 | } |
| 624 | 631 | ||
| 632 | + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); | ||
| 633 | + //接口调用成功的时候 | ||
| 634 | + if(fres && fres.data.code==0 && fres.data.data){ | ||
| 635 | + //如果有指定门店的时候 | ||
| 636 | + if(fres.data.data.pick_up_lists){ | ||
| 637 | + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ | ||
| 638 | + return e.pickup_id==order.pickup_id; | ||
| 639 | + }) | ||
| 640 | + if(idx0<0){ | ||
| 641 | + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); | ||
| 642 | + th.setData({ paying: 0 }); | ||
| 643 | + return false; | ||
| 644 | + } | ||
| 645 | + } | ||
| 646 | + | ||
| 647 | + }else{ | ||
| 648 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 649 | + th.toast(content); | ||
| 650 | + th.setData({ paying: 0 }); | ||
| 651 | + return false; | ||
| 652 | + } | ||
| 653 | + | ||
| 625 | } | 654 | } |
| 626 | } | 655 | } |
| 627 | 656 | ||
| @@ -641,7 +670,19 @@ Page({ | @@ -641,7 +670,19 @@ Page({ | ||
| 641 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; | 670 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; |
| 642 | th.toast(content); | 671 | th.toast(content); |
| 643 | p_ok = 0; | 672 | p_ok = 0; |
| 673 | + }else if(r_data.promGoodsLists && good.prom_type == 3){ | ||
| 674 | + var fir_act = r_data.promGoodsLists[0]; | ||
| 675 | + //如果是有限购的时候 | ||
| 676 | + if (fir_act.gd_limit_num>0){ | ||
| 677 | + if(promgoodsbuynum+good.goods_num > fir_act.gd_limit_num){ | ||
| 678 | + var content = good.goods_name + '超出优惠促销活动商品限购,请取消订单重新购买'; | ||
| 679 | + th.toast(content) | ||
| 680 | + p_ok = 0; | ||
| 681 | + } | ||
| 682 | + } | ||
| 683 | + | ||
| 644 | } | 684 | } |
| 685 | + | ||
| 645 | if (!r_data.ladderLists && good.prom_type == 10) { | 686 | if (!r_data.ladderLists && good.prom_type == 10) { |
| 646 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; | 687 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; |
| 647 | th.toast(content); | 688 | th.toast(content); |
pages/user/order_list/order_list.js
| @@ -780,7 +780,7 @@ Page({ | @@ -780,7 +780,7 @@ Page({ | ||
| 780 | 780 | ||
| 781 | 781 | ||
| 782 | //-- 要进行判断指定门店的判断优化,先做普通商品 -- | 782 | //-- 要进行判断指定门店的判断优化,先做普通商品 -- |
| 783 | - if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids){ | 783 | + if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids && !good.is_gift){ |
| 784 | var idx0=gg.pick_up_lists.findIndex(function (e){ | 784 | var idx0=gg.pick_up_lists.findIndex(function (e){ |
| 785 | return e.pickup_id==order.pickup_id; | 785 | return e.pickup_id==order.pickup_id; |
| 786 | }) | 786 | }) |
| @@ -922,10 +922,15 @@ Page({ | @@ -922,10 +922,15 @@ Page({ | ||
| 922 | } | 922 | } |
| 923 | }) | 923 | }) |
| 924 | 924 | ||
| 925 | - | ||
| 926 | - if (presellList) { | 925 | + if(!presellList || !presellList.length){ |
| 926 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 927 | + th.toast(content); | ||
| 928 | + th.setData({ paying: 0 }); | ||
| 929 | + return false; | ||
| 930 | + } | ||
| 927 | 931 | ||
| 928 | 932 | ||
| 933 | + if (presellList) { | ||
| 929 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { | 934 | if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { |
| 930 | var content = good.goods_name + '购买数量超出商品库存,请取消订单'; | 935 | var content = good.goods_name + '购买数量超出商品库存,请取消订单'; |
| 931 | th.toast(content); | 936 | th.toast(content); |
| @@ -940,6 +945,28 @@ Page({ | @@ -940,6 +945,28 @@ Page({ | ||
| 940 | return false; | 945 | return false; |
| 941 | } | 946 | } |
| 942 | 947 | ||
| 948 | + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); | ||
| 949 | + //接口调用成功的时候 | ||
| 950 | + if(fres && fres.data.code==0 && fres.data.data){ | ||
| 951 | + | ||
| 952 | + //如果有指定门店的时候 | ||
| 953 | + if(fres.data.data.pick_up_lists){ | ||
| 954 | + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ | ||
| 955 | + return e.pickup_id==order.pickup_id; | ||
| 956 | + }) | ||
| 957 | + if(idx0<0){ | ||
| 958 | + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); | ||
| 959 | + th.setData({ paying: 0 }); | ||
| 960 | + return false; | ||
| 961 | + } | ||
| 962 | + } | ||
| 963 | + | ||
| 964 | + }else{ | ||
| 965 | + var content = good.goods_name + '未找到预售活动,请取消订单'; | ||
| 966 | + th.toast(content); | ||
| 967 | + th.setData({ paying: 0 }); | ||
| 968 | + return false; | ||
| 969 | + } | ||
| 943 | } | 970 | } |
| 944 | } | 971 | } |
| 945 | 972 | ||
| @@ -955,16 +982,32 @@ Page({ | @@ -955,16 +982,32 @@ Page({ | ||
| 955 | th.toast(content) | 982 | th.toast(content) |
| 956 | p_ok = 0; | 983 | p_ok = 0; |
| 957 | } | 984 | } |
| 985 | + | ||
| 958 | if (!r_data.promGoodsLists && good.prom_type == 3) { | 986 | if (!r_data.promGoodsLists && good.prom_type == 3) { |
| 959 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; | 987 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; |
| 960 | th.toast(content); | 988 | th.toast(content); |
| 961 | p_ok = 0; | 989 | p_ok = 0; |
| 990 | + }else if(r_data.promGoodsLists && good.prom_type == 3){ | ||
| 991 | + var fir_act = r_data.promGoodsLists[0]; | ||
| 992 | + //如果是有限购的时候 | ||
| 993 | + if (fir_act.gd_limit_num>0){ | ||
| 994 | + if(promgoodsbuynum+good.goods_num > fir_act.gd_limit_num){ | ||
| 995 | + var content = good.goods_name + '超出优惠促销活动商品限购,请取消订单重新购买'; | ||
| 996 | + th.toast(content) | ||
| 997 | + p_ok = 0; | ||
| 998 | + } | ||
| 999 | + } | ||
| 1000 | + | ||
| 962 | } | 1001 | } |
| 1002 | + | ||
| 963 | if (!r_data.ladderLists && good.prom_type == 10) { | 1003 | if (!r_data.ladderLists && good.prom_type == 10) { |
| 964 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; | 1004 | var content = good.goods_name + '未找到活动,请取消订单重新购买'; |
| 965 | th.toast(content); | 1005 | th.toast(content); |
| 966 | p_ok = 0; | 1006 | p_ok = 0; |
| 967 | } | 1007 | } |
| 1008 | + | ||
| 1009 | + | ||
| 1010 | + | ||
| 968 | } else { | 1011 | } else { |
| 969 | 1012 | ||
| 970 | var content = good.goods_name + '未找到活动,请取消订单重新购买' | 1013 | var content = good.goods_name + '未找到活动,请取消订单重新购买' |