diff --git a/app.json b/app.json index 69bb6e6..680af94 100644 --- a/app.json +++ b/app.json @@ -53,6 +53,7 @@ "pages/giftpack/payment/payment", "pages/giftpack/buygiftpack/giftpackbuy", "pages/giftpack/giftpacklist/giftpacklist", + "pages/giftpack/giftpacklistshop/giftpacklistshop", "pages/giftpack/mygiftpack/mygiftpack", "pages/user/assistance/giftpacklist", "pages/user/assistance/task_assistance", diff --git a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml index 4f0cd29..010898a 100644 --- a/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml +++ b/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct.wxml @@ -65,6 +65,7 @@ {{filters.toFix(param.goods_price,2)}} + 佣金:{{filters.toFix(bn_goods.use_commission/bn_goods.buynum,2)}}*{{bn_goods.buynum}} x{{bn_goods.buynum}} diff --git a/packageC/pages/presell/cart/cart2_pre.wxml b/packageC/pages/presell/cart/cart2_pre.wxml index 08542e7..e5388e1 100644 --- a/packageC/pages/presell/cart/cart2_pre.wxml +++ b/packageC/pages/presell/cart/cart2_pre.wxml @@ -58,6 +58,7 @@ {{filters.toFix(bn_goods.shop_price,2)}} + 佣金:{{filters.toFix(bn_goods.use_commission/bn_goods.buynum,2)}}*{{bn_goods.buynum}} x{{bn_goods.buynum}} diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index d1d58a7..b68a64c 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -1072,6 +1072,15 @@ Page({ prom_type: item[c].prom_type, prom_id: item[c].prom_id, } + let req_d1 = { + user_id: getApp().globalData.user_id, goods_ids: [hr], store_id: os.stoid + } + + await getApp().request.promisePost("/api/weshop/order/getrebateSum", { + is_json: 1, data: req_d1 + }).then(grs => { + if (grs.data.code == 0) item[c].use_commission = grs.data.data; + }); commission_gds.push(hr); } if (th.data.sales_rules != 2) { @@ -1088,7 +1097,7 @@ Page({ c_item.offline_num = offline_num; c_item.is_offline = 1; } - + //获取购物车的佣金,此处要优化调用接口,获取佣金 var req_d = { user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid @@ -1097,6 +1106,7 @@ Page({ await getApp().request.promisePost("/api/weshop/order/getrebateSum", { is_json: 1, data: req_d }).then(rs => { + if (rs.data.code == 0) back_data = rs.data.data; }); diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml index d4c1764..54c48b4 100644 --- a/packageE/pages/cart/cart2/cart2.wxml +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -103,6 +103,7 @@ {{filters.toFix(items.goods_price,2)}}({{items.discount}}折) {{filters.toFix(items.goods_price,2)}} + 佣金:{{filters.toFix(items.use_commission/items.goods_num,2)}}*{{items.goods_num}} x{{items.goods_num}} @@ -333,6 +334,7 @@ {{filters.toFix(bn_goods.shop_price,2)}} + 佣金:{{filters.toFix(bn_goods.use_commission/bn_goods.buynum,2)}}*{{bn_goods.buynum}} x{{bn_goods.buynum}} diff --git a/pages/cart/cart2_inte/cart2_inte.js b/pages/cart/cart2_inte/cart2_inte.js index 1eafbf4..cb1b64e 100644 --- a/pages/cart/cart2_inte/cart2_inte.js +++ b/pages/cart/cart2_inte/cart2_inte.js @@ -42,6 +42,9 @@ Page({ bn_pickname: "", //选择的门店名称 bn_t_exp_t: 0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流 + bn_is_order_yh: 1, //是不是订单优惠 + bn_is_post_temp: 1, //是不是进行计算包邮模板 + bn_plus_cut_price: 0, //显示等级卡会优惠多少钱 /*------------------------*/ user_addr: null,//物流 @@ -538,6 +541,19 @@ Page({ } + if (inte_data.is_order_yh) { + th.data.bn_is_order_yh = 1; + } else { + th.data.bn_is_order_yh = 0; + } + + if (inte_data.is_post_temp) { + th.data.bn_is_post_temp = 1; + } else { + th.data.bn_is_post_temp = 0; + } + + th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et, index: m_wind, @@ -594,6 +610,7 @@ Page({ //---------计算立即购买---------- + //---------计算立即购买---------- calculatePrice2:async function () { var th = this, good = this.data.bn_goods; @@ -608,6 +625,7 @@ Page({ cut_price = allpice - good.prom_price; } allpice = parseFloat(allpice).toFixed(2); + var txt = "formData.all_price"; th.setData({ [txt]: allpice, }); if (cut_price) { @@ -615,132 +633,198 @@ Page({ th.setData({ [c_txt]: cut_price, }); } - //to.getwuliuprice(async function (rs) { - var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; - var out_of_weight = null; //超出多少重量 + //-- 把订单优惠的判断提前,bn_is_order_yh是确定要不要订单优惠的控制 -- + var condition = parseFloat(allpice-cut_price).toFixed(2); + var ord_prom = null; + var is_ord_prom_post = 0; - //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- - if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1 && !th.data.inv_is_post) { + if (condition > 0 && th.data.bn_is_order_yh && !th.data.bn_goods.whsle_id) { + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { + data: { store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id } + }).then(res => { + if (res.data.code == 0) { + var data = res.data.data; + ord_prom = data; + } + }) + if (ord_prom && ord_prom.is_post_temp) { + is_ord_prom_post = 1; + } + } - 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 - } - 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; - }); - var gd_arr_list = []; - gd_arr_list.push(good); - var cut_good_weight = 0; - for (let i in gd_arr_list) { - let item = gd_arr_list[i]; - - if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1) ) { - - if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) { - if (goods_weight < 0) goods_weight = 0; - goods_weight += item['weight'] * item['buynum']; - cut_good_weight += item['weight'] * item['buynum']; - } - if (back_data.weight_free > 0) { - out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; - } - continue; - } - switch (item['exp_sum_type']) { - case 1: - //统一运费 - o_shipping_price += item['uniform_exp_sum']; - break; - case 2: - if (goods_weight < 0) goods_weight = 0; - //累积商品重量 每种商品的重量 * 数量 - goods_weight += item['weight'] * item['buynum']; - - if (back_data && back_data.is_by_all && !back_data.no_free_goods) { - cut_good_weight += item['weight'] * item['buynum']; - if (back_data.weight_free > 0) { - out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; - } - } - break; - case 3: - if (goods_piece < 0) goods_piece = 0; - //累积商品数量 - goods_piece += item['buynum']; - break; - } - } + //to.getwuliuprice(async function (rs) { - //如果是正值的时候 - if (out_of_weight >= 0) out_of_weight = -cut_good_weight; - else out_of_weight = -back_data.weight_free * 1000; - - var code = ""; - if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code; - //--------------开始计算物流------------------ - var shipping_price=0; - // var shipping_price = ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight, - // goods_piece, th.data.user_addr, back_data, rs); - - var w_data={ - store_id:os.stoid, code:code, - o_shipping_price:o_shipping_price, - goods_weight:goods_weight, - out_of_weight:out_of_weight,goods_piece:goods_piece, - user_addr_province:th.data.user_addr.province, - user_addr_city:th.data.user_addr.city, - user_addr_district:th.data.user_addr.district, - is_by_all:back_data && back_data.is_by_all?1:0, - no_free_goods:back_data && back_data.no_free_goods && back_data.no_free_goods.length>0?1:0, - } + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; + var out_of_weight = null; //超出多少重量 - var is_ok=0; - await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', {data:w_data,is_json:1}).then(res=>{ - if(res.data.code==0){ - shipping_price=res.data.data; is_ok=1; - } - }) + //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- + if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1 && !th.data.inv_is_post) { - if(!is_ok){ - wx.hideLoading(); - wx.showToast({ - title: "计算物流错误", icon: 'none',duration: 2000 - }) + 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 + } + var back_data = null; + //判断是不是包邮模板,bn_is_post_temp 和 订单优惠的包邮模板一起控制 + if (th.data.bn_is_post_temp && (!ord_prom || 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; + }); + } - return false; - } + var gd_arr_list = []; + gd_arr_list.push(good); + var cut_good_weight = 0; + for (let i in gd_arr_list) { + let item = gd_arr_list[i]; + if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1) ) { - if (shipping_price <= 0) { - th.data.is_by[th.data.bn_pick] = 1; //已经是包邮了,就不要选择包邮券 + if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) { + if (goods_weight < 0) goods_weight = 0; + goods_weight += item['weight'] * item['buynum']; + cut_good_weight += item['weight'] * item['buynum']; + } + if (back_data.weight_free > 0) { + out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; + } + continue; + } + + switch (item['exp_sum_type']) { + case 1: + //统一运费 + o_shipping_price += item['uniform_exp_sum']; + break; + case 2: + if (goods_weight < 0) goods_weight = 0; + //累积商品重量 每种商品的重量 * 数量 + goods_weight += item['weight'] * item['buynum']; + + if (back_data && back_data.is_by_all && !back_data.no_free_goods) { + cut_good_weight += item['weight'] * item['buynum']; + if (back_data.weight_free > 0) { + out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; + } } + break; + case 3: + if (goods_piece < 0) goods_piece = 0; + //累积商品数量 + goods_piece += item['buynum']; + break; + } + } - shipping_price = parseFloat(shipping_price).toFixed(2); - var wl_txt = "formData.shipping_price"; - th.setData({ [wl_txt]: shipping_price, }) + //如果是正值的时候 + if (out_of_weight >= 0) out_of_weight = -cut_good_weight; + else out_of_weight = -back_data.weight_free * 1000; + + var code = ""; + if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code; + //--------------开始计算物流------------------ + var shipping_price=0; + // var shipping_price = ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight, + // goods_piece, th.data.user_addr, back_data, rs); + + var w_data={ + store_id:os.stoid, code:code, + o_shipping_price:o_shipping_price, + goods_weight:goods_weight, + out_of_weight:out_of_weight,goods_piece:goods_piece, + user_addr_province:th.data.user_addr.province, + user_addr_city:th.data.user_addr.city, + user_addr_district:th.data.user_addr.district, + is_by_all:back_data && back_data.is_by_all?1:0, + no_free_goods:back_data && back_data.no_free_goods && back_data.no_free_goods.length>0?1:0, + } - } else if(th.data.bn_exp_type == 1 ) { - var wl_txt = "formData.shipping_price"; - th.setData({ [wl_txt]: 0, }) + var is_ok=0; + await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', {data:w_data,is_json:1}).then(res=>{ + if(res.data.code==0){ + shipping_price=res.data.data; is_ok=1; } - //---如果有选择优惠券的情况下--- - var quan_price = 0, bn_pick = th.data.bn_pick; - - //-----------------支付价,优惠券不减物流----------------- - var total_m = (parseFloat(allpice)).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); + }) + + if(!is_ok){ + wx.hideLoading(); + wx.showToast({ + title: "计算物流错误", icon: 'none',duration: 2000 + }) + + return false; + } + + + if (shipping_price <= 0) { + th.data.is_by[th.data.bn_pick] = 1; //已经是包邮了,就不要选择包邮券 + } + + shipping_price = parseFloat(shipping_price).toFixed(2); + var wl_txt = "formData.shipping_price"; + th.setData({ [wl_txt]: shipping_price, }) + + } else if(th.data.bn_exp_type == 1 ) { + var wl_txt = "formData.shipping_price"; + th.setData({ [wl_txt]: 0, }) + } + //---如果有选择优惠券的情况下--- + var quan_price = 0, bn_pick = th.data.bn_pick; + + //-----------------支付价,优惠券不减物流----------------- + var total_m = (parseFloat(allpice)).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 (th.data.bn_goods.whsle_id > 0) { + o_condition = 0; + } + + var order_prom_amount = 0; + var order_prom_id = 0; + if (ord_prom && o_condition > 0) { + //么有使用券,或者活动没有限制使用优惠券 + if (coupon_price <= 0 || !ord_prom.is_xz_yh) { + 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 = ord_prom['expression']; + break; } + } + } + //--订单优惠的显示-- + var order_prom_txt1 = "formData.order_prom_id"; + var order_prom_txt2 = "formData.order_prom_amount"; + 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.udata && th.data.udata.Balance > 0 && order_m * 1 > 0) { @@ -772,7 +856,7 @@ Page({ order_amount: order_m, goods: [{ goods_sn: th.data.bn_goods.goods_sn, - goods_price: th.data.bn_goods.shop_price || th.data.bn_goods.goods_price, + goods_price: th.data.bn_goods.shop_price || th.data.bn_goods.goods_price, goods_num: th.data.bn_goods.buynum || th.data.bn_goods.goods_num, }], sto: { @@ -841,107 +925,107 @@ Page({ }) } - //判断是否同城配送,而且没有调用过 - 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: 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 - } - - - - //--看一下有没有订单优惠--0 - 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, }) - - var txt = "formData.user_money"; - var txt2 = "formData.order_amount"; - var txt4 = "formData.integral"; - - - //-- 最后的金额小于佣金 -- - if(parseFloat(order_m){ + 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; } + } + }) - th.setData({ - cart_use_commission:0 - }); + var gd_w = good['weight'] * good['buynum']; + //-- 获取距离 -- + var req_data = { + store_id: os.stoid, + order_amount: 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 + } + + + + //--看一下有没有订单优惠--0 + 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, }) + + var txt = "formData.user_money"; + var txt2 = "formData.order_amount"; + var txt4 = "formData.integral"; + + + //-- 最后的金额小于佣金 -- + if(parseFloat(order_m) parseFloat(order_m)) { - order_m = parseFloat(order_m).toFixed(2); - th.setData({ [txt]: order_m, [txt2]: 0, [txt4]: all_integral, show_submit: 1,submit:0 }) - } else { - order_m = parseFloat(order_m - amoney); - order_m = order_m.toFixed(2); - th.setData({ [txt]: amoney, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0 }) - } - } else { - th.setData({ [txt]: 0, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0}) - } - wx.hideLoading(); + th.setData({ + cart_use_commission:0 + }); + + } + + + var txt5 = "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({[txt5]: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, [txt4]: all_integral, show_submit: 1,submit:0 }) + } else { + order_m = parseFloat(order_m - amoney); + order_m = order_m.toFixed(2); + th.setData({ [txt]: amoney, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0 }) + } + } else { + th.setData({ [txt]: 0, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0}) + } + wx.hideLoading(); + + //}); }, @@ -1027,6 +1111,13 @@ Page({ if(th.data.bn_use_commission){ item.use_commission=th.data.bn_goods.use_commission; } + var order_prom_list = {}; + //--判断有没有优惠活动-- + if (th.data.formData.order_prom_amount > 0) { + order_prom_list.order_prom_id = th.data.formData.order_prom_id; + order_prom_list.order_prom_amount = th.data.formData.order_prom_amount; + } + item.order_prom_list = order_prom_list; //获取立即购买的商品的信息 diff --git a/pages/cart/cart2_inte/cart2_inte.wxml b/pages/cart/cart2_inte/cart2_inte.wxml index 1a901a0..1cd8270 100644 --- a/pages/cart/cart2_inte/cart2_inte.wxml +++ b/pages/cart/cart2_inte/cart2_inte.wxml @@ -65,7 +65,7 @@ - + {{bn_goods.goods_name}} @@ -81,6 +81,8 @@ + {{filters.toFix(bn_goods.shop_price,2)}} + 佣金:{{filters.toFix(bn_goods.use_commission/bn_goods.buynum,2)}}*{{bn_goods.buynum}} + x{{bn_goods.buynum}} @@ -174,6 +176,12 @@ 配送费用 ¥ {{formData.shipping_price}}元 + + + + 订单优惠 + - ¥ {{filters.toFix(formData.order_prom_amount,2)}}元 + 使用预存 diff --git a/pages/cart/cart2_pt/cart2_pt.wxml b/pages/cart/cart2_pt/cart2_pt.wxml index 53e083d..87cefab 100644 --- a/pages/cart/cart2_pt/cart2_pt.wxml +++ b/pages/cart/cart2_pt/cart2_pt.wxml @@ -65,6 +65,8 @@ {{filters.toFix(bn_goods.shop_price,2)}} + 佣金:{{filters.toFix(bn_goods.use_commission/bn_goods.buynum,2)}}*{{bn_goods.buynum}} + x{{bn_goods.buynum}}