Commit 674924edb3372a347ae9b6b4bd03032458a069b2
1 parent
cc3629d6
cart2 多活动的优化
Showing
1 changed file
with
205 additions
and
434 deletions
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -1940,15 +1940,12 @@ Page({ |
1940 | 1940 | |
1941 | 1941 | //调用函数计算每件组合购商品的单价, |
1942 | 1942 | await zh_calc.calc_zh_split_price(c_arr, th); |
1943 | - | |
1944 | 1943 | //调用函数计算每件阶梯促销商品的单价, |
1945 | 1944 | await ladder_calc.calc_split_price(c_arr, th); |
1946 | 1945 | //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品 |
1947 | - | |
1948 | 1946 | await th.get_cart_quan(c_arr); |
1949 | 1947 | |
1950 | 1948 | |
1951 | - | |
1952 | 1949 | //-- 经纬度不循环调用接口 -- |
1953 | 1950 | var lon = 0; var lat = 0; |
1954 | 1951 | //---循环购物车--- |
... | ... | @@ -2105,6 +2102,17 @@ Page({ |
2105 | 2102 | |
2106 | 2103 | var back_data = null; |
2107 | 2104 | var quan_no_goods_arr = null; |
2105 | + var ord_prom =null; | |
2106 | + | |
2107 | + //---判断是不是有订单优惠--- | |
2108 | + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | |
2109 | + data: { store_id: os.stoid, orderAmount: parseFloat(o_price - quan_price - whsle_goods_price - no_order_yh).toFixed(2), user_id: getApp().globalData.user_id } | |
2110 | + }).then(res => { | |
2111 | + if (res.data.code == 0) { | |
2112 | + ord_prom = res.data.data; | |
2113 | + } | |
2114 | + }) | |
2115 | + | |
2108 | 2116 | //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- |
2109 | 2117 | if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) { |
2110 | 2118 | //看是不是有调用过包邮券 |
... | ... | @@ -2150,16 +2158,21 @@ Page({ |
2150 | 2158 | }) |
2151 | 2159 | } |
2152 | 2160 | |
2153 | - var user_addr = th.data.user_addr; | |
2154 | - var req_d = { | |
2155 | - province: user_addr.province, city: user_addr.city, district: user_addr.district, | |
2156 | - wuliu: parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2), store_id: os.stoid | |
2161 | + | |
2162 | + //-- 如果没有订单优惠,或者订单优惠中有勾选包邮模板 -- | |
2163 | + if(!ord_prom || ord_prom.is_post_temp) { | |
2164 | + var user_addr = th.data.user_addr; | |
2165 | + var req_d = { | |
2166 | + province: user_addr.province, city: user_addr.city, district: user_addr.district, | |
2167 | + wuliu: parseFloat(o_price - quan_price - whsle_goods_price - no_post_temp).toFixed(2), store_id: os.stoid | |
2168 | + } | |
2169 | + await getApp().request.promisePost("/api/weshop/order/areaFreight", { | |
2170 | + is_json: 1, data: req_d | |
2171 | + }).then(rs => { | |
2172 | + if (rs.data.code == 0) back_data = rs.data.data; | |
2173 | + }); | |
2157 | 2174 | } |
2158 | - await getApp().request.promisePost("/api/weshop/order/areaFreight", { | |
2159 | - is_json: 1, data: req_d | |
2160 | - }).then(rs => { | |
2161 | - if (rs.data.code == 0) back_data = rs.data.data; | |
2162 | - }); | |
2175 | + | |
2163 | 2176 | |
2164 | 2177 | } |
2165 | 2178 | |
... | ... | @@ -2336,32 +2349,27 @@ Page({ |
2336 | 2349 | } |
2337 | 2350 | |
2338 | 2351 | var order_m = 0; |
2339 | - //---判断是不是有订单优惠--- | |
2340 | - await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | |
2341 | - data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id } | |
2342 | - }).then(res => { | |
2343 | - if (res.data.code == 0) { | |
2344 | - var ord_prom = res.data.data; | |
2345 | - //么有使用券,或者活动没有限制使用优惠券 | |
2346 | - if (quan_price <= 0 || !ord_prom.is_xz_yh) { | |
2347 | - order_prom_id = ord_prom['id']; | |
2348 | - switch (ord_prom['type']) { | |
2349 | - case 0: | |
2350 | - order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
2351 | - order_prom_amount = (o_condition - order_m).toFixed(2); | |
2352 | - break; | |
2353 | - case 1: | |
2354 | - //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | |
2355 | - var bs = 1; | |
2356 | - if (ord_prom.is_bz) { | |
2357 | - bs = Math.floor(o_condition / ord_prom.money); | |
2358 | - } | |
2359 | - order_prom_amount = ord_prom['expression']; | |
2360 | - break; | |
2352 | + | |
2353 | + //么有使用券,或者活动没有限制使用优惠券 | |
2354 | + if (quan_price <= 0 || !ord_prom.is_xz_yh) { | |
2355 | + order_prom_id = ord_prom['id']; | |
2356 | + switch (ord_prom['type']) { | |
2357 | + case 0: | |
2358 | + order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
2359 | + order_prom_amount = (o_condition - order_m).toFixed(2); | |
2360 | + break; | |
2361 | + case 1: | |
2362 | + //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | |
2363 | + var bs = 1; | |
2364 | + if (ord_prom.is_bz) { | |
2365 | + bs = Math.floor(o_condition / ord_prom.money); | |
2361 | 2366 | } |
2362 | - } | |
2367 | + order_prom_amount = ord_prom['expression']; | |
2368 | + break; | |
2363 | 2369 | } |
2364 | - }) | |
2370 | + } | |
2371 | + | |
2372 | + | |
2365 | 2373 | |
2366 | 2374 | cart_item.order_prom_amount = 0; |
2367 | 2375 | //--订单优惠的显示-- |
... | ... | @@ -2642,7 +2650,6 @@ Page({ |
2642 | 2650 | } |
2643 | 2651 | }, |
2644 | 2652 | |
2645 | - | |
2646 | 2653 | //---------计算立即购买---------- |
2647 | 2654 | calculatePrice2: async function (qfunc) { |
2648 | 2655 | var th = this, good = this.data.bn_goods; |
... | ... | @@ -2721,11 +2728,30 @@ Page({ |
2721 | 2728 | gd_arr_list = [...gd_arr_list, ...th.data.buy_now_gift_goods]; |
2722 | 2729 | } |
2723 | 2730 | |
2731 | + //-- 把订单优惠的判断提前,bn_is_order_yh是确定要不要订单优惠的控制 -- | |
2732 | + var condition = parseFloat(parseFloat(allpice) - cut_price - quan_price).toFixed(2); | |
2733 | + var ord_prom = null; | |
2734 | + var is_ord_prom_post = 0; | |
2735 | + | |
2736 | + if(condition>0 && th.data.bn_is_order_yh) { | |
2737 | + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | |
2738 | + data: {store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id} | |
2739 | + }).then(res => { | |
2740 | + if (res.data.code == 0) { | |
2741 | + var data = res.data.data; | |
2742 | + ord_prom = data; | |
2743 | + } | |
2744 | + }) | |
2745 | + if (ord_prom && ord_prom.is_post_temp) { | |
2746 | + is_ord_prom_post = 1; | |
2747 | + } | |
2748 | + } | |
2749 | + | |
2724 | 2750 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- |
2725 | 2751 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_past != 1) { |
2726 | 2752 | //看是不是有调用过包邮券 |
2727 | 2753 | if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) { |
2728 | - var condition = allpice - cut_price - quan_price; | |
2754 | + | |
2729 | 2755 | //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱--- |
2730 | 2756 | getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { |
2731 | 2757 | data: { |
... | ... | @@ -2782,8 +2808,9 @@ Page({ |
2782 | 2808 | } |
2783 | 2809 | var back_data = null; |
2784 | 2810 | |
2785 | - //判断是不是包邮模板 | |
2786 | - if (th.data.bn_is_post_temp) { | |
2811 | + //判断是不是包邮模板,bn_is_post_temp 和 订单优惠的包邮模板一起控制 | |
2812 | + if(th.data.bn_is_post_temp && (!ord_prom || is_ord_prom_post)){ | |
2813 | + | |
2787 | 2814 | await getApp().request.promisePost("/api/weshop/order/areaFreight", { |
2788 | 2815 | is_json: 1, data: req_d |
2789 | 2816 | }).then(rs => { |
... | ... | @@ -2936,46 +2963,38 @@ Page({ |
2936 | 2963 | o_condition = 0; |
2937 | 2964 | } |
2938 | 2965 | |
2939 | - | |
2940 | - | |
2941 | - | |
2942 | - | |
2943 | - if (o_condition > 0 && th.data.bn_is_order_yh) { | |
2944 | - | |
2945 | - th.check_is_order_prom(o_condition, async function () { | |
2946 | - var order_prom_amount = 0; | |
2947 | - var order_prom_id = 0; | |
2948 | - if (th.data.order_prom[th.data.bn_pick] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) { | |
2949 | - var ord_prom = th.data.order_prom[th.data.bn_pick]; | |
2950 | - //么有使用券,或者活动没有限制使用优惠券 | |
2951 | - if (coupon_price <= 0 || !ord_prom.is_xz_yh) { | |
2952 | - order_prom_id = ord_prom['id']; | |
2953 | - switch (ord_prom['type']) { | |
2954 | - case 0: | |
2955 | - order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
2956 | - order_prom_amount = (o_condition - order_m).toFixed(2); | |
2957 | - break; | |
2958 | - case 1: | |
2959 | - //-- 如果有优惠促销倍减的时候 -- | |
2960 | - var bs = 1; | |
2961 | - if (ord_prom.is_bz) { | |
2962 | - bs = Math.floor(o_condition / ord_prom.money); | |
2963 | - } | |
2964 | - | |
2965 | - order_m = o_condition - bs * ord_prom['expression'];//满额优惠金额 | |
2966 | - order_prom_amount = ord_prom['expression']; | |
2967 | - break; | |
2966 | + var order_prom_amount = 0; | |
2967 | + var order_prom_id = 0; | |
2968 | + if (ord_prom) { | |
2969 | + //么有使用券,或者活动没有限制使用优惠券 | |
2970 | + if (coupon_price <= 0 || !ord_prom.is_xz_yh) { | |
2971 | + order_prom_id = ord_prom['id']; | |
2972 | + switch (ord_prom['type']) { | |
2973 | + case 0: | |
2974 | + order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
2975 | + order_prom_amount = (o_condition - order_m).toFixed(2); | |
2976 | + break; | |
2977 | + case 1: | |
2978 | + //-- 如果有优惠促销倍减的时候 -- | |
2979 | + var bs = 1; | |
2980 | + if (ord_prom.is_bz) { | |
2981 | + bs = Math.floor(o_condition / ord_prom.money); | |
2968 | 2982 | } |
2969 | - } | |
2970 | - } | |
2971 | - //--订单优惠的显示-- | |
2972 | - var order_prom_txt1 = "formData.order_prom_id"; | |
2973 | - var order_prom_txt2 = "formData.order_prom_amount"; | |
2974 | - if (order_prom_id > 0) { | |
2975 | - th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) | |
2976 | - } else { | |
2977 | - th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) | |
2983 | + | |
2984 | + order_m = o_condition - bs * ord_prom['expression'];//满额优惠金额 | |
2985 | + order_prom_amount = ord_prom['expression']; | |
2986 | + break; | |
2978 | 2987 | } |
2988 | + } | |
2989 | + } | |
2990 | + //--订单优惠的显示-- | |
2991 | + var order_prom_txt1 = "formData.order_prom_id"; | |
2992 | + var order_prom_txt2 = "formData.order_prom_amount"; | |
2993 | + if (order_prom_id > 0) { | |
2994 | + th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) | |
2995 | + } else { | |
2996 | + th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) | |
2997 | + } | |
2979 | 2998 | |
2980 | 2999 | //预存金额使用参与计算 |
2981 | 3000 | if (th.data.udata && th.data.udata.Balance > 0 && order_m * 1 > 0) { |
... | ... | @@ -3014,7 +3033,7 @@ Page({ |
3014 | 3033 | keyid: th.data.bn_goods.keyid |
3015 | 3034 | } |
3016 | 3035 | }) |
3017 | - | |
3036 | + | |
3018 | 3037 | if (!good.yck_off) { |
3019 | 3038 | good.yck_off = cart_yc.yck_off |
3020 | 3039 | } |
... | ... | @@ -3077,394 +3096,145 @@ Page({ |
3077 | 3096 | } |
3078 | 3097 | |
3079 | 3098 | |
3080 | - //判断是否同城配送,而且没有调用过 | |
3081 | - if (th.data.bn_exp_type == 2 && th.data.user_addr) { | |
3082 | - var gd_w = 0, lon = 0, lat = 0; | |
3083 | - for (let ib in gd_arr_list) { | |
3084 | - let item_b = gd_arr_list[ib]; | |
3085 | - gd_w += item_b['weight'] * item_b['buynum']; | |
3086 | - } | |
3087 | - | |
3088 | - //-- 获取距离 -- | |
3089 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
3090 | - is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address } | |
3091 | - }).then(res => { | |
3092 | - if (res.data.code == 0) { | |
3093 | - var data = JSON.parse(res.data.data); | |
3094 | - if (data.status == 0) { | |
3095 | - lon = data.result.location.lng; | |
3096 | - lat = data.result.location.lat; | |
3097 | - } | |
3098 | - } | |
3099 | - }) | |
3099 | + //判断是否同城配送,而且没有调用过 | |
3100 | + if (th.data.bn_exp_type == 2 && th.data.user_addr) { | |
3101 | + var gd_w = 0, lon = 0, lat = 0; | |
3102 | + for (let ib in gd_arr_list) { | |
3103 | + let item_b = gd_arr_list[ib]; | |
3104 | + gd_w += item_b['weight'] * item_b['buynum']; | |
3105 | + } | |
3100 | 3106 | |
3101 | - var req_data = { | |
3102 | - store_id: os.stoid, order_amount: parseFloat(order_m), | |
3103 | - lon: lon, lat: lat, pickup_id: bn_pick, goods_weight: gd_w | |
3107 | + //-- 获取距离 -- | |
3108 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
3109 | + is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address } | |
3110 | + }).then(res => { | |
3111 | + if (res.data.code == 0) { | |
3112 | + var data = JSON.parse(res.data.data); | |
3113 | + if (data.status == 0) { | |
3114 | + lon = data.result.location.lng; | |
3115 | + lat = data.result.location.lat; | |
3104 | 3116 | } |
3105 | - | |
3106 | - var is_next = 1; | |
3107 | - | |
3108 | - //获取同城配送参数 | |
3109 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
3110 | - is_json: 1, data: req_data | |
3111 | - }).then(res => { | |
3112 | - if (res.data.code == 0) { | |
3113 | - var wl_txt = "formData.shipping_price"; | |
3114 | - th.setData({ [wl_txt]: res.data.data, }) | |
3115 | - | |
3116 | - } else { | |
3117 | - is_next = 0; | |
3118 | - if (qfunc) { | |
3119 | - qfunc(); | |
3120 | - } else { | |
3121 | - wx.showToast({ | |
3122 | - title: res.data.msg, | |
3123 | - icon: 'none', | |
3124 | - duration: 2000 | |
3125 | - }) | |
3126 | - } | |
3127 | - | |
3128 | - } | |
3129 | - }) | |
3130 | - if (!is_next) return false | |
3131 | 3117 | } |
3118 | + }) | |
3132 | 3119 | |
3120 | + var req_data = { | |
3121 | + store_id: os.stoid, order_amount: parseFloat(order_m), | |
3122 | + lon: lon, lat: lat, pickup_id: bn_pick, goods_weight: gd_w | |
3123 | + } | |
3133 | 3124 | |
3134 | - total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); | |
3135 | - order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); | |
3136 | - | |
3137 | - total_m = total_m.toFixed(2); | |
3138 | - order_m = order_m.toFixed(2); | |
3139 | - | |
3140 | - var atxt = "formData.total_amount"; | |
3141 | - th.setData({ [atxt]: total_m, }) | |
3142 | - | |
3143 | - var txt = "formData.user_money"; | |
3144 | - var txt2 = "formData.order_amount"; | |
3145 | - var txt3 = "formData.coupon_price"; | |
3125 | + var is_next = 1; | |
3146 | 3126 | |
3147 | - //-- 最后的金额小于佣金 -- | |
3148 | - if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) { | |
3127 | + //获取同城配送参数 | |
3128 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
3129 | + is_json: 1, data: req_data | |
3130 | + }).then(res => { | |
3131 | + if (res.data.code == 0) { | |
3132 | + var wl_txt = "formData.shipping_price"; | |
3133 | + th.setData({ [wl_txt]: res.data.data, }) | |
3149 | 3134 | |
3150 | - if (th.data.bn_use_commission) { | |
3135 | + } else { | |
3136 | + is_next = 0; | |
3137 | + if (qfunc) { | |
3138 | + qfunc(); | |
3139 | + } else { | |
3151 | 3140 | wx.showToast({ |
3152 | - title: '应付金额小于本单佣金,不可使用!', | |
3141 | + title: res.data.msg, | |
3153 | 3142 | icon: 'none', |
3154 | 3143 | duration: 2000 |
3155 | 3144 | }) |
3156 | 3145 | } |
3157 | 3146 | |
3158 | - th.setData({ | |
3159 | - bn_use_commission: 0 | |
3160 | - }); | |
3161 | - | |
3162 | - | |
3163 | - } | |
3164 | - | |
3165 | - var txt4 = "formData.use_commission"; | |
3166 | - | |
3167 | - if (th.data.bn_use_commission) { | |
3168 | - order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2); | |
3169 | - th.setData({ [txt4]: th.data.bn_goods.use_commission }) | |
3170 | - } | |
3171 | - | |
3172 | - | |
3173 | - var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); | |
3174 | - //--------------如果使用余额--------------------- | |
3175 | - if (th.data.bn_use_money == 1) { | |
3176 | - if (amoney > parseFloat(order_m)) { | |
3177 | - order_m = parseFloat(order_m).toFixed(2); | |
3178 | - th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3179 | - } else { | |
3180 | - order_m = parseFloat(order_m) - parseFloat(amoney); | |
3181 | - order_m = order_m.toFixed(2); | |
3182 | - th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3183 | - } | |
3184 | - } else { | |
3185 | - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3186 | - } | |
3187 | - //优惠活动送积分 | |
3188 | - if (good.s_intValue) { | |
3189 | - txt = "formData.give_integral"; | |
3190 | - th.setData({ [txt]: good.s_intValue }); | |
3191 | - } | |
3192 | - //优惠送券 | |
3193 | - if (good.s_coupon_id) { | |
3194 | - var i_txt = "formData.give_coupon_id"; | |
3195 | - //这个是json格式的 | |
3196 | - var i_txt1 = "formData.g_coupon_num"; | |
3197 | - var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; | |
3198 | - ob = JSON.stringify(ob); | |
3199 | - th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); | |
3200 | - } | |
3201 | - //优惠礼包 | |
3202 | - if (good.s_libao) { | |
3203 | - var l_txt = "formData.give_lb_id"; | |
3204 | - //这个是json格式的 | |
3205 | - var l_txt1 = "formData.g_lb_num"; | |
3206 | - var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; | |
3207 | - ob = JSON.stringify(ob); | |
3208 | - th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob }); | |
3209 | - } | |
3210 | - | |
3211 | - //专享礼包 | |
3212 | - if (good.zx_libao) { | |
3213 | - var l_txt = "formData.give_zxlb_id"; | |
3214 | - //这个是json格式的 | |
3215 | - var l_txt1 = "formData.g_zxlb_num"; | |
3216 | - var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; | |
3217 | - ob = JSON.stringify(ob); | |
3218 | - th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob }); | |
3219 | 3147 | } |
3220 | 3148 | }) |
3221 | - } else { | |
3222 | - | |
3223 | - var order_prom_txt1 = "formData.order_prom_id"; | |
3224 | - var order_prom_txt2 = "formData.order_prom_amount"; | |
3225 | - th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) | |
3226 | - | |
3227 | - //预存金额使用参与计算 | |
3228 | - if (th.data.udata && th.data.udata.Balance > 0 && order_m * 1 > 0) { | |
3229 | - if (!th.data.bn_goods.keyid) { | |
3230 | - //获取门店信息 | |
3231 | - await getApp().request.promiseGet("/api/weshop/pickup/list", { | |
3232 | - data: { | |
3233 | - store_id: os.stoid, | |
3234 | - ids: th.data.bn_pick | |
3235 | - } | |
3236 | - }).then(res => { | |
3237 | - if (ut.ajax_ok(res)) { | |
3238 | - console.log(res); | |
3239 | - if (res.data.code == 0) { | |
3240 | - let resData = res.data.data.pageData | |
3241 | - if (resData && resData[0]) { | |
3242 | - let keyid = resData[0].keyid | |
3243 | - let txt = 'bn_goods.keyid' | |
3244 | - th.setData({ | |
3245 | - [txt]: keyid | |
3246 | - }) | |
3247 | - } | |
3248 | - } | |
3249 | - } | |
3250 | - }) | |
3251 | - } | |
3252 | - if (th.data.bn_goods.keyid) { | |
3253 | - let cart_yc = await th.beforAdvancesum({ | |
3254 | - order_amount: order_m, | |
3255 | - goods: [{ | |
3256 | - goods_sn: th.data.bn_goods.goods_sn, | |
3257 | - goods_price: th.data.bn_goods.goods_price, | |
3258 | - goods_num: th.data.bn_goods.goods_num, | |
3259 | - }], | |
3260 | - sto: { | |
3261 | - keyid: th.data.bn_goods.keyid | |
3262 | - } | |
3263 | - }) | |
3264 | - | |
3265 | - if (!good.yck_off) { | |
3266 | - good.yck_off = cart_yc.yck_off | |
3267 | - } | |
3268 | - good.yck = cart_yc.yck | |
3269 | - good.yckid = cart_yc.yckid | |
3270 | - good.pre_json = cart_yc.pre_json | |
3271 | - let yct1 = 'bn_goods.yck_off'; | |
3272 | - let yct2 = 'bn_goods.yck'; | |
3273 | - let yct3 = 'bn_goods.yckid'; | |
3274 | - let yct4 = 'bn_goods.pre_json'; | |
3275 | - th.setData({ | |
3276 | - [yct1]: good.yck_off, | |
3277 | - [yct2]: good.yck, | |
3278 | - [yct3]: good.yckid, | |
3279 | - [yct4]: good.pre_json, | |
3280 | - }) | |
3281 | - | |
3282 | - if (good.yck_off && good.yck_off == 2) { | |
3283 | - let order_amount = (order_m - good.yck).toFixed(2); | |
3284 | - let yck = 0 | |
3285 | - if (order_amount * 1 > 0) { | |
3286 | - order_m = order_amount; | |
3287 | - // all_prestore+=parseFloat(good.yck); | |
3288 | - yck = parseFloat(good.yck) | |
3289 | - } else { | |
3290 | - // all_prestore+=order_m*1 | |
3291 | - yck = parseFloat(order_m) | |
3292 | - order_m = 0 | |
3293 | - } | |
3294 | - let atxt10 = "formData.prestore"; //预存金额 | |
3295 | - let atxt11 = "formData.pre_json"; //预存json | |
3296 | - let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表 | |
3297 | - th.setData({ | |
3298 | - [atxt10]: yck, | |
3299 | - [atxt11]: [good.pre_json], | |
3300 | - [atxt12]: [yck], | |
3301 | - }) | |
3302 | - // formData.prestore | |
3303 | - // all_yck_arr.push(yck) //真实预存款抵扣金额 | |
3304 | - // all_pre_json.push(good.pre_json) | |
3305 | - // all_prestore = parseFloat(all_prestore); //真实预存款抵扣金额总和 | |
3306 | - } | |
3307 | - } | |
3308 | - } else { | |
3309 | - let yct1 = 'bn_goods.yck_off'; | |
3310 | - let yct2 = 'bn_goods.yck'; | |
3311 | - let yct3 = 'bn_goods.yckid'; | |
3312 | - let yct4 = 'bn_goods.pre_json'; | |
3313 | - let atxt10 = "formData.prestore"; //预存金额 | |
3314 | - let atxt11 = "formData.pre_json"; //预存json | |
3315 | - let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表 | |
3316 | - th.setData({ | |
3317 | - [yct2]: 0, | |
3318 | - [yct3]: '', | |
3319 | - [yct4]: '', | |
3320 | - [atxt10]: 0, | |
3321 | - [atxt11]: '', | |
3322 | - [atxt12]: [], | |
3323 | - }) | |
3324 | - } | |
3149 | + if (!is_next) return false | |
3150 | + } | |
3325 | 3151 | |
3326 | - //判断是否同城配送,而且没有调用过 | |
3327 | - if (th.data.bn_exp_type == 2 && th.data.user_addr) { | |
3328 | - var gd_w = 0, lon = 0, lat = 0; | |
3329 | - for (let ib in gd_arr_list) { | |
3330 | - let item_b = gd_arr_list[ib]; | |
3331 | - gd_w += item_b['weight'] * item_b['buynum']; | |
3332 | - } | |
3333 | 3152 | |
3334 | - //-- 获取距离 -- | |
3335 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
3336 | - is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address } | |
3337 | - }).then(res => { | |
3338 | - if (res.data.code == 0) { | |
3339 | - var data = JSON.parse(res.data.data); | |
3340 | - if (data.status == 0) { | |
3341 | - lon = data.result.location.lng; | |
3342 | - lat = data.result.location.lat; | |
3343 | - } | |
3344 | - } | |
3345 | - }) | |
3153 | + total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); | |
3154 | + order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); | |
3346 | 3155 | |
3347 | - var req_data = { | |
3348 | - store_id: os.stoid, order_amount: parseFloat(order_m), | |
3349 | - lon: lon, lat: lat, pickup_id: bn_pick, goods_weight: gd_w | |
3350 | - } | |
3156 | + total_m = total_m.toFixed(2); | |
3157 | + order_m = order_m.toFixed(2); | |
3351 | 3158 | |
3352 | - var is_next = 1; | |
3159 | + var atxt = "formData.total_amount"; | |
3160 | + th.setData({ [atxt]: total_m, }) | |
3353 | 3161 | |
3354 | - //获取同城配送参数 | |
3355 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
3356 | - is_json: 1, data: req_data | |
3357 | - }).then(res => { | |
3358 | - if (res.data.code == 0) { | |
3359 | - var wl_txt = "formData.shipping_price"; | |
3360 | - th.setData({ [wl_txt]: res.data.data, }) | |
3162 | + var txt = "formData.user_money"; | |
3163 | + var txt2 = "formData.order_amount"; | |
3164 | + var txt3 = "formData.coupon_price"; | |
3361 | 3165 | |
3362 | - } else { | |
3363 | - is_next = 0; | |
3364 | - if (qfunc) { | |
3365 | - qfunc(); | |
3366 | - } else { | |
3367 | - wx.showToast({ | |
3368 | - title: res.data.msg, | |
3369 | - icon: 'none', | |
3370 | - duration: 2000 | |
3371 | - }) | |
3372 | - } | |
3166 | + //-- 最后的金额小于佣金 -- | |
3167 | + if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) { | |
3373 | 3168 | |
3374 | - } | |
3169 | + if (th.data.bn_use_commission) { | |
3170 | + wx.showToast({ | |
3171 | + title: '应付金额小于本单佣金,不可使用!', | |
3172 | + icon: 'none', | |
3173 | + duration: 2000 | |
3375 | 3174 | }) |
3376 | - if (!is_next) return false | |
3377 | 3175 | } |
3378 | 3176 | |
3177 | + th.setData({ | |
3178 | + bn_use_commission: 0 | |
3179 | + }); | |
3379 | 3180 | |
3380 | 3181 | |
3381 | - total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); | |
3382 | - order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); | |
3383 | - var atxt = "formData.total_amount"; | |
3384 | - | |
3385 | - total_m = total_m.toFixed(2); | |
3386 | - order_m = order_m.toFixed(2); | |
3387 | - | |
3388 | - th.setData({ [atxt]: total_m, }) | |
3389 | - | |
3390 | - var txt = "formData.user_money"; | |
3391 | - var txt2 = "formData.order_amount"; | |
3392 | - var txt3 = "formData.coupon_price"; | |
3393 | - | |
3394 | - //-- 最后的金额小于佣金 -- | |
3395 | - if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) { | |
3396 | - | |
3397 | - if (th.data.bn_use_commission) { | |
3398 | - wx.showToast({ | |
3399 | - title: '应付金额小于本单佣金,不可使用!', | |
3400 | - icon: 'none', | |
3401 | - duration: 2000 | |
3402 | - }) | |
3403 | - } | |
3404 | - | |
3405 | - th.setData({ | |
3406 | - bn_use_commission: 0 | |
3407 | - }); | |
3408 | - } | |
3409 | - | |
3182 | + } | |
3410 | 3183 | |
3411 | - var txt4 = "formData.use_commission"; | |
3412 | - | |
3413 | - if (th.data.bn_use_commission) { | |
3414 | - order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2); | |
3415 | - th.setData({ [txt4]: th.data.bn_goods.use_commission }) | |
3416 | - } | |
3184 | + var txt4 = "formData.use_commission"; | |
3417 | 3185 | |
3186 | + if (th.data.bn_use_commission) { | |
3187 | + order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2); | |
3188 | + th.setData({ [txt4]: th.data.bn_goods.use_commission }) | |
3189 | + } | |
3418 | 3190 | |
3419 | - var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); | |
3420 | 3191 | |
3421 | - //--------------如果使用余额--------------------- | |
3422 | - if (th.data.bn_use_money == 1) { | |
3423 | - if (amoney > parseFloat(order_m)) { | |
3424 | - order_m = parseFloat(order_m).toFixed(2); | |
3425 | - th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3426 | - } else { | |
3427 | - order_m = parseFloat(order_m) - parseFloat(amoney); | |
3428 | - order_m = order_m.toFixed(2); | |
3429 | - th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3430 | - } | |
3192 | + var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); | |
3193 | + //--------------如果使用余额--------------------- | |
3194 | + if (th.data.bn_use_money == 1) { | |
3195 | + if (amoney > parseFloat(order_m)) { | |
3196 | + order_m = parseFloat(order_m).toFixed(2); | |
3197 | + th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3431 | 3198 | } else { |
3432 | - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3433 | - } | |
3434 | - //优惠活动送积分 | |
3435 | - if (good.s_intValue) { | |
3436 | - txt = "formData.give_integral"; | |
3437 | - th.setData({ [txt]: good.s_intValue }); | |
3438 | - } | |
3439 | - //优惠送券 | |
3440 | - if (good.s_coupon_id) { | |
3441 | - var i_txt = "formData.give_coupon_id"; | |
3442 | - //这个是json格式的 | |
3443 | - var i_txt1 = "formData.g_coupon_num"; | |
3444 | - var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; | |
3445 | - ob = JSON.stringify(ob); | |
3446 | - th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); | |
3447 | - } | |
3448 | - //优惠礼包 | |
3449 | - if (good.s_libao) { | |
3450 | - var l_txt = "formData.give_lb_id"; | |
3451 | - //这个是json格式的 | |
3452 | - var l_txt1 = "formData.g_lb_num"; | |
3453 | - var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; | |
3454 | - ob = JSON.stringify(ob); | |
3455 | - th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob }); | |
3456 | - } | |
3457 | - | |
3458 | - //专享礼包 | |
3459 | - if (good.zx_libao) { | |
3460 | - var l_txt = "formData.give_zxlb_id"; | |
3461 | - //这个是json格式的 | |
3462 | - var l_txt1 = "formData.g_zxlb_num"; | |
3463 | - var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; | |
3464 | - ob = JSON.stringify(ob); | |
3465 | - th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob }); | |
3466 | - | |
3199 | + order_m = parseFloat(order_m) - parseFloat(amoney); | |
3200 | + order_m = order_m.toFixed(2); | |
3201 | + th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3467 | 3202 | } |
3203 | + } else { | |
3204 | + th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 }) | |
3205 | + } | |
3206 | + //优惠活动送积分 | |
3207 | + if (good.s_intValue) { | |
3208 | + txt = "formData.give_integral"; | |
3209 | + th.setData({ [txt]: good.s_intValue }); | |
3210 | + } | |
3211 | + //优惠送券 | |
3212 | + if (good.s_coupon_id) { | |
3213 | + var i_txt = "formData.give_coupon_id"; | |
3214 | + //这个是json格式的 | |
3215 | + var i_txt1 = "formData.g_coupon_num"; | |
3216 | + var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; | |
3217 | + ob = JSON.stringify(ob); | |
3218 | + th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); | |
3219 | + } | |
3220 | + //优惠礼包 | |
3221 | + if (good.s_libao) { | |
3222 | + var l_txt = "formData.give_lb_id"; | |
3223 | + //这个是json格式的 | |
3224 | + var l_txt1 = "formData.g_lb_num"; | |
3225 | + var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; | |
3226 | + ob = JSON.stringify(ob); | |
3227 | + th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob }); | |
3228 | + } | |
3229 | + | |
3230 | + //专享礼包 | |
3231 | + if (good.zx_libao) { | |
3232 | + var l_txt = "formData.give_zxlb_id"; | |
3233 | + //这个是json格式的 | |
3234 | + var l_txt1 = "formData.g_zxlb_num"; | |
3235 | + var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; | |
3236 | + ob = JSON.stringify(ob); | |
3237 | + th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob }); | |
3468 | 3238 | } |
3469 | 3239 | |
3470 | 3240 | wx.hideLoading(); |
... | ... | @@ -3473,6 +3243,7 @@ Page({ |
3473 | 3243 | |
3474 | 3244 | }, |
3475 | 3245 | |
3246 | + | |
3476 | 3247 | requestSubscribe() { |
3477 | 3248 | const th = this; |
3478 | 3249 | const template_id = this.data.template_id; | ... | ... |