Commit 09659c0787812310f1f64e147f0a865430bdd1d8
1 parent
f51f020e
商品价格发生变化的优化
Showing
1 changed file
with
29 additions
and
1 deletions
pages/cart/cart/cart.js
@@ -60,7 +60,9 @@ Page({ | @@ -60,7 +60,9 @@ Page({ | ||
60 | is_cart:1, //标记是购物车计算的时候 | 60 | is_cart:1, //标记是购物车计算的时候 |
61 | 61 | ||
62 | //送赠品的优化 | 62 | //送赠品的优化 |
63 | - cart_zp:{} | 63 | + cart_zp:{}, |
64 | + //-- dp_cart深拷贝的缓存 -- | ||
65 | + dp_cart:null | ||
64 | 66 | ||
65 | }, | 67 | }, |
66 | 68 | ||
@@ -933,6 +935,8 @@ Page({ | @@ -933,6 +935,8 @@ Page({ | ||
933 | } | 935 | } |
934 | } | 936 | } |
935 | 937 | ||
938 | + //-- 2024-2-3 深拷贝数据缓存 -- | ||
939 | + th.data.dp_car=ut.deep_cp(arr); | ||
936 | th.setData({ | 940 | th.setData({ |
937 | requestData: arr, | 941 | requestData: arr, |
938 | all_num: all_num, | 942 | all_num: all_num, |
@@ -2463,6 +2467,9 @@ Page({ | @@ -2463,6 +2467,9 @@ Page({ | ||
2463 | th.data.pitems=-1; | 2467 | th.data.pitems=-1; |
2464 | } | 2468 | } |
2465 | 2469 | ||
2470 | + | ||
2471 | + | ||
2472 | + | ||
2466 | for (var a = 0; a < car.length; a++) { | 2473 | for (var a = 0; a < car.length; a++) { |
2467 | var ite1 = car[a].goods; | 2474 | var ite1 = car[a].goods; |
2468 | if(car.length>1 && c_ind>-1 && a==c_ind ){ | 2475 | if(car.length>1 && c_ind>-1 && a==c_ind ){ |
@@ -2587,6 +2594,7 @@ Page({ | @@ -2587,6 +2594,7 @@ Page({ | ||
2587 | zh_calc.remove_zhprom(car, a, obj); | 2594 | zh_calc.remove_zhprom(car, a, obj); |
2588 | ladder_calc.remove_ladder_prom(car, a, obj); | 2595 | ladder_calc.remove_ladder_prom(car, a, obj); |
2589 | 2596 | ||
2597 | + //-- 如果是未选中的时候 -- | ||
2590 | if (item[c].selected == 0) { | 2598 | if (item[c].selected == 0) { |
2591 | ischeck = 0; | 2599 | ischeck = 0; |
2592 | is_s_sele = 0; | 2600 | is_s_sele = 0; |
@@ -2600,9 +2608,16 @@ Page({ | @@ -2600,9 +2608,16 @@ Page({ | ||
2600 | ladder_calc.add_ladder_prom(car, a, obj); | 2608 | ladder_calc.add_ladder_prom(car, a, obj); |
2601 | } | 2609 | } |
2602 | 2610 | ||
2611 | + //-- 如果价格有发生变动,要更新界面中的价格显示,还原价格 -- | ||
2612 | + let txt='requestData['+a+'].goods['+c+'].goods_price'; | ||
2613 | + th.setData({ | ||
2614 | + [txt]:th.data.dp_car[a].goods[c].goods_price | ||
2615 | + }) | ||
2616 | + | ||
2603 | 2617 | ||
2604 | } else { | 2618 | } else { |
2605 | 2619 | ||
2620 | + //-- 如果是选中的时候 -- | ||
2606 | if (item[c].prom_type == 7) { | 2621 | if (item[c].prom_type == 7) { |
2607 | //先把商品放入组合计算的专用的区域 | 2622 | //先把商品放入组合计算的专用的区域 |
2608 | console.log('是组合商品---') | 2623 | console.log('是组合商品---') |
@@ -2617,10 +2632,23 @@ Page({ | @@ -2617,10 +2632,23 @@ Page({ | ||
2617 | //console.log("索引:"+c+",数量:"+item[c].goods_num+",单价:"+item[c].goods_price+",合计:"+item[c].goods_num * item[c].goods_price+",商品:"+item[c].goods_name); | 2632 | //console.log("索引:"+c+",数量:"+item[c].goods_num+",单价:"+item[c].goods_price+",合计:"+item[c].goods_num * item[c].goods_price+",商品:"+item[c].goods_name); |
2618 | tfeel += item[c].goods_num * item[c].goods_price; | 2633 | tfeel += item[c].goods_num * item[c].goods_price; |
2619 | //console.log("累计:"+tfeel); | 2634 | //console.log("累计:"+tfeel); |
2635 | + | ||
2636 | + //-- 如果价格有发生变动,要更新界面中的价格显示 -- | ||
2637 | + if(item[c].goods_price!=th.data.dp_car[a].goods[c].goods_price){ | ||
2638 | + let txt='requestData['+a+'].goods['+c+'].goods_price'; | ||
2639 | + th.setData({ | ||
2640 | + [txt]:item[c].goods_price | ||
2641 | + }) | ||
2642 | + } | ||
2643 | + | ||
2620 | } | 2644 | } |
2621 | t_num += item[c].goods_num; | 2645 | t_num += item[c].goods_num; |
2622 | } | 2646 | } |
2623 | 2647 | ||
2648 | + | ||
2649 | + | ||
2650 | + | ||
2651 | + | ||
2624 | //-- 如果这个商品是线下取价的时候 -- | 2652 | //-- 如果这个商品是线下取价的时候 -- |
2625 | if (item[c].is_offline && item[c].prom_type != 7) { | 2653 | if (item[c].is_offline && item[c].prom_type != 7) { |
2626 | offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; | 2654 | offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; |