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 | 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 | 935 | } |
| 934 | 936 | } |
| 935 | 937 | |
| 938 | + //-- 2024-2-3 深拷贝数据缓存 -- | |
| 939 | + th.data.dp_car=ut.deep_cp(arr); | |
| 936 | 940 | th.setData({ |
| 937 | 941 | requestData: arr, |
| 938 | 942 | all_num: all_num, |
| ... | ... | @@ -2463,6 +2467,9 @@ Page({ |
| 2463 | 2467 | th.data.pitems=-1; |
| 2464 | 2468 | } |
| 2465 | 2469 | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2466 | 2473 | for (var a = 0; a < car.length; a++) { |
| 2467 | 2474 | var ite1 = car[a].goods; |
| 2468 | 2475 | if(car.length>1 && c_ind>-1 && a==c_ind ){ |
| ... | ... | @@ -2587,6 +2594,7 @@ Page({ |
| 2587 | 2594 | zh_calc.remove_zhprom(car, a, obj); |
| 2588 | 2595 | ladder_calc.remove_ladder_prom(car, a, obj); |
| 2589 | 2596 | |
| 2597 | + //-- 如果是未选中的时候 -- | |
| 2590 | 2598 | if (item[c].selected == 0) { |
| 2591 | 2599 | ischeck = 0; |
| 2592 | 2600 | is_s_sele = 0; |
| ... | ... | @@ -2600,9 +2608,16 @@ Page({ |
| 2600 | 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 | 2618 | } else { |
| 2605 | 2619 | |
| 2620 | + //-- 如果是选中的时候 -- | |
| 2606 | 2621 | if (item[c].prom_type == 7) { |
| 2607 | 2622 | //先把商品放入组合计算的专用的区域 |
| 2608 | 2623 | console.log('是组合商品---') |
| ... | ... | @@ -2617,10 +2632,23 @@ Page({ |
| 2617 | 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 | 2633 | tfeel += item[c].goods_num * item[c].goods_price; |
| 2619 | 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 | 2645 | t_num += item[c].goods_num; |
| 2622 | 2646 | } |
| 2623 | 2647 | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2624 | 2652 | //-- 如果这个商品是线下取价的时候 -- |
| 2625 | 2653 | if (item[c].is_offline && item[c].prom_type != 7) { |
| 2626 | 2654 | offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; | ... | ... |