Commit 7d79bebf51f1fc9786c2a15a3efbe287d3ad45f6

Authored by yvan.ni
1 parent 78a54b8f

赠品的超量和限量不限的优化

packageE/pages/cart/cart2/cart2.js
@@ -2373,11 +2373,16 @@ Page({ @@ -2373,11 +2373,16 @@ Page({
2373 for (let iy in get_data.giftsinfo) { 2373 for (let iy in get_data.giftsinfo) {
2374 let item = get_data.giftsinfo[iy]; 2374 let item = get_data.giftsinfo[iy];
2375 2375
  2376 + var c_zp=0;
2376 if(parseInt(item.limit_num)>0){ 2377 if(parseInt(item.limit_num)>0){
2377 - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); 2378 + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount);
2378 }else{ 2379 }else{
2379 - can_zp_num += parseInt(item.gift_storecount); 2380 + c_zp= parseInt(item.gift_storecount);
2380 } 2381 }
  2382 +
  2383 + if(c_zp<0) c_zp=0;
  2384 + can_zp_num +=c_zp;
  2385 +
2381 } 2386 }
2382 2387
2383 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);
@@ -7286,7 +7291,7 @@ Page({ @@ -7286,7 +7291,7 @@ Page({
7286 return false; 7291 return false;
7287 } 7292 }
7288 //-- 限购一定要大于0,否则就是不限的意思 -- 7293 //-- 限购一定要大于0,否则就是不限的意思 --
7289 - if (discount.limit_num>0 && discount.limit_num < all_limit_num) { 7294 + if (discount.limit_num>0 && discount.can_num < all_limit_num) {
7290 wx.showToast({ 7295 wx.showToast({
7291 title: "超出赠品限购", 7296 title: "超出赠品限购",
7292 icon: 'none', 7297 icon: 'none',
@@ -7309,12 +7314,17 @@ Page({ @@ -7309,12 +7314,17 @@ Page({
7309 var all_num = 0; 7314 var all_num = 0;
7310 for (let i in giftsinfo) { 7315 for (let i in giftsinfo) {
7311 let item = giftsinfo[i]; 7316 let item = giftsinfo[i];
7312 - if (!item.selected) continue;  
7313 -  
7314 - if(item.must_num>0 && item.goods_num<item.must_num){ 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){
7315 ut.m_toast("活动赠品的超量数量不足"); 7323 ut.m_toast("活动赠品的超量数量不足");
7316 return false; 7324 return false;
  7325 + }
7317 } 7326 }
  7327 + if (!item.selected) continue;
7318 all_num += item.goods_num; 7328 all_num += item.goods_num;
7319 } 7329 }
7320 if (all_num > zp_num) { 7330 if (all_num > zp_num) {
@@ -7515,14 +7525,18 @@ Page({ @@ -7515,14 +7525,18 @@ Page({
7515 var gf_pr_name = item_arr[ip].gf_pr_name; 7525 var gf_pr_name = item_arr[ip].gf_pr_name;
7516 var zp_num = item_arr[ip].zp_num; 7526 var zp_num = item_arr[ip].zp_num;
7517 var giftsinfo = item_arr[ip].giftsinfo; 7527 var giftsinfo = item_arr[ip].giftsinfo;
  7528 +
7518 var limit_all = 0; 7529 var limit_all = 0;
7519 var stock_all = 0; 7530 var stock_all = 0;
  7531 + var no_limit=0;
  7532 +
7520 for (let iu in giftsinfo) { 7533 for (let iu in giftsinfo) {
7521 let gf_item = giftsinfo[iu]; 7534 let gf_item = giftsinfo[iu];
7522 - limit_all += gf_item.limit_num; 7535 + limit_all += gf_item.can_num>0?gf_item.can_num:0;
7523 stock_all += gf_item.gift_storecount; 7536 stock_all += gf_item.gift_storecount;
  7537 + if(gf_item.limit_num<=0) no_limit=1;
7524 } 7538 }
7525 - if (limit_all < zp_num) { 7539 + if (!no_limit && limit_all < zp_num) {
7526 error_arr.push(gf_pr_name + "限购不足"); 7540 error_arr.push(gf_pr_name + "限购不足");
7527 } 7541 }
7528 if (stock_all < zp_num) { 7542 if (stock_all < zp_num) {
packageE/pages/cart/cart2/cart2.wxml
@@ -1066,7 +1066,7 @@ @@ -1066,7 +1066,7 @@
1066 {{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>
1067 <view wx:else>规格1</view> 1067 <view wx:else>规格1</view>
1068 </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> 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> 1070 <text class="c-red" wx:elif="{{items.must_num>0}}">必选{{items.must_num}}件</text>
1071 1071
1072 </view> 1072 </view>
pages/cart/cart/cart.js
@@ -4154,11 +4154,14 @@ Page({ @@ -4154,11 +4154,14 @@ Page({
4154 for (let iy in discount.giftsinfo) { 4154 for (let iy in discount.giftsinfo) {
4155 let item = discount.giftsinfo[iy]; 4155 let item = discount.giftsinfo[iy];
4156 4156
  4157 + var c_zp=0;
4157 if(parseInt(item.limit_num)>0){ 4158 if(parseInt(item.limit_num)>0){
4158 - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); 4159 + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount);
4159 }else{ 4160 }else{
4160 - can_zp_num += parseInt(item.gift_storecount); 4161 + c_zp= parseInt(item.gift_storecount);
4161 } 4162 }
  4163 + if(c_zp<0) c_zp=0;
  4164 + can_zp_num +=c_zp;
4162 } 4165 }
4163 4166
4164 var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); 4167 var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs);
@@ -4480,7 +4483,14 @@ Page({ @@ -4480,7 +4483,14 @@ Page({
4480 var a_limit_num = 0; 4483 var a_limit_num = 0;
4481 for (let iy in discount.giftsinfo) { 4484 for (let iy in discount.giftsinfo) {
4482 let item = discount.giftsinfo[iy]; 4485 let item = discount.giftsinfo[iy];
4483 - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); 4486 + var c_zp=0;
  4487 + if(parseInt(item.limit_num)>0) {
  4488 + c_zp= parseInt(item.gift_storecount) > parseInt(item.can_num) ? parseInt(item.can_num) : parseInt(item.gift_storecount);
  4489 + }else{
  4490 + c_zp= parseInt(item.gift_storecount)
  4491 + }
  4492 + if(c_zp<0) c_zp=0;
  4493 + can_zp_num +=c_zp;
4484 } 4494 }
4485 4495
4486 var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs); 4496 var t_zp_num = parseInt(discount.zp_num) * parseInt(discount.bs);