diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 73f98b6..b4f3855 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -36,7 +36,8 @@ Page({ zhhe_prom:[], //组合活动需要显示差多少件 zuhe_map:{}, - zuhe_map_good:{} + zuhe_map_good:{}, + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 }, onLoad: function() { var a = this,ee=a; @@ -59,6 +60,8 @@ Page({ }, onShow: function() { + //每次显示都清空 + this.data.in_zhact_gdmap={}; if (typeof this.getTabBar === 'function' && this.getTabBar()) { var index=getApp().getPageIndex(this); @@ -199,6 +202,7 @@ Page({ //-----真的获取购物车-------- get_cart: function() { var th = this; + th.data.in_zhact_gdmap={}; var rd = Math.random().toString(36).substr(2, 15); var user_id=getApp().globalData.userInfo.user_id; getApp().request.get("/api/weshop/cart/list", { @@ -884,6 +888,7 @@ Page({ var offline_price=0; var offline_num=0; + th.data.in_zhact_gdmap={}; if(dda && dda.length>0){ @@ -902,7 +907,8 @@ Page({ var obj=JSON.parse(JSON.stringify(item[j])); //计算之前先移除 - zh_calc.remove_zhprom(dda,i,obj); + if(obj.prom_type==7) + zh_calc.remove_zhprom(dda,i,obj); if (fir == 0) { @@ -917,7 +923,8 @@ Page({ var txt = "requestData[" + i + "].goods[" + j + "].selected"; if(e.data.checkAllToggle) obj.goods_num=0; - zh_calc.add_zhprom(dda,i,obj); + if(obj.prom_type==7) + zh_calc.add_zhprom(dda,i,obj); e.setData({ [txt]: !e.data.checkAllToggle, @@ -1265,6 +1272,7 @@ Page({ //-- 购物车 -- if(car && car.length>0){ + th.data.in_zhact_gdmap={}; for (var a = 0; a < car.length; a++) { var item = car[a].goods, is_s_sele = 1; @@ -1300,6 +1308,7 @@ Page({ offline_num+=item[c].goods_num; } } + //总的价格,把组合商品的价格拿出来 var zh_calc_res=zh_calc.calculate_zh(car,a,th); tfeel+=zh_calc_res.tfeel; diff --git a/pages/cart/cart/zh_calculate.js b/pages/cart/cart/zh_calculate.js index baf13da..f02e370 100644 --- a/pages/cart/cart/zh_calculate.js +++ b/pages/cart/cart/zh_calculate.js @@ -130,7 +130,14 @@ module.exports = { item.cart_num =cart_num; //-- 当商品有购买的时候,以及有限购的时候 -- if(item.buyqty>0){ + + console.log(111,th.data.in_zhact_gdmap); + var cbuy=item.buyqty-zh_b_num; + var key=item.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; + } //当可买的数量为0 if(cbuy<=0){ item.num=0; @@ -158,7 +165,6 @@ module.exports = { } if (item.num) { all_num += item.num; - //当有起购数的控制的时候 if (item.zhqty) { all_zhqty += item.zhqty; @@ -189,6 +195,22 @@ module.exports = { //当满足组合的要求:总数要满足,起购数要满足 if (all_num >= act.zhbuyqty && !need_to_buy) { + //商品的列表 + for (var u in goods) { + var ite=goods[u]; + if(ite.buyqty>0 && ite.num>0){ + + console.log(222,th.data.in_zhact_gdmap); + + var key=ite.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + th.data.in_zhact_gdmap[key]+=ite.num; + }else{ + th.data.in_zhact_gdmap[key]=ite.num; + } + } + } + function sortData(a, b) { return a.price - b.price } diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 8552068..f12aeef 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -120,6 +120,10 @@ Page({ tabs: ['门店自提', '快递邮寄'], currentTabIndex: 1, + + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 + hid_inp:1, + user_note:{}, }, onLoad: function (t) { wx.setNavigationBarTitle({title: "填写订单",}) @@ -413,6 +417,7 @@ Page({ var arr = new Array(); var carr = su.data.data.pageData; th.data.cartlist_y = carr; //存储原始购物车列表 + th.data.in_zhact_gdmap={}; //---是不是购买等级卡成功的返回---等级卡显示的判断--- var is_card_back = getApp().globalData.is_card_back; @@ -651,6 +656,7 @@ Page({ } } + //每一个门店内的组合购要进行拆分, //还得把组合商品的多余商品的线下价格算一算 for (let var1 in arr) { @@ -1009,8 +1015,11 @@ Page({ }); }, keyUpChangeNum: function (t) { + var index = t.currentTarget.dataset.index; + var txt="user_note."+index; this.setData({ - maxWord: t.detail.value.length + maxWord: t.detail.value.length, + [txt]: t.detail.value }); }, @@ -3786,5 +3795,17 @@ Page({ }); }, + set_hid_inp:function (e) { + var index = e.currentTarget.dataset.index; + var txt = "cartlist[" + index + "].focus"; + this.setData({[txt]:1}) + }, + + clear_hid_inp:function (e) { + var index = e.currentTarget.dataset.index; + var txt = "cartlist[" + index + "].focus"; + this.setData({[txt]:0}) + } + }); diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml index d16b14a..f4be337 100644 --- a/pages/cart/cart2/cart2.wxml +++ b/pages/cart/cart2/cart2.wxml @@ -76,7 +76,7 @@ {{item.pname}} - + @@ -104,7 +104,6 @@ x{{items.goods_num}} - @@ -208,9 +207,14 @@ 留言 - + + + {{user_note[index]?user_note[index]:'给商家留言,最多100字'}} + diff --git a/pages/cart/cart2/cart2.wxss b/pages/cart/cart2/cart2.wxss index d8c09c8..addf4ea 100644 --- a/pages/cart/cart2/cart2.wxss +++ b/pages/cart/cart2/cart2.wxss @@ -249,7 +249,10 @@ margin:auto; */ position: relative; font-size: 24rpx; margin-left: 20rpx; - flex-grow: 1; + display: flex; + align-items: center; + height: 50rpx; + width: 500rpx; } .word-box { diff --git a/pages/cart/cart2/zh_calculate.js b/pages/cart/cart2/zh_calculate.js index 9839b8c..3b90dd4 100644 --- a/pages/cart/cart2/zh_calculate.js +++ b/pages/cart/cart2/zh_calculate.js @@ -2,7 +2,7 @@ var regeneratorRuntime = require('../../../utils/runtime.js'); module.exports = { //主要的作用,就是把组合购多余的商品进行拆分, //如果没有达成组合购的要求,所有的商品都打回原价购买 - fir_set_arr: function (c_item) { + fir_set_arr: function (c_item,th) { //组合活动,以及组合活动从表的商品 let zh_prom_goods = c_item.zh_prom_goods; let goods = c_item.goods; //一个门店中所有的商品 @@ -47,7 +47,14 @@ module.exports = { var cart_num=item.cart_num =item_j.goods_num; var zh_b_num=item_j.promgoodsbuynum; if(item.buyqty>0){ + + var key=item.goods_id+""+act.id; var cbuy=item.buyqty-zh_b_num; + if(th.data.in_zhact_gdmap[key]){ + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; + } + + //当可买的数量为0 if(cbuy<=0){ item.num=0; @@ -97,6 +104,21 @@ module.exports = { //当满足组合的要求:总数要满足,起购数要满足 if (all_num >= act.zhbuyqty && !need_to_buy) { + + //商品的列表 + for (var u in act_goos) { + var ite=act_goos[u]; + if(ite.buyqty>0 && ite.num>0){ + var key=ite.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + th.data.in_zhact_gdmap[key]+=ite.num; + }else{ + th.data.in_zhact_gdmap[key]=ite.num; + } + } + } + + function sortData(a, b) { return a.price - b.price } diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index 667969a..4c98211 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -1076,7 +1076,7 @@ page { width: 100%; height: 100%; background-position: center; - background-size: 100% 100%; + background-size:cover; background-repeat: no-repeat; } diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index e7426d4..39c1e1b 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -377,8 +377,74 @@ Page({ th.toast(content); return false; } - - //如果优惠促销和搭配购的时候 + + //当是组合优惠的时候 + if(good.prom_type==7){ + //如果有组合购 + var isok = 1; + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id; + await getApp().request.promiseGet(url, {}).then(res => { + if(res.data.code==0 && res.data.data){ + if(res.data.data.is_show!=1){ + isok=0; + } + //如果活动已经结束 + if(res.data.data.is_end==1){ + isok=0; + } + //已经结束 + if(ut.gettimestamp()>res.data.data.end_time){ + isok=0; + } + //还未开始 + if(ut.gettimestamp() { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData[0]; + good.buyqty=gdlist.buyqty; + } + }) + + var num=good['buyqty']; + console.log(1111); + console.log(num); + //---- 要计算商品的限购 ----- + if(good['buyqty']>0){ + if(good.goods_num+promgoodsbuynum>good['buyqty']){ + + var content= good['goods_name']+"超出活动限购\n"; + th.toast(content); + return false; + } + } + } + + //如果优惠促销和搭配购的时候 if((good.prom_type==3 || good.prom_type==5) && good.is_collocation!=1 && good.is_gift!=1){ var p_ok=1; await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {