diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index fa7f0cc..d169b44 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -60,7 +60,9 @@ Page({ is_cart:1, //标记是购物车计算的时候 //送赠品的优化 - cart_zp:{} + cart_zp:{}, + //-- dp_cart深拷贝的缓存 -- + dp_cart:null }, @@ -933,6 +935,8 @@ Page({ } } + //-- 2024-2-3 深拷贝数据缓存 -- + th.data.dp_car=ut.deep_cp(arr); th.setData({ requestData: arr, all_num: all_num, @@ -2463,6 +2467,9 @@ Page({ th.data.pitems=-1; } + + + for (var a = 0; a < car.length; a++) { var ite1 = car[a].goods; if(car.length>1 && c_ind>-1 && a==c_ind ){ @@ -2587,6 +2594,7 @@ Page({ zh_calc.remove_zhprom(car, a, obj); ladder_calc.remove_ladder_prom(car, a, obj); + //-- 如果是未选中的时候 -- if (item[c].selected == 0) { ischeck = 0; is_s_sele = 0; @@ -2600,9 +2608,16 @@ Page({ ladder_calc.add_ladder_prom(car, a, obj); } + //-- 如果价格有发生变动,要更新界面中的价格显示,还原价格 -- + let txt='requestData['+a+'].goods['+c+'].goods_price'; + th.setData({ + [txt]:th.data.dp_car[a].goods[c].goods_price + }) + } else { + //-- 如果是选中的时候 -- if (item[c].prom_type == 7) { //先把商品放入组合计算的专用的区域 console.log('是组合商品---') @@ -2617,10 +2632,23 @@ Page({ //console.log("索引:"+c+",数量:"+item[c].goods_num+",单价:"+item[c].goods_price+",合计:"+item[c].goods_num * item[c].goods_price+",商品:"+item[c].goods_name); tfeel += item[c].goods_num * item[c].goods_price; //console.log("累计:"+tfeel); + + //-- 如果价格有发生变动,要更新界面中的价格显示 -- + if(item[c].goods_price!=th.data.dp_car[a].goods[c].goods_price){ + let txt='requestData['+a+'].goods['+c+'].goods_price'; + th.setData({ + [txt]:item[c].goods_price + }) + } + } t_num += item[c].goods_num; } + + + + //-- 如果这个商品是线下取价的时候 -- if (item[c].is_offline && item[c].prom_type != 7) { offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;