Commit 028e1d98e950809a6e85cd34a8231cb271ac6fb5
1 parent
01e8d045
订单促销取价的优化
Showing
9 changed files
with
106 additions
and
12 deletions
packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.js
| @@ -1480,6 +1480,22 @@ Page({ | @@ -1480,6 +1480,22 @@ Page({ | ||
| 1480 | goods.is_integral_normal=1; | 1480 | goods.is_integral_normal=1; |
| 1481 | goods.prom_type=0; | 1481 | goods.prom_type=0; |
| 1482 | goods.prom_id=0; | 1482 | goods.prom_id=0; |
| 1483 | + | ||
| 1484 | + //如果是指定门店,就要判断 | ||
| 1485 | + if (th.data.bn_goods.pick_group_ids) { | ||
| 1486 | + var idx0 = th.data.bn_goods.pick_up_lists.findIndex(function (e) { | ||
| 1487 | + return e.pickup_id == th.data.bn_pick; | ||
| 1488 | + }) | ||
| 1489 | + if (idx0 < 0) { | ||
| 1490 | + getApp().my_warnning(th.data.bn_goods.goods_name + "的门店不可售", 0, th); | ||
| 1491 | + th.data.is_summit_ing = 0; | ||
| 1492 | + th.setData({ | ||
| 1493 | + submit: 0 | ||
| 1494 | + }) | ||
| 1495 | + return false; | ||
| 1496 | + } | ||
| 1497 | + } | ||
| 1498 | + | ||
| 1483 | } | 1499 | } |
| 1484 | 1500 | ||
| 1485 | if (getApp().globalData.skinface_id) { | 1501 | if (getApp().globalData.skinface_id) { |
| @@ -2242,11 +2258,6 @@ Page({ | @@ -2242,11 +2258,6 @@ Page({ | ||
| 2242 | good.prom_id=0; | 2258 | good.prom_id=0; |
| 2243 | good.discount_field=discount_field; | 2259 | good.discount_field=discount_field; |
| 2244 | 2260 | ||
| 2245 | - //把优惠券的使用还原 | ||
| 2246 | - th.setData({ | ||
| 2247 | - selected_quan_list: null, | ||
| 2248 | - using_quan: {} | ||
| 2249 | - }) | ||
| 2250 | 2261 | ||
| 2251 | }else{ | 2262 | }else{ |
| 2252 | good=ut.deep_cp(th.data.old_bn_goods); | 2263 | good=ut.deep_cp(th.data.old_bn_goods); |
| @@ -2263,9 +2274,6 @@ Page({ | @@ -2263,9 +2274,6 @@ Page({ | ||
| 2263 | }) | 2274 | }) |
| 2264 | th.calculatePrice2() | 2275 | th.calculatePrice2() |
| 2265 | 2276 | ||
| 2266 | - if(!th.data.can_use_ord_prom[pickid]){ | ||
| 2267 | - th.get_buy_now_quan(); | ||
| 2268 | - } | ||
| 2269 | } | 2277 | } |
| 2270 | 2278 | ||
| 2271 | 2279 |
packageC/pages/presell/cart/cart2.js
| @@ -1590,6 +1590,22 @@ Page({ | @@ -1590,6 +1590,22 @@ Page({ | ||
| 1590 | //如果有参与非实收的订单促销,那么就相当于是普通购买 | 1590 | //如果有参与非实收的订单促销,那么就相当于是普通购买 |
| 1591 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ | 1591 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ |
| 1592 | goods.is_integral_normal=1; | 1592 | goods.is_integral_normal=1; |
| 1593 | + //如果是指定门店,就要判断 | ||
| 1594 | + if (th.data.bn_goods.pick_group_ids) { | ||
| 1595 | + var idx0 = th.data.bn_goods.pick_up_lists.findIndex(function (e) { | ||
| 1596 | + return e.pickup_id == th.data.bn_pick; | ||
| 1597 | + }) | ||
| 1598 | + if (idx0 < 0) { | ||
| 1599 | + getApp().my_warnning(th.data.bn_goods.goods_name + "的门店不可售", 0, th); | ||
| 1600 | + th.data.is_summit_ing = 0; | ||
| 1601 | + th.setData({ | ||
| 1602 | + submit: 0 | ||
| 1603 | + }) | ||
| 1604 | + return false; | ||
| 1605 | + } | ||
| 1606 | + } | ||
| 1607 | + | ||
| 1608 | + | ||
| 1593 | } | 1609 | } |
| 1594 | 1610 | ||
| 1595 | 1611 |
packageE/pages/cart/cart2/cart2.js
| @@ -1388,6 +1388,26 @@ Page({ | @@ -1388,6 +1388,26 @@ Page({ | ||
| 1388 | //-- 如果初始活动在计算的时候,是不满足的时候,就要把活动清理掉 -- | 1388 | //-- 如果初始活动在计算的时候,是不满足的时候,就要把活动清理掉 -- |
| 1389 | var is_no_ok=arr[k].show_can_cx[key_o].cur_act.is_no_ok; | 1389 | var is_no_ok=arr[k].show_can_cx[key_o].cur_act.is_no_ok; |
| 1390 | if(is_no_ok==1){ | 1390 | if(is_no_ok==1){ |
| 1391 | + | ||
| 1392 | + let temp_id=arr[k].show_can_cx[key_o].cur_act.prom_id; | ||
| 1393 | + switch (parseInt(arr[k].show_can_cx[key_o].cur_act.prom_type+'')){ | ||
| 1394 | + case 3: | ||
| 1395 | + var yhcx_act_map=th.data.yhcx_act_map?th.data.yhcx_act_map[temp_id]:null; | ||
| 1396 | + if(yhcx_act_map && !yhcx_act_map.is_order_yh){ | ||
| 1397 | + item1.is_no_order_yh=1; | ||
| 1398 | + } | ||
| 1399 | + break; | ||
| 1400 | + case 7: | ||
| 1401 | + var zhhe_act=th.data.zhhe_act_map?th.data.zhhe_act_map[temp_id]:null; | ||
| 1402 | + if(zhhe_act && !zhhe_act.is_orderyh){ | ||
| 1403 | + item1.is_no_order_yh=1; | ||
| 1404 | + } | ||
| 1405 | + break; | ||
| 1406 | + } | ||
| 1407 | + | ||
| 1408 | + debugger; | ||
| 1409 | + | ||
| 1410 | + | ||
| 1391 | item1.prom_id = 0; | 1411 | item1.prom_id = 0; |
| 1392 | item1.prom_type = 0; | 1412 | item1.prom_type = 0; |
| 1393 | 1413 | ||
| @@ -3061,6 +3081,7 @@ Page({ | @@ -3061,6 +3081,7 @@ Page({ | ||
| 3061 | 3081 | ||
| 3062 | } | 3082 | } |
| 3063 | 3083 | ||
| 3084 | + | ||
| 3064 | //调用函数计算每件商品的单价 | 3085 | //调用函数计算每件商品的单价 |
| 3065 | await th.calc_per(c_arr); | 3086 | await th.calc_per(c_arr); |
| 3066 | 3087 | ||
| @@ -3174,8 +3195,9 @@ Page({ | @@ -3174,8 +3195,9 @@ Page({ | ||
| 3174 | 3195 | ||
| 3175 | //--------循环计算总价----------- | 3196 | //--------循环计算总价----------- |
| 3176 | for (var jc = 0; jc < item.length; jc++) { | 3197 | for (var jc = 0; jc < item.length; jc++) { |
| 3177 | - | ||
| 3178 | - if (item[jc].prom_type == 0 && !item[jc].whsle_id) { //如果item的prom_type==0,没有如果活动的时候 | 3198 | + //如果item的prom_type==0,没有如果活动的时候,如果是优惠促销和组合促销不满足的时候 |
| 3199 | + //或者是组合购和阶梯购多出来的商品 | ||
| 3200 | + if (item[jc].prom_type == 0 && !item[jc].whsle_id && !item[jc].is_no_order_yh) { | ||
| 3179 | th.get_order_prom_map_ck(item[jc],pickid); | 3201 | th.get_order_prom_map_ck(item[jc],pickid); |
| 3180 | } | 3202 | } |
| 3181 | 3203 | ||
| @@ -4983,9 +5005,9 @@ Page({ | @@ -4983,9 +5005,9 @@ Page({ | ||
| 4983 | return false; | 5005 | return false; |
| 4984 | } | 5006 | } |
| 4985 | } | 5007 | } |
| 5008 | + } | ||
| 4986 | 5009 | ||
| 4987 | 5010 | ||
| 4988 | - } | ||
| 4989 | 5011 | ||
| 4990 | if (th.data.bn_goods.whsle_id) { | 5012 | if (th.data.bn_goods.whsle_id) { |
| 4991 | item.is_whsle = 1; | 5013 | item.is_whsle = 1; |
packageE/pages/cart/cart2/ladder_calculate.js
| @@ -115,6 +115,11 @@ module.exports = { | @@ -115,6 +115,11 @@ module.exports = { | ||
| 115 | }) | 115 | }) |
| 116 | //goods[idx].goods_num -= num; | 116 | //goods[idx].goods_num -= num; |
| 117 | let new_g = JSON.parse(JSON.stringify(goods[idx])); | 117 | let new_g = JSON.parse(JSON.stringify(goods[idx])); |
| 118 | + | ||
| 119 | + //多余的商品如果活动不参与订单促销,那么变成普通商品的也不能参与订单促销,2024-2-26 | ||
| 120 | + if(!ladder_map.is_useorderyh){ | ||
| 121 | + new_g.is_no_order_yh=1; | ||
| 122 | + } | ||
| 118 | new_g.goods_num = num; | 123 | new_g.goods_num = num; |
| 119 | new_g.prom_type = 0; | 124 | new_g.prom_type = 0; |
| 120 | new_g.prom_id = 0; | 125 | new_g.prom_id = 0; |
packageE/pages/cart/cart2/zh_calculate.js
| @@ -270,6 +270,11 @@ module.exports = { | @@ -270,6 +270,11 @@ module.exports = { | ||
| 270 | let new_g = JSON.parse(JSON.stringify(goods[idx])); | 270 | let new_g = JSON.parse(JSON.stringify(goods[idx])); |
| 271 | 271 | ||
| 272 | if(new_g.more_cx) delete new_g.more_cx; | 272 | if(new_g.more_cx) delete new_g.more_cx; |
| 273 | + | ||
| 274 | + //多余的商品如果活动不参与订单促销,那么变成普通商品的也不能参与订单促销,2024-2-26 | ||
| 275 | + if(!act.is_orderyh){ | ||
| 276 | + new_g.is_no_order_yh=1; | ||
| 277 | + } | ||
| 273 | new_g.goods_num = num; | 278 | new_g.goods_num = num; |
| 274 | new_g.prom_type = 0; | 279 | new_g.prom_type = 0; |
| 275 | new_g.prom_id = 0; | 280 | new_g.prom_id = 0; |
| @@ -331,6 +336,11 @@ module.exports = { | @@ -331,6 +336,11 @@ module.exports = { | ||
| 331 | offline_price += item.goods_price - item.offline_price; | 336 | offline_price += item.goods_price - item.offline_price; |
| 332 | offline_num += 1; | 337 | offline_num += 1; |
| 333 | } | 338 | } |
| 339 | + | ||
| 340 | + //多余的商品如果活动不参与订单促销,那么变成普通商品的也不能参与订单促销,2024-2-26 | ||
| 341 | + if(!act.is_orderyh){ | ||
| 342 | + item.is_no_order_yh=1; | ||
| 343 | + } | ||
| 334 | item.prom_type = 0; | 344 | item.prom_type = 0; |
| 335 | item.prom_id = 0; | 345 | item.prom_id = 0; |
| 336 | } | 346 | } |
packageE/pages/cart/cart2_inte/cart2_inte.js
| @@ -1343,6 +1343,22 @@ Page({ | @@ -1343,6 +1343,22 @@ Page({ | ||
| 1343 | //如果有参与非实收的订单促销,那么就相当于是普通购买 | 1343 | //如果有参与非实收的订单促销,那么就相当于是普通购买 |
| 1344 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ | 1344 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ |
| 1345 | goods.is_integral_normal=1; | 1345 | goods.is_integral_normal=1; |
| 1346 | + | ||
| 1347 | + //如果是指定门店,就要判断 | ||
| 1348 | + if (th.data.bn_goods.pick_group_ids) { | ||
| 1349 | + var idx0 = th.data.bn_goods.pick_up_lists.findIndex(function (e) { | ||
| 1350 | + return e.pickup_id == th.data.bn_pick; | ||
| 1351 | + }) | ||
| 1352 | + if (idx0 < 0) { | ||
| 1353 | + getApp().my_warnning(th.data.bn_goods.goods_name + "的门店不可售", 0, th); | ||
| 1354 | + th.data.is_summit_ing = 0; | ||
| 1355 | + th.setData({ | ||
| 1356 | + submit: 0 | ||
| 1357 | + }) | ||
| 1358 | + return false; | ||
| 1359 | + } | ||
| 1360 | + } | ||
| 1361 | + | ||
| 1346 | } | 1362 | } |
| 1347 | 1363 | ||
| 1348 | if(getApp().globalData.skinface_id){ | 1364 | if(getApp().globalData.skinface_id){ |
packageE/pages/cart/cart2_pt/cart2_pt.js
| @@ -1491,6 +1491,22 @@ Page({ | @@ -1491,6 +1491,22 @@ Page({ | ||
| 1491 | //如果有参与非实收的订单促销,那么就相当于是普通购买 | 1491 | //如果有参与非实收的订单促销,那么就相当于是普通购买 |
| 1492 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ | 1492 | if(th.data.can_use_ord_prom[th.data.bn_pick]){ |
| 1493 | goods.is_integral_normal=1; | 1493 | goods.is_integral_normal=1; |
| 1494 | + | ||
| 1495 | + //如果是指定门店,就要判断 | ||
| 1496 | + if (th.data.bn_goods.pick_group_ids) { | ||
| 1497 | + var idx0 = th.data.bn_goods.pick_up_lists.findIndex(function (e) { | ||
| 1498 | + return e.pickup_id == th.data.bn_pick; | ||
| 1499 | + }) | ||
| 1500 | + if (idx0 < 0) { | ||
| 1501 | + getApp().my_warnning(th.data.bn_goods.goods_name + "的门店不可售", 0, th); | ||
| 1502 | + th.data.is_summit_ing = 0; | ||
| 1503 | + th.setData({ | ||
| 1504 | + submit: 0 | ||
| 1505 | + }) | ||
| 1506 | + return false; | ||
| 1507 | + } | ||
| 1508 | + } | ||
| 1509 | + | ||
| 1494 | } | 1510 | } |
| 1495 | 1511 | ||
| 1496 | if (getApp().globalData.skinface_id) { | 1512 | if (getApp().globalData.skinface_id) { |
packageE/pages/cart/cart_wk/cart_wk.js
| @@ -541,7 +541,7 @@ Page({ | @@ -541,7 +541,7 @@ Page({ | ||
| 541 | ord_prom = res.data.data; | 541 | ord_prom = res.data.data; |
| 542 | 542 | ||
| 543 | //如果订单促销的取价不是实收,清空订单促销 | 543 | //如果订单促销的取价不是实收,清空订单促销 |
| 544 | - if(prom_ord && prom_ord.discount_field>0) prom_ord=null; | 544 | + if(ord_prom && ord_prom.discount_field>0) ord_prom=null; |
| 545 | } | 545 | } |
| 546 | }) | 546 | }) |
| 547 | } | 547 | } |