From 707916066b69bd094b36f925d26daa6ab6ff79c5 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Tue, 29 Aug 2023 16:10:34 +0800 Subject: [PATCH] 优惠促销商品限购的优化 --- packageE/pages/cart/cart2/cart2.wxss | 2 +- pages/cart/cart/cart.js | 23 +++++++++++++++++++++++ pages/goods/goodsInfo/goodsInfo.js | 9 ++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/packageE/pages/cart/cart2/cart2.wxss b/packageE/pages/cart/cart2/cart2.wxss index 049b700..0bc2a23 100644 --- a/packageE/pages/cart/cart2/cart2.wxss +++ b/packageE/pages/cart/cart2/cart2.wxss @@ -132,7 +132,7 @@ page { color: #333; } .goods-name2 { - height: 74rpx; + min-height: 74rpx; line-height: 40rpx; margin-bottom: 16rpx; font-size: 28rpx; diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 2d25077..933bdca 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -3220,6 +3220,8 @@ Page({ var zh_limit_m={} var zh_all_ck={}; + //多门店的时候,控制不能超出限购 + var yh_by_map={}; // let checkOff=false for (var i = 0; i < this.data.requestData.length; i++) { @@ -3232,6 +3234,8 @@ Page({ } var i_arr = this.data.requestData[i].goods; + + for (var j = 0; j < i_arr.length; j++) { if (i_arr[j].selected && i_arr[j].is_gift != 1) { @@ -3269,6 +3273,25 @@ Page({ } else { i_arr[j].prom_id = fd1.prom_id; i_arr[j].prom_type = fd1.prom_type; + + var ky=i_arr[j]['prom_type']+'-'+i_arr[j]['prom_id']+'-'+i_arr[j]['goods_id']; + var ky_n=0; + if(yh_by_map[ky]){ + ky_n+=yh_by_map[ky]; + } + //-- 判断优惠促销活动的商品的限购 -- + if(i_arr[j].prom_type==3 && fd1.act.goodslimit>0){ + var p_can_by=fd1.act.goodslimit-fd1.act.goodslimited; + if(i_arr[j].goods_num+ky_n>p_can_by){ + getApp().confirmBox(i_arr[j].goods_name + "超出活动限购数量"+fd1.act.goodslimit+"件"); + wx.hideLoading(); + return false; + } + } + //-- 把购物数量记录到map表中 -- + if(!yh_by_map[ky]) yh_by_map[ky]=0; + yh_by_map[ky]+=i_arr[j].goods_num; + } } diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 7562ebd..ccf0ccb 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -7809,11 +7809,18 @@ Page({ //-- 如果超出限购,就不显示了 -- if(!is_yh_out_limit) { var more_arr = ut.format_yh_act(fir_act); + + var limit='每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'); + if(fir_act.gd_limit_num>0){ + limit+=",限购"+fir_act.gd_limit_num+"件"; + } + //-- 开始组装数据 -- th.add_cx_prom_group({ id: fir_act.prom_id, condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'), - limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'), + limit: limit, + gd_limit_num:fir_act.gd_limit_num>0?fir_act.gd_limit_num:0, more: more_arr, prom_type: 3, promGoodsListsDtos: r_data.promGoodsLists, -- libgit2 0.21.4