Commit 846498126701f77e62d3370fcc45b798b316165b

Authored by yvan.ni
1 parent b0cec5a2

1、赠品限量 超量的优化

2、多门店的时候,一起超出商品限购的时候,不能提交订单!
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;
@@ -4711,6 +4712,8 @@ Page({ @@ -4711,6 +4712,8 @@ Page({
4711 4712
4712 var order_prom_list_cart = th.data.order_prom_list_cart; 4713 var order_prom_list_cart = th.data.order_prom_list_cart;
4713 4714
  4715 + //优惠商品限购的优化
  4716 + var yh_lm_map={};
4714 //--组装推送数据-- 4717 //--组装推送数据--
4715 for (var i = 0; i < order_prom_list_cart.length; i++) { 4718 for (var i = 0; i < order_prom_list_cart.length; i++) {
4716 var t_item = order_prom_list_cart[i]; 4719 var t_item = order_prom_list_cart[i];
@@ -4877,8 +4880,6 @@ Page({ @@ -4877,8 +4880,6 @@ Page({
4877 var check_map = {}; 4880 var check_map = {};
4878 let groupchat_ids=[] 4881 let groupchat_ids=[]
4879 4882
4880 -  
4881 -  
4882 //-------------让商品添加到商品列表-------------------- 4883 //-------------让商品添加到商品列表--------------------
4883 for (var k = 0; k < t_item.goods.length; k++) { 4884 for (var k = 0; k < t_item.goods.length; k++) {
4884 4885
@@ -4987,7 +4988,8 @@ Page({ @@ -4987,7 +4988,8 @@ Page({
4987 var mo_num=getApp().get_limit_qty(g_item,act.length); 4988 var mo_num=getApp().get_limit_qty(g_item,act.length);
4988 var steep=getApp().get_limit_qty(g_item,act.length,1); 4989 var steep=getApp().get_limit_qty(g_item,act.length,1);
4989 4990
4990 - if ([0,3,5,7,10].indexOf(goods.prom_type)>-1){ 4991 + //赠品要排除之外,不进行判断
  4992 + if ([0,3,5,7,10].indexOf(goods.prom_type)>-1 && !goods.is_gift){
4991 if(mo_num>goods.goods_num){ 4993 if(mo_num>goods.goods_num){
4992 getApp().confirmBox(goods.goods_name + "的未达到起订数量"); 4994 getApp().confirmBox(goods.goods_name + "的未达到起订数量");
4993 th.data.is_summit_ing = 0; 4995 th.data.is_summit_ing = 0;
@@ -5026,12 +5028,22 @@ Page({ @@ -5026,12 +5028,22 @@ Page({
5026 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum 5028 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum
5027 } 5029 }
5028 5030
5029 - if(pro_gd_limit_num>0 && pro_gd_limit_num<pro_by_num+goods.goods_num){ 5031 + var m_ky=goods.goods_id+'|'+goods.prom_id;
  5032 +
  5033 + var more_num=yh_lm_map[m_ky]?yh_lm_map[m_ky]:0;
  5034 +
  5035 + if(pro_gd_limit_num<pro_by_num+goods.goods_num+more_num){
5030 getApp().confirmBox(goods.goods_name + "超优惠促销限购,无法购买"); 5036 getApp().confirmBox(goods.goods_name + "超优惠促销限购,无法购买");
5031 th.data.is_summit_ing = 0; 5037 th.data.is_summit_ing = 0;
5032 th.setData({ submit: 0 }) 5038 th.setData({ submit: 0 })
5033 return false; 5039 return false;
5034 } 5040 }
  5041 +
  5042 + //方便下一轮商品判断限购
  5043 + if(!yh_lm_map[m_ky]) {
  5044 + yh_lm_map[m_ky]=0;
  5045 + }
  5046 + yh_lm_map[m_ky]+=goods.goods_num;
5035 } 5047 }
5036 } 5048 }
5037 5049
@@ -7245,7 +7257,7 @@ Page({ @@ -7245,7 +7257,7 @@ Page({
7245 var gift_id = discount.gift_id; 7257 var gift_id = discount.gift_id;
7246 for (var i in alllist) { 7258 for (var i in alllist) {
7247 var list_item = alllist[i]; 7259 var list_item = alllist[i];
7248 - //-- 门店相同,活动相同的时候 -- 7260 + //-- 门店相同,活动相同的时候,就continue掉 --
7249 if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue; 7261 if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue;
7250 for (var j in list_item.goods) { 7262 for (var j in list_item.goods) {
7251 //如果赠品的ID一样,要进行统计数量 7263 //如果赠品的ID一样,要进行统计数量
@@ -7254,7 +7266,7 @@ Page({ @@ -7254,7 +7266,7 @@ Page({
7254 all_num += list_item.goods[j].goods_num; 7266 all_num += list_item.goods[j].goods_num;
7255 } 7267 }
7256 if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) { 7268 if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) {
7257 - all_limit_num += list_item.goods[j].limit_num; 7269 + all_limit_num += list_item.goods[j].goods_num;
7258 } 7270 }
7259 } 7271 }
7260 } 7272 }
@@ -7268,7 +7280,8 @@ Page({ @@ -7268,7 +7280,8 @@ Page({
7268 }); 7280 });
7269 return false; 7281 return false;
7270 } 7282 }
7271 - if (discount.limit_num < all_limit_num) { 7283 + //-- 限购一定要大于0,否则就是不限的意思 --
  7284 + if (discount.limit_num>0 && discount.limit_num < all_limit_num) {
7272 wx.showToast({ 7285 wx.showToast({
7273 title: "超出赠品限购", 7286 title: "超出赠品限购",
7274 icon: 'none', 7287 icon: 'none',
@@ -7292,6 +7305,11 @@ Page({ @@ -7292,6 +7305,11 @@ Page({
7292 for (let i in giftsinfo) { 7305 for (let i in giftsinfo) {
7293 let item = giftsinfo[i]; 7306 let item = giftsinfo[i];
7294 if (!item.selected) continue; 7307 if (!item.selected) continue;
  7308 +
  7309 + if(item.must_num>0 && item.goods_num<item.must_num){
  7310 + ut.m_toast("活动赠品的超量数量不足");
  7311 + return false;
  7312 + }
7295 all_num += item.goods_num; 7313 all_num += item.goods_num;
7296 } 7314 }
7297 if (all_num > zp_num) { 7315 if (all_num > zp_num) {
@@ -7323,7 +7341,6 @@ Page({ @@ -7323,7 +7341,6 @@ Page({
7323 var pos=this.find_pro_last(pk_list_goods,3,this.data.gf_prom_id); 7341 var pos=this.find_pro_last(pk_list_goods,3,this.data.gf_prom_id);
7324 var fd_gd=pk_list_goods[pos] 7342 var fd_gd=pk_list_goods[pos]
7325 7343
7326 -  
7327 var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id=" 7344 var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id="
7328 + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.gf_prom_id; 7345 + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.gf_prom_id;
7329 await getApp().request.promiseDelete(url, {}); 7346 await getApp().request.promiseDelete(url, {});
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.limit_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