Commit e2015e88c3fb95c9d11dbb0e15ad21b7c843f413
1 parent
fc8fd8a5
优惠促销多活动的后台优化
Showing
8 changed files
with
621 additions
and
55 deletions
packageE/pages/cart/cart2/cart2.js
| @@ -678,10 +678,9 @@ Page({ | @@ -678,10 +678,9 @@ Page({ | ||
| 678 | }, | 678 | }, |
| 679 | 679 | ||
| 680 | 680 | ||
| 681 | - //获取促销活动的组合 | ||
| 682 | - cx_prom_group(prom_list){ | 681 | + //-- 获取促销活动的组合 -- |
| 682 | + cx_prom_group(prom_list,item1){ | ||
| 683 | var th=this; | 683 | var th=this; |
| 684 | - | ||
| 685 | //需要读者系统顺序 | 684 | //需要读者系统顺序 |
| 686 | var json_d =this.data.json_d; | 685 | var json_d =this.data.json_d; |
| 687 | var auto_promote_sale=json_d.auto_promote_sale; | 686 | var auto_promote_sale=json_d.auto_promote_sale; |
| @@ -691,10 +690,13 @@ Page({ | @@ -691,10 +690,13 @@ Page({ | ||
| 691 | sort_type='prom_type'; | 690 | sort_type='prom_type'; |
| 692 | }else{ | 691 | }else{ |
| 693 | var auto_promote_sale=auto_promote_sale.split(','); | 692 | var auto_promote_sale=auto_promote_sale.split(','); |
| 694 | - //-- 循环处理 -- | 693 | + //--- 循环处理 --- |
| 695 | prom_list.map(function (e){ | 694 | prom_list.map(function (e){ |
| 696 | var fd=auto_promote_sale.indexOf(e.prom_type+''); | 695 | var fd=auto_promote_sale.indexOf(e.prom_type+''); |
| 697 | e.sort=fd; | 696 | e.sort=fd; |
| 697 | + if(e.prom_type==item1.prom_type){ | ||
| 698 | + e.sele=1; | ||
| 699 | + } | ||
| 698 | }) | 700 | }) |
| 699 | sort_type='sort'; | 701 | sort_type='sort'; |
| 700 | } | 702 | } |
| @@ -703,7 +705,6 @@ Page({ | @@ -703,7 +705,6 @@ Page({ | ||
| 703 | function comp(a, b) { | 705 | function comp(a, b) { |
| 704 | return a[sort_type]-b[sort_type]; //升序 | 706 | return a[sort_type]-b[sort_type]; //升序 |
| 705 | } | 707 | } |
| 706 | - | ||
| 707 | //使用sort排序 | 708 | //使用sort排序 |
| 708 | prom_list.sort(comp); | 709 | prom_list.sort(comp); |
| 709 | }, | 710 | }, |
| @@ -750,25 +751,10 @@ Page({ | @@ -750,25 +751,10 @@ Page({ | ||
| 750 | //-- 判断组合购是总数量是不是存在 -- | 751 | //-- 判断组合购是总数量是不是存在 -- |
| 751 | var no_zh_num={}; | 752 | var no_zh_num={}; |
| 752 | 753 | ||
| 753 | - //-------- 如果是立即购买过来的时候 或者购买的商品只有一种的时候 --- | ||
| 754 | - if(carr.length==1){ | ||
| 755 | - var item1=carr[0]; | ||
| 756 | - await th.buy_pro_group(item1,1); | ||
| 757 | - | ||
| 758 | - if(item1.more_cx){ | ||
| 759 | - //-- 对活动进行排序 -- | ||
| 760 | - th.cx_prom_group(item1.more_cx); | ||
| 761 | - } | ||
| 762 | - | ||
| 763 | - if(item1.prom_type==0){ | ||
| 764 | - item1.prom_type=item1.more_cx[0].prom_type; | ||
| 765 | - item1.prom_type=item1.more_cx[0].prom_id; | ||
| 766 | - } | ||
| 767 | - } | ||
| 768 | - | ||
| 769 | - | ||
| 770 | for (var i = 0; i < carr.length; i++) { | 754 | for (var i = 0; i < carr.length; i++) { |
| 771 | var item1 = carr[i]; | 755 | var item1 = carr[i]; |
| 756 | + //-- 获取一下商品的所有活动 -- | ||
| 757 | + await th.buy_pro_group(item1); | ||
| 772 | //把已经购买了多少见的内容填入 | 758 | //把已经购买了多少见的内容填入 |
| 773 | var goodsbuynum = 0, promgoodsbuynum = 0; | 759 | var goodsbuynum = 0, promgoodsbuynum = 0; |
| 774 | //--要获得商品,该用户买了多少件,同步应用-- | 760 | //--要获得商品,该用户买了多少件,同步应用-- |
| @@ -1153,6 +1139,13 @@ Page({ | @@ -1153,6 +1139,13 @@ Page({ | ||
| 1153 | //-- 循环计算一下线下取价 -- | 1139 | //-- 循环计算一下线下取价 -- |
| 1154 | for (var k = 0; k < arr.length; k++) { | 1140 | for (var k = 0; k < arr.length; k++) { |
| 1155 | var c_item = arr[k]; | 1141 | var c_item = arr[k]; |
| 1142 | + | ||
| 1143 | + //-- 要进行归类一下活动 -- | ||
| 1144 | + await th.cart_cx_group(arr[k].goods,c_item,(show_can_cx)=>{ | ||
| 1145 | + arr[k].show_can_cx=show_can_cx; | ||
| 1146 | + }) | ||
| 1147 | + | ||
| 1148 | + | ||
| 1156 | var item = arr[k].goods; | 1149 | var item = arr[k].goods; |
| 1157 | var offline_price = 0; | 1150 | var offline_price = 0; |
| 1158 | var offline_num = 0; | 1151 | var offline_num = 0; |
| @@ -1201,8 +1194,7 @@ Page({ | @@ -1201,8 +1194,7 @@ Page({ | ||
| 1201 | await getApp().request.promisePost("/api/weshop/order/getrebateSum", { | 1194 | await getApp().request.promisePost("/api/weshop/order/getrebateSum", { |
| 1202 | is_json: 1, data: req_d | 1195 | is_json: 1, data: req_d |
| 1203 | }).then(rs => { | 1196 | }).then(rs => { |
| 1204 | - | ||
| 1205 | - if (rs.data.code == 0) back_data = rs.data.data; | 1197 | + if (rs.data.code == 0) back_data = rs.data.data; |
| 1206 | }); | 1198 | }); |
| 1207 | 1199 | ||
| 1208 | if (back_data && parseFloat(back_data)) { | 1200 | if (back_data && parseFloat(back_data)) { |
| @@ -1876,7 +1868,7 @@ Page({ | @@ -1876,7 +1868,7 @@ Page({ | ||
| 1876 | if (is_zh_ok) { | 1868 | if (is_zh_ok) { |
| 1877 | 1869 | ||
| 1878 | //-- 组合的数组填充一下 -- | 1870 | //-- 组合的数组填充一下 -- |
| 1879 | - th.data.zuhe_map[zh_pro0.id] = zh_pro0; | 1871 | + th.data.zhhe_act_map[zh_pro0.id] = zh_pro0; |
| 1880 | 1872 | ||
| 1881 | var url1 = "/api/weshop/prom/zhbuyGoods/page"; | 1873 | var url1 = "/api/weshop/prom/zhbuyGoods/page"; |
| 1882 | var req_data = { | 1874 | var req_data = { |
| @@ -2071,13 +2063,13 @@ Page({ | @@ -2071,13 +2063,13 @@ Page({ | ||
| 2071 | if (is_state == 1) { | 2063 | if (is_state == 1) { |
| 2072 | //-- 按件进行计算 -- | 2064 | //-- 按件进行计算 -- |
| 2073 | if (fir_act.prom_type == 1) { | 2065 | if (fir_act.prom_type == 1) { |
| 2074 | - if (fir_act.condition > item1.goods_num) { | 2066 | + if (fir_act.condition <= item1.goods_num) { |
| 2075 | item1.more_cx.push(push_item); | 2067 | item1.more_cx.push(push_item); |
| 2076 | } | 2068 | } |
| 2077 | }else{ | 2069 | }else{ |
| 2078 | //-- 按数量进行计算 -- | 2070 | //-- 按数量进行计算 -- |
| 2079 | var all_price = item1.goods_price * item1.goods_num; | 2071 | var all_price = item1.goods_price * item1.goods_num; |
| 2080 | - if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | 2072 | + if (parseFloat(fir_act.condition) <= parseFloat(parseFloat(all_price).toFixed(2))) { |
| 2081 | item1.more_cx.push(push_item); | 2073 | item1.more_cx.push(push_item); |
| 2082 | } | 2074 | } |
| 2083 | } | 2075 | } |
| @@ -7349,6 +7341,355 @@ Page({ | @@ -7349,6 +7341,355 @@ Page({ | ||
| 7349 | } | 7341 | } |
| 7350 | } | 7342 | } |
| 7351 | return false; | 7343 | return false; |
| 7344 | + }, | ||
| 7345 | + | ||
| 7346 | + | ||
| 7347 | + //-- 判读一下促销分组的问题 -- | ||
| 7348 | + async cart_cx_group(goods,car_item,func){ | ||
| 7349 | + | ||
| 7350 | + //更改活动的时候,就不能再重新计算活动,只有再加减数量和选择商品的时候,就要重新计算活动 | ||
| 7351 | + if(this.data.change_act){ | ||
| 7352 | + var show_can_cx=car_item.show_can_cx; | ||
| 7353 | + for(var k in show_can_cx){ | ||
| 7354 | + var k_item=show_can_cx[k]; | ||
| 7355 | + var ck_prom_type=null; | ||
| 7356 | + //-- 如果是多活动,先把活动按照后台的顺序排序一下, | ||
| 7357 | + //-- 同时确定一下商品最终要用什么活动来购买计算。 --就是要进行切换 -- | ||
| 7358 | + if(k_item.act_arr.length>1){ | ||
| 7359 | + var json_d =this.data.json_d; | ||
| 7360 | + var auto_promote_sale=json_d.auto_promote_sale; | ||
| 7361 | + var sort_type=''; | ||
| 7362 | + | ||
| 7363 | + if(!auto_promote_sale){ | ||
| 7364 | + sort_type='prom_type'; | ||
| 7365 | + }else{ | ||
| 7366 | + var auto_promote_sale=auto_promote_sale.split(','); | ||
| 7367 | + //-- 循环处理 -- | ||
| 7368 | + k_item.act_arr.map(function (e){ | ||
| 7369 | + var fd=auto_promote_sale.indexOf(e.prom_type+''); | ||
| 7370 | + e.sort=fd; | ||
| 7371 | + }) | ||
| 7372 | + sort_type='sort'; | ||
| 7373 | + } | ||
| 7374 | + //-- 排序一下,进行升序 -- | ||
| 7375 | + function comp(a, b) { | ||
| 7376 | + return a[sort_type]-b[sort_type]; //升序 | ||
| 7377 | + } | ||
| 7378 | + //活动要排序一下 | ||
| 7379 | + k_item.act_arr.sort(comp); | ||
| 7380 | + | ||
| 7381 | + //确定一下活动,先看一下有没有选择的活动 | ||
| 7382 | + ck_prom_type=k_item.act_arr.find(function (el){ | ||
| 7383 | + return el.sele; | ||
| 7384 | + }) | ||
| 7385 | + | ||
| 7386 | + } | ||
| 7387 | + //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- | ||
| 7388 | + if(!ck_prom_type) ck_prom_type=k_item.act_arr[0]; | ||
| 7389 | + | ||
| 7390 | + //-- 此时要把购物车中的商品确定活动 -- | ||
| 7391 | + for (var b=0; b<ck_prom_type.goods.length;b++){ | ||
| 7392 | + //-- 开始查找 -- | ||
| 7393 | + var fg=goods.findIndex(function (g_item){ | ||
| 7394 | + return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1; | ||
| 7395 | + }) | ||
| 7396 | + if(fg>-1){ | ||
| 7397 | + goods[fg].prom_type=ck_prom_type.prom_type; | ||
| 7398 | + goods[fg].prom_id=ck_prom_type.prom_id; | ||
| 7399 | + } | ||
| 7400 | + } | ||
| 7401 | + | ||
| 7402 | + } | ||
| 7403 | + func(show_can_cx); | ||
| 7404 | + return false; | ||
| 7405 | + } | ||
| 7406 | + | ||
| 7407 | + var th=this; | ||
| 7408 | + //-- 促销活动对象表,最初的map表,包含活动类型,活动id,goods商品 --- | ||
| 7409 | + var cx_act_map=[]; | ||
| 7410 | + for(var i=0; i<goods.length;i++){ | ||
| 7411 | + var c_item=goods[i]; | ||
| 7412 | + //没有选中 | ||
| 7413 | + if(!c_item.selected) continue; | ||
| 7414 | + //如果是秒杀之类是商品 | ||
| 7415 | + if([1,2,4,6,8,9].indexOf(c_item.prom_type)>-1) continue; | ||
| 7416 | + | ||
| 7417 | + //-- 把活动进行规整 -- | ||
| 7418 | + var more_cx=c_item.more_cx; | ||
| 7419 | + for (var j=0;j<more_cx.length;j++){ | ||
| 7420 | + var n_item=more_cx[j]; | ||
| 7421 | + var key=n_item.prom_type+'-'+n_item.prom_id; | ||
| 7422 | + var fd=cx_act_map.find(function (e){ | ||
| 7423 | + return e.key==key; | ||
| 7424 | + }) | ||
| 7425 | + if(fd){ | ||
| 7426 | + fd.goods.push(c_item); | ||
| 7427 | + }else{ | ||
| 7428 | + var p_item={key:key,prom_type:n_item.prom_type,prom_id:n_item.prom_id,goods:[],act:n_item}; | ||
| 7429 | + p_item.goods.push(c_item); | ||
| 7430 | + cx_act_map.push(p_item); | ||
| 7431 | + } | ||
| 7432 | + } | ||
| 7433 | + goods[i].prom_type=0; | ||
| 7434 | + goods[i].prom_id=0; | ||
| 7435 | + } | ||
| 7436 | + //-- 如果活动数量大于1个,那么活动就要排序一下,有商品种类数最多排再前面,降序进行排列 -- | ||
| 7437 | + if(cx_act_map.length>1){ | ||
| 7438 | + //门店分类要排序下 | ||
| 7439 | + function compare(a, b) { | ||
| 7440 | + var value1 = a.goods.length; | ||
| 7441 | + var value2 = b.goods.length; | ||
| 7442 | + return value2 - value1; | ||
| 7443 | + } | ||
| 7444 | + cx_act_map.sort(compare); | ||
| 7445 | + } | ||
| 7446 | + //-- 能够进行最后计算的活动(包含切换) -- | ||
| 7447 | + var can_calc_cx=[]; | ||
| 7448 | + //-- 此时对数组的活动进行判断,看能不能达到购买数量的条件 -- | ||
| 7449 | + for(var ii=0;ii<cx_act_map.length;ii++){ | ||
| 7450 | + | ||
| 7451 | + var item_act_map=cx_act_map[ii]; | ||
| 7452 | + //如果活动有交集的时候,商品数量一样多(不是完全相同时,就是参与的商品有交集),就按照后台确定的活动顺序 | ||
| 7453 | + //如果活动商品数量少的和 活动数量多的 有交集,那么数量少的不显示,也不计算 | ||
| 7454 | + //如果活动的商品一样(那就是多活动切换),优先计算的活动按照后台确定的活动顺序 | ||
| 7455 | + if(!th.check_ok_cx_pro(item_act_map,can_calc_cx)){ | ||
| 7456 | + continue; | ||
| 7457 | + } | ||
| 7458 | + switch(item_act_map.prom_type){ | ||
| 7459 | + case 3: | ||
| 7460 | + var fir_act=item_act_map.act.fir_act; | ||
| 7461 | + var t_goods=item_act_map.goods; | ||
| 7462 | + var all_num=0; | ||
| 7463 | + var all_pri=0; | ||
| 7464 | + for(var f=0;f<t_goods.length;f++){ | ||
| 7465 | + all_num+=t_goods[f].goods_num; | ||
| 7466 | + all_pri+=t_goods[f].goods_num*t_goods[f].goods_price; | ||
| 7467 | + } | ||
| 7468 | + | ||
| 7469 | + var yh_ok=1; | ||
| 7470 | + switch (fir_act.prom_type){ | ||
| 7471 | + case 0: | ||
| 7472 | + if(all_pri<fir_act.condition) { | ||
| 7473 | + yh_ok=0; | ||
| 7474 | + } | ||
| 7475 | + break; | ||
| 7476 | + case 1: | ||
| 7477 | + if(all_num<fir_act.condition) { | ||
| 7478 | + yh_ok=0; | ||
| 7479 | + } | ||
| 7480 | + break; | ||
| 7481 | + } | ||
| 7482 | + | ||
| 7483 | + //-- 如果有满足优惠条件的时候 -- | ||
| 7484 | + if(yh_ok){ | ||
| 7485 | + can_calc_cx.push(item_act_map) | ||
| 7486 | + } | ||
| 7487 | + break | ||
| 7488 | + | ||
| 7489 | + case 7: | ||
| 7490 | + //-- 活动列表 -- | ||
| 7491 | + var zhact_gdlist=item_act_map.act.gdlist; | ||
| 7492 | + var zh_goods=item_act_map.goods; | ||
| 7493 | + | ||
| 7494 | + //--- 要循环计算一下商品的已购数量 --- | ||
| 7495 | + for(var h=0;h<zh_goods.length;h++){ | ||
| 7496 | + //-- 商品的限购 -- | ||
| 7497 | + var promgoodsbuynum = 0; | ||
| 7498 | + var res=await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
| 7499 | + data: { | ||
| 7500 | + store_id: os.stoid, | ||
| 7501 | + user_id: getApp().globalData.user_id, | ||
| 7502 | + goods_id: zh_goods[h].goods_id, | ||
| 7503 | + prom_type: 7, | ||
| 7504 | + prom_id: item_act_map.prom_id | ||
| 7505 | + }, | ||
| 7506 | + }) | ||
| 7507 | + if(res.data.code==0 && res.data.data && res.data.data.promgoodsbuynum){ | ||
| 7508 | + promgoodsbuynum = res.data.data.promgoodsbuynum; | ||
| 7509 | + } | ||
| 7510 | + zh_goods[h].zh_b_num=promgoodsbuynum; | ||
| 7511 | + } | ||
| 7512 | + //-- 放到map中 -- | ||
| 7513 | + th.data.zuhe_map_good[item_act_map.prom_id] = zhact_gdlist; | ||
| 7514 | + if(!car_item.zh_prom_goods) car_item.zh_prom_goods={}; | ||
| 7515 | + car_item.zh_prom_goods[item_act_map.prom_id] = zhact_gdlist; | ||
| 7516 | + | ||
| 7517 | + var zh_pro0 = null; | ||
| 7518 | + //-- 获取活动信息 -- | ||
| 7519 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item_act_map.prom_id + "/" + getApp().globalData.user_id; | ||
| 7520 | + await getApp().request.promiseGet(url, {}).then(rh => { | ||
| 7521 | + zh_pro0 = rh.data.data; | ||
| 7522 | + }) | ||
| 7523 | + if(!zh_pro0) break; | ||
| 7524 | + //当满足组合的要求:总数要满足,起购数要满足 | ||
| 7525 | + if(zh_calc.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th)){ | ||
| 7526 | + can_calc_cx.push(item_act_map) | ||
| 7527 | + } | ||
| 7528 | + break; | ||
| 7529 | + default: | ||
| 7530 | + can_calc_cx.push(item_act_map); | ||
| 7531 | + } | ||
| 7532 | + | ||
| 7533 | + } | ||
| 7534 | + | ||
| 7535 | + //-- 此时来给满足条件的活动进行分组~~相同参与商品和数量的归纳再一起, -- | ||
| 7536 | + //-- 同时相同商品数量的活动,还要看取那一个来进行计算金额。 默认的时候是按照后台的顺序。-- | ||
| 7537 | + //-- 有选择的时候,就按照切换选择了什么就按照什么来计算 -- | ||
| 7538 | + var show_can_cx={}; | ||
| 7539 | + | ||
| 7540 | + if(can_calc_cx.length){ | ||
| 7541 | + for(var p=0;p<can_calc_cx.length;p++){ | ||
| 7542 | + var ch_map=[]; | ||
| 7543 | + can_calc_cx[p].goods.map(function (gd){ | ||
| 7544 | + ch_map.push(gd.goods_id); | ||
| 7545 | + }) | ||
| 7546 | + ch_map.sort(); | ||
| 7547 | + //-- 先找一下,有没有参与的商品一模一样的 -- | ||
| 7548 | + var fd=show_can_cx[ch_map.join()]; | ||
| 7549 | + if(fd){ | ||
| 7550 | + //-- 把数组添加进去 --ch_map | ||
| 7551 | + fd.act_arr.push(can_calc_cx[p]) | ||
| 7552 | + }else{ | ||
| 7553 | + var e={ch_map:ch_map,act_arr:[]}; | ||
| 7554 | + if(ch_map.length>1){ | ||
| 7555 | + e.is_duo_gd=1; | ||
| 7556 | + } | ||
| 7557 | + e.act_arr.push(can_calc_cx[p]); | ||
| 7558 | + show_can_cx[ch_map.join()]=e; | ||
| 7559 | + } | ||
| 7560 | + } | ||
| 7561 | + } | ||
| 7562 | + | ||
| 7563 | + for(var k in show_can_cx){ | ||
| 7564 | + var k_item=show_can_cx[k]; | ||
| 7565 | + var ck_prom_type=null; | ||
| 7566 | + //-- 如果是多活动,先把活动按照后台的顺序排序一下, | ||
| 7567 | + //-- 同时确定一下商品最终要用什么活动来购买计算。 --就是要进行切换 -- | ||
| 7568 | + if(k_item.act_arr.length>1){ | ||
| 7569 | + var json_d =this.data.json_d; | ||
| 7570 | + var auto_promote_sale=json_d.auto_promote_sale; | ||
| 7571 | + var sort_type=''; | ||
| 7572 | + | ||
| 7573 | + if(!auto_promote_sale){ | ||
| 7574 | + sort_type='prom_type'; | ||
| 7575 | + }else{ | ||
| 7576 | + var auto_promote_sale=auto_promote_sale.split(','); | ||
| 7577 | + //-- 循环处理 -- | ||
| 7578 | + k_item.act_arr.map(function (e){ | ||
| 7579 | + var fd=auto_promote_sale.indexOf(e.prom_type+''); | ||
| 7580 | + e.sort=fd; | ||
| 7581 | + }) | ||
| 7582 | + sort_type='sort'; | ||
| 7583 | + } | ||
| 7584 | + //-- 排序一下,进行升序 -- | ||
| 7585 | + function comp(a, b) { | ||
| 7586 | + return a[sort_type]-b[sort_type]; //升序 | ||
| 7587 | + } | ||
| 7588 | + //活动要排序一下 | ||
| 7589 | + k_item.act_arr.sort(comp); | ||
| 7590 | + | ||
| 7591 | + //确定一下活动,先看一下有没有选择的活动 | ||
| 7592 | + ck_prom_type=k_item.act_arr.find(function (el){ | ||
| 7593 | + return el.sele; | ||
| 7594 | + }) | ||
| 7595 | + | ||
| 7596 | + } | ||
| 7597 | + //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- | ||
| 7598 | + if(!ck_prom_type) ck_prom_type=k_item.act_arr[0]; | ||
| 7599 | + //-- 此时要把购物车中的商品确定活动 -- | ||
| 7600 | + for (var b=0; b<ck_prom_type.goods.length;b++){ | ||
| 7601 | + //-- 开始查找 -- | ||
| 7602 | + var fg=goods.findIndex(function (g_item){ | ||
| 7603 | + return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1; | ||
| 7604 | + }) | ||
| 7605 | + if(fg>-1){ | ||
| 7606 | + goods[fg].prom_type=ck_prom_type.prom_type; | ||
| 7607 | + goods[fg].prom_id=ck_prom_type.prom_id; | ||
| 7608 | + } | ||
| 7609 | + } | ||
| 7610 | + } | ||
| 7611 | + | ||
| 7612 | + //-- 显示到前端,并切换 -- | ||
| 7613 | + //th.setData({show_can_cx}) | ||
| 7614 | + //--- 调用回调函数 --- | ||
| 7615 | + func(show_can_cx); | ||
| 7616 | + }, | ||
| 7617 | + //-- 查看活动参与的商品是不是有重复交集的地方,是不是一样的商品数量,can_calc_cx这个数组也是按照商品的数量降序排列的-- | ||
| 7618 | + check_ok_cx_pro(item_act_map,can_calc_cx){ | ||
| 7619 | + //-- 加入第一个,返回真 -- | ||
| 7620 | + if(!can_calc_cx.length) return true; | ||
| 7621 | + var th_goods=item_act_map.goods; | ||
| 7622 | + for(var i=0;i<can_calc_cx.length;i++){ | ||
| 7623 | + var can_goods=can_calc_cx[i].goods; | ||
| 7624 | + //计算一下有交集的数量,没有交集,OK | ||
| 7625 | + var num=this.hasJiao(can_goods,th_goods); | ||
| 7626 | + if(!num) continue; | ||
| 7627 | + //计算一下俩个shu | ||
| 7628 | + if(can_goods.length==th_goods.length && can_goods.length==num){ | ||
| 7629 | + return true; | ||
| 7630 | + } | ||
| 7631 | + if(can_goods.length>th_goods.length){ | ||
| 7632 | + return false; | ||
| 7633 | + } | ||
| 7634 | + } | ||
| 7635 | + return true; | ||
| 7636 | + }, | ||
| 7637 | + //-- 判断是不是有交集,返回交集的数量 -- | ||
| 7638 | + hasJiao(arr1, arr2){ | ||
| 7639 | + var num=0; | ||
| 7640 | + arr1.map(function (e){ | ||
| 7641 | + var idx=arr2.findIndex(function (g){ | ||
| 7642 | + return g.goods_id==e.goods_id; | ||
| 7643 | + }) | ||
| 7644 | + if(idx>-1) num++; | ||
| 7645 | + }) | ||
| 7646 | + return num; | ||
| 7647 | + }, | ||
| 7648 | + | ||
| 7649 | + //-- 开始显示活动的弹出 -- | ||
| 7650 | + switch_cx_group:function (e){ | ||
| 7651 | + var idx=e.currentTarget.dataset.index; | ||
| 7652 | + var gd_key=e.currentTarget.dataset.gd_key; | ||
| 7653 | + this.data.sele_cx_group_cidx=idx; | ||
| 7654 | + this.data.cx_group_gd_key=gd_key; | ||
| 7655 | + //-- 获取到-- | ||
| 7656 | + var cx_prom_group=this.data.requestData[idx].show_can_cx[gd_key].act_arr; | ||
| 7657 | + | ||
| 7658 | + var cx_arr=[]; | ||
| 7659 | + var find_sele=0; | ||
| 7660 | + for (var h=0;h<cx_prom_group.length;h++){ | ||
| 7661 | + //-- 看有没有选中的活动 -- | ||
| 7662 | + if(cx_prom_group[h].sele){ | ||
| 7663 | + find_sele=1; | ||
| 7664 | + } | ||
| 7665 | + cx_arr.push(cx_prom_group[h].act); | ||
| 7666 | + } | ||
| 7667 | + //-- 如果没有,就默认第一个为选中 -- | ||
| 7668 | + //-- if(!find_sele) cx_arr[0].sele=1; -- | ||
| 7669 | + var cp_arr=JSON.parse(JSON.stringify(cx_arr)); | ||
| 7670 | + var pro_pop = this.selectComponent("#pro_pop"); //组件的id | ||
| 7671 | + pro_pop.set_init(1,cx_arr,1); | ||
| 7672 | + }, | ||
| 7673 | + | ||
| 7674 | + //--- 选择回来时候的选择 --- | ||
| 7675 | + sure_cx_group:function(e){ | ||
| 7676 | + var sele_idx=e.detail.sele_idx; | ||
| 7677 | + var idx=this.data.sele_cx_group_cidx; | ||
| 7678 | + var gd_key= this.data.cx_group_gd_key; | ||
| 7679 | + //-- 获取到-- | ||
| 7680 | + var cx_prom_group=this.data.requestData[idx].show_can_cx[gd_key].act_arr; | ||
| 7681 | + | ||
| 7682 | + for(var dx=0;dx<cx_prom_group.length;dx++){ | ||
| 7683 | + if(dx!=sele_idx) cx_prom_group[dx].sele=0; | ||
| 7684 | + else cx_prom_group[dx].sele=1; | ||
| 7685 | + } | ||
| 7686 | + | ||
| 7687 | + //选择后就要把活动确定下来 | ||
| 7688 | + | ||
| 7689 | + //重新计算价格 | ||
| 7690 | + this.calculatePrice(); | ||
| 7691 | + | ||
| 7352 | } | 7692 | } |
| 7353 | 7693 | ||
| 7694 | + | ||
| 7354 | }); | 7695 | }); |
packageE/pages/cart/cart2/cart2.wxml
| 1 | <!-- 促销弹出框 --> | 1 | <!-- 促销弹出框 --> |
| 2 | -<pro_pop id="pro_pop"></pro_pop> | 2 | +<pro_pop id="pro_pop" bind:sure_cx_group="sure_cx_group"></pro_pop> |
| 3 | 3 | ||
| 4 | <wxs module="filter" src="c_filter.wxs"></wxs> | 4 | <wxs module="filter" src="c_filter.wxs"></wxs> |
| 5 | <wxs src="filter.wxs" module="util"></wxs> | 5 | <wxs src="filter.wxs" module="util"></wxs> |
| @@ -85,32 +85,85 @@ | @@ -85,32 +85,85 @@ | ||
| 85 | <!-- <view>门店:{{item.pname}}</view> --> | 85 | <!-- <view>门店:{{item.pname}}</view> --> |
| 86 | <view>{{item.pname}}</view> | 86 | <view>{{item.pname}}</view> |
| 87 | </view> | 87 | </view> |
| 88 | - <view class="order-detail" wx:for="{{item.goods}}" wx:for-index="idx" wx:for-item="items"> | ||
| 89 | - <!----商品图片-----> | ||
| 90 | - <view class="goods-img" style="position: relative; overflow: hidden" bindtap="go_url" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}&prom_type={{items.prom_type}}&prom_id={{items.prom_id}}"> | ||
| 91 | - <image wx:if="{{items.is_gift}}" src="{{imgUrl}}/miniapp/images/giveaway.png" class="gift_image"></image> | ||
| 92 | - <text class="zuhe" wx:if="{{items.prom_type==7}}">组合购</text> | ||
| 93 | - <image class="wh100 bdr14" src="{{items.original_img}}" binderror='cart_set_err' data-err='cartlist[{{pidx}}].goods[{{idx}}].original_img'></image> | ||
| 94 | - </view> | ||
| 95 | - <!----商品名称规格----> | ||
| 96 | - <navigator class="order-cont" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}&prom_type={{items.prom_type}}&prom_id={{items.prom_id}}"> | ||
| 97 | - <view class="goods-name ellipsis-2">{{items.goods_name}}</view> | ||
| 98 | - <!-- 商品属性 --> | ||
| 99 | - <view class="flex-vertical fs28 color-gray n_guige"> | ||
| 100 | - <view class="goods-color"> | ||
| 101 | - <block><text>{{filters.show_gui_ge(items.goods_spec,items.goods_color)}}</text></block> | 88 | + |
| 89 | + <!-- for循环使用 --> | ||
| 90 | + <block wx:for="{{item.goods}}" wx:for-index="idx" wx:for-item="items"> | ||
| 91 | + <view class="order-detail" > | ||
| 92 | + <!----商品图片-----> | ||
| 93 | + <view class="goods-img" style="position: relative; overflow: hidden" bindtap="go_url" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}&prom_type={{items.prom_type}}&prom_id={{items.prom_id}}"> | ||
| 94 | + <image wx:if="{{items.is_gift}}" src="{{imgUrl}}/miniapp/images/giveaway.png" class="gift_image"></image> | ||
| 95 | + <text class="zuhe" wx:if="{{items.prom_type==7}}">组合购</text> | ||
| 96 | + <image class="wh100 bdr14" src="{{items.original_img}}" binderror='cart_set_err' data-err='cartlist[{{pidx}}].goods[{{idx}}].original_img'></image> | ||
| 102 | </view> | 97 | </view> |
| 98 | + <!----商品名称规格----> | ||
| 99 | + <navigator class="order-cont" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}&prom_type={{items.prom_type}}&prom_id={{items.prom_id}}"> | ||
| 100 | + <view class="goods-name ellipsis-2">{{items.goods_name}}</view> | ||
| 101 | + <!-- 商品属性 --> | ||
| 102 | + <view class="flex-vertical fs28 color-gray n_guige"> | ||
| 103 | + <view class="goods-color"> | ||
| 104 | + <block><text>{{filters.show_gui_ge(items.goods_spec,items.goods_color)}}</text></block> | ||
| 105 | + </view> | ||
| 106 | + </view> | ||
| 107 | + | ||
| 108 | + <!-----商品名称规格------> | ||
| 109 | + <view class="order-num flex-space-between"> | ||
| 110 | + <view wx:if="{{items.prom_type==10}}" class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text><text>({{items.discount}}折)</text></view> | ||
| 111 | + <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | ||
| 112 | + <view style="color: red;" wx:if="{{items.use_commission && items.use_commission*1>0}}">佣金:{{filters.toFix(items.use_commission/items.goods_num,2)}}*{{items.goods_num}}</view> | ||
| 113 | + <view class="goods-num">x{{items.goods_num}}</view> | ||
| 114 | + </view> | ||
| 115 | + </navigator> | ||
| 103 | </view> | 116 | </view> |
| 117 | + <!-- 验证活动是不是多个,要不要显示切换 --> | ||
| 118 | + <!-- 新增促销多活动的排版 --> | ||
| 119 | + <view class="bdb16" | ||
| 120 | + wx:if="{{util.is_more_act(items,item.show_can_cx) && item.show_can_cx[items.goods_id] && item.show_can_cx[items.goods_id].act_arr.length>1}}"> | ||
| 121 | + <view bindtap="switch_cx_group" | ||
| 122 | + data-index="{{pidx}}" | ||
| 123 | + data-gd_key="{{items.goods_id}}" | ||
| 124 | + class="cx-frame flex" style="position: relative"> | ||
| 125 | + <view class="cx-sizs fs30">促销</view> | ||
| 126 | + <view class="flex ai_c f1 pdh20"> | ||
| 127 | + <view class="xc-coupon-fram" wx:for="{{item.show_can_cx[items.goods_id].act_arr}}" > | ||
| 128 | + <view wx:if="{{item.prom_type==3}}" class="xc-coupon t-c four-level-word">优惠促销</view> | ||
| 129 | + <view wx:if="{{item.prom_type==5}}" class="xc-coupon t-c four-level-word">搭配促销</view> | ||
| 130 | + <view wx:if="{{item.prom_type==7}}" class="xc-coupon t-c four-level-word">组合购</view> | ||
| 131 | + <view wx:if="{{item.prom_type==10}}" class="xc-coupon t-c four-level-word">阶梯促销</view> | ||
| 132 | + </view> | ||
| 133 | + </view> | ||
| 134 | + <view class="cx-obtain-coupon wsize"> | ||
| 135 | + <text class="bg_jj"></text> | ||
| 136 | + </view> | ||
| 137 | + </view> | ||
| 138 | + </view> | ||
| 139 | + </block> | ||
| 104 | 140 | ||
| 105 | - <!-----商品名称规格------> | ||
| 106 | - <view class="order-num flex-space-between"> | ||
| 107 | - <view wx:if="{{items.prom_type==10}}" class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text><text>({{items.discount}}折)</text></view> | ||
| 108 | - <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | ||
| 109 | - <view style="color: red;" wx:if="{{items.use_commission && items.use_commission*1>0}}">佣金:{{filters.toFix(items.use_commission/items.goods_num,2)}}*{{items.goods_num}}</view> | ||
| 110 | - <view class="goods-num">x{{items.goods_num}}</view> | 141 | + <!--此时是多个商品参与活动的切换 验证活动是不是多个,要不要显示切换 --> |
| 142 | + <!-- 新增促销多活动的排版 --> | ||
| 143 | + <block wx:if="{{item.show_can_cx}}"> | ||
| 144 | + <block wx:for="{{item.show_can_cx}}" wx:for-item="pitem"> | ||
| 145 | + <view class="bdb16" wx:if="{{pitem.is_duo_gd && pitem.act_arr.length>1}}" > | ||
| 146 | + <view bindtap="switch_cx_group" | ||
| 147 | + data-index="{{pidx}}" | ||
| 148 | + data-gd_key="{{index}}" | ||
| 149 | + class="cx-frame flex" style="position: relative"> | ||
| 150 | + <view class="cx-sizs fs30">促销</view> | ||
| 151 | + <view class="flex ai_c f1 pdh20"> | ||
| 152 | + <view class="xc-coupon-fram" wx:for="{{pitem.act_arr}}" > | ||
| 153 | + <view wx:if="{{item.prom_type==3}}" class="xc-coupon t-c four-level-word">优惠促销</view> | ||
| 154 | + <view wx:if="{{item.prom_type==5}}" class="xc-coupon t-c four-level-word">搭配促销</view> | ||
| 155 | + <view wx:if="{{item.prom_type==7}}" class="xc-coupon t-c four-level-word">组合购</view> | ||
| 156 | + <view wx:if="{{item.prom_type==10}}" class="xc-coupon t-c four-level-word">阶梯促销</view> | ||
| 157 | + </view> | ||
| 158 | + </view> | ||
| 159 | + <view class="cx-obtain-coupon wsize"> | ||
| 160 | + <text class="bg_jj"></text> | ||
| 161 | + </view> | ||
| 162 | + </view> | ||
| 111 | </view> | 163 | </view> |
| 112 | - </navigator> | ||
| 113 | - </view> | 164 | + </block> |
| 165 | + </block> | ||
| 166 | + | ||
| 114 | 167 | ||
| 115 | <!-- 使用搭配 --> | 168 | <!-- 使用搭配 --> |
| 116 | <cart_collect_temp id="col{{pidx}}" | 169 | <cart_collect_temp id="col{{pidx}}" |
packageE/pages/cart/cart2/cart2.wxss
| @@ -1143,3 +1143,81 @@ margin-left: 20rpx; | @@ -1143,3 +1143,81 @@ margin-left: 20rpx; | ||
| 1143 | font-size: 28rpx; | 1143 | font-size: 28rpx; |
| 1144 | } | 1144 | } |
| 1145 | 1145 | ||
| 1146 | + | ||
| 1147 | +.cx-frame { | ||
| 1148 | + /* border-top:3rpx solid #eee; */ | ||
| 1149 | + /* width:99%; | ||
| 1150 | + height: 95rpx; | ||
| 1151 | + line-height: 95rpx; | ||
| 1152 | + padding-left:24rpx; */ | ||
| 1153 | + padding: 20rpx; | ||
| 1154 | + background-color: #fff; | ||
| 1155 | +} | ||
| 1156 | + | ||
| 1157 | +.cx-frame .cx-sizs { | ||
| 1158 | + /* width: 68rpx; */ | ||
| 1159 | + /* height: 100%; */ | ||
| 1160 | + /* line-height: 100rpx; */ | ||
| 1161 | + /* overflow: hidden; */ | ||
| 1162 | + /* margin-left: 10rpx; */ | ||
| 1163 | +} | ||
| 1164 | + | ||
| 1165 | +.xc-coupon-fram { | ||
| 1166 | + position: relative; | ||
| 1167 | + margin-right: 16rpx; | ||
| 1168 | + /* width:200rpx; */ | ||
| 1169 | + /* padding-top:30rpx; */ | ||
| 1170 | + | ||
| 1171 | +} | ||
| 1172 | + | ||
| 1173 | +.xc-coupon-fram .xc-coupon { | ||
| 1174 | + /* width:175rpx ; | ||
| 1175 | + height: 40rpx; | ||
| 1176 | + line-height: 40rpx; */ | ||
| 1177 | + background-color: #d60021; | ||
| 1178 | + /* margin:0 auto; */ | ||
| 1179 | + color: #fff; | ||
| 1180 | + padding: 6rpx 20rpx; | ||
| 1181 | + | ||
| 1182 | +} | ||
| 1183 | + | ||
| 1184 | +.xc-coupon-fram .xc-circular { | ||
| 1185 | + width: 16rpx; | ||
| 1186 | + height: 16rpx; | ||
| 1187 | + background-color: white; | ||
| 1188 | + position: absolute; | ||
| 1189 | + top: 50%; | ||
| 1190 | + /* left: -10rpx; */ | ||
| 1191 | + transform: translateY(-50%); | ||
| 1192 | +} | ||
| 1193 | + | ||
| 1194 | +.cx-obtain-coupon { | ||
| 1195 | + /* width: 65rpx; | ||
| 1196 | + height: 100%; | ||
| 1197 | + padding-left:15rpx; */ | ||
| 1198 | + color: #d70025; | ||
| 1199 | + display: flex; | ||
| 1200 | + align-items: center; | ||
| 1201 | + /* position: absolute; | ||
| 1202 | + right: 5rpx; */ | ||
| 1203 | +} | ||
| 1204 | + | ||
| 1205 | +.bg_jj { | ||
| 1206 | + width: 14rpx; | ||
| 1207 | + height: 14rpx; | ||
| 1208 | + border-top: 2rpx solid #d70026; | ||
| 1209 | + border-right: 2rpx solid #d70026; | ||
| 1210 | + transform: rotateZ(45deg); | ||
| 1211 | + display: inline-block; | ||
| 1212 | + margin-bottom: 3rpx; | ||
| 1213 | +} | ||
| 1214 | + | ||
| 1215 | +.bg_jj.down { | ||
| 1216 | + transform: rotateZ(135deg); | ||
| 1217 | +} | ||
| 1218 | + | ||
| 1219 | +.bg_jj.up { | ||
| 1220 | + transform: rotateZ(-45deg); | ||
| 1221 | + margin-top: 6rpx; | ||
| 1222 | +} | ||
| 1223 | + |
packageE/pages/cart/cart2/filter.wxs
| @@ -6,6 +6,15 @@ var format = function (text) { | @@ -6,6 +6,15 @@ var format = function (text) { | ||
| 6 | return text.replace(reg, '\n') | 6 | return text.replace(reg, '\n') |
| 7 | } | 7 | } |
| 8 | 8 | ||
| 9 | + | ||
| 10 | +//判断商品是不是有活动切换 | ||
| 11 | +function is_more_act(items,show_can_cx){ | ||
| 12 | + if([1,2,4,6,8,9].indexOf(items.prom_type)>-1) return false; | ||
| 13 | + if(!show_can_cx) return false; | ||
| 14 | + return true; | ||
| 15 | +} | ||
| 16 | + | ||
| 9 | module.exports = { | 17 | module.exports = { |
| 10 | - format: format | 18 | + format: format, |
| 19 | + is_more_act:is_more_act | ||
| 11 | } | 20 | } |
packageE/pages/cart/cart2/zh_calculate.js
| @@ -539,6 +539,88 @@ module.exports = { | @@ -539,6 +539,88 @@ module.exports = { | ||
| 539 | } | 539 | } |
| 540 | } | 540 | } |
| 541 | return zhqty_bz_flag; | 541 | return zhqty_bz_flag; |
| 542 | + }, | ||
| 543 | + | ||
| 544 | + //-- 判断组合购有没有满足 --- | ||
| 545 | + ch_zh_ok(act,gdlist,c_goods,th){ | ||
| 546 | + //-- 寻找一下 -- | ||
| 547 | + function get_num(ite) { | ||
| 548 | + for (let v1 in c_goods) { | ||
| 549 | + var vh = c_goods[v1]; | ||
| 550 | + if (vh.goods_id == ite.goods_id) { | ||
| 551 | + return vh; | ||
| 552 | + } | ||
| 553 | + } | ||
| 554 | + return 0; | ||
| 555 | + } | ||
| 556 | + var goods =gdlist; | ||
| 557 | + var all_num=0; | ||
| 558 | + var need_to_buy=0; | ||
| 559 | + for (var i in goods) { | ||
| 560 | + var item = goods[i]; | ||
| 561 | + var cart_num = get_num(item).goods_num; | ||
| 562 | + var zh_b_num = get_num(item).zh_b_num; | ||
| 563 | + if (!cart_num) { | ||
| 564 | + if (item.zhqty) { | ||
| 565 | + need_to_buy += item.zhqty; | ||
| 566 | + } | ||
| 567 | + continue; | ||
| 568 | + } | ||
| 569 | + | ||
| 570 | + item.cart_num = cart_num; | ||
| 571 | + //-- 当商品有购买的时候,以及有限购的时候 -- | ||
| 572 | + if (item.buyqty > 0) { | ||
| 573 | + var cbuy = item.buyqty - zh_b_num; | ||
| 574 | + var key = item.goods_id + "" + act.id; | ||
| 575 | + if (th.data.in_zhact_gdmap_gp[key]) { | ||
| 576 | + var cbuy = item.buyqty - zh_b_num - th.data.in_zhact_gdmap_gp[key]; | ||
| 577 | + } | ||
| 578 | + //当可买的数量为0 | ||
| 579 | + if (cbuy <= 0) { | ||
| 580 | + item.num = 0; | ||
| 581 | + } else { | ||
| 582 | + if (cbuy >= cart_num) item.num = cart_num; | ||
| 583 | + else { | ||
| 584 | + item.num = cbuy; | ||
| 585 | + } | ||
| 586 | + } | ||
| 587 | + } else { | ||
| 588 | + item.num = cart_num; | ||
| 589 | + } | ||
| 590 | + | ||
| 591 | + if (item.num) { | ||
| 592 | + all_num += item.num; | ||
| 593 | + //当有起购数的控制的时候 | ||
| 594 | + if (item.zhqty) { | ||
| 595 | + if (item.num < item.zhqty) { | ||
| 596 | + need_to_buy += item.zhqty - item.num; | ||
| 597 | + } | ||
| 598 | + } | ||
| 599 | + } else { | ||
| 600 | + if (item.zhqty) { | ||
| 601 | + need_to_buy += item.zhqty; | ||
| 602 | + } | ||
| 603 | + } | ||
| 604 | + } | ||
| 605 | + | ||
| 606 | + //当满足组合的要求:总数要满足,起购数要满足 | ||
| 607 | + if (all_num >= act.zhbuyqty && !need_to_buy) { | ||
| 608 | + //商品的列表 | ||
| 609 | + for (var u in goods) { | ||
| 610 | + var ite = goods[u]; | ||
| 611 | + if (ite.buyqty > 0 && ite.num > 0) { | ||
| 612 | + console.log(222, th.data.in_zhact_gdmap_gp); | ||
| 613 | + var key = ite.goods_id + "" + act.id; | ||
| 614 | + if (th.data.in_zhact_gdmap_gp[key]) { | ||
| 615 | + th.data.in_zhact_gdmap_gp[key] += ite.num; | ||
| 616 | + } else { | ||
| 617 | + th.data.in_zhact_gdmap_gp[key] = ite.num; | ||
| 618 | + } | ||
| 619 | + } | ||
| 620 | + } | ||
| 621 | + return true; | ||
| 622 | + } | ||
| 623 | + return false; | ||
| 542 | } | 624 | } |
| 543 | 625 | ||
| 544 | 626 |
pages/cart/cart/cart.js
| @@ -325,13 +325,13 @@ Page({ | @@ -325,13 +325,13 @@ Page({ | ||
| 325 | if (is_state == 1) { | 325 | if (is_state == 1) { |
| 326 | //-- 按件进行计算 -- | 326 | //-- 按件进行计算 -- |
| 327 | if (fir_act.prom_type == 1) { | 327 | if (fir_act.prom_type == 1) { |
| 328 | - if (fir_act.condition > item1.goods_num) { | 328 | + if (fir_act.condition <= item1.goods_num) { |
| 329 | item1.more_cx.push(push_item); | 329 | item1.more_cx.push(push_item); |
| 330 | } | 330 | } |
| 331 | }else{ | 331 | }else{ |
| 332 | //-- 按数量进行计算 -- | 332 | //-- 按数量进行计算 -- |
| 333 | var all_price = item1.goods_price * item1.goods_num; | 333 | var all_price = item1.goods_price * item1.goods_num; |
| 334 | - if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | 334 | + if (parseFloat(fir_act.condition) <= parseFloat(parseFloat(all_price).toFixed(2))) { |
| 335 | item1.more_cx.push(push_item); | 335 | item1.more_cx.push(push_item); |
| 336 | } | 336 | } |
| 337 | } | 337 | } |
| @@ -344,6 +344,8 @@ Page({ | @@ -344,6 +344,8 @@ Page({ | ||
| 344 | } | 344 | } |
| 345 | } | 345 | } |
| 346 | 346 | ||
| 347 | + console.log(JSON.stringify(item1.more_cx),333); | ||
| 348 | + | ||
| 347 | }, | 349 | }, |
| 348 | 350 | ||
| 349 | onLoad: function () { | 351 | onLoad: function () { |
pages/cart/cart/cart.wxml
| @@ -158,14 +158,14 @@ | @@ -158,14 +158,14 @@ | ||
| 158 | <!-- 新增促销多活动的排版 --> | 158 | <!-- 新增促销多活动的排版 --> |
| 159 | <block wx:if="{{item.show_can_cx}}"> | 159 | <block wx:if="{{item.show_can_cx}}"> |
| 160 | <block wx:for="{{item.show_can_cx}}" wx:for-item="pitem"> | 160 | <block wx:for="{{item.show_can_cx}}" wx:for-item="pitem"> |
| 161 | - <view class="bdb16" wx:if="{{pitem.is_duo_gd}}" > | 161 | + <view class="bdb16" wx:if="{{pitem.is_duo_gd && pitem.act_arr.length>1}}" > |
| 162 | <view bindtap="switch_cx_group" | 162 | <view bindtap="switch_cx_group" |
| 163 | data-index="{{pidx}}" | 163 | data-index="{{pidx}}" |
| 164 | data-gd_key="{{index}}" | 164 | data-gd_key="{{index}}" |
| 165 | class="cx-frame flex" style="position: relative"> | 165 | class="cx-frame flex" style="position: relative"> |
| 166 | <view class="cx-sizs fs30">促销</view> | 166 | <view class="cx-sizs fs30">促销</view> |
| 167 | <view class="flex ai_c f1 pdh20"> | 167 | <view class="flex ai_c f1 pdh20"> |
| 168 | - <view class="xc-coupon-fram" wx:for="{{item.show_can_cx[index].act_arr}}" > | 168 | + <view class="xc-coupon-fram" wx:for="{{pitem.act_arr}}" > |
| 169 | <view wx:if="{{item.prom_type==3}}" class="xc-coupon t-c four-level-word">优惠促销</view> | 169 | <view wx:if="{{item.prom_type==3}}" class="xc-coupon t-c four-level-word">优惠促销</view> |
| 170 | <view wx:if="{{item.prom_type==5}}" class="xc-coupon t-c four-level-word">搭配促销</view> | 170 | <view wx:if="{{item.prom_type==5}}" class="xc-coupon t-c four-level-word">搭配促销</view> |
| 171 | <view wx:if="{{item.prom_type==7}}" class="xc-coupon t-c four-level-word">组合购</view> | 171 | <view wx:if="{{item.prom_type==7}}" class="xc-coupon t-c four-level-word">组合购</view> |