Commit 8dd423ba924d4a6bbd158e8cdb17027a62cbcaa4
1 parent
c608a345
确认订单页面的优化
Showing
3 changed files
with
167 additions
and
40 deletions
packageE/pages/cart/cart2/cart2.js
@@ -181,13 +181,12 @@ Page({ | @@ -181,13 +181,12 @@ Page({ | ||
181 | yhcx_buy_map:{}, | 181 | yhcx_buy_map:{}, |
182 | 182 | ||
183 | //-- 订单促销判断积累 ---2024-2-20 | 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 | - }, | 184 | + order_prom_map_ck: {}, |
185 | + | ||
186 | + //能不能使用订单促销 | ||
187 | + can_use_ord_prom:{}, | ||
188 | + show_ord_prom:{}, | ||
189 | + join_ord_prom_goodslist:{} | ||
191 | 190 | ||
192 | }, | 191 | }, |
193 | 192 | ||
@@ -1043,6 +1042,23 @@ Page({ | @@ -1043,6 +1042,23 @@ Page({ | ||
1043 | for (var i = 0; i < carr.length; i++) { | 1042 | for (var i = 0; i < carr.length; i++) { |
1044 | 1043 | ||
1045 | let item1 = carr[i]; | 1044 | let item1 = carr[i]; |
1045 | + | ||
1046 | + //如果有户有点击参与订单促销的话,那么可以参与订单促销的商品的活动都要清理成0 | ||
1047 | + if(this.data.can_use_ord_prom[item.pick_id]){ | ||
1048 | + //从订单促销的order_prom_map_ck数据结构中获取到可以参与的商品列表 | ||
1049 | + let gdlist=this.data.order_prom_map_ck[item.pick_id]?this.data.order_prom_map_ck[item.pick_id].goodsList:null; | ||
1050 | + if(gdlist && gdlist.length){ | ||
1051 | + //查找商品item1有没有在gdlist中,就要把商品的prom_type清理0 | ||
1052 | + let f_idx=gdlist.findIndex(function (ele) { | ||
1053 | + return ele.id == item1.id | ||
1054 | + }); | ||
1055 | + if (f_idx!=-1){ | ||
1056 | + carr[i].prom_type=0; | ||
1057 | + continue; //要跳过 | ||
1058 | + } | ||
1059 | + } | ||
1060 | + } | ||
1061 | + | ||
1046 | //如果不是活动的时候,不是代发商品的时候,不是赠品的时候,不是阶梯商品拆分的,不是组合购拆分的 | 1062 | //如果不是活动的时候,不是代发商品的时候,不是赠品的时候,不是阶梯商品拆分的,不是组合购拆分的 |
1047 | if([1, 2, 4, 6, 8, 9].indexOf(item1.prom_type)== -1 && !item1.whsle_id | 1063 | if([1, 2, 4, 6, 8, 9].indexOf(item1.prom_type)== -1 && !item1.whsle_id |
1048 | && !item1.is_gift && !item1.is_ld_split && !item1.is_zh_split ){ | 1064 | && !item1.is_gift && !item1.is_ld_split && !item1.is_zh_split ){ |
@@ -3058,6 +3074,8 @@ Page({ | @@ -3058,6 +3074,8 @@ Page({ | ||
3058 | 3074 | ||
3059 | var no_order_yh = 0; //-- 有些活动不能和订单优惠叠加的金额 -- | 3075 | var no_order_yh = 0; //-- 有些活动不能和订单优惠叠加的金额 -- |
3060 | var no_post_temp = 0; //-- 有些活动不能和包邮模板的金额 -- | 3076 | var no_post_temp = 0; //-- 有些活动不能和包邮模板的金额 -- |
3077 | + var no_post_temp_shop_price = 0; //-- 有些活动不能和包邮模板的金额 --因为订单促销有手店价取价 | ||
3078 | + var no_post_temp_market_price = 0; //-- 有些活动不能和包邮模板的金额 --因为订单促销有市场价取价 | ||
3061 | 3079 | ||
3062 | if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) | 3080 | if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) |
3063 | quan_no = th.data.using_quan[pickid].coupon_no; | 3081 | quan_no = th.data.using_quan[pickid].coupon_no; |
@@ -3114,15 +3132,22 @@ Page({ | @@ -3114,15 +3132,22 @@ Page({ | ||
3114 | 3132 | ||
3115 | 3133 | ||
3116 | var whsle_goods_price = 0; | 3134 | var whsle_goods_price = 0; |
3135 | + var whsle_shop_price = 0; | ||
3136 | + var whsle_market_price = 0; | ||
3137 | + | ||
3117 | var no_zh_all_quan_num=0; //不是组合购商品的使用的优惠券综合 | 3138 | var no_zh_all_quan_num=0; //不是组合购商品的使用的优惠券综合 |
3118 | 3139 | ||
3119 | //--------循环计算总价----------- | 3140 | //--------循环计算总价----------- |
3120 | for (var jc = 0; jc < item.length; jc++) { | 3141 | for (var jc = 0; jc < item.length; jc++) { |
3121 | 3142 | ||
3143 | + if (item[jc].prom_type == 0) { //如果item的prom_type==0,没有如果活动的时候 | ||
3144 | + th.get_order_prom_map_ck(item,pickid); | ||
3145 | + } | ||
3146 | + | ||
3122 | if (item[jc].whsle_id > 0) { | 3147 | if (item[jc].whsle_id > 0) { |
3123 | whsle_goods_price += item[jc].goods_price * item[jc].goods_num; | 3148 | 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); | 3149 | + whsle_shop_price += item[jc].shop_price * item[jc].goods_num; |
3150 | + whsle_market_price += item[jc].goods_market_price * item[jc].goods_num; | ||
3126 | } | 3151 | } |
3127 | 3152 | ||
3128 | var is_no_zh = 0; | 3153 | var is_no_zh = 0; |
@@ -3132,13 +3157,13 @@ Page({ | @@ -3132,13 +3157,13 @@ Page({ | ||
3132 | if (item[jc].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[jc].prom_id] | 3157 | if (item[jc].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[jc].prom_id] |
3133 | && th.data.zhhe_act_map[item[jc].prom_id].is_orderyh) { | 3158 | && th.data.zhhe_act_map[item[jc].prom_id].is_orderyh) { |
3134 | is_no_zh = 1; | 3159 | is_no_zh = 1; |
3135 | - th.get_order_prom_map_ck(item); //有订单优惠叠加的时候,就要构建数据解救 | 3160 | + th.get_order_prom_map_ck(item[jc],pickid); //有订单优惠叠加的时候,就要构建数据解救 |
3136 | } | 3161 | } |
3137 | //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加,就要累积阶梯促销的金额 | 3162 | //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加,就要累积阶梯促销的金额 |
3138 | if (item[jc].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[jc].prom_id] | 3163 | if (item[jc].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[jc].prom_id] |
3139 | && th.data.ladder_map[item[jc].prom_id].is_useorderyh) { | 3164 | && th.data.ladder_map[item[jc].prom_id].is_useorderyh) { |
3140 | is_no_zh = 1; | 3165 | is_no_zh = 1; |
3141 | - th.get_order_prom_map_ck(item); //有订单优惠叠加的时候,就要构建数据解救 | 3166 | + th.get_order_prom_map_ck(item[jc],pickid); //有订单优惠叠加的时候,就要构建数据解救 |
3142 | } | 3167 | } |
3143 | 3168 | ||
3144 | if (is_no_zh) { | 3169 | if (is_no_zh) { |
@@ -3161,16 +3186,23 @@ Page({ | @@ -3161,16 +3186,23 @@ Page({ | ||
3161 | } | 3186 | } |
3162 | //参与订单促销的时候 | 3187 | //参与订单促销的时候 |
3163 | if(item[jc].is_order_yh && !item[jc].whsle_id && item[jc].prom_type!=7 && item[jc].prom_type!=10){ | 3188 | 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); //有订单优惠叠加的时候,就要构建数据解救 | 3189 | + th.get_order_prom_map_ck(item[jc],pickid); //有订单优惠叠加的时候,就要构建数据解救 |
3165 | } | 3190 | } |
3166 | 3191 | ||
3167 | if(!item[jc].is_post_temp){ | 3192 | if(!item[jc].is_post_temp){ |
3168 | no_post_temp+=gd_price * item[jc].goods_num; | 3193 | no_post_temp+=gd_price * item[jc].goods_num; |
3194 | + no_post_temp_shop_price+=item[jc].shop_price * item[jc].goods_num; | ||
3195 | + no_post_temp_market_price+=item[jc].goods_market_price * item[jc].goods_num; | ||
3169 | if(item[jc].quan_num) no_post_temp-=item[jc].quan_num; //券要把他补回去 | 3196 | if(item[jc].quan_num) no_post_temp-=item[jc].quan_num; //券要把他补回去 |
3170 | } | 3197 | } |
3171 | } | 3198 | } |
3199 | + | ||
3200 | + //-- 商品是不是没有参与优惠促销的话 -- | ||
3201 | + th.ch_no_order_prom_map_ck(item[jc],pickid) | ||
3172 | } | 3202 | } |
3173 | 3203 | ||
3204 | + | ||
3205 | + | ||
3174 | //判断是不是有组合购的金额 | 3206 | //判断是不是有组合购的金额 |
3175 | var f_o_price = o_price; | 3207 | var f_o_price = o_price; |
3176 | //如果又优惠的钱,就要减价 | 3208 | //如果又优惠的钱,就要减价 |
@@ -3250,7 +3282,16 @@ Page({ | @@ -3250,7 +3282,16 @@ Page({ | ||
3250 | } | 3282 | } |
3251 | 3283 | ||
3252 | //判断订单促销的实收价的累计 | 3284 | //判断订单促销的实收价的累计 |
3253 | - this.data.order_prom_map_ck.goods_price_all=ord_prom_condition; | 3285 | + if(!this.data.order_prom_map_ck[pickid]){ |
3286 | + this.data.order_prom_map_ck[pickid]={ | ||
3287 | + shop_price_all:0, //手店价的累计 | ||
3288 | + market_price_all:0, //市场价的累计 | ||
3289 | + goods_price_all:0, //实收价的累计 | ||
3290 | + no_ord_price:0, //要累计上不参与订单促销的金额 | ||
3291 | + goodsList:[], | ||
3292 | + } | ||
3293 | + } | ||
3294 | + this.data.order_prom_map_ck[pickid].goods_price_all=ord_prom_condition; | ||
3254 | //---判断是不是有订单优惠--- | 3295 | //---判断是不是有订单优惠--- |
3255 | // await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | 3296 | // 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 } | 3297 | // data: { store_id: os.stoid, orderAmount: parseFloat(ord_prom_condition).toFixed(2), user_id: getApp().globalData.user_id } |
@@ -3260,7 +3301,7 @@ Page({ | @@ -3260,7 +3301,7 @@ Page({ | ||
3260 | // } | 3301 | // } |
3261 | // }) | 3302 | // }) |
3262 | //获取当前时间段的进行中的订单促销 | 3303 | //获取当前时间段的进行中的订单促销 |
3263 | - ord_prom=await th.get_cur_ord_prom(); | 3304 | + ord_prom=await th.get_cur_ord_prom(pickid); |
3264 | 3305 | ||
3265 | //如果有使用优惠券,如何订单促销有控制使用优惠券不参与此活动的话 | 3306 | //如果有使用优惠券,如何订单促销有控制使用优惠券不参与此活动的话 |
3266 | if(quan_price>0 && ord_prom && ord_prom.is_xz_yh ){ | 3307 | if(quan_price>0 && ord_prom && ord_prom.is_xz_yh ){ |
@@ -3320,17 +3361,16 @@ Page({ | @@ -3320,17 +3361,16 @@ Page({ | ||
3320 | let user_addr = th.data.user_addr; | 3361 | let user_addr = th.data.user_addr; |
3321 | let c_wuliu=parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2); | 3362 | let c_wuliu=parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2); |
3322 | 3363 | ||
3364 | + //-- 因为订单促销的取价规则,所以要判断一下各种情况 -- | ||
3323 | switch (ord_prom && ord_prom.discount_field){ | 3365 | switch (ord_prom && ord_prom.discount_field){ |
3324 | case 1: | 3366 | case 1: |
3325 | - | 3367 | + c_wuliu=parseFloat(ord_prom.real_condition_price - whsle_shop_price - no_post_temp_shop_price).toFixed(2); |
3326 | break; | 3368 | break; |
3327 | case 2: | 3369 | case 2: |
3328 | - | ||
3329 | - | 3370 | + c_wuliu=parseFloat(ord_prom.real_condition_price - whsle_market_price - no_post_temp_market_price).toFixed(2); |
3330 | break; | 3371 | break; |
3331 | } | 3372 | } |
3332 | 3373 | ||
3333 | - | ||
3334 | var req_d = { | 3374 | var req_d = { |
3335 | province: user_addr.province, city: user_addr.city, district: user_addr.district, | 3375 | province: user_addr.province, city: user_addr.city, district: user_addr.district, |
3336 | wuliu: c_wuliu, store_id: os.stoid | 3376 | wuliu: c_wuliu, store_id: os.stoid |
@@ -8732,31 +8772,69 @@ Page({ | @@ -8732,31 +8772,69 @@ Page({ | ||
8732 | }, | 8772 | }, |
8733 | 8773 | ||
8734 | //---订单促销累计的数据结构的构建,购物车计算流程的那一部分 | 8774 | //---订单促销累计的数据结构的构建,购物车计算流程的那一部分 |
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; | 8775 | + get_order_prom_map_ck(item,pickid) { |
8776 | + | ||
8777 | + var order_prom_map_ck= this.data.order_prom_map_ck; | ||
8778 | + if(!order_prom_map_ck[pickid]){ | ||
8779 | + order_prom_map_ck[pickid]={ | ||
8780 | + shop_price_all:0, //手店价的累计 | ||
8781 | + market_price_all:0, //市场价的累计 | ||
8782 | + goods_price_all:0, //实收价的累计 | ||
8783 | + no_ord_price:0, //要累计上不参与订单促销的金额 | ||
8784 | + goodsList:[], | ||
8785 | + } | ||
8786 | + } | ||
8787 | + | ||
8788 | + let pk_ord_map=order_prom_map_ck[pickid]; | ||
8789 | + pk_ord_map.shop_price_all += item.shop_price * item.goods_num; | ||
8790 | + pk_ord_map.market_price_all += item.goods_market_price * item.goods_num; | ||
8791 | + | ||
8738 | let ite = { | 8792 | let ite = { |
8739 | id: item.id, | 8793 | id: item.id, |
8740 | goods_id: item.goods_id, | 8794 | goods_id: item.goods_id, |
8741 | goods_num: item.goods_num, | 8795 | goods_num: item.goods_num, |
8742 | prom_type: item.prom_type | 8796 | prom_type: item.prom_type |
8743 | } | 8797 | } |
8744 | - this.data.order_prom_map_ck.goodsList.push(item); | 8798 | + pk_ord_map.goodsList.push(ite); |
8799 | + | ||
8800 | + console.log('pk_ord_map'); | ||
8801 | + console.log(pk_ord_map); | ||
8802 | + | ||
8803 | + }, | ||
8804 | + | ||
8805 | + //寻找一下商品有没有参与订单促销 | ||
8806 | + ch_no_order_prom_map_ck(item,pickid){ | ||
8807 | + var order_prom_map_ck= this.data.order_prom_map_ck; | ||
8808 | + if(!order_prom_map_ck[pickid]){ | ||
8809 | + order_prom_map_ck[pickid]={ | ||
8810 | + shop_price_all:0, //手店价的累计 | ||
8811 | + market_price_all:0, //市场价的累计 | ||
8812 | + goods_price_all:0, //实收价的累计 | ||
8813 | + no_ord_price:0, //要累计上不参与订单促销的金额 | ||
8814 | + goodsList:[], | ||
8815 | + } | ||
8816 | + } | ||
8817 | + let pk_ord_map=order_prom_map_ck[pickid]; | ||
8818 | + | ||
8819 | + //快速查找item有没有在goodsList中 | ||
8820 | + var fg = pk_ord_map.goodsList.findIndex(function (ite){ | ||
8821 | + return ite.id==item.id | ||
8822 | + }) | ||
8823 | + if(fg==-1){ | ||
8824 | + pk_ord_map.no_ord_price= item.goods_price * item.goods_num; | ||
8825 | + } | ||
8745 | }, | 8826 | }, |
8746 | 8827 | ||
8747 | //重置订单促销判断累计 | 8828 | //重置订单促销判断累计 |
8748 | re_set_order_prom_map_ck() { | 8829 | 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 | - } | 8830 | + this.data.order_prom_map_ck = {} |
8754 | }, | 8831 | }, |
8755 | 8832 | ||
8756 | //获取当前进行中订单促销,同时带入相应的金额判断订单促销是不是运行,同时订单促销的条件不是实收价判断的话,默认的时候,订单促销是不参与运算的 | 8833 | //获取当前进行中订单促销,同时带入相应的金额判断订单促销是不是运行,同时订单促销的条件不是实收价判断的话,默认的时候,订单促销是不参与运算的 |
8757 | - async get_cur_ord_prom() { | 8834 | + async get_cur_ord_prom(pickid) { |
8758 | let ord_prom = null; | 8835 | let ord_prom = null; |
8759 | - let order_prom_map_ck = this.data.order_prom_map_ck; | 8836 | + let order_prom_map_ck = this.data.order_prom_map_ck[pickid]; |
8837 | + if(!order_prom_map_ck) return null; | ||
8760 | 8838 | ||
8761 | //获取当前进行中的优惠促销 | 8839 | //获取当前进行中的优惠促销 |
8762 | await getApp().request.promiseGet("/api/weshop/promorder/getPromOrder", { | 8840 | await getApp().request.promiseGet("/api/weshop/promorder/getPromOrder", { |
@@ -8774,6 +8852,11 @@ Page({ | @@ -8774,6 +8852,11 @@ Page({ | ||
8774 | if (!ord_prom) return null; | 8852 | if (!ord_prom) return null; |
8775 | //用于计算订单促销的金额 | 8853 | //用于计算订单促销的金额 |
8776 | let calculate_price=0; | 8854 | let calculate_price=0; |
8855 | + | ||
8856 | + | ||
8857 | + let txt1='show_ord_prom['+pickid+']'; | ||
8858 | + let txt2='join_ord_prom_goodslist['+pickid+']'; | ||
8859 | + | ||
8777 | //-- 此时判断活动的金额满足与否 -- | 8860 | //-- 此时判断活动的金额满足与否 -- |
8778 | switch (ord_prom.discount_field) { | 8861 | switch (ord_prom.discount_field) { |
8779 | //实收价的时候 | 8862 | //实收价的时候 |
@@ -8789,14 +8872,16 @@ Page({ | @@ -8789,14 +8872,16 @@ Page({ | ||
8789 | } | 8872 | } |
8790 | //要显示订单促销使用的按钮 | 8873 | //要显示订单促销使用的按钮 |
8791 | this.setData({ | 8874 | this.setData({ |
8792 | - show_ord_prom: 1, | ||
8793 | - join_ord_prom_goodslist:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | 8875 | + [txt1]: 1, |
8876 | + [txt2]:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | ||
8794 | }); | 8877 | }); |
8795 | //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 | 8878 | //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 |
8796 | if (!this.data.can_use_ord_prom) { | 8879 | if (!this.data.can_use_ord_prom) { |
8797 | return null; | 8880 | return null; |
8798 | } | 8881 | } |
8799 | - calculate_price=order_prom_map_ck.shop_price_all; | 8882 | + |
8883 | + //计算金额是参与订单促销的金额+不参与订单促销的金额 | ||
8884 | + calculate_price=order_prom_map_ck.shop_price_all+order_prom_map_ck.no_ord_price; | ||
8800 | 8885 | ||
8801 | break; | 8886 | break; |
8802 | //市场价的时候 | 8887 | //市场价的时候 |
@@ -8804,24 +8889,31 @@ Page({ | @@ -8804,24 +8889,31 @@ Page({ | ||
8804 | if (ord_prom.money > order_prom_map_ck.market_price_all){ | 8889 | if (ord_prom.money > order_prom_map_ck.market_price_all){ |
8805 | return null; | 8890 | return null; |
8806 | } | 8891 | } |
8892 | + | ||
8893 | + console.log('aaa'); | ||
8894 | + console.log(order_prom_map_ck.goodsList); | ||
8895 | + | ||
8807 | //要显示订单促销使用的按钮 | 8896 | //要显示订单促销使用的按钮 |
8808 | this.setData({ | 8897 | this.setData({ |
8809 | - show_ord_prom: 2, | ||
8810 | - join_ord_prom_goodslist:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | 8898 | + [txt1]: 2, |
8899 | + [txt2]:order_prom_map_ck.goodsList //用于筛选商品的价格选手 | ||
8811 | }); | 8900 | }); |
8812 | //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 | 8901 | //要用户点击了同意使用订单优惠的按钮后,才允许使用订单优惠 |
8813 | if (!this.data.can_use_ord_prom) { | 8902 | if (!this.data.can_use_ord_prom) { |
8814 | return null; | 8903 | return null; |
8815 | } | 8904 | } |
8816 | - calculate_price = order_prom_map_ck.market_price_all; | 8905 | + //计算金额是参与订单促销的金额+不参与订单促销的金额 |
8906 | + calculate_price = order_prom_map_ck.market_price_all+order_prom_map_ck.no_ord_price; | ||
8817 | break; | 8907 | break; |
8818 | } | 8908 | } |
8819 | 8909 | ||
8820 | - if (calculate_price > 0) { | 8910 | + let order_prom_amount=0; |
8911 | + //如果用户有点击按钮要参与订单促销的时候 | ||
8912 | + if (calculate_price > 0 && this.data.can_use_ord_prom[pickid]) { | ||
8821 | //-- 订单促销是按照实收价格进行计算的时候 -- | 8913 | //-- 订单促销是按照实收价格进行计算的时候 -- |
8822 | switch (ord_prom['type']) { | 8914 | switch (ord_prom['type']) { |
8823 | case 0: | 8915 | case 0: |
8824 | - order_m = Math.round(calculate_price * ord_prom['expression']) / 100;//满额打折 | 8916 | + let order_m = Math.round(calculate_price * ord_prom['expression']) / 100;//满额打折 |
8825 | order_prom_amount = (calculate_price - order_m).toFixed(2); | 8917 | order_prom_amount = (calculate_price - order_m).toFixed(2); |
8826 | break; | 8918 | break; |
8827 | case 1: | 8919 | case 1: |
@@ -8839,6 +8931,20 @@ Page({ | @@ -8839,6 +8931,20 @@ Page({ | ||
8839 | } | 8931 | } |
8840 | return ord_prom; | 8932 | return ord_prom; |
8841 | 8933 | ||
8934 | + }, | ||
8935 | + | ||
8936 | + //设置能够参与订单促销 | ||
8937 | + set_can_use_ord_prom:function (e){ | ||
8938 | + let pickid=e.currentTarget.dataset.pd; | ||
8939 | + let txt='can_use_ord_prom['+pickid+']'; | ||
8940 | + let can_use=this.data.can_use_ord_prom[pickid]?this.data.can_use_ord_prom[pickid]:0; | ||
8941 | + this.setData({ | ||
8942 | + [txt]:!can_use | ||
8943 | + }) | ||
8944 | + | ||
8945 | + let carr=ut.deep_cp(th.data.cartlist_y); | ||
8946 | + //-- 重新计算一下价格 -- | ||
8947 | + this.get_cart_next(carr); | ||
8842 | } | 8948 | } |
8843 | 8949 | ||
8844 | 8950 |
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="{{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> | 110 | + <!-- 动态显示商品的价格 --> |
111 | + <view wx:if="{{can_use_ord_prom[item.pickup_id]}}" class="co-red">¥<text class="fs36">{{util.fm_join_ord_prom_price(items,join_ord_prom_goodslist[item.pickup_id],show_ord_prom[item.pickup_id],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> | 112 | <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> |
112 | <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | 113 | <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></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> | 114 | <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> |
@@ -346,6 +347,14 @@ | @@ -346,6 +347,14 @@ | ||
346 | </block> | 347 | </block> |
347 | </view> | 348 | </view> |
348 | 349 | ||
350 | + <!-- 订单促销取价规则的优化 --> | ||
351 | + <view class="set-mes" wx:if="{{show_ord_prom[item.pickup_id]}}"> | ||
352 | + <view class="use-item" data-pd="{{item.pickup_id}}" bindtap='set_can_use_ord_prom'> | ||
353 | + <icon color="{{can_use_ord_prom[item.pickup_id]?'red':'gray'}}" size="16" type="success"></icon> | ||
354 | + <view class="yu_er">参与订单促销</view> | ||
355 | + </view> | ||
356 | + </view> | ||
357 | + | ||
349 | <!-----使用优惠券------> | 358 | <!-----使用优惠券------> |
350 | <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{!(yh_is_xz_yh[item.pickup_id]) && ((item.quan_list && item.quan_list.length>0 ) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0)}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}"> | 359 | <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{!(yh_is_xz_yh[item.pickup_id]) && ((item.quan_list && item.quan_list.length>0 ) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0)}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}"> |
351 | <view class="work-frame flex-space-between"> | 360 | <view class="work-frame flex-space-between"> |
packageE/pages/cart/cart2/filter.wxs
@@ -54,10 +54,22 @@ function check_is_last(index,goods_id){ | @@ -54,10 +54,22 @@ function check_is_last(index,goods_id){ | ||
54 | //-- 用于筛选商品的价格显示 -- | 54 | //-- 用于筛选商品的价格显示 -- |
55 | function fm_join_ord_prom_price(gd,join_gd_list,show_ord_prom,count){ | 55 | function fm_join_ord_prom_price(gd,join_gd_list,show_ord_prom,count){ |
56 | var price=gd.goods_price; | 56 | var price=gd.goods_price; |
57 | + | ||
58 | + console.log('1111'); | ||
59 | + console.log(gd.id); | ||
60 | + | ||
57 | //在join_gd_list中查找是否已经存在gd商品,靠购物车的id来判断 | 61 | //在join_gd_list中查找是否已经存在gd商品,靠购物车的id来判断 |
58 | for(var i=0;i<join_gd_list.length;i++){ | 62 | for(var i=0;i<join_gd_list.length;i++){ |
59 | var jgd=join_gd_list[i]; | 63 | var jgd=join_gd_list[i]; |
64 | + | ||
65 | + console.log(jgd.id); | ||
66 | + | ||
67 | + | ||
60 | if(jgd.id==gd.id){ | 68 | if(jgd.id==gd.id){ |
69 | + | ||
70 | + console.log('yyy'); | ||
71 | + | ||
72 | + | ||
61 | switch (show_ord_prom){ | 73 | switch (show_ord_prom){ |
62 | case 1: | 74 | case 1: |
63 | price=gd.shop_price; | 75 | price=gd.shop_price; |
@@ -72,8 +84,8 @@ function fm_join_ord_prom_price(gd,join_gd_list,show_ord_prom,count){ | @@ -72,8 +84,8 @@ function fm_join_ord_prom_price(gd,join_gd_list,show_ord_prom,count){ | ||
72 | if (!price) { | 84 | if (!price) { |
73 | return parseFloat(0).toFixed(count); | 85 | return parseFloat(0).toFixed(count); |
74 | } | 86 | } |
75 | - val = parseFloat(val); | ||
76 | - return val.toFixed(count); | 87 | + price = parseFloat(price); |
88 | + return price.toFixed(count); | ||
77 | } | 89 | } |
78 | 90 | ||
79 | 91 |