diff --git a/components/promate_pop/promate_pop.js b/components/promate_pop/promate_pop.js index adfcc05..18dc40f 100644 --- a/components/promate_pop/promate_pop.js +++ b/components/promate_pop/promate_pop.js @@ -4,23 +4,35 @@ Component({ type:0, //0只显示再商品详情页面 1显示再有选择按钮 pro_pop:0, //是否弹出 cx_prom_group:[], //弹出框的内容展示 + is_cart:0 }, methods: { //-- 初始化弹出框 -- - set_init(type,cx_prom_group){ + set_init(type,cx_prom_group,is_cart){ if(!type) type=0; + if(!is_cart) is_cart=0; + var fd=cx_prom_group.findIndex(function (gh){ + return gh.sele + }) + if(fd==-1){ + cx_prom_group[0].sele=1; + } this.setData({ - type:type,pro_pop:1,cx_prom_group + type:type,pro_pop:1,cx_prom_group,is_cart:is_cart }) }, - /*----pop的开关---*/ + /*----pop的开关,如果按钮是‘确定’,就要返回参数给父层组件---*/ close_pro_pop: async function (event) { - this.setData({pro_pop: 0}); + this.setData({pro_pop: 0}); + if(!this.data.type) return false; + var idx=this.data.cx_prom_group.findIndex(function (e){ + return e.sele==1; + }) + this.triggerEvent('sure_cx_group',{sele_idx:idx},{bubbles: true}); }, - go_the_url:function (e){ var prom_id = e.currentTarget.dataset.id; var prom_type = e.currentTarget.dataset.prom_type; @@ -37,15 +49,24 @@ Component({ } break; case 7: - url="/packageB/pages/zuhegou/index/index?id=" + id + url="/packageB/pages/zuhegou/index/index?id=" + prom_id break; case 10: url="/pages/goods/goodsList/goodsList?ladder_id=" + prom_id; break; } getApp().goto(url); + }, - + //-- 选择活动 -- + sele_act:function (e){ + var index=e.currentTarget.dataset.index; + var cx_prom_group=this.data.cx_prom_group; + for (var idx=0;idx - + 促销列表 @@ -10,7 +10,6 @@ - {{p_fil.set_tab_title(item)}} @@ -23,7 +22,7 @@ {{item.title}} 消费满{{item.condition}}享优惠({{item.limit}}) - 搭配价:{{item.show_price}} + 搭配价:{{item.show_price}} {{item.show_time}} @@ -31,14 +30,30 @@ {{bm}} + + + + + + + + + Γ + + + + + 详情 + - 详情 + + 我知道了 确定 diff --git a/components/promate_pop/promate_pop.wxss b/components/promate_pop/promate_pop.wxss index b4b094b..99dc64c 100644 --- a/components/promate_pop/promate_pop.wxss +++ b/components/promate_pop/promate_pop.wxss @@ -8,6 +8,9 @@ position: fixed; bottom: 0; } +.cx-popup.cart_show{ + bottom:100rpx +} .cx-popup .top { font-size: 32rpx; @@ -201,10 +204,17 @@ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABCUExURUdwTPInDPInDPgoDfMnDPYqEvInDPInDPInDP87NPUoDv8vEvMoDPInDPIoDPMnDvInDPInDPInDPIoDPQoDfInDEON4KMAAAAVdFJOUwD45yawG4zz3gQ0DmLOfECQZpPlS54kMQ4AAAC0SURBVBjTbZFREoMgDERDS0xQQNHu/a/alEGtaIYfHrBhs0S1pujVifo40VkhC+BUHSDzQTlBhjHY8bjogXmDZ+orJKwXwMUeUoa/0PeGbH8Q4Y5CJopYOjosiOQxdpRGk1UXOkrBKdkimtN8UrKrJBVXdzsllSYSjR/0J9JaGn81WluWtonYKQ0op51P3M2L2bmZN9n8MKoVqTph/RsseyjfYxAkfgot/82CpuJVLOLSIv4Cd5AJ37BgpFwAAAAASUVORK5CYII=) no-repeat; background-size: 22rpx auto; } -.xq_btn{ + +.r_item_pro{ position: absolute; right: 18rpx; - top:52rpx; + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.xq_btn{ width: 100rpx; height: 60rpx; background-color: #e03033; @@ -220,4 +230,21 @@ } +/*选择的圆圈*/ +.xc-hook { + width: 30rpx; + height: 30rpx; + line-height: 30rpx; + text-align: center; + border: 1rpx solid #999; + display: inline-block; +} +/*选中的时候*/ +.xc-hook.on { + transform: rotate(-135deg); + background-color: #d60021; +} + + + @import '../../app.wxss'; diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 48932cb..366b29b 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -199,7 +199,13 @@ Page({ //判断组合购活动是不是满足 if(is_zh_ok){ if(!item1.more_cx) item1.more_cx=[]; - item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) + var show_time=ut.formatTime(zh_pro0.start_time)+"至"+ ut.formatTime(zh_pro0.end_time); + item1.more_cx.push({ + prom_type:7,prom_id:zh_id,gdlist:gdlist, + title: zh_pro0.name, + show_time: show_time, + id:zh_id + }) } } } @@ -214,7 +220,16 @@ Page({ //-- 如果是搭配购的时候 -- if (r_data.collocationList) { if(!item1.more_cx) item1.more_cx=[]; - item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); + + var show_price= '¥'+r_data.collocationPromList.max+'-'+ r_data.collocationPromList.min; + var show_time=ut.formatTime(r_data.collocationPromList.start_time)+"至"+ ut.formatTime(r_data.collocationPromList.end_time); + + item1.more_cx.push({ + prom_type:5,prom_id: r_data.collocationPromList.id, + title: r_data.collocationPromList.title, + show_time: show_time, + id:r_data.collocationPromList.id, + }); } //-- 如果是阶梯促销的时候 -- if (r_data.ladderLists) { @@ -224,7 +239,27 @@ Page({ if (res.data.code == 0 && res.data.data) { th.data.ladder_map[act_id] = res.data.data; if(!item1.more_cx) item1.more_cx=[]; - item1.more_cx.push({prom_type:10,prom_id: act_id}); + + var prom_content = ""; + + for (let jj in r_data.ladderLists) { + if (r_data.ladderLists[jj].discount == 10) { + prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; + } else { + prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,"; + } + } + prom_content = ut.sub_last(prom_content); + + var s_time=res.data.data.start_time; + var e_time=res.data.data.end_time; + + item1.more_cx.push({ + prom_type:10,prom_id: act_id, + title: prom_content, + show_time: ut.formatTime(s_time) + "至" + ut.formatTime(e_time), + id:act_id + }); } }) @@ -259,7 +294,33 @@ Page({ //--- 这个地方是在计算优惠促销的限购 --- if(!fir_act.limit_num || th.data.user_pre_buynum 0) more_arr.push('减价'+fir_act.money+'元'); + if (fir_act.sale > 0) more_arr.push('打'+fir_act.sale+'折'); + if (fir_act.past ==1) more_arr.push('包邮'); + if (fir_act.intValue > 0) more_arr.push('送'+fir_act.intValue+'积分'); + if (fir_act.couponId > 0) more_arr.push('送'+fir_act.couponMoney+'元优惠券'); + if (fir_act.gift_id) { + var is_more_gf=fir_act.gift_id.split(',') + if(is_more_gf.length>1){ + more_arr.push('送赠品'); + }else{ + more_arr.push('送'+fir_act.goods_name+' x'+fir_act.zp_num); + } + } + if (fir_act.lb_id) more_arr.push('送'+fir_act.lbtitle); + if (fir_act.zxlb_id) more_arr.push('送'+fir_act.zxlbtitle); + + var push_item={ + prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act, + condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'), + limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'), + more: more_arr, + id:fir_act.prom_id + }; + //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- if (is_state == 1) { //-- 按件进行计算 -- @@ -311,7 +372,6 @@ Page({ this.getTabBar().setData({ active: index //数字是当前页面在tabbar的索引 }) - getApp().requestCardNum(this); } @@ -2133,10 +2193,9 @@ Page({ } } }); - - - } + //-- 切换活动的按钮要把他返回 -- + this.data.change_act=0; } //-- 服务卡 -- @@ -3223,7 +3282,9 @@ Page({ var data = { id: g_arr[i].id, selected: 1, - store_id: oo.stoid + store_id: oo.stoid, + prom_type:g_arr[i].prom_type, + prom_id:g_arr[i].prom_id, }; let gitem = checkArr7.find(item => item.goods_id == g_arr[i].goods_id) if (gitem) { @@ -3253,6 +3314,8 @@ Page({ wx.hideLoading(); return false; } + + wx.hideLoading(); wx.navigateTo({ url: "/packageE/pages/cart/cart2/cart2" @@ -3413,7 +3476,9 @@ Page({ var data = { id: g_arr[i].id, selected: 1, - store_id: oo.stoid + store_id: oo.stoid, + prom_type:g_arr[i].prom_type, + prom_id:g_arr[i].prom_id, }; //-- 如果有线下取价的时候 -- @@ -4339,11 +4404,9 @@ Page({ //-- 判读一下促销分组的问题 -- async cart_cx_group(goods,car_item,func){ - if(car_item.change_act){ - - car_item.change_act=0; + //更改活动的时候,就不能再重新计算活动,只有再加减数量和选择商品的时候,就要重新计算活动 + if(this.data.change_act){ var show_can_cx=car_item.show_can_cx; - for(var k in show_can_cx){ var k_item=show_can_cx[k]; var ck_prom_type=null; @@ -4394,7 +4457,6 @@ Page({ } } - func(show_can_cx); } @@ -4479,6 +4541,7 @@ Page({ can_calc_cx.push(item_act_map) } break + case 7: //-- 活动列表 -- var zhact_gdlist=item_act_map.act.gdlist; @@ -4529,6 +4592,7 @@ Page({ //-- 同时相同商品数量的活动,还要看取那一个来进行计算金额。 默认的时候是按照后台的顺序。-- //-- 有选择的时候,就按照切换选择了什么就按照什么来计算 -- var show_can_cx={}; + if(can_calc_cx.length){ for(var p=0;p1){ + e.is_duo_gd=1; + } e.act_arr.push(can_calc_cx[p]); show_can_cx[ch_map.join()]=e; } @@ -4585,7 +4652,6 @@ Page({ } //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- if(!ck_prom_type) ck_prom_type=k_item.act_arr[0]; - //-- 此时要把购物车中的商品确定活动 -- for (var b=0; b-1) num++; }) return num; + }, + + //-- 开始显示活动的弹出 -- + switch_cx_group:function (e){ + var idx=e.currentTarget.dataset.index; + var gd_key=e.currentTarget.dataset.gd_key; + this.data.sele_cx_group_cidx=idx; + this.data.cx_group_gd_key=gd_key; + //-- 获取到-- + var cx_prom_group=this.data.requestData[idx].show_can_cx[gd_key].act_arr; + + var cx_arr=[]; + var find_sele=0; + for (var h=0;h + + @@ -38,7 +41,7 @@ - + @@ -54,7 +57,7 @@ - + @@ -129,7 +132,10 @@ - + 促销 @@ -148,11 +154,37 @@ + + + + + + + 促销 + + + 优惠促销 + 搭配促销 + 组合购 + 阶梯促销 + + + + + + + + + + - - + - + + 再买{{item.diff}} , @@ -168,8 +200,8 @@ 去凑单> + -