Commit d96122807a6ab986627271b9ef3286d08013dec5

Authored by yvan.ni
1 parent 978b96a2

优化完成

components/promate_pop/promate_pop.wxss
... ... @@ -261,6 +261,7 @@
261 261 .xc-hook.on {
262 262 transform: rotate(-135deg);
263 263 background-color: #d60021;
  264 + font-size: 24rpx
264 265 }
265 266  
266 267 @import '../../app.wxss';
... ...
packageE/pages/cart/cart2/cart2.js
... ... @@ -1294,7 +1294,7 @@ Page({
1294 1294 await m_cx.cart_cx_group(th, arr[k].goods, c_item, 0, 0, (show_can_cx) => {
1295 1295  
1296 1296 arr[k].show_can_cx = show_can_cx;
1297   - })
  1297 + },2)
1298 1298 } else {
1299 1299 var show_can_cx = this.data.cartlist[k].show_can_cx;
1300 1300 //-- 多促销活动的优化 --
... ...
pages/cart/cart/cart.js
... ... @@ -855,6 +855,7 @@ Page({
855 855 item.selected = 0;
856 856 item.erpwareid = good.erpwareid; //要同步下线商品的id
857 857 item.shop_price = good.shop_price; //要同步下线商品的id
  858 + item.init_goods_price=good.goods_price;
858 859  
859 860 //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 --
860 861 if (item.prom_type == 0)
... ... @@ -1559,6 +1560,10 @@ Page({
1559 1560 var fir = 0;
1560 1561 for (var j = 0; j < item.length; j++) {
1561 1562 if (item[j].is_gift) continue;
  1563 +
  1564 + //把价格还原
  1565 + item[j].goods_price=item[j].init_goods_price;
  1566 +
1562 1567 var obj = JSON.parse(JSON.stringify(item[j]));
1563 1568 var gd_info=obj;
1564 1569  
... ... @@ -2078,6 +2083,7 @@ Page({
2078 2083 this.data.btn_click = 1;
2079 2084 var garr = e.data.service_data;
2080 2085  
  2086 + //之前没有选中,代表现在要选中
2081 2087 if (!a.selected) {
2082 2088  
2083 2089 //如果是标记的时候
... ... @@ -2385,7 +2391,7 @@ Page({
2385 2391 //不需要修改价格
2386 2392 await m_cx.cart_cx_group(th, ite1, car[a], 0, n_ok, (show_can_cx) => {
2387 2393 rd_arr.push(show_can_cx)
2388   - },1)
  2394 + })
2389 2395 }
2390 2396  
2391 2397 if(car.length>1 && c_ind>-1){
... ... @@ -2393,7 +2399,7 @@ Page({
2393 2399 //检验和设置商品的最终是以 取用什么活动,因为多促销
2394 2400 await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => {
2395 2401 rd_arr[c_ind]=show_can_cx;
2396   - },1)
  2402 + })
2397 2403 }
2398 2404  
2399 2405 for (var a = 0; a < car.length; a++) {
... ... @@ -4012,7 +4018,7 @@ Page({
4012 4018  
4013 4019 //如果会员是等级会员,商品有等级价,且不是活动商品
4014 4020 if (card_field && val[card_field] > 0 &&
4015   - ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 3 || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) {
  4021 + ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) {
4016 4022 if (g_arr[i].goods_price != val[card_field]) {
4017 4023 isok = 0;
4018 4024 gname = val.goods_name;
... ... @@ -5104,8 +5110,11 @@ Page({
5104 5110  
5105 5111 var th = this;
5106 5112 var car = JSON.parse(JSON.stringify(this.data.requestData));
5107   - var item = car[c_idx].goods,
5108   - is_s_sele = 1;
  5113 + var item = car[c_idx].goods, is_s_sele = 1;
  5114 +
  5115 + for (var i = 0; i < item.length; i++) {
  5116 + item[i].goods_price = item[i].init_goods_price;
  5117 + }
5109 5118  
5110 5119 var is_has_other = 0;
5111 5120 for (var ii = 0; ii < car.length; ii++) {
... ... @@ -5126,15 +5135,16 @@ Page({
5126 5135 }
5127 5136 //-- 让选择进入对应 --
5128 5137 for (var i = 0; i < item.length; i++) {
5129   - if (sele_arr.hasOwnProperty(i)) {
5130   - item[i].selected = sele_arr[i];
5131   - }
  5138 + if (sele_arr.hasOwnProperty(i)) {
  5139 + item[i].selected = sele_arr[i];
  5140 + }
5132 5141 }
  5142 +
5133 5143 //-- 先批量判断一下活动的类型,同时要同步跟新 --
5134 5144 m_cx.cart_cx_group(this, item, car[c_idx], 0, 0, (show_can_cx) => {
5135 5145 car[c_idx].show_can_cx = show_can_cx;
5136 5146 th.cx_check_ok2(func, car);
5137   - },1);
  5147 + });
5138 5148  
5139 5149 },
5140 5150  
... ... @@ -5257,6 +5267,7 @@ Page({
5257 5267 }
5258 5268 }
5259 5269 }
  5270 +
5260 5271 func({
5261 5272 'code': 0,
5262 5273 'msg': '成功'
... ...
utils/more_cx.js
... ... @@ -364,8 +364,29 @@ module.exports = {
364 364 return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1;
365 365 })
366 366 if(fg>-1){
  367 +
  368 + goods[fg].goods_price = goods[fg].init_goods_price;
367 369 goods[fg].prom_type=ck_prom_type.prom_type;
368 370 goods[fg].prom_id=ck_prom_type.prom_id;
  371 +
  372 + if(ck_prom_type.prom_type==3){
  373 + let ffd=th.data.in_yhact[ck_prom_type.prom_id];
  374 + let f_price = goods[fg].goods_price;
  375 + if (ffd.discount_field != undefined) {
  376 + switch (ffd.discount_field) {
  377 + case 0:
  378 + f_price = goods[fg].goods_price;
  379 + break;
  380 + case 1:
  381 + f_price = goods[fg].shop_price;
  382 + break;
  383 + case 2:
  384 + f_price = goods[fg].goods_market_price;
  385 + break;
  386 + }
  387 + }
  388 + goods[fg].goods_price = f_price;
  389 + }
369 390 }
370 391 }
371 392  
... ... @@ -402,7 +423,10 @@ module.exports = {
402 423 //-- 促销活动对象表,最初的map表,包含活动类型,活动id,goods商品 ---
403 424 var cx_act_map=[];
404 425 for(var i=0; i<goods.length;i++){
405   - var c_item=goods[i];
  426 + //商品的价格要还原
  427 + goods[i].goods_price=goods[i].init_goods_price;
  428 + //进行深拷贝
  429 + var c_item=JSON.parse(JSON.stringify(goods[i]));
406 430 //没有选中
407 431 if(!c_item.selected) continue;
408 432 //如果是秒杀之类是商品
... ... @@ -525,7 +549,7 @@ module.exports = {
525 549 for(var f=0;f<t_goods.length;f++){
526 550 all_num+=t_goods[f].goods_num;
527 551  
528   - if(!is_no_change) {
  552 + if(is_no_change!=1) {
529 553 //-- 优惠促销取价的优化 --
530 554 let f_price = t_goods[f].goods_price;
531 555 if (fd.discount_field != undefined) {
... ... @@ -751,6 +775,25 @@ module.exports = {
751 775 if(fg>-1){
752 776 goods[fg].prom_type=ck_prom_type.prom_type;
753 777 goods[fg].prom_id=ck_prom_type.prom_id;
  778 +
  779 + if(ck_prom_type.prom_type==3 && (is_no_change!=2 || ck_prom_type.is_no_ok!=1) ){
  780 + let ffd=th.data.in_yhact[ck_prom_type.prom_id];
  781 + let f_price = goods[fg].goods_price;
  782 + if (ffd.discount_field != undefined) {
  783 + switch (ffd.discount_field) {
  784 + case 0:
  785 + f_price = goods[fg].goods_price;
  786 + break;
  787 + case 1:
  788 + f_price = goods[fg].shop_price;
  789 + break;
  790 + case 2:
  791 + f_price = goods[fg].goods_market_price;
  792 + break;
  793 + }
  794 + }
  795 + goods[fg].goods_price = f_price;
  796 + }
754 797 }
755 798 }
756 799 }
... ...