Commit d670eb09d7109a39d572abcd3afd91ed3c8e6f1b
1 parent
ecdefd73
订单促销的优化
Showing
3 changed files
with
210 additions
and
42 deletions
packageE/pages/cart/cart2/cart2.js
| @@ -178,7 +178,17 @@ Page({ | @@ -178,7 +178,17 @@ Page({ | ||
| 178 | yhcx_act_map: {}, | 178 | yhcx_act_map: {}, |
| 179 | 179 | ||
| 180 | //优惠促销购买次数 | 180 | //优惠促销购买次数 |
| 181 | - yhcx_buy_map:{} | 181 | + yhcx_buy_map:{}, |
| 182 | + | ||
| 183 | + //-- 订单促销判断积累 ---2024-2-20 | ||
| 184 | + order_prom_map_ck: { | ||
| 185 | + shop_price_all:0, //手店价的累计 | ||
| 186 | + market_price_all:0, //市场价的累计 | ||
| 187 | + goods_price_all:0, //实收价的累计 | ||
| 188 | + no_ord_price:0, //要累计上不参与订单促销的金额 | ||
| 189 | + goodsList:[], | ||
| 190 | + }, | ||
| 191 | + | ||
| 182 | }, | 192 | }, |
| 183 | 193 | ||
| 184 | 194 | ||
| @@ -1463,8 +1473,6 @@ Page({ | @@ -1463,8 +1473,6 @@ Page({ | ||
| 1463 | 1473 | ||
| 1464 | 1474 | ||
| 1465 | } else { | 1475 | } else { |
| 1466 | - | ||
| 1467 | - | ||
| 1468 | item1.act = th.data.zhhe_act_map[item1.prom_id]; | 1476 | item1.act = th.data.zhhe_act_map[item1.prom_id]; |
| 1469 | } | 1477 | } |
| 1470 | } | 1478 | } |
| @@ -2980,6 +2988,9 @@ Page({ | @@ -2980,6 +2988,9 @@ Page({ | ||
| 2980 | } | 2988 | } |
| 2981 | } | 2989 | } |
| 2982 | 2990 | ||
| 2991 | + //重置订单促销判断累计 | ||
| 2992 | + this.re_set_order_prom_map_ck(); | ||
| 2993 | + | ||
| 2983 | for (var i in c_arr) { | 2994 | for (var i in c_arr) { |
| 2984 | var cart_item = c_arr[i]; | 2995 | var cart_item = c_arr[i]; |
| 2985 | cart_item.prom_pt_json=[]; | 2996 | cart_item.prom_pt_json=[]; |
| @@ -3009,7 +3020,7 @@ Page({ | @@ -3009,7 +3020,7 @@ Page({ | ||
| 3009 | 3020 | ||
| 3010 | //-- 经纬度不循环调用接口 -- | 3021 | //-- 经纬度不循环调用接口 -- |
| 3011 | var lon = 0; var lat = 0; | 3022 | var lon = 0; var lat = 0; |
| 3012 | - //---循环购物车--- | 3023 | + //---循环购物车,按照门店订单进行循环--- |
| 3013 | for (var i in c_arr) { | 3024 | for (var i in c_arr) { |
| 3014 | //因为搭配购买也是再这里计算,搭配购的is_b_now==1 | 3025 | //因为搭配购买也是再这里计算,搭配购的is_b_now==1 |
| 3015 | if (th.data.is_b_now == 0) { | 3026 | if (th.data.is_b_now == 0) { |
| @@ -3053,9 +3064,7 @@ Page({ | @@ -3053,9 +3064,7 @@ Page({ | ||
| 3053 | 3064 | ||
| 3054 | //普通券的时候 | 3065 | //普通券的时候 |
| 3055 | if (quan_no && th.data.using_quan[pickid].isby != 1) { | 3066 | if (quan_no && th.data.using_quan[pickid].isby != 1) { |
| 3056 | - | ||
| 3057 | var IsUserWare=1; | 3067 | var IsUserWare=1; |
| 3058 | - | ||
| 3059 | //---获取优惠券优惠--- | 3068 | //---获取优惠券优惠--- |
| 3060 | await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { | 3069 | await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { |
| 3061 | data: { | 3070 | data: { |
| @@ -3076,13 +3085,10 @@ Page({ | @@ -3076,13 +3085,10 @@ Page({ | ||
| 3076 | quan_price=0; | 3085 | quan_price=0; |
| 3077 | break; | 3086 | break; |
| 3078 | } | 3087 | } |
| 3079 | - | ||
| 3080 | } | 3088 | } |
| 3081 | - | ||
| 3082 | } | 3089 | } |
| 3083 | }) | 3090 | }) |
| 3084 | 3091 | ||
| 3085 | - | ||
| 3086 | if(!IsUserWare){ | 3092 | if(!IsUserWare){ |
| 3087 | 3093 | ||
| 3088 | wx.showToast({ | 3094 | wx.showToast({ |
| @@ -3115,6 +3121,8 @@ Page({ | @@ -3115,6 +3121,8 @@ Page({ | ||
| 3115 | 3121 | ||
| 3116 | if (item[jc].whsle_id > 0) { | 3122 | if (item[jc].whsle_id > 0) { |
| 3117 | whsle_goods_price += item[jc].goods_price * item[jc].goods_num; | 3123 | whsle_goods_price += item[jc].goods_price * item[jc].goods_num; |
| 3124 | + }else if (item[jc].prom_type == 0) { //如果item的prom_type==0,没有如果活动的时候 | ||
| 3125 | + th.get_order_prom_map_ck(item); | ||
| 3118 | } | 3126 | } |
| 3119 | 3127 | ||
| 3120 | var is_no_zh = 0; | 3128 | var is_no_zh = 0; |
| @@ -3124,11 +3132,13 @@ Page({ | @@ -3124,11 +3132,13 @@ Page({ | ||
| 3124 | if (item[jc].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[jc].prom_id] | 3132 | if (item[jc].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[jc].prom_id] |
| 3125 | && th.data.zhhe_act_map[item[jc].prom_id].is_orderyh) { | 3133 | && th.data.zhhe_act_map[item[jc].prom_id].is_orderyh) { |
| 3126 | is_no_zh = 1; | 3134 | is_no_zh = 1; |
| 3135 | + th.get_order_prom_map_ck(item); //有订单优惠叠加的时候,就要构建数据解救 | ||
| 3127 | } | 3136 | } |
| 3128 | //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加,就要累积阶梯促销的金额 | 3137 | //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加,就要累积阶梯促销的金额 |
| 3129 | if (item[jc].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[jc].prom_id] | 3138 | if (item[jc].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[jc].prom_id] |
| 3130 | && th.data.ladder_map[item[jc].prom_id].is_useorderyh) { | 3139 | && th.data.ladder_map[item[jc].prom_id].is_useorderyh) { |
| 3131 | is_no_zh = 1; | 3140 | is_no_zh = 1; |
| 3141 | + th.get_order_prom_map_ck(item); //有订单优惠叠加的时候,就要构建数据解救 | ||
| 3132 | } | 3142 | } |
| 3133 | 3143 | ||
| 3134 | if (is_no_zh) { | 3144 | if (is_no_zh) { |
| @@ -3144,13 +3154,16 @@ Page({ | @@ -3144,13 +3154,16 @@ Page({ | ||
| 3144 | var gd_price=item[jc].goods_price; | 3154 | var gd_price=item[jc].goods_price; |
| 3145 | if(item[jc].account_fir) gd_price=item[jc].account_fir; | 3155 | if(item[jc].account_fir) gd_price=item[jc].account_fir; |
| 3146 | 3156 | ||
| 3147 | - | ||
| 3148 | - //组合购和阶梯购是订单优惠是另外算的 | 3157 | + //组合购和阶梯购是订单优惠是另外算的,不参与订单促销的时候 |
| 3149 | if(!item[jc].is_order_yh && !item[jc].whsle_id && item[jc].prom_type!=7 && item[jc].prom_type!=10){ | 3158 | if(!item[jc].is_order_yh && !item[jc].whsle_id && item[jc].prom_type!=7 && item[jc].prom_type!=10){ |
| 3150 | no_order_yh+=gd_price * item[jc].goods_num; | 3159 | no_order_yh+=gd_price * item[jc].goods_num; |
| 3151 | if(item[jc].quan_num) no_order_yh-=item[jc].quan_num; //券要把他补回去 | 3160 | if(item[jc].quan_num) no_order_yh-=item[jc].quan_num; //券要把他补回去 |
| 3152 | - | ||
| 3153 | } | 3161 | } |
| 3162 | + //参与订单促销的时候 | ||
| 3163 | + if(item[jc].is_order_yh && !item[jc].whsle_id && item[jc].prom_type!=7 && item[jc].prom_type!=10){ | ||
| 3164 | + th.get_order_prom_map_ck(item); //有订单优惠叠加的时候,就要构建数据解救 | ||
| 3165 | + } | ||
| 3166 | + | ||
| 3154 | if(!item[jc].is_post_temp){ | 3167 | if(!item[jc].is_post_temp){ |
| 3155 | no_post_temp+=gd_price * item[jc].goods_num; | 3168 | no_post_temp+=gd_price * item[jc].goods_num; |
| 3156 | if(item[jc].quan_num) no_post_temp-=item[jc].quan_num; //券要把他补回去 | 3169 | if(item[jc].quan_num) no_post_temp-=item[jc].quan_num; //券要把他补回去 |
| @@ -3236,21 +3249,24 @@ Page({ | @@ -3236,21 +3249,24 @@ Page({ | ||
| 3236 | ord_prom_condition=o_price - quan_price - whsle_goods_price - no_order_yh; | 3249 | ord_prom_condition=o_price - quan_price - whsle_goods_price - no_order_yh; |
| 3237 | } | 3250 | } |
| 3238 | 3251 | ||
| 3252 | + //判断订单促销的实收价的累计 | ||
| 3253 | + this.data.order_prom_map_ck.goods_price_all=ord_prom_condition; | ||
| 3239 | //---判断是不是有订单优惠--- | 3254 | //---判断是不是有订单优惠--- |
| 3240 | - await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | ||
| 3241 | - data: { store_id: os.stoid, orderAmount: parseFloat(ord_prom_condition).toFixed(2), user_id: getApp().globalData.user_id } | ||
| 3242 | - }).then(res => { | ||
| 3243 | - if (res.data.code == 0) { | ||
| 3244 | - ord_prom = res.data.data; | ||
| 3245 | - } | ||
| 3246 | - }) | 3255 | + // await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { |
| 3256 | + // data: { store_id: os.stoid, orderAmount: parseFloat(ord_prom_condition).toFixed(2), user_id: getApp().globalData.user_id } | ||
| 3257 | + // }).then(res => { | ||
| 3258 | + // if (res.data.code == 0) { | ||
| 3259 | + // ord_prom = res.data.data; | ||
| 3260 | + // } | ||
| 3261 | + // }) | ||
| 3262 | + //获取当前时间段的进行中的订单促销 | ||
| 3263 | + ord_prom=await th.get_cur_ord_prom(); | ||
| 3247 | 3264 | ||
| 3248 | //如果有使用优惠券,如何订单促销有控制使用优惠券不参与此活动的话 | 3265 | //如果有使用优惠券,如何订单促销有控制使用优惠券不参与此活动的话 |
| 3249 | if(quan_price>0 && ord_prom && ord_prom.is_xz_yh ){ | 3266 | if(quan_price>0 && ord_prom && ord_prom.is_xz_yh ){ |
| 3250 | ord_prom=null; | 3267 | ord_prom=null; |
| 3251 | } | 3268 | } |
| 3252 | 3269 | ||
| 3253 | - | ||
| 3254 | //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- | 3270 | //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- |
| 3255 | if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) { | 3271 | if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) { |
| 3256 | 3272 | ||
| @@ -3300,10 +3316,24 @@ Page({ | @@ -3300,10 +3316,24 @@ Page({ | ||
| 3300 | 3316 | ||
| 3301 | //-- 如果没有订单优惠,或者订单优惠中有勾选包邮模板 -- | 3317 | //-- 如果没有订单优惠,或者订单优惠中有勾选包邮模板 -- |
| 3302 | if (!ord_prom || ord_prom.is_post_temp) { | 3318 | if (!ord_prom || ord_prom.is_post_temp) { |
| 3303 | - var user_addr = th.data.user_addr; | 3319 | + |
| 3320 | + let user_addr = th.data.user_addr; | ||
| 3321 | + let c_wuliu=parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2); | ||
| 3322 | + | ||
| 3323 | + switch (ord_prom && ord_prom.discount_field){ | ||
| 3324 | + case 1: | ||
| 3325 | + | ||
| 3326 | + break; | ||
| 3327 | + case 2: | ||
| 3328 | + | ||
| 3329 | + | ||
| 3330 | + break; | ||
| 3331 | + } | ||
| 3332 | + | ||
| 3333 | + | ||
| 3304 | var req_d = { | 3334 | var req_d = { |
| 3305 | province: user_addr.province, city: user_addr.city, district: user_addr.district, | 3335 | province: user_addr.province, city: user_addr.city, district: user_addr.district, |
| 3306 | - wuliu: parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2), store_id: os.stoid | 3336 | + wuliu: c_wuliu, store_id: os.stoid |
| 3307 | } | 3337 | } |
| 3308 | await getApp().request.promisePost("/api/weshop/order/areaFreight", { | 3338 | await getApp().request.promisePost("/api/weshop/order/areaFreight", { |
| 3309 | is_json: 1, data: req_d | 3339 | is_json: 1, data: req_d |
| @@ -3313,7 +3343,6 @@ Page({ | @@ -3313,7 +3343,6 @@ Page({ | ||
| 3313 | } | 3343 | } |
| 3314 | } | 3344 | } |
| 3315 | 3345 | ||
| 3316 | - | ||
| 3317 | //如果是包邮券的时候,要看看券的情况 | 3346 | //如果是包邮券的时候,要看看券的情况 |
| 3318 | if (quan_no && th.data.using_quan[pickid].isby == 1) { | 3347 | if (quan_no && th.data.using_quan[pickid].isby == 1) { |
| 3319 | var quan = th.data.using_quan[pickid]; | 3348 | var quan = th.data.using_quan[pickid]; |
| @@ -3504,23 +3533,28 @@ Page({ | @@ -3504,23 +3533,28 @@ Page({ | ||
| 3504 | } | 3533 | } |
| 3505 | 3534 | ||
| 3506 | var order_m = 0; | 3535 | var order_m = 0; |
| 3507 | - | ||
| 3508 | //么有使用券,或者活动没有限制使用优惠券 | 3536 | //么有使用券,或者活动没有限制使用优惠券 |
| 3509 | if (ord_prom && (quan_price <= 0 || !ord_prom.is_xz_yh)) { | 3537 | if (ord_prom && (quan_price <= 0 || !ord_prom.is_xz_yh)) { |
| 3510 | order_prom_id = ord_prom['id']; | 3538 | order_prom_id = ord_prom['id']; |
| 3511 | - switch (ord_prom['type']) { | ||
| 3512 | - case 0: | ||
| 3513 | - order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | ||
| 3514 | - order_prom_amount = (o_condition - order_m).toFixed(2); | ||
| 3515 | - break; | ||
| 3516 | - case 1: | ||
| 3517 | - //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | ||
| 3518 | - var bs = 1; | ||
| 3519 | - if (ord_prom.is_bz) { | ||
| 3520 | - bs = Math.floor(o_condition / ord_prom.money); | ||
| 3521 | - } | ||
| 3522 | - order_prom_amount = ord_prom['expression']; | ||
| 3523 | - break; | 3539 | + |
| 3540 | + if(ord_prom.discount_field>0){ | ||
| 3541 | + | ||
| 3542 | + }else{ | ||
| 3543 | + //-- 订单促销是按照实收价格进行计算的时候 -- | ||
| 3544 | + switch (ord_prom['type']) { | ||
| 3545 | + case 0: | ||
| 3546 | + order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | ||
| 3547 | + order_prom_amount = (o_condition - order_m).toFixed(2); | ||
| 3548 | + break; | ||
| 3549 | + case 1: | ||
| 3550 | + //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | ||
| 3551 | + var bs = 1; | ||
| 3552 | + if (ord_prom.is_bz) { | ||
| 3553 | + bs = Math.floor(o_condition / ord_prom.money); | ||
| 3554 | + } | ||
| 3555 | + order_prom_amount = ord_prom['expression']; | ||
| 3556 | + break; | ||
| 3557 | + } | ||
| 3524 | } | 3558 | } |
| 3525 | } | 3559 | } |
| 3526 | 3560 | ||
| @@ -8689,16 +8723,125 @@ Page({ | @@ -8689,16 +8723,125 @@ Page({ | ||
| 8689 | 8723 | ||
| 8690 | //原始数据要有深拷贝不能有地址的牵连 | 8724 | //原始数据要有深拷贝不能有地址的牵连 |
| 8691 | th.data.cartlist_y = JSON.parse(JSON.stringify(goods)) | 8725 | th.data.cartlist_y = JSON.parse(JSON.stringify(goods)) |
| 8692 | - | ||
| 8693 | - | ||
| 8694 | //重新调用cart_next,进行下一步计算 | 8726 | //重新调用cart_next,进行下一步计算 |
| 8695 | wx.showLoading({ | 8727 | wx.showLoading({ |
| 8696 | title: "处理中.", | 8728 | title: "处理中.", |
| 8697 | }) | 8729 | }) |
| 8698 | this.get_cart_next(null, 1, {prom_type: 0, prom_id: 0}); | 8730 | this.get_cart_next(null, 1, {prom_type: 0, prom_id: 0}); |
| 8699 | 8731 | ||
| 8732 | + }, | ||
| 8733 | + | ||
| 8734 | + //---订单促销累计的数据结构的构建,购物车计算流程的那一部分 | ||
| 8735 | + get_order_prom_map_ck(item) { | ||
| 8736 | + this.data.order_prom_map_ck.shop_price_all += item.shop_price * item.goods_num; | ||
| 8737 | + this.data.order_prom_map_ck.market_price_all += item.goods_market_price * item.goods_num; | ||
| 8738 | + let ite = { | ||
| 8739 | + id: item.id, | ||
| 8740 | + goods_id: item.goods_id, | ||
| 8741 | + goods_num: item.goods_num, | ||
| 8742 | + prom_type: item.prom_type | ||
| 8743 | + } | ||
| 8744 | + this.data.order_prom_map_ck.goodsList.push(item); | ||
| 8745 | + }, | ||
| 8746 | + | ||
| 8747 | + //重置订单促销判断累计 | ||
| 8748 | + re_set_order_prom_map_ck() { | ||
| 8749 | + this.data.order_prom_map_ck = { | ||
| 8750 | + shop_price_all: 0, //手店价的累计 | ||
| 8751 | + market_price_all: 0, //市场价的累计 | ||
| 8752 | + goodsList: [], | ||
| 8753 | + } | ||
| 8754 | + }, | ||
| 8755 | + | ||
| 8756 | + //获取当前进行中订单促销,同时带入相应的金额判断订单促销是不是运行,同时订单促销的条件不是实收价判断的话,默认的时候,订单促销是不参与运算的 | ||
| 8757 | + async get_cur_ord_prom() { | ||
| 8758 | + let ord_prom = null; | ||
| 8759 | + let order_prom_map_ck = this.data.order_prom_map_ck; | ||
| 8760 | + | ||
| 8761 | + //获取当前进行中的优惠促销 | ||
| 8762 | + await getApp().request.promiseGet("/api/weshop/promorder/getPromOrder", { | ||
| 8763 | + data: { | ||
| 8764 | + store_id: os.stoid, | ||
| 8765 | + orderAmount: -1, //-1为不判断金额条件 | ||
| 8766 | + user_id: getApp().globalData.user_id | ||
| 8767 | + } | ||
| 8768 | + }).then(res => { | ||
| 8769 | + if (res.data.code == 0) { | ||
| 8770 | + ord_prom = res.data.data; | ||
| 8771 | + } | ||
| 8772 | + }) | ||
| 8773 | + | ||
| 8774 | + if (!ord_prom) return null; | ||
| 8775 | + //用于计算订单促销的金额 | ||
| 8776 | + let calculate_price=0; | ||
| 8777 | + //-- 此时判断活动的金额满足与否 -- | ||
| 8778 | + switch (ord_prom.discount_field) { | ||
| 8779 | + //实收价的时候 | ||
| 8780 | + case 0: | ||
| 8781 | + if (ord_prom.money > order_prom_map_ck.goods_price_all){ | ||
| 8782 | + return null; | ||
| 8783 | + } | ||
| 8784 | + break; | ||
| 8785 | + //手店价的时候 | ||
| 8786 | + case 1: | ||
| 8787 | + if (ord_prom.money > order_prom_map_ck.shop_price_all){ | ||
| 8788 | + return null; | ||
| 8789 | + } | ||
| 8790 | + //要显示订单促销使用的按钮 | ||
| 8791 | + this.setData({ | ||
| 8792 | + show_ord_prom: 1, | ||
| 8793 | + join_ord_prom_goodslist:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | ||
| 8794 | + }); | ||
| 8795 | + //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 | ||
| 8796 | + if (!this.data.can_use_ord_prom) { | ||
| 8797 | + return null; | ||
| 8798 | + } | ||
| 8799 | + calculate_price=order_prom_map_ck.shop_price_all; | ||
| 8800 | + | ||
| 8801 | + break; | ||
| 8802 | + //市场价的时候 | ||
| 8803 | + case 2: | ||
| 8804 | + if (ord_prom.money > order_prom_map_ck.market_price_all){ | ||
| 8805 | + return null; | ||
| 8806 | + } | ||
| 8807 | + //要显示订单促销使用的按钮 | ||
| 8808 | + this.setData({ | ||
| 8809 | + show_ord_prom: 2, | ||
| 8810 | + join_ord_prom_goodslist:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | ||
| 8811 | + }); | ||
| 8812 | + //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 | ||
| 8813 | + if (!this.data.can_use_ord_prom) { | ||
| 8814 | + return null; | ||
| 8815 | + } | ||
| 8816 | + calculate_price = order_prom_map_ck.market_price_all; | ||
| 8817 | + break; | ||
| 8818 | + } | ||
| 8819 | + | ||
| 8820 | + if (calculate_price > 0) { | ||
| 8821 | + //-- 订单促销是按照实收价格进行计算的时候 -- | ||
| 8822 | + switch (ord_prom['type']) { | ||
| 8823 | + case 0: | ||
| 8824 | + order_m = Math.round(calculate_price * ord_prom['expression']) / 100;//满额打折 | ||
| 8825 | + order_prom_amount = (calculate_price - order_m).toFixed(2); | ||
| 8826 | + break; | ||
| 8827 | + case 1: | ||
| 8828 | + //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | ||
| 8829 | + var bs = 1; | ||
| 8830 | + if (ord_prom.is_bz) { | ||
| 8831 | + bs = Math.floor(calculate_price / ord_prom.money); | ||
| 8832 | + } | ||
| 8833 | + order_prom_amount = ord_prom['expression']; | ||
| 8834 | + break; | ||
| 8835 | + } | ||
| 8836 | + //保存到订单促销中,订单促销的金额 | ||
| 8837 | + ord_prom.real_order_prom_amount = order_prom_amount; | ||
| 8838 | + ord_prom.real_condition_price = calculate_price; | ||
| 8839 | + } | ||
| 8840 | + return ord_prom; | ||
| 8700 | 8841 | ||
| 8701 | } | 8842 | } |
| 8702 | 8843 | ||
| 8703 | 8844 | ||
| 8845 | + | ||
| 8846 | + | ||
| 8704 | }); | 8847 | }); |
packageE/pages/cart/cart2/cart2.wxml
| @@ -107,7 +107,8 @@ | @@ -107,7 +107,8 @@ | ||
| 107 | 107 | ||
| 108 | <!-----商品名称规格------> | 108 | <!-----商品名称规格------> |
| 109 | <view class="order-num flex-space-between"> | 109 | <view class="order-num flex-space-between"> |
| 110 | - <view wx:if="{{items.prom_type==10}}" class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text><text>({{items.discount}}折)</text></view> | 110 | + <view wx:if="{{can_use_ord_prom}}" class="co-red">¥<text class="fs36">{{util.fm_join_ord_prom_price(items,join_ord_prom_goodslist,item.show_ord_prom,2)}}</text></view> |
| 111 | + <view wx:elif="{{items.prom_type==10}}" class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text><text>({{items.discount}}折)</text></view> | ||
| 111 | <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | 112 | <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> |
| 112 | <view style="color: red;" wx:if="{{items.use_commission && items.use_commission*1>0}}">佣金:{{filters.toFix(items.use_commission/items.goods_num,2)}}*{{items.goods_num}}</view> | 113 | <view style="color: red;" wx:if="{{items.use_commission && items.use_commission*1>0}}">佣金:{{filters.toFix(items.use_commission/items.goods_num,2)}}*{{items.goods_num}}</view> |
| 113 | <view class="goods-num">x{{items.goods_num}}</view> | 114 | <view class="goods-num">x{{items.goods_num}}</view> |
packageE/pages/cart/cart2/filter.wxs
| @@ -49,14 +49,38 @@ function check_is_last(index,goods_id){ | @@ -49,14 +49,38 @@ function check_is_last(index,goods_id){ | ||
| 49 | return true; | 49 | return true; |
| 50 | } | 50 | } |
| 51 | return false; | 51 | return false; |
| 52 | - | ||
| 53 | } | 52 | } |
| 54 | 53 | ||
| 54 | +//-- 用于筛选商品的价格显示 -- | ||
| 55 | +function fm_join_ord_prom_price(gd,join_gd_list,show_ord_prom,count){ | ||
| 56 | + var price=gd.goods_price; | ||
| 57 | + //在join_gd_list中查找是否已经存在gd商品,靠购物车的id来判断 | ||
| 58 | + for(var i=0;i<join_gd_list.length;i++){ | ||
| 59 | + var jgd=join_gd_list[i]; | ||
| 60 | + if(jgd.id==gd.id){ | ||
| 61 | + switch (show_ord_prom){ | ||
| 62 | + case 1: | ||
| 63 | + price=gd.shop_price; | ||
| 64 | + break; | ||
| 65 | + case 2: | ||
| 66 | + price=gd.goods_market_price; | ||
| 67 | + break; | ||
| 68 | + } | ||
| 69 | + break; | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + if (!price) { | ||
| 73 | + return parseFloat(0).toFixed(count); | ||
| 74 | + } | ||
| 75 | + val = parseFloat(val); | ||
| 76 | + return val.toFixed(count); | ||
| 77 | +} | ||
| 55 | 78 | ||
| 56 | 79 | ||
| 57 | module.exports = { | 80 | module.exports = { |
| 58 | format: format, | 81 | format: format, |
| 59 | is_more_act:is_more_act, | 82 | is_more_act:is_more_act, |
| 60 | check_show:check_show, | 83 | check_show:check_show, |
| 61 | - check_is_last:check_is_last | 84 | + check_is_last:check_is_last, |
| 85 | + fm_join_ord_prom_price:fm_join_ord_prom_price, | ||
| 62 | } | 86 | } |