diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js index ca144a0..ce71482 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js @@ -1020,35 +1020,55 @@ Page({ success: function (t) { console.log(t); if (t.data.code == 0) { + + var p_fail=0; + if (t.data.data.is_on_sale != 1) { + p_fail=1; wx.showModal({ title: '商品已经下架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); + } var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; - if (t.data.data.on_time > timestamp) { + if (t.data.data.on_time > timestamp && !p_fail) { wx.showModal({ title: '商品还未上架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } - if (t.data.data.down_time > 0) { + if (t.data.data.down_time > 0 && !p_fail) { if (t.data.data.down_time < timestamp) { wx.showModal({ title: '商品已经到期下架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } @@ -1979,193 +1999,41 @@ Page({ openSpecModal_pt: 0, }) - // if (e.prom_type == 9) { - // s.set_b_now(e); - // // var url = ''; - // var url = "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id; - // getApp().goto(url); - // } else - - // if(e.prom_type == 9){ - if (true) { - //要判断积分购的普通购买有没有参加优惠活动 - if (e.is_normal == 1) { - this.check_nor_promgood(e.goods_id, function (res) { - if (res && res.act_id) { - e.prom_type = res.prom_type; - e.prom_id = res.act_id; - } else { - e.prom_type = 0; - // e.prom_id = 0; - } - - //-- 这一步主要是要让立即购买 走 购物车的逻辑 参与活动,如果有zh_act就强制组合购购买,要计算一下组合购的总数量 -- - if(th.data.zh_act && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num{ - if (res.confirm) { - console.log('用户点击确定') - //----先看会员在购物车中是否加入了该商品,立即购买的----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - state: 1 - }, - success: function (res) { - //-------如果购物车中有相关的数据--------- - if (res.data.code == 0 && res.data.data.total > 0) { - for (let j in res.data.data.pageData) { - let item_j = res.data.data.pageData[j]; - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; - getApp().request.delete(url, {}); - } - } - e.state = 1; - e.prom_type=0; - e.prom_id=0 - getApp().request.post("/api/weshop/cart/save", { - data: e, - success: function (t) { - th.closeSpecModal(); - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); - } - }); - } - }) - } else if (res.cancel) { - - console.log('用户点击取消') - } - } - }) - }else{ - - - //----先看会员在购物车中是否加入了该商品,立即购买的----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - state: 1 - }, - success: function (res) { - //-------如果购物车中有相关的数据,先清理掉--------- - if (res.data.code == 0 && res.data.data.total > 0) { - for (let j in res.data.data.pageData) { - let item_j = res.data.data.pageData[j]; - var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id; - getApp().request.delete(url, {}); - } - } - - e.state = 1; - e.prom_type=7; - e.prom_id=th.data.zh_act.id; - getApp().request.post("/api/weshop/cart/save", { - data: e, - success: function (t) { - th.closeSpecModal(); - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); - } - }); + e.prom_type = 0; + e.prom_id = 0; + e.is_pd_normal= 1; + e.state = 1; - } - }) - } - - - return false - }else{ - //----先看会员在购物车中是否加入了该商品,立即购买的----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - state: 1 - }, - success: function (res) { - //-------如果购物车中有相关的数据--------- - if (res.data.code == 0 && res.data.data.total > 0) { - for (let j in res.data.data.pageData) { - let item_j = res.data.data.pageData[j]; - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; - getApp().request.delete(url, {}); - } - } + //----先看会员在购物车中是否加入了该商品,立即购买的----- + getApp().request.get("/api/weshop/cart/page", { - } - }) + data: { + store_id: os.stoid, + user_id: oo.user_id, + state: 1 + }, + success: function (res) { + //-------如果购物车中有相关的数据,先清理掉--------- + if (res.data.code == 0 && res.data.data.total > 0) { + for (let j in res.data.data.pageData) { + let item_j = res.data.data.pageData[j]; + var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id; + getApp().request.delete(url, {}); } + } - - if(e.prom_type==10){ - //----先看会员在购物车中是否加入了该商品,立即购买的----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: e.store_id, - user_id: oo.user_id, - state: 1 - }, - success: function (res) { - //-------如果购物车中有相关的数据,先清理掉--------- - if (res.data.code == 0 && res.data.data.total > 0) { - for (let j in res.data.data.pageData) { - let item_j = res.data.data.pageData[j]; - var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id; - getApp().request.delete(url, {}); - } - } - - e.state = 1; - getApp().request.post("/api/weshop/cart/save", { - data: e, - success: function (t) { - th.closeSpecModal(); - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); - } - }); - - } - }) - return false; + getApp().request.post("/api/weshop/cart/save", { + data: e, + success: function (t) { + th.closeSpecModal(); + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); } + }); - - - s.set_b_now(e); - /*-- - wx.redirectTo({ - url: "?is_bnow=1&goods_id=" + e.goods_id, - });--*/ - - // console.log('11111111111111111111111111======》'); - // getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&goods_id=" + e.goods_id); - //getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&group_id=" + th.data.group_id + "&goods_id=" + e.goods_id + "&alert=" + th.data.luckGoInfo.lc_alert); - - getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) - - }) - } else { - //console.log('222222222222222222222222222222======》'); - //s.set_b_now(e); - /*-- - wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, - });--*/ - //getApp().goto("/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&goods_id=" + e.goods_id) - // getApp().goto("/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&group_id=" + this.data.group_id +"&goods_id=" + e.goods_id + "&alert=" + this.data.luckGoInfo.lc_alert); } + }) - } }, //----------增加购买数量----------- diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index a17f0d3..7c75c38 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -761,34 +761,54 @@ Page({ success: function (t) { console.log(t); if (t.data.code == 0) { + + var p_fail=0; + if (t.data.data.is_on_sale != 1) { + + p_fail=1; wx.showModal({ title: '商品已经下架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; - if (t.data.data.on_time > timestamp) { + if (t.data.data.on_time > timestamp && !p_fail) { wx.showModal({ title: '商品还未上架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } - if (t.data.data.down_time > 0) { + if (t.data.data.down_time > 0 && !p_fail) { if (t.data.data.down_time < timestamp) { wx.showModal({ title: '商品已经到期下架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 64844de..d3b5772 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -877,6 +877,17 @@ Page({ }, + is_last(gid,goods,map){ + let last_id=0; + for (let i = 0; i -1){ + last_id=goods[i].goods_id; + } + } + if(gid==last_id) return true; + return false; + }, + //-- is_change是有没有切换活动的意思 -- async get_cart_next(carr,is_change,old_prom){ @@ -1222,7 +1233,28 @@ Page({ //要在多活动确定之后,在来计算 for (var jh = 0; jh < arr[k].goods.length; jh++) { - var item1 = arr[k].goods[jh] + + var item1 = arr[k].goods[jh]; + if(arr[k].show_can_cx){ + for (let key_o in arr[k].show_can_cx) { + let k_arr=key_o.split(','); + if(k_arr.indexOf(item1.goods_id+'')>-1 ){ + //-- 如果初始活动在计算的时候,是不满足的时候,就要把活动清理掉 -- + var is_no_ok=arr[k].show_can_cx[key_o].cur_act.is_no_ok; + if(is_no_ok==1){ + item1.prom_id = 0; + item1.prom_type = 0; + + //这里要判断一下活动的最后一个商品,is_act_last + if(th.is_last(item1.goods_id,arr[k].goods,arr[k].show_can_cx[key_o].ch_map)){ + item1.is_act_last=1; //这个是要在前端显示按钮切换的 + } + + } + } + } + } + //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { // th.check_is_youhui(item1.goods_id, item1.pick_id); @@ -1254,6 +1286,7 @@ Page({ //要把组合购的东西拿出来算一下,同时组合购的总数量要有存在 if (item1.prom_type == 7) { + if (!th.data.zuhe_map_good[item1.prom_id]) { var isok = 1; var is_flag = 1; @@ -1325,6 +1358,8 @@ Page({ } else { + + item1.act = th.data.zhhe_act_map[item1.prom_id]; } } @@ -1402,19 +1437,23 @@ Page({ item1.is_order_yh=1; item1.is_post_temp=1; //如果是秒杀,团购的时候,优惠促销和搭配购的时候 - if([1,2,3,5,6].indexOf(item1.prom_type)>-1){ + if([1,2,3,5,6,7].indexOf(item1.prom_type)>-1){ var url= "/api/weshop/activitylist/getSJGoodsPriceNew/" + os.stoid + "/" + item1.goods_id + "/"+item1.prom_type+"/" + item1.prom_id + "/" + app.globalData.user_id; await app.request.promiseGet(url,{}).then(res=>{ if(res.data.code==0){ console.log(res.data.data,"111"); - item1.is_order_yh=res.data.data.is_order_yh; + //组合促销有另外一个字段名is_orderyh,在控制订单促销的叠加 + if(item1.prom_type!=7){ + item1.is_order_yh=res.data.data.is_order_yh; + } + else item1.is_order_yh=0; + item1.is_post_temp=res.data.data.is_post_temp; } }) } - } @@ -1495,7 +1534,9 @@ Page({ var u_item = arr[var1]; //把组合购进行分组 var obj = zh_calc.find_split(u_item); - if (!obj) continue; + if (!obj){ + continue; + } //存储不同活动的商品列表 u_item.zh_prom_goods = {}; for (let var1 in obj) { @@ -2915,12 +2956,12 @@ Page({ o_price += item[jc].goods_price * item[jc].goods_num; //--- 秒杀, 团购的时候,判断有没有订单优惠和包邮模板的叠加 --- - if( [1,2,3,5,6].indexOf(item[jc].prom_type)>-1){ + if( [1,2,3,5,6,7].indexOf(item[jc].prom_type)>-1){ var gd_price=item[jc].goods_price; if(item[jc].account_fir) gd_price=item[jc].account_fir; - if(!item[jc].is_order_yh && !item[jc].whsle_id){ + if(!item[jc].is_order_yh && !item[jc].whsle_id && item[jc].prom_type!=7){ no_order_yh+=gd_price * item[jc].goods_num; if(item[jc].quan_num) no_order_yh-=item[jc].quan_num; //券要把他补回去 diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml index 8c52df4..8523ff9 100644 --- a/packageE/pages/cart/cart2/cart2.wxml +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -120,8 +120,10 @@ + + 0 || i_arr[j].act.zh_num>0) ) { + let userbuynum = await this.getUserBuyPromNum(i_arr[j].prom_id); if(!zh_buyed_m[i_arr[j].prom_id]) zh_buyed_m[i_arr[j].prom_id]=userbuynum; if(i_arr[j].act.buy_limit>0){ @@ -3483,7 +3487,11 @@ Page({ } console.log('活动次数:' + userbuynum); - if (userbuynum >= i_arr[j].act.buy_limit && i_arr[j].act.buy_limit>0) { + + if(userbuynum >= i_arr[j].act.zh_num && i_arr[j].act.zh_num>0){ + i_arr[j].out_all_num=1; + checkArr7.push(i_arr[j]) + }else if (userbuynum >= i_arr[j].act.buy_limit && i_arr[j].act.buy_limit>0) { // i_arr[j].act.buy_userbuynum=true checkArr7.push(i_arr[j]) }else{ @@ -3742,16 +3750,33 @@ Page({ if (checkArr7.length > 0) { - let checkStr = [] + + let checkStr = []; + let checkStr2 = []; + checkArr7.map(item => { - checkStr.push(item.goods_name) + if(item.out_all_num){ + checkStr2.push(item.goods_name); + }else{ + checkStr.push(item.goods_name) + } }) - let str = checkStr.join() + + var msg_str=''; + if(checkStr.length){ + let str = checkStr.join(); + msg_str=`${str}超出组合购限购次数,将以普通商品购买`; + } + if(checkStr2.length){ + if(msg_str) msg_str+=","; + msg_str+=checkStr2.join()+"超出组合购总数,将以普通商品购买"; + } + wx.hideLoading() wx.showModal({ title: '提示', // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`, - content: `${str}超出组合购限购次数,将以普通商品购买`, + content: msg_str, success: res => { wx.showLoading(); if (res.confirm) { diff --git a/pages/cart/cart/cart.wxss b/pages/cart/cart/cart.wxss index fee02dc..40fc41f 100644 --- a/pages/cart/cart/cart.wxss +++ b/pages/cart/cart/cart.wxss @@ -434,7 +434,7 @@ page { background-color: #d60021; /* margin:0 auto; */ color: #fff; - padding: 6rpx 20rpx; + padding: 6rpx 12rpx; } .xc-coupon-fram .xc-coupon.gray{ diff --git a/pages/cart/cart/zh_calculate.js b/pages/cart/cart/zh_calculate.js index 3c72a38..cad3ad6 100644 --- a/pages/cart/cart/zh_calculate.js +++ b/pages/cart/cart/zh_calculate.js @@ -242,7 +242,7 @@ module.exports = { //如果有总数控制的时候,看还能买几组 if(act.zh_num){ - var be1= parseInt((act.zh_num-act.zh_buy_num)/ act.zhbuyqty)-1; + var be1= parseInt(act.zh_num-act.zh_buy_num)-1; if(be1 timestamp) { + if (t.data.data.on_time > timestamp && !p_fail) { wx.showModal({ title: '商品还未上架', showCancel: !1, complete: function () { - wx.navigateBack(); + let pages = getCurrentPages(); + if (pages[pages.length - 2]) { + wx.navigateBack(); + } else { + getApp().goto('/pages/index/index/index') + } } }); } - if (t.data.data.down_time > 0) { - if (t.data.data.down_time < timestamp) { + if (t.data.data.down_time > 0 && !p_fail) { + if (t.data.data.down_time < timestamp ) { wx.showModal({ title: '商品已经到期下架', showCancel: !1, @@ -3482,7 +3497,7 @@ Page({ if (!user_id) user_id = 0; if (goodsinfo.prom_type == 1) { await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {}).then(res => { - if (res.data.code == 0) { + if (res.data.code == 0 && res.data.data) { prom = res.data.data; prom.price = prom.user_price; this.setData({ @@ -3927,7 +3942,10 @@ Page({ //------------处理门店--------------- deal_pickup(e) { var th = this; - if (!th.data.sele_g) return false + if (!th.data.sele_g){ + wx.hideLoading(); + return false + } var g_distr_type = th.data.sele_g.distr_type; wx.hideLoading(); @@ -4127,7 +4145,10 @@ Page({ deal_pickup_dline(e) { var pkno = [], th = this; - if (!th.data.sele_g) return false; + if (!th.data.sele_g){ + wx.hideLoading(); + return false; + } if (this.data.def_pick_store) { pkno.push(this.data.def_pick_store.pickup_no); @@ -4601,7 +4622,7 @@ Page({ //拿取价格并且判断时间-- getApp().request.get("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, { success: function (t) { - if (t.data.code != 0) { + if (t.data.code != 0 || !t.data.data) { ee.get_normal(gid); return false; } @@ -8120,6 +8141,9 @@ Page({ if (this.check_prom_custom(1) !== 3) { return false; } + + if(!this.data.sele_g) return false; + var per_price = this.data.sele_g.shop_price if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { per_price = this.data.sele_g[this.data.card_field];