From 7bb4edaef0d4e5a39b09978fe2d0a354b840b027 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Fri, 24 Mar 2023 11:05:04 +0800 Subject: [PATCH] 预售的由阿胡 --- packageC/pages/presell/cart/cart.js | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++------------------- packageC/pages/presell/cart/cart2.js | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ pages/goods/goodsInfo/goodsInfo.js | 2 +- pages/goods/goodsInfo/goodsInfo.wxml | 2 ++ 4 files changed, 223 insertions(+), 296 deletions(-) diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 505c1af..25c507f 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -1859,11 +1859,26 @@ Page({ th.setData({ quan_price: 0 }) } + + //---获取订单优惠--- + var condition = allpice - quan_price; //判断的条件 + var prom_ord=null + if(condition > 0 && this.data.pre_arr.is_useorderyh) { + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { + data: {store_id: os.stoid, orderAmount: condition} + }).then(res => { + if (res.data.code == 0) { + prom_ord = res.data.data; + } + + }) + } + //-----------当地址不为空,且是物流时,计算物流费用---------- if (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) { //看是不是有调用过包邮券,如果活动可以使用优化券的情况下 if (!th.data.isget_by_quan[bn_pick] && th.data.act.is_usecoupon) { - var condition = allpice - quan_price; + //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱--- getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { data: { @@ -1897,14 +1912,19 @@ Page({ var user_addr=th.data.user_addr; var req_d = { province: user_addr.province, city: user_addr.city, district: user_addr.district, - wuliu: parseFloat(allpice).toFixed(2), store_id: os.stoid + wuliu: parseFloat(condition).toFixed(2), store_id: os.stoid } var back_data = null; - await getApp().request.promisePost("/api/weshop/order/areaFreight", { - is_json: 1, data: req_d - }).then(rs => { - if (rs.data.code == 0) back_data = rs.data.data; - }); + + //-- 判断是不是包邮 -- + if (this.data.pre_arr.is_post_temp && (!prom_ord || !prom_ord.is_ord_prom_post)) { + + await getApp().request.promisePost("/api/weshop/order/areaFreight", { + is_json: 1, data: req_d + }).then(rs => { + if (rs.data.code == 0) back_data = rs.data.data; + }); + } var gd_arr_list = []; gd_arr_list.push(good); @@ -1993,12 +2013,13 @@ Page({ exp_price = parseFloat(shipping_price).toFixed(2); } - th.wuliu_next(allpice, quan_price, exp_price); + th.wuliu_next(allpice, quan_price, exp_price,prom_ord,1); } else { - th.wuliu_next(allpice, quan_price, exp_price); + th.wuliu_next(allpice, quan_price, exp_price,prom_ord,1); } //}); }, + async calculate_same_city() { var th = this, good = th.data.goods, @@ -2061,20 +2082,34 @@ Page({ - //相同的东西统一在一起 - wuliu_next(allpice, quan_price, exp_price) { + //相同的东西统一在一起,is_get表示订单优惠有没有被读取一遍 + async wuliu_next(allpice, quan_price, exp_price,ord_prom,is_get) { var th = this; var o_condition = parseFloat(allpice) - parseFloat(quan_price); if (o_condition < 0) o_condition = 0; + + if(!ord_prom && !is_get){ + if(o_condition > 0 && this.data.pre_arr.is_useorderyh){ + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { + data: { store_id: os.stoid, orderAmount: condition } + }).then(res => { + if (res.data.code == 0) { + ord_prom = res.data.data; + } + }) + } + } + + //如果同意参与订单优惠 - if (o_condition > 0 && this.data.pre_arr.is_useorderyh) { - th.check_is_order_prom(o_condition,async function (ord_price) { + if (ord_prom) { + //th.check_is_order_prom(o_condition,async function (ord_price) { var bn_pick = th.data.pickup.pickup_id var order_prom_amount = 0; var order_prom_id = 0; var order_m = 0; - if (th.data.order_prom[bn_pick]) { - var ord_prom = th.data.order_prom[bn_pick]; + //if (th.data.order_prom[bn_pick]) { + //var ord_prom = th.data.order_prom[bn_pick]; //么有使用券,或者活动没有限制使用优惠券 if (quan_price <= 0 || !ord_prom.is_xz_yh) { order_prom_id = ord_prom['id']; @@ -2090,7 +2125,7 @@ Page({ } ord_price = order_m; } - } + //} //--订单优惠的显示-- if (order_prom_id > 0) { @@ -2177,11 +2212,9 @@ Page({ if( th.data.bn_use_commission){ the_price-=th.data.bn_use_commission; } - - th.setData({ exp_price: exp_price, order_m: the_price, show_submit: 1, }) - }) + //}) } else { var o_condition1 = parseFloat(o_condition) - parseFloat(th.data.presell.presell_deposit); diff --git a/packageC/pages/presell/cart/cart2.js b/packageC/pages/presell/cart/cart2.js index bd6dec3..1460580 100644 --- a/packageC/pages/presell/cart/cart2.js +++ b/packageC/pages/presell/cart/cart2.js @@ -641,12 +641,11 @@ Page({ calculatePrice2: async function () { var th = this, good = this.data.bn_goods; if (!good) return false; - //搭配的计算要用购物的车计算方法 - if (good.prom_type == 5) { - th.calculatePrice(); - return false; - } + // if (good.prom_type == 5) { + // th.calculatePrice(); + // return false; + // } th.setData({dis_btn:1}) @@ -678,8 +677,7 @@ Page({ } - // to.getConfig2(function (ee) { - // to.getwuliuprice(async function (rs) { + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; var out_of_weight = null; //超出多少重量 @@ -708,6 +706,30 @@ Page({ } } + //-----------------支付价,优惠券不减物流----------------- + var total_m = (parseFloat(allpice1)).toFixed(2); + var order_m = (parseFloat(allpice - cut_price) - quan_price).toFixed(2); + var coupon_price = quan_price; //优惠券优惠了多少钱 + if (order_m < 0) { + order_m = 0; + coupon_price = parseFloat(order_m).toFixed(2); + } + //--看一下有没有订单优惠-- + var o_condition = parseFloat(order_m); + + //-- 判断订单优惠的叠加 -- + var ord_prom=null; + var o_condition=allpice; + if (o_condition > 0 && th.data.act.is_useorderyh) { + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { + data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id } + }).then(res => { + if (res.data.code == 0) { + ord_prom = res.data.data; + } + }) + } + //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1) { //看是不是有调用过包邮券 @@ -757,11 +779,16 @@ Page({ wuliu: parseFloat(parseFloat(allpice) - cut_price - quan_price).toFixed(2), store_id: os.stoid } var back_data = null; - await getApp().request.promisePost("/api/weshop/order/areaFreight", { - is_json: 1, data: req_d - }).then(rs => { - if (rs.data.code == 0) back_data = rs.data.data; - }); + + if(!ord_prom || ord_prom.is_post_temp) { + if (th.data.act.is_post_temp){ + await getApp().request.promisePost("/api/weshop/order/areaFreight", { + is_json: 1, data: req_d + }).then(rs => { + if (rs.data.code == 0) back_data = rs.data.data; + }); + } + } var cut_good_weight = 0; for (let i in gd_arr_list) { @@ -868,306 +895,171 @@ Page({ th.setData({ [wl_txt]: 0, }) } } - //-----------------支付价,优惠券不减物流----------------- - var total_m = (parseFloat(allpice1)).toFixed(2); - var order_m = (parseFloat(allpice - cut_price) - quan_price).toFixed(2); - var coupon_price = quan_price; //优惠券优惠了多少钱 - if (order_m < 0) { - order_m = 0; - coupon_price = parseFloat(order_m).toFixed(2); - } - //--看一下有没有订单优惠-- - var o_condition = parseFloat(order_m); - - if (o_condition > 0 && th.data.act.is_useorderyh) { - th.check_is_order_prom(o_condition, async function () { - var order_prom_amount = 0; - var order_prom_id = 0; - if (th.data.order_prom[th.data.bn_pick]) { - var ord_prom = th.data.order_prom[th.data.bn_pick]; - if (!ord_prom.is_xz_yh || quan_price <= 0) { - order_prom_id = ord_prom['id']; - switch (ord_prom['type']) { - case 0: - order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 - order_prom_amount = (o_condition - order_m).toFixed(2); - break; - case 1: - - var bs=1; - if(ord_prom.is_bz){ - bs=Math.floor(o_condition/ord_prom.money); - } - - order_m = o_condition - bs*ord_prom['expression'];//满额优惠金额 - order_prom_amount = bs*ord_prom['expression']; - break; + var order_prom_amount = 0; + var order_prom_id = 0; + var order_prom_txt1 = "formData.order_prom_id"; + var order_prom_txt2 = "formData.order_prom_amount"; + if(ord_prom){ + if (!ord_prom.is_xz_yh || quan_price <= 0) { + order_prom_id = ord_prom['id']; + switch (ord_prom['type']) { + case 0: + order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 + order_prom_amount = (o_condition - order_m).toFixed(2); + break; + case 1: + + var bs=1; + if(ord_prom.is_bz){ + bs=Math.floor(o_condition/ord_prom.money); } - } - } - //--订单优惠的显示-- - if (order_prom_id > 0) { - var order_prom_txt1 = "formData.order_prom_id"; - var order_prom_txt2 = "formData.order_prom_amount"; - th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) + order_m = o_condition - bs*ord_prom['expression'];//满额优惠金额 + order_prom_amount = bs*ord_prom['expression']; + break; } + } + //--订单优惠的显示-- + if (order_prom_id > 0) { + th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) + } + }else { + th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) + } - //判断是否同城配送,而且没有调用过 - if(th.data.bn_exp_type==2 && th.data.user_addr) { - - var lon=0;var lat=0; - //-- 获取距离 -- - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { - is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} - }).then(res=>{ - if(res.data.code==0){ - var data= JSON.parse(res.data.data); - if(data.status==0){ - lon=data.result.location.lng; - lat=data.result.location.lat; - } - } - }) + var order_prom_txt1 = "formData.order_prom_id"; + var order_prom_txt2 = "formData.order_prom_amount"; + th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) - var gd_w = good['weight'] * good['buynum']; - //-- 获取距离 -- - var req_data = { - store_id: os.stoid, - order_amount: parseFloat(order_m), - lon: lon, lat: lat, - pickup_id: bn_pick, - goods_weight: gd_w - } - var is_next=1; - //获取同城配送参数 - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { - is_json: 1, - data: req_data - }).then(res => { - if (res.data.code == 0) { - var wl_txt = "formData.shipping_price"; - th.setData({ [wl_txt]: res.data.data, }) - }else{ - is_next=0; - wx.showToast({ - title: res.data.msg, icon: 'none', duration: 2000 - }) - } - }) - if(!is_next) return false + //判断是否同城配送,而且没有调用过 + if(th.data.bn_exp_type==2 && th.data.user_addr) { + var lon=0;var lat=0; + //-- 获取距离 -- + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { + is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} + }).then(res=>{ + if(res.data.code==0){ + var data= JSON.parse(res.data.data); + if(data.status==0){ + lon=data.result.location.lng; + lat=data.result.location.lat; + } } + }) + var gd_w = good['weight'] * good['buynum']; + //-- 获取距离 -- + var req_data = { + store_id: os.stoid, + order_amount:parseFloat(order_m), + lon: lon, lat: lat, + pickup_id: bn_pick, + goods_weight: gd_w + } - - total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); - order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); - - total_m = total_m.toFixed(2); - order_m = order_m.toFixed(2); - - var atxt = "formData.total_amount"; - th.setData({ [atxt]: total_m, }) - - var txt = "formData.user_money"; - var txt2 = "formData.order_amount"; - var txt3 = "formData.coupon_price"; - - if(parseFloat(order_m) { + if (res.data.code == 0) { + var wl_txt = "formData.shipping_price"; + th.setData({ [wl_txt]: res.data.data, }) + }else{ + is_next=0; wx.showToast({ - title: '应付金额小于本单佣金,不可使用!', - icon: 'none', - duration: 2000 - }) - - th.setData({ - bn_use_commission:0 + title: res.data.msg, icon: 'none', duration: 2000 }) - - } - - var txt4 = "formData.use_commission"; - - if(th.data.bn_use_commission){ - order_m=(parseFloat(order_m)- parseFloat(th.data.bn_goods.use_commission)).toFixed(2); - th.setData({[txt4]:th.data.bn_goods.use_commission}) - } - - var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); - //--------------如果使用余额--------------------- - if (th.data.bn_use_money == 1) { - if (amoney > parseFloat(order_m)) { - order_m = parseFloat(order_m).toFixed(2); - th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } else { - order_m = parseFloat(order_m) - parseFloat(amoney); - order_m = order_m.toFixed(2); - th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } - } else { - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } - //优惠活动送积分 - if (good.s_intValue) { - txt = "formData.give_integral"; - th.setData({ [txt]: good.s_intValue }); - } - //优惠送券 - if (good.s_coupon_id) { - var i_txt = "formData.give_coupon_id"; - //这个是json格式的 - var i_txt1 = "formData.g_coupon_num"; - var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; - ob = JSON.stringify(ob); - th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); - } - //优惠礼包 - if (good.s_libao) { - var l_txt = "formData.give_lb_id"; - //这个是json格式的 - var l_txt1 = "formData.g_lb_num"; - var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; - ob = JSON.stringify(ob); - th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob }); } }) - } else { - var order_prom_txt1 = "formData.order_prom_id"; - var order_prom_txt2 = "formData.order_prom_amount"; - th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) - - - //判断是否同城配送,而且没有调用过 - if(th.data.bn_exp_type==2 && th.data.user_addr) { - var lon=0;var lat=0; - //-- 获取距离 -- - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { - is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} - }).then(res=>{ - if(res.data.code==0){ - var data= JSON.parse(res.data.data); - if(data.status==0){ - lon=data.result.location.lng; - lat=data.result.location.lat; - } - } - }) - - var gd_w = good['weight'] * good['buynum']; - //-- 获取距离 -- - var req_data = { - store_id: os.stoid, - order_amount:parseFloat(order_m), - lon: lon, lat: lat, - pickup_id: bn_pick, - goods_weight: gd_w - } - - var is_next=1; - //获取同城配送参数 - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { - is_json: 1, - data: req_data - }).then(res => { - if (res.data.code == 0) { - var wl_txt = "formData.shipping_price"; - th.setData({ [wl_txt]: res.data.data, }) - }else{ - is_next=0; - wx.showToast({ - title: res.data.msg, icon: 'none', duration: 2000 - }) - } - }) - if(!is_next) return false - } - - total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); - order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); - var atxt = "formData.total_amount"; + if(!is_next) return false + } - total_m = total_m.toFixed(2); - order_m = order_m.toFixed(2); + total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); + order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); + var atxt = "formData.total_amount"; - th.setData({ [atxt]: total_m, }) + total_m = total_m.toFixed(2); + order_m = order_m.toFixed(2); - var txt = "formData.user_money"; - var txt2 = "formData.order_amount"; - var txt3 = "formData.coupon_price"; + th.setData({ [atxt]: total_m, }) - if(parseFloat(order_m) order_m) { - order_m = parseFloat(order_m).toFixed(2); - th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } else { - order_m = parseFloat(order_m) - parseFloat(amoney); - order_m = order_m.toFixed(2); - th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } + + var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); + //--------------如果使用余额--------------------- + if (th.data.bn_use_money == 1) { + if (amoney > order_m) { + order_m = parseFloat(order_m).toFixed(2); + th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) } else { - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) - } - //优惠活动送积分 - if (good.s_intValue) { - txt = "formData.give_integral"; - th.setData({ [txt]: good.s_intValue }); - } - //优惠送券 - if (good.s_coupon_id) { - var i_txt = "formData.give_coupon_id"; - //这个是json格式的 - var i_txt1 = "formData.g_coupon_num"; - var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; - ob = JSON.stringify(ob); - th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); - } - //优惠礼包 - if (good.s_libao) { - var l_txt = "formData.give_lb_id"; - //这个是json格式的 - var l_txt1 = "formData.g_lb_num"; - var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; - ob = JSON.stringify(ob); - th.setData({ [l_txt]: good.s_coupon_id, [l_txt1]: ob }); + order_m = parseFloat(order_m) - parseFloat(amoney); + order_m = order_m.toFixed(2); + th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) } + } else { + th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,dis_btn:0 }) + } + //优惠活动送积分 + if (good.s_intValue) { + txt = "formData.give_integral"; + th.setData({ [txt]: good.s_intValue }); + } + //优惠送券 + if (good.s_coupon_id) { + var i_txt = "formData.give_coupon_id"; + //这个是json格式的 + var i_txt1 = "formData.g_coupon_num"; + var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }]; + ob = JSON.stringify(ob); + th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob }); } + //优惠礼包 + if (good.s_libao) { + var l_txt = "formData.give_lb_id"; + //这个是json格式的 + var l_txt1 = "formData.g_lb_num"; + var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }]; + ob = JSON.stringify(ob); + th.setData({ [l_txt]: good.s_coupon_id, [l_txt1]: ob }); + } + wx.hideLoading(); - // }); - // }); + }, //--------------------提交订单----------------------- diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 0f144a8..4cf94d3 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -7725,7 +7725,7 @@ Page({ let item = arr_data[i]; //找不到活动要剔除 if (!item.act_name) continue; - if ([1,2,4,6].indexOf(item.prom_type)==-1) continue; + if ([1,2,4,6,8].indexOf(item.prom_type)==-1) continue; new_arr.push(item); } diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index 4f28081..0914885 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -604,6 +604,7 @@ 团购 积分购 天天拼单 + 预售 @@ -613,6 +614,7 @@ + -- libgit2 0.21.4