Commit 8f94200f551e8fb5f7e8f0b144b4e470929b6c61
1 parent
1a0c81c4
购物车 多门店
Showing
1 changed file
with
53 additions
and
7 deletions
pages/cart/cart/cart.js
@@ -3167,6 +3167,11 @@ Page({ | @@ -3167,6 +3167,11 @@ Page({ | ||
3167 | 3167 | ||
3168 | let checkObj3 = {}; //优惠促销次数判断 | 3168 | let checkObj3 = {}; //优惠促销次数判断 |
3169 | 3169 | ||
3170 | + var zh_buyed_m={}; | ||
3171 | + var zh_limit_m={} | ||
3172 | + var zh_all_ck={}; | ||
3173 | + | ||
3174 | + | ||
3170 | // let checkOff=false | 3175 | // let checkOff=false |
3171 | for (var i = 0; i < this.data.requestData.length; i++) { | 3176 | for (var i = 0; i < this.data.requestData.length; i++) { |
3172 | var i_arr = this.data.requestData[i].goods; | 3177 | var i_arr = this.data.requestData[i].goods; |
@@ -3203,20 +3208,35 @@ Page({ | @@ -3203,20 +3208,35 @@ Page({ | ||
3203 | } | 3208 | } |
3204 | 3209 | ||
3205 | 3210 | ||
3211 | + | ||
3206 | if (i_arr[j].prom_type == 7 && (!this.data.requestData[i].need_list || (this.data.requestData[i].need_list && this.data.requestData[i].need_list.length == 0)) && i_arr[j].act && i_arr[j].act.buy_limit != 0) { | 3212 | if (i_arr[j].prom_type == 7 && (!this.data.requestData[i].need_list || (this.data.requestData[i].need_list && this.data.requestData[i].need_list.length == 0)) && i_arr[j].act && i_arr[j].act.buy_limit != 0) { |
3207 | - let userbuynum = await this.getUserBuyPromNum(i_arr[j].goods_prom_id) | 3213 | + let userbuynum = await this.getUserBuyPromNum(i_arr[j].goods_prom_id); |
3214 | + | ||
3215 | + if(!zh_buyed_m[i_arr[j].prom_id]) zh_buyed_m[i_arr[j].prom_id]=userbuynum; | ||
3216 | + if(i_arr[j].act.buy_limit>0){ | ||
3217 | + if(!zh_limit_m[i_arr[j].prom_id]) zh_limit_m[i_arr[j].prom_id]=i_arr[j].act.buy_limit; | ||
3218 | + } | ||
3219 | + | ||
3208 | console.log('活动次数:' + userbuynum); | 3220 | console.log('活动次数:' + userbuynum); |
3209 | - if (userbuynum >= i_arr[j].act.buy_limit) { | 3221 | + if (userbuynum >= i_arr[j].act.buy_limit && i_arr[j].act.buy_limit>0) { |
3210 | // i_arr[j].act.buy_userbuynum=true | 3222 | // i_arr[j].act.buy_userbuynum=true |
3211 | checkArr7.push(i_arr[j]) | 3223 | checkArr7.push(i_arr[j]) |
3224 | + }else{ | ||
3225 | + if (zh_all_ck[i_arr[j].prom_id]) { | ||
3226 | + //相同门店只记录一单 | ||
3227 | + if(zh_all_ck[i_arr[j].prom_id].indexOf(i)==-1) zh_all_ck[i_arr[j].prom_id].push(i); | ||
3228 | + } else { | ||
3229 | + zh_all_ck[i_arr[j].prom_id] = [i]; | ||
3230 | + } | ||
3231 | + | ||
3212 | } | 3232 | } |
3213 | } | 3233 | } |
3214 | - //优惠活动次数限制 | 3234 | + //-- 优惠活动次数限制,相同门店的相同prom_id只能算一次 -- |
3215 | if (i_arr[j].prom_type == 3) { | 3235 | if (i_arr[j].prom_type == 3) { |
3216 | if (checkObj3[i_arr[j].prom_id]) { | 3236 | if (checkObj3[i_arr[j].prom_id]) { |
3217 | - checkObj3[i_arr[j].prom_id] += 1 | 3237 | + if(checkObj3[i_arr[j].prom_id].indexOf(i)==-1) checkObj3[i_arr[j].prom_id].push(i); |
3218 | } else { | 3238 | } else { |
3219 | - checkObj3[i_arr[j].prom_id] = 1 | 3239 | + checkObj3[i_arr[j].prom_id] = [i]; |
3220 | } | 3240 | } |
3221 | } | 3241 | } |
3222 | //map 的key是不会重复,会覆盖,, | 3242 | //map 的key是不会重复,会覆盖,, |
@@ -3349,7 +3369,7 @@ Page({ | @@ -3349,7 +3369,7 @@ Page({ | ||
3349 | if (gitem.pick_id != pro_stord_id) { | 3369 | if (gitem.pick_id != pro_stord_id) { |
3350 | pro_stord_off = true | 3370 | pro_stord_off = true |
3351 | } | 3371 | } |
3352 | - } else { | 3372 | + } else {`` |
3353 | pro_stord_id = gitem.pick_id | 3373 | pro_stord_id = gitem.pick_id |
3354 | } | 3374 | } |
3355 | } | 3375 | } |
@@ -3370,7 +3390,7 @@ Page({ | @@ -3370,7 +3390,7 @@ Page({ | ||
3370 | if (prom && prom.limit_num) { | 3390 | if (prom && prom.limit_num) { |
3371 | let user_pre_buynum = await this.getUserBuyPromNum_pre(key) | 3391 | let user_pre_buynum = await this.getUserBuyPromNum_pre(key) |
3372 | if (user_pre_buynum < prom.limit_num) { | 3392 | if (user_pre_buynum < prom.limit_num) { |
3373 | - user_pre_buynum += checkObj3[key] | 3393 | + user_pre_buynum += checkObj3[key].length |
3374 | if (user_pre_buynum > prom.limit_num) { | 3394 | if (user_pre_buynum > prom.limit_num) { |
3375 | checkObj3_off = true | 3395 | checkObj3_off = true |
3376 | } | 3396 | } |
@@ -3381,12 +3401,38 @@ Page({ | @@ -3381,12 +3401,38 @@ Page({ | ||
3381 | } | 3401 | } |
3382 | } | 3402 | } |
3383 | } | 3403 | } |
3404 | + | ||
3384 | if (checkObj3_off) { | 3405 | if (checkObj3_off) { |
3385 | t.my_warnning("已超出优惠促销次数", 0, th); | 3406 | t.my_warnning("已超出优惠促销次数", 0, th); |
3386 | wx.hideLoading(); | 3407 | wx.hideLoading(); |
3387 | return false | 3408 | return false |
3388 | } | 3409 | } |
3389 | 3410 | ||
3411 | + let zh_off = false | ||
3412 | + //-- 如果有组合购限购的时候 -- | ||
3413 | + let zh_ck_arr = Object.keys(zh_limit_m); | ||
3414 | + if(zh_ck_arr && zh_ck_arr.length ){ | ||
3415 | + for (let xg = 0; xg < zh_ck_arr.length; xg++) { | ||
3416 | + var ky=zh_ck_arr[xg]; | ||
3417 | + var zh_buyed=zh_buyed_m[ky]?zh_buyed_m[ky]:0; | ||
3418 | + var zh_limit=zh_limit_m[ky]?zh_limit_m[ky]:0; | ||
3419 | + var zh_all=zh_all_ck[ky]?zh_all_ck[ky]:0; | ||
3420 | + if(zh_limit<=0) continue; | ||
3421 | + | ||
3422 | + if(zh_all+zh_buyed>zh_limit){ | ||
3423 | + zh_off=true; | ||
3424 | + break; | ||
3425 | + } | ||
3426 | + } | ||
3427 | + } | ||
3428 | + | ||
3429 | + if (zh_off) { | ||
3430 | + t.my_warnning("已超出组合购优惠次数", 0, th); | ||
3431 | + wx.hideLoading(); | ||
3432 | + return false | ||
3433 | + } | ||
3434 | + | ||
3435 | + | ||
3390 | if (checkArr7.length > 0) { | 3436 | if (checkArr7.length > 0) { |
3391 | let checkStr = [] | 3437 | let checkStr = [] |
3392 | checkArr7.map(item => { | 3438 | checkArr7.map(item => { |