Commit 4c07085965c7e1eae531feba60f68a2618ce9868

Authored by yvan.ni
1 parent f7c9be6a

购物车优化,商品详情页面的优化

pages/cart/cart/cart.js
@@ -3145,6 +3145,9 @@ Page({ @@ -3145,6 +3145,9 @@ Page({
3145 } 3145 }
3146 var garr = this.data.requestData; 3146 var garr = this.data.requestData;
3147 var check_is_goods_selected = 0; 3147 var check_is_goods_selected = 0;
  3148 +
  3149 + var th=this;
  3150 +
3148 if (garr) { 3151 if (garr) {
3149 for (var ii in garr) { 3152 for (var ii in garr) {
3150 for (var ij in garr[ii].goods) { 3153 for (var ij in garr[ii].goods) {
@@ -3157,17 +3160,16 @@ Page({ @@ -3157,17 +3160,16 @@ Page({
3157 } 3160 }
3158 //-- 如果是商品的结算 -- 3161 //-- 如果是商品的结算 --
3159 if (check_is_goods_selected) { 3162 if (check_is_goods_selected) {
3160 - var glist = []; //用逗号隔开的  
3161 - var map = new Map(); //使用map值键进行运算。值计算商品ID  
3162 - var map_limit = new Map(); //使用map值键进行存储限购,特定的活动的数量 3163 + var glist = []; //商品数组
  3164 + var map = new Map(); //使用map值键进行运算
  3165 +
3163 var g_arr = new Array(); //已选的商品列表 3166 var g_arr = new Array(); //已选的商品列表
3164 var user_id = getApp().globalData.user_id; 3167 var user_id = getApp().globalData.user_id;
3165 - var th = this; 3168 +
3166 //用于判断是不是积分购的普通购买 3169 //用于判断是不是积分购的普通购买
3167 var normal_arr = {}; 3170 var normal_arr = {};
3168 var ab = 0; //选中 3171 var ab = 0; //选中
3169 wx.showLoading(); 3172 wx.showLoading();
3170 -  
3171 let checkArr7 = []; //组合购选中的数据 3173 let checkArr7 = []; //组合购选中的数据
3172 let checkObj3 = {}; //优惠促销次数判断 3174 let checkObj3 = {}; //优惠促销次数判断
3173 3175
@@ -3177,12 +3179,11 @@ Page({ @@ -3177,12 +3179,11 @@ Page({
3177 3179
3178 // let checkOff=false 3180 // let checkOff=false
3179 for (var i = 0; i < this.data.requestData.length; i++) { 3181 for (var i = 0; i < this.data.requestData.length; i++) {
3180 - //-- 循环每一个活动 --  
3181 var i_arr = this.data.requestData[i].goods; 3182 var i_arr = this.data.requestData[i].goods;
3182 - for (var j = 0; j < i_arr.length; j++){ 3183 + for (var j = 0; j < i_arr.length; j++) {
3183 if (i_arr[j].selected && i_arr[j].is_gift != 1) { 3184 if (i_arr[j].selected && i_arr[j].is_gift != 1) {
3184 if (i_arr[j].is_pd_normal || i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3) { 3185 if (i_arr[j].is_pd_normal || i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3) {
3185 - normal_arr[i_arr[j].id] = 1; 3186 + normal_arr[i_arr[j].goods_id] = 1;
3186 } 3187 }
3187 3188
3188 //检查活动是不是满足了条件,或者要取满足条件的活动 3189 //检查活动是不是满足了条件,或者要取满足条件的活动
@@ -3261,7 +3262,6 @@ Page({ @@ -3261,7 +3262,6 @@ Page({
3261 prom_id: i_arr[j].prom_id, 3262 prom_id: i_arr[j].prom_id,
3262 prom_type: i_arr[j].prom_type, 3263 prom_type: i_arr[j].prom_type,
3263 }; 3264 };
3264 -  
3265 //判断是不是线下取价 3265 //判断是不是线下取价
3266 if (i_arr[j].is_offline) { 3266 if (i_arr[j].is_offline) {
3267 ie.is_offline = i_arr[j].is_offline; 3267 ie.is_offline = i_arr[j].is_offline;
@@ -3280,11 +3280,9 @@ Page({ @@ -3280,11 +3280,9 @@ Page({
3280 //glist += i_arr[j].goods_id + ","; 3280 //glist += i_arr[j].goods_id + ",";
3281 3281
3282 if(!i_arr[j].is_gift){ 3282 if(!i_arr[j].is_gift){
3283 - var et= {"prom_type":i_arr[j].prom_type,"prom_id":i_arr[j].prom_id,"goods_id":i_arr[j].goods_id};  
3284 - glist.push(et); 3283 + var et= {"prom_type":i_arr[j].prom_type,"prom_id":i_arr[j].prom_id,"goods_id":i_arr[j].goods_id};
  3284 + glist.push(et);
3285 } 3285 }
3286 -  
3287 - //判断有没有选择商品  
3288 ab = 1; 3286 ab = 1;
3289 3287
3290 //-- 获取促销活动是不是有参与 -- 3288 //-- 获取促销活动是不是有参与 --
@@ -3319,6 +3317,7 @@ Page({ @@ -3319,6 +3317,7 @@ Page({
3319 3317
3320 } 3318 }
3321 3319
  3320 +
3322 //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- 3321 //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
3323 if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || i_arr[j].prom_type == 10 || 3322 if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || i_arr[j].prom_type == 10 ||
3324 i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { 3323 i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) {
@@ -3454,9 +3453,6 @@ Page({ @@ -3454,9 +3453,6 @@ Page({
3454 } 3453 }
3455 3454
3456 3455
3457 - //glist = glist.substring(0, glist.length - 1);  
3458 - //--取一下商品的限购 以及活动的限购,redis数量-  
3459 - //-- 组合购的控制 ---  
3460 if (checkArr7.length > 0) { 3456 if (checkArr7.length > 0) {
3461 let checkStr = [] 3457 let checkStr = []
3462 checkArr7.map(item => { 3458 checkArr7.map(item => {
@@ -3492,8 +3488,10 @@ Page({ @@ -3492,8 +3488,10 @@ Page({
3492 wx.hideLoading(); 3488 wx.hideLoading();
3493 return false; 3489 return false;
3494 } 3490 }
3495 - //购买商品的下一步  
3496 - this.cart_goods_buy_next(glist,map_limit,map,g_arr) 3491 +
  3492 + //进行到下一步
  3493 + th.cart_buy_next(glist,map,g_arr,checkArr7)
  3494 +
3497 3495
3498 } else if (res.cancel) { 3496 } else if (res.cancel) {
3499 wx.hideLoading(); 3497 wx.hideLoading();
@@ -3523,12 +3521,10 @@ Page({ @@ -3523,12 +3521,10 @@ Page({
3523 return false; 3521 return false;
3524 } 3522 }
3525 3523
3526 - //购买商品的下一步  
3527 - this.cart_goods_buy_next(glist,map_limit,map,g_arr)  
3528 - }  
3529 -  
3530 - 3524 + //进行到下一步
  3525 + th.cart_buy_next(glist,map,g_arr,checkArr7)
3531 3526
  3527 + }
3532 } else { 3528 } else {
3533 3529
3534 //-- 开始服务卡的购物车购买 -- 3530 //-- 开始服务卡的购物车购买 --
@@ -3563,179 +3559,181 @@ Page({ @@ -3563,179 +3559,181 @@ Page({
3563 } 3559 }
3564 }, 3560 },
3565 3561
3566 - //map_limit 是包含活动prom_type prom_id  
3567 3562
3568 - cart_goods_buy_next(glist,map_limit,map,g_arr){  
3569 - //判断活动的限购,和readis数量 3563 + cart_buy_next(glist,map,g_arr,checkArr7){
  3564 + var th=this;
  3565 + var map_limit = new Map(); //使用map值键进行存储限购
  3566 + //--取一下商品的限购 以及活动的限购,redis数量--
3570 getApp().request.promisePost("/api/weshop/goods/listGoodsListNumNew", { 3567 getApp().request.promisePost("/api/weshop/goods/listGoodsListNumNew", {
3571 is_json:1, 3568 is_json:1,
3572 data: { 3569 data: {
3573 listNumNewDtos: glist, 3570 listNumNewDtos: glist,
3574 store_id: oo.stoid 3571 store_id: oo.stoid
3575 - },  
3576 - }).then( async ee=>{  
3577 - console.log(ee);  
3578 - if (ee.data.code == 0) {  
3579 - var ddata = ee.data.data,  
3580 - isok = 1,  
3581 - gname = "",  
3582 - err = "";  
3583 - //--组装--  
3584 - for (var ij = 0; ij < ddata.length; ij++) {  
3585 -  
3586 - var val = ddata[ij];  
3587 - var ky=val.goods_id + "-"+val.prom_type+'-'+val.prom_id;  
3588 - var obj = map_limit.get(ky);  
3589 - if (obj) continue;  
3590 -  
3591 - var promgoodsbuynum = 0;  
3592 - var goodsbuynum = 0;  
3593 -  
3594 - //--要获得商品,该用户买了多少件,同步应用--  
3595 - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {  
3596 - data: {  
3597 - store_id: oo.stoid,  
3598 - user_id: getApp().globalData.user_id,  
3599 - goods_id: val.goods_id,  
3600 - prom_type: val.prom_type,  
3601 - prom_id: val.prom_id  
3602 - },  
3603 - }).then(res => {  
3604 - var buy_num_data = res.data.data;  
3605 - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;  
3606 - goodsbuynum = buy_num_data.goodsbuynum;  
3607 - })  
3608 - var ie = {  
3609 - promgoodsbuynum: promgoodsbuynum,  
3610 - goodsbuynum: goodsbuynum  
3611 - };  
3612 - map_limit.set(ky, ie);  
3613 - }  
3614 -  
3615 - try {  
3616 - for (var ind in ddata) {  
3617 - var val = ddata[ind];  
3618 - var ky=val.goods_id + "-"+val.prom_type+'-'+val.prom_id;  
3619 -  
3620 - var num = map.get(val.goods_id+"");  
3621 - if (num <= 0) {  
3622 - isok = 0;  
3623 - gname = val.goods_name;  
3624 - throw "购买数量不能为0";  
3625 - return false;  
3626 - } 3572 + }
  3573 + }).then(async ee=>{
  3574 + if (ee.data.code == 0) {
  3575 + var ddata = ee.data.data,
  3576 + isok = 1,
  3577 + gname = "",
  3578 + err = "";
  3579 + //--组装--
  3580 + for (var ij = 0; ij < ddata.length; ij++) {
  3581 + var val = ddata[ij];
  3582 +
  3583 + var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id;
  3584 + var obj = map_limit.get(ky);
  3585 + if (obj) continue;
  3586 +
  3587 + var promgoodsbuynum = 0;
  3588 + var goodsbuynum = 0;
  3589 +
  3590 + //--要获得商品,该用户买了多少件,同步应用--
  3591 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  3592 + data: {
  3593 + store_id: oo.stoid,
  3594 + user_id:getApp().globalData.user_id,
  3595 + goods_id: val.goods_id,
  3596 + prom_type: val.prom_type,
  3597 + prom_id: val.prom_id
  3598 + },
  3599 + }).then(res => {
  3600 + var buy_num_data = res.data.data;
  3601 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  3602 + goodsbuynum = buy_num_data.goodsbuynum;
  3603 + })
  3604 + var ie = {
  3605 + promgoodsbuynum: promgoodsbuynum,
  3606 + goodsbuynum: goodsbuynum
  3607 + };
  3608 + map_limit.set(ky, ie);
  3609 + }
3627 3610
3628 - if (val.prom_type == 1 || val.prom_type == 2) {  
3629 - if (num > val.store_count) { 3611 + //try {
  3612 + for (var ind in ddata) {
  3613 + var val = ddata[ind];
  3614 + var num = map.get(val.goods_id + "");
  3615 + if (num <= 0) {
3630 isok = 0; 3616 isok = 0;
3631 gname = val.goods_name; 3617 gname = val.goods_name;
3632 - throw "超出库存"; 3618 + throw "购买数量不能为0";
3633 return false; 3619 return false;
3634 } 3620 }
3635 3621
  3622 + if (val.prom_type == 1 || val.prom_type == 2) {
  3623 + if (num > val.store_count) {
  3624 + isok = 0;
  3625 + gname = val.goods_name;
  3626 + throw "超出库存";
  3627 + return false;
  3628 + }
  3629 + }
  3630 +
  3631 + if (th.data.sales_rules == 1) {
  3632 + if (num > val.store_count) {
  3633 + isok = 0;
  3634 + gname = val.goods_name;
  3635 + err="超出库存";
  3636 + break;
  3637 + }
  3638 + }
3636 if (num > val.redisnum && val.redisnum) { 3639 if (num > val.redisnum && val.redisnum) {
3637 isok = 0; 3640 isok = 0;
3638 gname = val.goods_name; 3641 gname = val.goods_name;
3639 - throw "超出活动库存";  
3640 - return false; 3642 + err="超出活动库存";
  3643 + break;
3641 } 3644 }
3642 -  
3643 -  
3644 - }  
3645 -  
3646 - if (th.data.sales_rules == 1) {  
3647 - if (num > val.store_count) { 3645 + if (num > val.goods_num - val.buy_num && val.goods_num) {
3648 isok = 0; 3646 isok = 0;
3649 gname = val.goods_name; 3647 gname = val.goods_name;
3650 - throw "超出库存";  
3651 - return false; 3648 + err="超出活动库存";
  3649 + break;
3652 } 3650 }
3653 - }  
3654 -  
3655 - if (num > val.goods_num - val.buy_num && val.goods_num) {  
3656 - isok = 0;  
3657 - gname = val.goods_name;  
3658 - throw "超出活动库存";  
3659 - return false;  
3660 - }  
3661 3651
3662 - var buyed = map_limit.get(ky);  
3663 - if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {  
3664 - isok = 0;  
3665 - gname = val.goods_name;  
3666 - throw "超出商品限购";  
3667 - return false;  
3668 - }  
3669 -  
3670 - if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0) {  
3671 - isok = 0;  
3672 - gname = val.goods_name;  
3673 - throw "超出活动限购";  
3674 - return false;  
3675 - } 3652 + var buyed = map_limit.get(ky);
  3653 + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
  3654 + isok = 0;
  3655 + gname = val.goods_name;
  3656 + err="超出商品限购";
  3657 + break;
  3658 + }
3676 3659
3677 - var card_field = th.data.card_field;  
3678 - for (var i = 0; i < g_arr.length; i++) { 3660 + if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0) {
  3661 + isok = 0;
  3662 + gname = val.goods_name;
  3663 + err="超出活动限购";
  3664 + break;
  3665 + }
3679 3666
3680 - if (g_arr[i].goods_id == val.goods_id && g_arr[i].prom_type==val.prom_type && g_arr[i].prom_id==val.id ) { 3667 + var card_field = th.data.card_field;
  3668 + for (var i = 0; i < g_arr.length; i++) {
  3669 + if (g_arr[i].goods_id == val.goods_id) {
  3670 +
  3671 + //如果会员是等级会员,商品有等级价,且不是活动商品
  3672 + if (card_field && val[card_field] > 0 &&
  3673 + ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 3 || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) {
  3674 + if (g_arr[i].goods_price != val[card_field]) {
  3675 + isok = 0;
  3676 + gname = val.goods_name;
  3677 + err="商品价格已经变化";
  3678 + break;
  3679 + }
  3680 + } else {
  3681 + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price && val.prom_price > 0) {
  3682 + isok = 0;
  3683 + gname = val.goods_name;
  3684 + err="商品价格已经变化";
  3685 + break;
  3686 + }
  3687 + }
3681 3688
3682 - //如果会员是等级会员,商品有等级价,且不是活动商品  
3683 - if (card_field && val[card_field] > 0 &&  
3684 - ((val.prom_type == 0 && g_arr[i].prom_type == 0) || val.prom_type == 3 || val.prom_type == 5 || val.prom_type == 7 || val.prom_type == 10)) {  
3685 - if (g_arr[i].goods_price != val[card_field]) {  
3686 - isok = 0;  
3687 - gname = val.goods_name;  
3688 - throw "商品价格已经变化"; 3689 + //-- 数据的更新 --
  3690 + var data = {
  3691 + id: g_arr[i].id,
  3692 + selected: 1,
  3693 + store_id: oo.stoid,
  3694 + prom_type: g_arr[i].prom_type,
  3695 + prom_id: g_arr[i].prom_id,
  3696 + };
  3697 + let gitem = checkArr7.find(item => item.goods_id == g_arr[i].goods_id)
  3698 + if (gitem) {
  3699 + data.prom_type = 0
  3700 + data.prom_id = 0
3689 } 3701 }
3690 - } else {  
3691 - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price && val.prom_price > 0) {  
3692 - isok = 0;  
3693 - gname = val.goods_name;  
3694 - throw "商品价格已经变化"; 3702 + //-- 如果有线下取价的时候 --
  3703 + if (g_arr[i].is_offline) {
  3704 + data.pricing_type = g_arr[i].pricing_type;
  3705 + data.offline_price = g_arr[i].offline_price;
3695 } 3706 }
  3707 + rq.put("/api/weshop/cart/update", {
  3708 + data: data,
  3709 + success: function (ee) {
  3710 + console.log(ee);
  3711 + }
  3712 + });
3696 } 3713 }
  3714 + }
3697 3715
3698 - //-- 数据的更新 --  
3699 - var data = {  
3700 - id: g_arr[i].id,  
3701 - selected: 1,  
3702 - store_id: oo.stoid,  
3703 - prom_type: g_arr[i].prom_type,  
3704 - prom_id: g_arr[i].prom_id,  
3705 - }; 3716 + if(!isok) break;
3706 3717
3707 - //-- 如果有线下取价的时候 --  
3708 - if (g_arr[i].is_offline) {  
3709 - data.pricing_type = g_arr[i].pricing_type;  
3710 - data.offline_price = g_arr[i].offline_price;  
3711 - }  
3712 - rq.put("/api/weshop/cart/update", {  
3713 - data: data,  
3714 - success: function (ee) {  
3715 - console.log(ee);  
3716 - }  
3717 - });  
3718 - }  
3719 } 3718 }
3720 - 3719 + // } catch (e) {
  3720 + // err = e;
  3721 + // }
  3722 + if (isok == 0) {
  3723 + t.confirmBox(gname + ":" + err);
  3724 + wx.hideLoading();
  3725 + return false;
3721 } 3726 }
3722 - } catch (e) {  
3723 - err = e;  
3724 - }  
3725 - if (isok == 0) {  
3726 - t.confirmBox(gname + ":" + err); 3727 +
  3728 +
3727 wx.hideLoading(); 3729 wx.hideLoading();
3728 - return false; 3730 + wx.navigateTo({
  3731 + url: "/packageE/pages/cart/cart2/cart2"
  3732 + });
3729 } 3733 }
3730 - wx.hideLoading();  
3731 - wx.navigateTo({  
3732 - url: "/packageE/pages/cart/cart2/cart2"  
3733 - });  
3734 - }  
3735 }) 3734 })
3736 }, 3735 },
3737 3736
3738 -  
3739 //结算到最后一个商品 3737 //结算到最后一个商品
3740 set_last: function (ab, isok, gname) { 3738 set_last: function (ab, isok, gname) {
3741 if (isok == 0) { 3739 if (isok == 0) {
@@ -4041,7 +4039,6 @@ Page({ @@ -4041,7 +4039,6 @@ Page({
4041 }) 4039 })
4042 4040
4043 if (discount) { 4041 if (discount) {
4044 -  
4045 if (!discount.zp_num || parseInt(discount.zp_num) == 0) discount.zp_num = 1; 4042 if (!discount.zp_num || parseInt(discount.zp_num) == 0) discount.zp_num = 1;
4046 //判断一下赠品的模式 4043 //判断一下赠品的模式
4047 if (parseInt(discount.zp_mode) == 1) { 4044 if (parseInt(discount.zp_mode) == 1) {
@@ -4567,7 +4564,7 @@ Page({ @@ -4567,7 +4564,7 @@ Page({
4567 "user_id": user_id, 4564 "user_id": user_id,
4568 } 4565 }
4569 4566
4570 - //获取秒杀的多规格 4567 + //获取秒杀的多规格
4571 getApp().request.promiseGet(url, { 4568 getApp().request.promiseGet(url, {
4572 data: req_d 4569 data: req_d
4573 }).then(res => { 4570 }).then(res => {
pages/goods/goodsInfo/goodsInfo.js
@@ -2068,53 +2068,51 @@ Page({ @@ -2068,53 +2068,51 @@ Page({
2068 th.data.zh_act.zhbuyqty <= th.data.goodsInputNum && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num < th.data.zh_act.zh_num)) { 2068 th.data.zh_act.zhbuyqty <= th.data.goodsInputNum && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num < th.data.zh_act.zh_num)) {
2069 wx.hideLoading(); 2069 wx.hideLoading();
2070 2070
2071 - if ((th.data.zh_act.buy_limit != 0 && th.data.zh_act.buy_limit <= th.data.userbuynum)) {  
2072 - wx.showModal({  
2073 - title: '提示',  
2074 - // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,  
2075 - content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`,  
2076 - success: res => {  
2077 - if (res.confirm) {  
2078 - console.log('用户点击确定')  
2079 - //----先看会员在购物车中是否加入了该商品,立即购买的-----  
2080 - getApp().request.get("/api/weshop/cart/page", {  
2081 - data: {  
2082 - store_id: os.stoid,  
2083 - user_id: oo.user_id,  
2084 - state: 1  
2085 - },  
2086 - success: function (res) {  
2087 - //-------如果购物车中有相关的数据---------  
2088 - if (res.data.code == 0 && res.data.data.total > 0) {  
2089 - for (let j in res.data.data.pageData) {  
2090 - let item_j = res.data.data.pageData[j];  
2091 - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;  
2092 - getApp().request.delete(url, {});  
2093 - }  
2094 - }  
2095 - newd.state = 1;  
2096 - newd.prom_type = 0;  
2097 - newd.prom_id = 0  
2098 - getApp().request.post("/api/weshop/cart/save", {  
2099 - data: newd,  
2100 - success: function (t) {  
2101 - th.closeSpecModal();  
2102 - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");  
2103 - }  
2104 - });  
2105 - }  
2106 - })  
2107 - } else if (res.cancel) {  
2108 -  
2109 - console.log('用户点击取消')  
2110 - }  
2111 - }  
2112 - })  
2113 - } else {  
2114 -  
2115 -  
2116 - //----先看会员在购物车中是否加入了该商品,立即购买的-----  
2117 - getApp().request.get("/api/weshop/cart/page", { 2071 + // if ((th.data.zh_act.buy_limit != 0 && th.data.zh_act.buy_limit <= th.data.userbuynum)) {
  2072 + // wx.showModal({
  2073 + // title: '提示',
  2074 + // // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,
  2075 + // content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`,
  2076 + // success: res => {
  2077 + // if (res.confirm) {
  2078 + // console.log('用户点击确定')
  2079 + // //----先看会员在购物车中是否加入了该商品,立即购买的-----
  2080 + // getApp().request.get("/api/weshop/cart/page", {
  2081 + // data: {
  2082 + // store_id: os.stoid,
  2083 + // user_id: oo.user_id,
  2084 + // state: 1
  2085 + // },
  2086 + // success: function (res) {
  2087 + // //-------如果购物车中有相关的数据---------
  2088 + // if (res.data.code == 0 && res.data.data.total > 0) {
  2089 + // for (let j in res.data.data.pageData) {
  2090 + // let item_j = res.data.data.pageData[j];
  2091 + // var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
  2092 + // getApp().request.delete(url, {});
  2093 + // }
  2094 + // }
  2095 + // newd.state = 1;
  2096 + // newd.prom_type = 0;
  2097 + // newd.prom_id = 0
  2098 + // getApp().request.post("/api/weshop/cart/save", {
  2099 + // data: newd,
  2100 + // success: function (t) {
  2101 + // th.closeSpecModal();
  2102 + // getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
  2103 + // }
  2104 + // });
  2105 + // }
  2106 + // })
  2107 + // } else if (res.cancel) {
  2108 + //
  2109 + // console.log('用户点击取消')
  2110 + // }
  2111 + // }
  2112 + // })
  2113 + // } else {
  2114 + //----先看会员在购物车中是否加入了该商品,立即购买的-----
  2115 + getApp().request.get("/api/weshop/cart/page", {
2118 data: { 2116 data: {
2119 store_id: os.stoid, 2117 store_id: os.stoid,
2120 user_id: oo.user_id, 2118 user_id: oo.user_id,
@@ -2143,7 +2141,7 @@ Page({ @@ -2143,7 +2141,7 @@ Page({
2143 2141
2144 } 2142 }
2145 }) 2143 })
2146 - } 2144 + //}
2147 2145
2148 2146
2149 return false 2147 return false
utils/more_cx.js
@@ -55,11 +55,20 @@ module.exports = { @@ -55,11 +55,20 @@ module.exports = {
55 need_ck=th.data.in_zhact_new[aid]?th.data.in_zhact_new[aid]:0; 55 need_ck=th.data.in_zhact_new[aid]?th.data.in_zhact_new[aid]:0;
56 } 56 }
57 if(need_ck+act.zh_buy_num>=act.zh_num ){ 57 if(need_ck+act.zh_buy_num>=act.zh_num ){
58 - return false; 58 + if(!need_ok) {
  59 + item_act_map.is_no_ok = 1;
  60 + }else{
  61 + return false;
  62 + }
59 }else{ 63 }else{
60 min_can_buy= act.zh_num-act.zh_buy_num-need_ck; 64 min_can_buy= act.zh_num-act.zh_buy_num-need_ck;
61 } 65 }
62 } 66 }
  67 +
  68 + if(!need_ok) {
  69 + item_act_map.is_no_ok = 1;
  70 + return true;
  71 + }
63 //-- 判断组合购的限购是不是到了 -- 72 //-- 判断组合购的限购是不是到了 --
64 if(act.buy_limit>0){ 73 if(act.buy_limit>0){
65 var need_ck0=0; 74 var need_ck0=0;
@@ -67,8 +76,14 @@ module.exports = { @@ -67,8 +76,14 @@ module.exports = {
67 need_ck0=th.data.in_zhact_new[aid]?th.data.in_zhact_new[aid]:0; 76 need_ck0=th.data.in_zhact_new[aid]?th.data.in_zhact_new[aid]:0;
68 } 77 }
69 var min_can_buy0=0; 78 var min_can_buy0=0;
70 - if(need_ck+item_act_map.buyed>=act.buy_limit ){  
71 - return false; 79 + if(need_ck+item_act_map.buyed>=act.buy_limit){
  80 + if(!need_ok) {
  81 + item_act_map.is_no_ok = 1;
  82 + }else{
  83 + return false;
  84 + }
  85 +
  86 +
72 }else{ 87 }else{
73 min_can_buy0=act.buy_limit-item_act_map.buyed-need_ck; 88 min_can_buy0=act.buy_limit-item_act_map.buyed-need_ck;
74 } 89 }