From 0ce9d4dc60ba599cc5462397850427913ba67031 Mon Sep 17 00:00:00 2001 From: WXD-SEASON\season Date: Thu, 29 Dec 2022 14:30:10 +0800 Subject: [PATCH] cart2移到E包 --- packageA/pages/goodsInfo/goodsInfo.js | 2 +- packageA/pages/prom_list/prom_list.js | 2 +- packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js | 2 +- packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js | 4 ++-- packageE/pages/cart/cart2/c_filter.wxs | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/cart/cart2/cart2.js | 6088 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/cart/cart2/cart2.json | 8 ++++++++ packageE/pages/cart/cart2/cart2.wxml | 860 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/cart/cart2/cart2.wxss | 1144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/cart/cart2/filter.wxs | 11 +++++++++++ packageE/pages/cart/cart2/juchi_part.wxml | 4 ++++ packageE/pages/cart/cart2/ladder_calculate.js | 243 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/cart/cart2/remark_click_part.wxml | 4 ++++ packageE/pages/cart/cart2/remark_click_part2.wxml | 4 ++++ packageE/pages/cart/cart2/remark_part.wxml | 9 +++++++++ packageE/pages/cart/cart2/zh_calculate.js | 529 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageE/pages/user/labels/labels.js | 2 +- pages/cart/cart/cart.js | 6 +++--- pages/cart/cart2/c_filter.wxs | 70 ---------------------------------------------------------------------- pages/cart/cart2/cart2.js | 6088 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/cart/cart2/cart2.json | 8 -------- pages/cart/cart2/cart2.wxml | 860 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/cart/cart2/cart2.wxss | 1144 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/cart/cart2/filter.wxs | 11 ----------- pages/cart/cart2/juchi_part.wxml | 4 ---- pages/cart/cart2/ladder_calculate.js | 243 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/cart/cart2/remark_click_part.wxml | 4 ---- pages/cart/cart2/remark_click_part2.wxml | 4 ---- pages/cart/cart2/remark_part.wxml | 9 --------- pages/cart/cart2/zh_calculate.js | 529 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/goods/goodsInfo/goodsInfo.js | 8 ++++---- pages/index/index/index.wxml | 2 +- project.private.config.json | 907 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 33 files changed, 9895 insertions(+), 8988 deletions(-) create mode 100644 packageE/pages/cart/cart2/c_filter.wxs create mode 100644 packageE/pages/cart/cart2/cart2.js create mode 100644 packageE/pages/cart/cart2/cart2.json create mode 100644 packageE/pages/cart/cart2/cart2.wxml create mode 100644 packageE/pages/cart/cart2/cart2.wxss create mode 100644 packageE/pages/cart/cart2/filter.wxs create mode 100644 packageE/pages/cart/cart2/juchi_part.wxml create mode 100644 packageE/pages/cart/cart2/ladder_calculate.js create mode 100644 packageE/pages/cart/cart2/remark_click_part.wxml create mode 100644 packageE/pages/cart/cart2/remark_click_part2.wxml create mode 100644 packageE/pages/cart/cart2/remark_part.wxml create mode 100644 packageE/pages/cart/cart2/zh_calculate.js delete mode 100644 pages/cart/cart2/c_filter.wxs delete mode 100644 pages/cart/cart2/cart2.js delete mode 100644 pages/cart/cart2/cart2.json delete mode 100644 pages/cart/cart2/cart2.wxml delete mode 100644 pages/cart/cart2/cart2.wxss delete mode 100644 pages/cart/cart2/filter.wxs delete mode 100644 pages/cart/cart2/juchi_part.wxml delete mode 100644 pages/cart/cart2/ladder_calculate.js delete mode 100644 pages/cart/cart2/remark_click_part.wxml delete mode 100644 pages/cart/cart2/remark_click_part2.wxml delete mode 100644 pages/cart/cart2/remark_part.wxml delete mode 100644 pages/cart/cart2/zh_calculate.js create mode 100644 project.private.config.json diff --git a/packageA/pages/goodsInfo/goodsInfo.js b/packageA/pages/goodsInfo/goodsInfo.js index bae351a..27fcaa3 100644 --- a/packageA/pages/goodsInfo/goodsInfo.js +++ b/packageA/pages/goodsInfo/goodsInfo.js @@ -4255,7 +4255,7 @@ Page({ data: newd, success: function (t) { th.closeSpecModal(); - getApp().goto("/pages/cart/cart2/cart2?state=1"); + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); } }); }, diff --git a/packageA/pages/prom_list/prom_list.js b/packageA/pages/prom_list/prom_list.js index da516be..eeaf691 100644 --- a/packageA/pages/prom_list/prom_list.js +++ b/packageA/pages/prom_list/prom_list.js @@ -637,7 +637,7 @@ Page({ buyNow: function(e) { s.set_b_now(e); wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + url: "/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, }); }, diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index 298c30b..d8f204d 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -4095,7 +4095,7 @@ Page({ data: newd, success: function (t) { th.closeSpecModal(); - getApp().goto("/pages/cart/cart2/cart2?state=1"); + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); } }); }, diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js index 33be4f1..62cfbc6 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js @@ -1937,14 +1937,14 @@ Page({ s.set_b_now(e); /*-- wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + url: "?is_bnow=1&goods_id=" + e.goods_id, });--*/ // console.log('11111111111111111111111111======》'); // getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&goods_id=" + e.goods_id); //getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&group_id=" + th.data.group_id + "&goods_id=" + e.goods_id + "&alert=" + th.data.luckGoInfo.lc_alert); - getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) }) } else { diff --git a/packageE/pages/cart/cart2/c_filter.wxs b/packageE/pages/cart/cart2/c_filter.wxs new file mode 100644 index 0000000..630d400 --- /dev/null +++ b/packageE/pages/cart/cart2/c_filter.wxs @@ -0,0 +1,70 @@ +var filters = { + toFix:function(val,count){ + if(!val) return parseFloat(0).toFixed(count); + return val.toFixed(count) + }, + format_time:function(ts,isFull) { + var d = getDate(ts*1000) + var fm=[d.getFullYear(), d.getMonth()+1, d.getDate()].join('-'); + if(isFull==1) + fm=fm + ' '+ [d.getHours(), d.getMinutes(), d.getSeconds()].join(':') + return fm; + }, + setcolor:function(ind){ + if (ind == 0 || ind ==null) return "red"; + if(ind==1 ) return "green"; + if(ind==2) return "blue"; + if(ind==11) return "green"; + if(ind==13) return "red"; + if(ind==12) return "blue"; + if(ind==20) return "green"; + return ""; + }, + setbgcolor: function (ind) { + if (ind == 0 || ind == null) return "#ffa1b9"; + if (ind == 1) return "#59e1d2"; + if (ind == 2) return "#a3bcff"; + if (ind == 11) return "#59e1d2"; + if (ind == 12) return "#a3bcff"; + if (ind == 20) return "#6d87cd"; + return ""; + }, + + get_type:function(ind){ + if (ind == 0 || ind == null) return "全场通用"; + if (ind == 1) return "品牌"; + if (ind == 2) return "品类"; + if (ind == 11) return "用途"; + if (ind == 12) return "分类1"; + if (ind == 20) return "指定单品"; + return ""; + }, + get_type_card:function(ind){ + if (ind == 0 || ind == null) return "全场通用"; + if (ind == 1) return "指定品牌"; + if (ind == 2) return "指定品类"; + if (ind == 11) return "指定用途"; + if (ind == 12) return "指定分类1"; + if (ind == 13) return "自定义"; + if (ind == 20) return "指定单品"; + return ""; + }, + format_huiche:function (text) { + if (!text) { + return ""; + } + var reg = getRegExp('\\\\n', 'g') + return text.replace(reg, '\n') + } +} + +module.exports = { + toFix: filters.toFix, + format_time:filters.format_time, + setcolor:filters.setcolor, + setbgcolor: filters.setbgcolor, + get_type: filters.get_type, + get_split_name: filters.get_split_name, + get_type_card: filters.get_type_card, + format_huiche: filters.format_huiche, +} \ No newline at end of file diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js new file mode 100644 index 0000000..17d34a7 --- /dev/null +++ b/packageE/pages/cart/cart2/cart2.js @@ -0,0 +1,6088 @@ +var t = getApp(), app = t, a = t.request, e = require("../../../../utils/common.js"), + s = require("../../../../utils/util.js"), ut = s, o = require("../../../../utils/md5.js"), to = getApp(); +var oo = t.globalData.setting, os = oo; +var regeneratorRuntime = require('../../../../utils/runtime.js'); +var util_pay = require("../../../../utils/pay.js"); +var zh_calc = require("zh_calculate.js"); +var ladder_calc = require("ladder_calculate.js"); +// 防抖函数用定时器 +let timer; +Page({ + data: { + + url: t.globalData.setting.url, + resourceUrl: t.globalData.setting.resourceUrl, + imgUrl: t.globalData.setting.imghost, + goods: null, + order: null, + orderPrices: null, + coupons: null, + coupon: null, + invoiceToggle: !0, + payWithUserMoney: !0, + payWithPoints: !0, + maxWord: 0, + enterAddressPage: !1, + firstEnter: !0, + //页面获取的参数 + param: null, + //提交订单的格式 + formData: { + order_amount: 0,//支付金额 + total_amount: 0,//总价 + all_price: 0,//商品卖的总价 + pay_points: 0,//使用积分 + user_money: 0,//使用余额 + couponCode: "",//使用优惠券(多单就用逗号隔开) + shipping_price: 0,//物流费用 + }, + + /*-----------当是购物车结算的时候-------------*/ + cartlist: null, + old_cartlist: null, + cartlist_y: null, //购物车原始列表 + js_use_money: 0, //是否使用余额 + is_all_zt: 1, //是否全部都是自提 + + /*----------------立即购买---------------------*/ + is_b_now: 0, //0是购物车结算 1立即购买 + bn_goods: null, //立即购买时候的调用商品 + bn_use_money: 0,//是否使用余额 + bn_exp_type: 1, //0是物流 1自提 + bn_pick: 0, //选择的门店 + bn_pickname: "", //选择的门店名称 + bn_t_exp_t: 0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流 + + bn_plus_cut_price: 0, //显示等级卡会优惠多少钱 + /*------------------------*/ + user_addr: null,//物流 + userinfo: null, //获取会员 + /*----------物流选择--------*/ + wu_arr: null, + index: 0, + w_sele_index: 0, + + //判断页面是返回回来的还是 首次进入的 + isclose: 1, + //申请提现的金额 + txmon: 0, + yuer: 0, + //提交中,不重复提交 + is_summit_ing: 0, + //--更优惠券抵用有关,立即购买的,如果是购物车,就要把相应的值,写入cartlist数组中-- + ckeck_quan_price: 0, + check_quan_price_list: '', + check_quan_ware_list: '', + + // 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid + //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"} + using_quan: {}, + open_quan: 0, + //选择的券列表 + selected_quan_list: null, + //选择的券的门店 + selected_quan_pick: null, + is_close_quan: 0, + disabled: 0, + open_express: 0,//控制选择物流名列表 的属性 + + is_express: 0, //选中物流的属性 + expres_name: "", //点击选定 + isopen: 0, //券的说明 + is_coupon: 1, //选择券的控制属性 + is_shipping_code: "",//插入用户默认地址 + wu_arr_txt: "", //要更新的物流的字段 + sales_rules: 1, //默认是显示线上库存 + isget_by_quan: {}, //是否调用了接口获取包邮券 + get_by_quan_list: null, //立即购买的 + get_by_quan_list_cart: {}, //购物车的 + by_quan_list_cart: null, //点击选择的包邮列表 + //如果是全场包邮了,或者是全场不包邮了,就不要选包邮券 + is_no_by: {}, + is_by: {}, + is_quan_by: {}, + //--购买赠送的商品-- + buy_now_gift_goods: null, + //--订单优惠-- + order_prom: {}, + //-- 购物车优惠活动 -- + prom_goods_map: {}, + //-- order_prom_list -- + order_prom_list_cart: null, + + ispt_goods: 0, //是否平摊至单品,0要平摊 1不平摊 + + rank_switch: 0, //是不是开同等级卡 + show_card: null, //显示的等级卡 + card_name: '', //显示的卡的名称 + card_cut_price: null,//减价多少钱 + + show_submit: 0, //提交按钮变正常显示 + is_get_offline: 1, + + tabs: ['门店自提', '快递邮寄'], + currentTabIndex: 1, + + in_zhact_gdmap: {}, //不同门店参与同一活动的限购 + hid_inp: 1, + user_note: "", + zhhe_act_map: {}, //组合活动的map表 + zuhe_map_good: {}, //组合购的map表 + ladder_map: {}, //阶梯促销的map表 + is_no_past: 1, + state: 0, //阶梯促销的的立即购买也走购物车流程state=1 + show_duo_gift: 0, + send_gf: {}, //多赠品的计算 + send_lb: {}, + dis_config: null, + bn_use_commission: 0, //是不是使用佣金 + cart_use_commission: 0, + cart_commission: 0, + + //订单所有搭配购的 + all_collocation_list: [], + appoint_pick_keyid:'' + }, + onLoad: function (t) { + wx.setNavigationBarTitle({ title: "填写订单", }) + var th = this; + this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); + th.data.param = t; + //清理一下,确保最新的系统配置 + getApp().globalData.config2 = null; + //清空is_pick_up + getApp().request.put("/api/weshop/useraddress/updatePickUp", { + data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, + success: function (s) { + } + }); + + //阶梯购 或者 组合购的立即购买 + if (t.state) { + th.data.state = 1; + } + getApp().promiseGet("/api/wx/weappSendlist/page", { + data: { + store_id: os.stoid, + typeid: "1001" + } + }).then(res => { + if (res.data.code == 0 && res.data.data.pageData.length > 0) { + var template_id = res.data.data.pageData[0].template_id; + th.setData({ template_id: template_id }); + } + }) + + //判断是不是佣金抵扣 + getApp().is_distribut(this); + + }, + onUnload: function () { + this.setData({ isclose: 1 }) + }, + onHide: function () { + this.setData({ + isget_by_quan: {}, + is_no_by: {}, + is_by: {}, + send_gf: {}, + send_lb: {}, + }) + }, + + //----------子页返回父页触发---------- + onShow: function () { + var th = this; + th.data.g_cart_q_time = null; + + if (th.data.isclose == 0) { + wx.navigateTo({ + url: "/pages/index/index/index" + }) + + } else { + this.getuser_addr(function (ie) { + console.log("getuser_addr") + console.log(ie) + //地址切换要把包邮券清空 + if (!th.data.user_addr || !ie || th.data.user_addr.address_id != ie.address_id) { + var using_quan = th.data.using_quan; + for (var i in using_quan) { + var item = using_quan[i]; + if (item.isby == 1) { + var ob = {}, txt = "using_quan[" + i + "]"; + ob[txt] = {}; + th.setData(ob); + } + } + th.data.isget_by_quan = {}; + } + + + //th.data.prom_goods_map = {}; + th.data.is_summit_ing = 0; + //更换地址回来要重新调用计算价钱的接口 + if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) { + th.setData({ user_addr: ie }); + if (th.data.is_b_now == 1) { + if (th.data.bn_goods) { + th.setData({ add_back: 1 }); + //th.calculatePrice2(); + } + } else { + if (th.data.cartlist) { + th.setData({ add_back: 1 }); + //th.calculatePrice(); + } + } + } else { + th.setData({ user_addr: ie }); + } + }); + var is_card_back = getApp().globalData.is_card_back; + //--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司 + if (!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back) { + this.update_code(); + } else { + getApp().globalData.is_cart_old = 0; + getApp().globalData.plus_buy_back = 0; + } + } + + //先获取是否有关闭使用优惠券 + getApp().getConfig2(function (ee) { + var json_d = JSON.parse(ee.switch_list); + th.data.json_d = json_d; + th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 + var is_default_logistics = json_d.is_default_logistics; + var is_same_city = json_d.is_same_city; + + th.setData({ + is_close_quan: json_d.is_close_quan, + sales_rules: ee.sales_rules, + rank_switch: json_d.rank_switch, + is_default_logistics: is_default_logistics, + is_same_city: is_same_city, + appoint_pick_keyid: json_d.appoint_pick_keyid + }); + + var rank_switch = json_d.rank_switch; + var max_price = -1; + var show_card = null; + var name = ""; + //如果有开等级卡的时候, + //因为都是调接口,要返回在计算 + if (rank_switch == 2) { + //-- 获取所有的等级卡, -- + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid, + {}).then(res => { + if (res.data.code == 0) { + var plusCard = res.data.data; + //-- 循环判断,拿到最贵的那张卡 -- + for (var ih in plusCard) { + if (plusCard[ih].IsStopBuy == true) { + continue; + } + if (max_price < 0) { + max_price = plusCard[ih].CardFee; + name = 'card' + plusCard[ih]['CorrPrice']; + show_card = plusCard[ih]; + } else { + if (max_price < plusCard[ih].CardFee) { + max_price = plusCard[ih].CardFee; + name = 'card' + plusCard[ih]['CorrPrice']; + show_card = plusCard[ih]; + } + } + } + + if (show_card) { + name = name.toLowerCase(); + th.setData({ card_name: name, show_card: show_card }) + } + } + //-----先获取物流,再获取用户信息,再展示页面----- + th.get_wuliu(th.get_info(th.show_page)); + }) + } else { + //-----先获取物流,再获取用户信息,再展示页面----- + th.get_wuliu(th.get_info(th.show_page)); + } + + }, 1); + //值在这里换 + getApp().globalData.plus_buy_back = 0; + }, + + + + + //-------------------获取物流--------------- + get_wuliu(func) { + var th = this; + to.getwuliu(function (e) { + //系统是是否开启了默认的物流 + if (th.data.is_default_logistics) { + //如果第一个不是开启默认,说明要让用户自己选 + if (!e[0].is_default) { + th.setData({ is_default_logistics: 0 }); + } + } + th.setData({ wu_arr: e }) + typeof func == "function" && func(); + }) + }, + //------获取会员信息-----先获取用户信息,在进行下一步--- + get_info: function (func) { + var user_id = t.globalData.user_id; + to.auth.get_u(func); + }, + + //------获取会员收货地址----- + getuser_addr: function (func) { + var th = this; + a.get("/api/weshop/useraddress/page", { + data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600, t: Math.random() }, + success: function (su) { + + var item = null; + if (su.data.code == 0 && su.data.data && su.data.data.pageData) { + var user_addr = su.data.data.pageData; + var def_item = null; + for (var i = 0; i < user_addr.length; i++) { + if (user_addr[i]['is_default'] == 1) { + def_item = user_addr[i]; + } + if (user_addr[i]['is_pickup'] == 1) { + item = user_addr[i]; + } + } + + if (item == null) item = def_item; + if (item == null) item = user_addr[0]; + } + + if (item == undefined) item = null; + if (!item) th.setData({ user_addr: null }); //地址为空的时候,要清空,因为返回的时候,有缓存 + + func(item); + } + }); + }, + + //----------------展示页面,是再获取用户信息之后-------------- + show_page: function () { + var th = this, ta = this.data.param; + + //会员的信息,要获取最新 + var user = getApp().globalData.userInfo; + getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, { + data: { r: Math.random() }, + success: function (e) { + getApp().globalData.userInfo = e.data.data; + th.setData({ userinfo: e.data.data }); + + //选获取地址 + th.getuser_addr(function (addr) { + th.setData({ user_addr: addr }); + //--------------------------立即购买------------------ + if (ta.is_bnow == 1) { + //读取门店 + //to.get_allsto(function (e) { + //th.setData({ allsto: e }); + //获取立即购买的商品信息 + th.get_buy_goods(ta.goods_id); + //}); + } else { + //------------------------购物车结算---------------------- + //读取门店 + //to.get_allsto(function (e) { + //th.setData({ allsto: e }); + //-------获取购物车已经选择的商品-------- + if (!th.data.old_cartlist) { + th.data.prom_goods_map = {}; + th.get_cart(); + } + else { + th.calculatePrice(); + } + //}) + } + }); + + //获取提现金额 + getApp().request.get("/api/weshop/withdrawals/summoney", { + data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 }, + success: function (su) { + if (su.data.code == 0) { + var yuer = parseFloat(th.data.userinfo.user_money - + (th.data.userinfo.frozen_money > 0 ? th.data.userinfo.frozen_money : 0) - su.data.data.summoney).toFixed(2); + th.setData({ txmon: su.data.data.summoney, yuer: yuer }); + } + } + }); + + }, + }); + + }, + + //-- 获取搭配购商品 -- + async set_collection(gd, arr, index) { + var th = this; + var user_id = getApp().globalData.user_id; + var collocation_list = []; + var pick = null; + var distr_t = 0; + + //如果是购物车的时候, + if (arr) { + var idx = th.data.allsto.findIndex(function (e) { + return e.pickup_id == arr[index].pick_id + }) + pick = th.data.allsto[idx]; + var get_gd = null; + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + gd.goods_id, { + + }).then(res1 => { + if (res1.data.code == 0) { + get_gd = res1.data.data; + } + }) + distr_t = pick.distr_type || get_gd.distr_type; + + } else { + var gg = to.get_b_now(); + //---获取门店--- + await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + gg.pick_id, {}) + .then(res => { + pick = res.data.data; + }); + distr_t = gd.distr_type || pick.distr_type; + } + + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + + os.stoid + "/" + gd.goods_id + "/0/" + user_id, { + }).then(res => { + if (res.data.code == 0 && res.data.data) { + var r_data = res.data.data; + if (r_data.collocationList) { + collocation_list = r_data.collocationList; + } + } + }) + + if (!collocation_list) return null; + + var new_arr = []; + for (let i = 0; i < collocation_list.length; i++) { + var item0 = collocation_list[i]; + //判断物流配送一样的 + if (item0.distr_type == 0 || item0.distr_type == distr_t) { + new_arr.push(item0); + } + } + + if (!new_arr.length) return null; + if (arr) { + arr[index].collocationList = new_arr; + + } + else th.setData({ + all_collocation_list: new_arr + }) + + }, + + //-----真的获取购物车,入口-------- + get_cart: function () { + var th = this, app = getApp(); + var state = 0; + if (th.data.state) state = 1; + a.get("/api/weshop/cart/list", { + data: { + user_id: to.globalData.user_id, selected: 1, state: state, + store_id: oo.stoid, pageSize: 600 + }, + success: async function (su) { + //按门店分类的数组 + var arr = new Array(); + var carr = su.data.data.pageData; + + th.setData({ is_all_zt: 1 }); + + //-- 找出所有的门店 -- + var pick_id_arr = []; var len = carr.length; + for (var i = 0; i < len; i++) { + if (pick_id_arr.length == 0 || pick_id_arr.indexOf(carr[i].pick_id) == -1) + pick_id_arr.push(carr[i].pick_id); + } + var req_d = { + store_id: os.stoid, ids: pick_id_arr.join(',') + } + //-- 获取门店的列表 -- + await getApp().request.promiseGet("/api/weshop/pickup/list", { data: req_d }).then(res => { + if (ut.ajax_ok(res)) { + th.data.allsto = res.data.data.pageData; + } + }) + + th.data.cartlist_y = carr; //存储原始购物车列表 + th.data.in_zhact_gdmap = {}; + + //---是不是购买等级卡成功的返回---等级卡显示的判断--- + var is_card_back = getApp().globalData.is_card_back; + + for (var i = 0; i < carr.length; i++) { + var item1 = carr[i]; + //把已经购买了多少见的内容填入 + + var goodsbuynum = 0, promgoodsbuynum = 0; + //--要获得商品,该用户买了多少件,同步应用-- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: getApp().globalData.user_id, + goods_id: item1.goods_id, + prom_type: item1.prom_type, + prom_id: item1.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) { + promgoodsbuynum = buy_num_data.promgoodsbuynum; + } + goodsbuynum = buy_num_data.goodsbuynum; + }) + //如果有购买活动 + item1.promgoodsbuynum = promgoodsbuynum; + + //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 + if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { + // th.check_is_youhui(item1.goods_id, item1.pick_id); + await th.add_prom_goods_map(item1); + } + + //要把组合购的东西拿出来算一下 + if (item1.prom_type == 7) { + if (!th.data.zuhe_map_good[item1.prom_id]) { + var isok = 1; + var is_flag = 1; + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + //如果活动已经结束 + if (res.data.data.is_end == 1) { + isok = 0; + } + if (ut.gettimestamp() > res.data.data.end_time) { + isok = 0; + } + item1.act = res.data.data; + th.data.zhhe_act_map[item1.prom_id] = res.data.data; + } else { + //未找到商品的活动 + is_flag = 0; + } + }) + if (!isok) { + getApp().my_warnning("组合购的活动已经过期", 0, th); + return false; + } + var url1 = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: 1, + pageSize: 2000, + store_id: os.stoid, + zh_id: item1.prom_id, + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(res => { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData; + gdlist.forEach(i => { + if (item1.goods_id == i.goods_id && !is_flag) { + item1.prom_type = 0; + item1.prom_type1 = 0; + item1.prom_id = 0; + item1.prom_id1 = 0 + } + }) + th.data.zuhe_map_good[item1.prom_id] = gdlist; + } + }) + } + else { + item1.act = th.data.zhhe_act_map[item1.prom_id]; + } + } + if (item1.prom_type == 10) { + if (!th.data.ladder_map[item1.prom_id]) { + //如果有预售 + var isok = 1; + var is_flag = 1; + var act = null; + var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id; + await getApp().request.promiseGet(url, {}).then(res => { + console.log(res, 1000); + if (res.data.code == 0 && res.data.data) { + if (res.data.data.isuse != 1) { + isok = 0; + } + //如果活动已经结束 + if (res.data.data.is_end == 1) { + isok = 0; + } + //已经结束 + if (ut.gettimestamp() > res.data.data.end_time) { + isok = 0; + } + //还未开始 + if (ut.gettimestamp() < res.data.data.start_time) { + isok = 0; + } + act = res.data.data; + + } else { + //未找到商品的活动 + is_flag = 0; + } + }) + if (!isok) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, {}); + th.data.ladder_map[item1.prom_id] = -1; + continue; + } + th.data.ladder_map[item1.prom_id] = act; + + //-- 获取阶梯规则 -- + var url1 = "/api/weshop/prom/ladderList/list"; + var req_data = { + store_id: os.stoid, + form_id: item1.prom_id, + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(rs1 => { + if (rs1.data.code == 0 && rs1.data.data) { + var gdlist = rs1.data.data; + th.data.ladder_map[item1.prom_id].ladder_list = gdlist; + } + }) + } + } + //-- 判断一下,获取搭配购的消息 -- + if ((item1.prom_type == 0 || item1.prom_type == 5) && (!carr[i].collocationList || !carr[i].collocationList.length)) { + + await th.set_collection(item1, carr, i); + } + } + + //在分组的时候,就不要再调用接口,await + for (var i = 0; i < carr.length; i++) { + var item = carr[i]; + //-- 如果是等级会员注册返回 -- + if (is_card_back) { + th.data.card_name = th.data.userinfo.card_field; + //如果是秒杀的返回,就要把活动弄回0 + if (item['prom_type'] == 1) { + item['prom_type'] = 0; + item['prom_id'] = 0; + } + // 拼团,搭配购不计算,赠品也不计算 + if (item['prom_type'] != 5 && item['prom_type'] != 6 && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) { + item.goods_price = item[th.data.card_name]; + carr[i].goods_price = item[th.data.card_name]; + + } + } else { + // 拼团,搭配购不计算,赠品也不计算,同时会员还未购买等级会员 + if (item[th.data.card_name] > 0 && item['prom_type'] != 5 && item['prom_type'] != 6 && !th.data.userinfo.card_field + && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) { + item.cut_price1 = item.goods_price - item[th.data.card_name]; + carr[i].cut_price1 = (item.goods_price - item[th.data.card_name]) * item.goods_num; + } + + } + + item.original_img = oo.imghost + item.original_img; + + var car_item = item; + /*----接口要弄出来的,先顶着-----*/ + var pcid = car_item.pick_id; + var find = 0; + //----如果有就加进去,没有就新增一个---- + //-----------循环查找门店------------- + if (arr.length > 0) { + for (var j = 0; j < arr.length; j++) { + if (arr[j].pickup_id == pcid) { + if (item.is_gift != 1) { + //确定配送方式 + if (arr[j].distr_t == 0) { + arr[j].distr_t = car_item.distr_type; + } + var e_t = 0 + switch (arr[j].distr_t) { + case 0: + e_t = 1; + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; + break; + case 1: + e_t = 1; + break; + case 2: + e_t = 0; + break; + } + arr[j].exp_type = e_t; + if (e_t == 0) th.setData({ is_all_zt: 0 }); + //else if (e_t == 1) th.setData({ is_all_zt: 1 }); + } + + //-- 把等级卡会优惠多少钱装进去 -- + if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1; + + arr[j].goods.push(car_item); + if (car_item.collocationList) { + + if (!arr[j].collocationList) arr[j].collocationList = cart_item.collocationList; + else { + var arr_new = [...arr[j].collocationList, ...cart_item.collocationList]; + arr[j].collocationList = arr_new; + } + } + + + + find = 1; + break; + } + } + } + //------如果没有找到----- + if (find == 0) { + var pikname = '', sto = null; + //----找到门店名称----- + for (var k = 0; k < th.data.allsto.length; k++) { + if (pcid == th.data.allsto[k].pickup_id) { + pikname = th.data.allsto[k].pickup_name; + sto = th.data.allsto[k]; + break; + } + } + var e_t = 0, dis_t = 0;//物流方式,配送方式 + if (item.distr_type == 0) { + dis_t = sto.distr_type; + } else { + dis_t = item.distr_type; + } + switch (dis_t) { + case 0: + e_t = 1; + //-- 系统后台有设置要默认的 -- + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; + break; + case 1: + e_t = 1; + break; + case 2: + e_t = 0; + break; + } + //如果是物流的话,全部自提的控制要弄成0 + if (e_t == 0) th.setData({ is_all_zt: 0 }); + //else th.setData({ is_all_zt: 1 }); + + var narr = new Array(); + narr.push(car_item); + + //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下----------------- + var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; + if (def_exp_code) { + for (var k = 0; k < th.data.wu_arr.length; k++) { + var item = th.data.wu_arr[k]; + if (def_exp_code == item.code) { + m_wind = k; + } + } + } + + + var ie = { + pickup_id: pcid, + pname: pikname, + goods: narr, + wind: m_wind, + distr_t: dis_t, + card_cut_price: 0, + exp_type: e_t, + goods_price: 0, + shipping_price: 0, + user_money: 0, + total_amount: 0, + order_amount: 0, + user_note: "", + sto: sto + }; + + //-- 把等级卡会优惠多少钱装进去 -- + if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1; + + if (car_item.collocationList) { + + ie.collocationList = car_item.collocationList; + } + + + arr.push(ie); + } + } + //-- 如果是回退回来的情况 -- + if (th.data.cartlist && th.data.cartlist.length > 0) { + for (var kj in th.data.cartlist) { + for (var ih in arr) { + var ie = arr[ih]; + if (ie.pickup_id == th.data.cartlist[kj].pickup_id) { + ie.exp_type = parseInt(th.data.cartlist[kj].exp_type); + ie.wind = parseInt(th.data.cartlist[kj].wind); + + //-- 是不是全部自提清空 -- + if (ie.exp_type == 0 || ie.exp_type == 2) th.setData({ is_all_zt: 0 }); + break; + } + } + } + } + + var cart_commission = 0; + //-- 循环计算一下线下取价 -- + for (var k = 0; k < arr.length; k++) { + var c_item = arr[k]; + var item = arr[k].goods; + var offline_price = 0; + var offline_num = 0; + //计算佣金的商品 + var commission_gds = []; + for (var c = 0; c < item.length; c++) { + + if (!item[c].is_gift) { + var hr = { + goods_id: item[c].goods_id, + goods_num: item[c].goods_num, + prom_type: item[c].prom_type, + prom_id: item[c].prom_id, + } + commission_gds.push(hr); + } + if (th.data.sales_rules != 2) { + item[c].offline_price = 0; + } + //-- 如果这个商品是线下取价的时候 -- + if (item[c].offline_price > 0 && item[c].prom_type != 7) { + offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; + offline_num += item[c].goods_num; + } + } + if (offline_price > 0) { + c_item.offline_price = offline_price; + 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 + } + var back_data = null; + 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; + }); + + if (back_data && parseFloat(back_data)) { + c_item.can_usecommise = parseFloat(back_data); + cart_commission += c_item.can_usecommise; + } + + } + + if (cart_commission) { + th.setData({ cart_commission }); + } + + //每一个门店内的组合购要进行拆分, + //还得把组合商品的多余商品的线下价格算一算 + for (let var1 in arr) { + var u_item = arr[var1]; + //把组合购进行分组 + var obj = zh_calc.find_split(u_item); + if (!obj) continue; + //存储不同活动的商品列表 + u_item.zh_prom_goods = {}; + for (let var1 in obj) { + var h_item = obj[var1]; + var gdlist = th.data.zuhe_map_good[h_item.prom_id]; + //获取活动需要的商品列表 + u_item.zh_prom_goods[h_item.prom_id] = { gdlist: gdlist, act: h_item.act }; + } + zh_calc.fir_set_arr(u_item, th); + } + + //每一个门店内的阶梯促销要进行拆分, + //还得把阶梯促销商品的多余商品的线下价格算一算 + for (let var1 in arr) { + //把阶梯促销进行分组 + var obj = ladder_calc.find_split(u_item); + if (!obj) continue; + //存储不同阶梯促销活动的商品列表 + u_item.ladder_map = {}; + for (let var1 in obj) { + var h_item = obj[var1]; + var act = th.data.ladder_map[h_item.prom_id]; + //获取活动需要的商品列表 + u_item.ladder_map[h_item.prom_id] = act; + } + ladder_calc.fir_set_arr(u_item, th); + } + + + + //----- 判断每一个商品的配送方式,和门店的配送方式 ------- + for (var ik = 0; ik < arr.length; ik++) { + if (!arr[ik].sto.is_same_city) continue; + var fd = arr[ik].goods.filter(function (e) { + return e.is_same_city != 1 || e.whsle_id > 0 + }) + if (!fd || fd.length == 0) { + arr[ik].show_same_city = 1; + } + } + + //深拷贝 + th.data.old_cartlist = JSON.parse(JSON.stringify(arr)); + th.setData({ + cartlist: arr, + }); + + //--- 获取一下看有没有优惠券 ---- + setTimeout(function () { + var frozenQuan = null; + var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; + app.request.promiseGet(url0, { 1: 1 }).then(res => { + if (res.data.code == 0) { + frozenQuan = res.data.data; + th.data.frozenQuan = frozenQuan; + } + th.calculatePrice(); + th.get_cart_quan(); + }) + + }, 500) + + } + }); + }, + + //-----获取立即购买的商品信息,入口---- + get_buy_goods: function (e) { + var th = this; + var gg = to.get_b_now(); + //--------如果goods_id一样,就是要立即购买----- + if (e == gg.goods_id) { + a.get("/api/weshop/goods/get/" + oo.stoid + "/" + e, { + success: async function (t) { + var gd = t.data.data; + if (!gd) return false; + + //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 -- + if (gd.is_same_city && th.data.is_same_city && gd.whsle_id <= 0) { + + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + gg.pick_id, {}).then(res => { + if (res.data.code == 0) { + var pk = res.data.data; + if (pk && pk.is_same_city) { + th.setData({ show_same_city: 1 }) + } + } + + }) + + } + + t.data.data.original_img = oo.imghost + t.data.data.original_img; + t.data.data['buynum'] = gg.goods_num; + var distr_t = 0, et = 0 + + if (t.data.data.is_minishop == 1 && getApp().is_sp_hao()) { + + if (t.data.data.distr_type == 1 || gg.pick_dis == 1) { + wx.showToast({ + title: "视频号仅支持物流", + icon: 'none', + duration: 2000 + }) + + setTimeout(function () { + wx.navigateBack({ delta: 1 }) + }, 1000) + + return false + } + + t.data.data.distr_type = 2; + th.setData({ show_same_city: 0 }) + + } + + + if (t.data.data.distr_type == 0) { + distr_t = gg.pick_dis; + } else { + distr_t = t.data.data.distr_type; + } + + switch (distr_t) { + case 0: + et = 1; + //-- 系统后台有设置要默认的 -- + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0; + break; + case 1: + et = 1; + break; + case 2: + et = 0; + break; + } + + + var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; + if (et == 0 && def_exp_code) { + for (var k = 0; k < th.data.wu_arr.length; k++) { + var item = th.data.wu_arr[k]; + if (def_exp_code == item.code) { + m_wind = k; + } + } + } + + if (th.data.bn_goods) { + et = th.data.bn_exp_type; + m_wind = th.data.index; + } + th.data.m_wind = m_wind; + + //---是不是购买等级卡成功的返回---等级卡显示的判断--- + var is_card_back = getApp().globalData.is_card_back; + if (is_card_back) { + th.data.card_name = th.data.userinfo.card_field; + gg.goods_price = gd[th.data.card_name]; + getApp().globalData.is_card_back = 0; + th.setData({ card_cut_price: 0 }); + //如果是秒杀的返回 + if (gd.prom_type == 1) gd.prom_type = 0; + } else { + //--- 商家等级卡开通的情况下, 会员不是等级会员的情况, 商品有设置等级卡价格,同时等级卡价格小于商品的价格 + //-- 搭配购的商品也可以单独购买,所以此时搭配购的商品要进行计算优惠 -- + if (!gg.collocation_goods && gd['prom_type'] != 6 && th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo.card_field) { + var cut_p = (gg.goods_price - gd[th.data.card_name]) * gg.goods_num; + th.setData({ card_cut_price: cut_p }); + } + } + + //-- 判断是不是可以收藏 -- + if (gd.prom_type == 5 && !th.data.all_collocation_list.length) { + await th.set_collection(gd); + } + + //-- 当是搭配购的时候 -- + gd.prom_type = gg.prom_type ? gg.prom_type : 0; + gd.prom_id = gg.prom_id ? gg.prom_id : 0; + + + if (gd.whsle_id > 0) { + gd.prom_type = gg.prom_type = 0; + gd.prom_id = gg.prom_id = 0; + } + + + switch (gd.prom_type) { + case 0: + case 3: + case 4: + case 5: + case 6: + case 7: + //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的, + // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券-- + t.data.data.shop_price = gg.goods_price; + t.data.data.goods_price = gg.goods_price; + t.data.data.goods_num = gg.goods_num; + th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; + th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; + th.data.check_quan_ware_list = t.data.data.erpwareid + ""; + + //-- 如果有线下取价的时候 -- + if (gg.offline_price) { + t.data.data.offline_price = gg.offline_price; + t.data.data.pricing_type = gg.pricing_type; + t.data.data.is_offline = 1; + + th.data.ckeck_quan_price = t.data.data.offline_price * gg.goods_num; + th.data.check_quan_price_list = t.data.data.offline_price * gg.goods_num + ""; + th.data.check_quan_ware_list = t.data.data.erpwareid + ""; + } + t.data.data.prom_id = 0; + t.data.data.prom_type = 0; + + + //如果有开启佣金抵扣,同时会员是分销商的时候 + if (!gg.collocation_goods && getApp().globalData.userInfo.is_distribut + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { + var fir_num = 0; + var sec_num = 0; + var thi_num = 0; + if (th.data.dis_config.pattern == 1) { + fir_num = (t.data.data.fir_rate || 0) * gg.goods_num; + sec_num = (t.data.data.sec_rate || 0) * gg.goods_num; + thi_num = (t.data.data.thi_rate || 0) * gg.goods_num; + } else { + fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2); + sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2); + thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2); + } + var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th); + + gd.use_commission = c_num; + t.data.data.use_commission = c_num; + + } + + + //如果立即购买那边过来,就要读取接口,查看活动的优惠内容 + if (gg.prom_type == 3) { + t.data.data.prom_id = gg.prom_id; + t.data.data.prom_type = 3; + //如果是优惠活动,就要调用活动,计算价格 + // th.check_is_youhui(gg.goods_id, gg.pick_id); + th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) { + //判断一下购买商品的数量是不是超过 + if (data.gift_goods_id && (!data.zp_mode || parseInt(data.zp_mode) == 0)) { + var num = data.zp_num ? data.zp_num : 1; + if (data.is_bz == 1) { + num = num * data.bs; + if (num > data.gift_limit_num) num = 0; + } + //如果赠品数量超出礼品库存,就取消 + if (num > data['gift_storecount']) num = 0; + if (num > 0) { + var ob = {}; + ob.is_gift = 1; + ob.prom_id = data.prom_id; + ob.goods_id = data.gift_goods_id; + ob.goods_name = data.gift_goods_name; + ob.goods_sn = data.gift_goods_sn; + ob.goods_color = data.gift_goods_color; + ob.goods_spec = data.gift_goods_spec; + ob.original_img = os.imghost + data.gift_original_img; + ob.market_price = data.gift_market_price; + ob.gift_id = data.gift_id; + ob.shop_price = 0; + ob.buynum = num; + ob.weight = data.gift_weight; //商品的重量 + ob.exp_sum_type = data.gift_exp_sum_type; //商品的物流计算方式 + ob.uniform_exp_sum = data.gift_uniform_exp_sum //统一运费的金额 + + var arr_gf = []; + arr_gf.push(ob); + th.setData({ buy_now_gift_goods: arr_gf }); + } + } + + th.setData({ + bn_goods: data, bn_pickname: gg.pick_name, index: m_wind, + bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et + }); + + + //计算价格 + th.calculatePrice2(); + //获取优惠券 + th.get_buy_now_quan(); + + }) + } else { + + + //--看是不是搭配促销-- + if (gg.prom_type == 5) { + t.data.data.prom_id = gg.prom_id; + t.data.data.prom_type = 5; + th.is_coupon = gg.is_coupon; + th.setData({ + is_coupon: gg.is_coupon + }); + if (gg.room_id) { + t.data.data.room_id = gg.room_id; + } + //--主商品要有导购id和导购类型-- + if (gg.guide_id) { + t.data.data.guide_id = gg.guide_id; + t.data.data.guide_type = gg.guide_type; + } + th.setData({ collocation_goods: gg.collocation_goods }); + + if (th.data.all_collocation_list) { + for (var i = 0; i < th.data.all_collocation_list.length; i++) { + var item0 = th.data.all_collocation_list[i]; + var idx = gg.collocation_goods.findIndex(function (e) { + return e.goods_id == item0.goods_id && e.prom_id == item0.prom_id; + }) + if (idx != -1) { + var txt = 'all_collocation_list[' + i + '].selected'; + th.setData({ [txt]: 1 }); + } + } + + } + + + //var narr=gg.collocation_goods; + //修改成深拷贝,确保返回是数据正确 + var narr = JSON.parse(JSON.stringify(gg.collocation_goods)); + narr.push(t.data.data); + await th.get_collocation_list(narr); + } + th.setData({ + bn_goods: gd, bn_pickname: gg.pick_name, index: m_wind, + bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et + }); + + + //--搭配促销也是按照购物车的方式来计算优惠券-- + if (gg.prom_type == 5) { + var frozenQuan = null; + var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; + app.request.promiseGet(url0, { 1: 1 }).then(res => { + if (res.data.code == 0) { + frozenQuan = res.data.data; + th.data.frozenQuan = frozenQuan; + } + //计算价格 + th.calculatePrice2(); + th.get_cart_quan(); + }); + + } else { + //计算价格 + th.calculatePrice2(); + //获取优惠券, + th.get_buy_now_quan(); + } + } + + break; + case 1: //---秒杀----- + var quanlist = null; + getApp().request.get("/api/weshop/activitylist/getSJGoodsPriceNew/" + gd.store_id + + "/" + gd.goods_id + "/1/" + gd.prom_id + "/" + app.globalData.user_id, { + success: async function (tt) { + if (tt.data.code == 0) { + //t.data.data.shop_price = tt.data.data.prom_price; + t.data.data.shop_price = tt.data.data.prom_user_price; + th.data.ckeck_quan_price = 0; + gd.is_xz_yh = 1; + + t.data.data.fir_rate = tt.data.data.fir_rate; + t.data.data.sec_rate = tt.data.data.sec_rate; + t.data.data.thi_rate = tt.data.data.thi_rate; + t.data.data.commission = tt.data.data.commission; + + + } else { + t.data.data.prom_id = 0; + t.data.data.prom_type = 0; + th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; + th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; + th.data.check_quan_ware_list = t.data.data.erpwareid + ""; + } + + //-- 计算获得佣金的金额 -- + if (getApp().globalData.userInfo.is_distribut + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { + + var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num); + + gd.use_commission = c_num; + t.data.data.use_commission = c_num; + + } + + + th.setData({ + bn_goods: gd, + bn_pickname: gg.pick_name, + bn_exp_type: et, + index: m_wind, + bn_pick: gg.pick_id, + bn_t_exp_t: distr_t, + bn_exp_type: et + }); + + //计算价格 + th.calculatePrice2(); + //获取优惠券,如果有券的钱,就调用 + if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan(); + } + }); + + break; + + case 2: //--- 团购 --- + var quanlist = null; + getApp().request.get("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, { + success: async function (tt) { + if (tt.data.code == 0) { + //t.data.data.shop_price = tt.data.data.prom_price; + t.data.data.shop_price = tt.data.data.price; + + t.data.data.fir_rate = tt.data.data.fir_rate; + t.data.data.sec_rate = tt.data.data.sec_rate; + t.data.data.thi_rate = tt.data.data.thi_rate; + t.data.data.commission = tt.data.data.commission; + + } else { + t.data.data.prom_id = 0; + t.data.data.prom_type = 0; + } + + //-- 计算获得佣金的金额 -- + if (getApp().globalData.userInfo.is_distribut + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { + + var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num); + + gd.use_commission = c_num; + t.data.data.use_commission = c_num; + + } + + + if (tt.data.data.isQuan) { + th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; + th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; + th.data.check_quan_ware_list = t.data.data.erpwareid + ""; + } else { + gd.is_xz_yh = 1; + } + + th.setData({ + bn_goods: gd, + bn_pickname: gg.pick_name, + bn_exp_type: et, + index: m_wind, + bn_pick: gg.pick_id, + bn_t_exp_t: distr_t, + bn_exp_type: et + }); + + //-- 计算价格 -- + th.calculatePrice2(); + //获取优惠券,如果有券的钱,就调用 + if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan(); + } + }); + + break; + } + }, + }); + } + }, + + //---------------检查是否有收货地址------------------- + checkAddressList: function () { + var t = this; + return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({ + title: "请先填写或选择收货地址~", + success: function (a) { + a.confirm ? t.enterAddressPage() : wx.navigateBack(); + }, + fail: function () { + wx.navigateBack(); + } + }), !1); + }, + showInvoice: function () { + this.setData({ + invoiceToggle: !this.data.invoiceToggle + }); + }, + keyUpChangePay1: function (t) { + this.setData({ + payWithUserMoney: !(t.detail.value.length > 0) + }); + }, + keyUpChangePay2: function (t) { + this.setData({ + payWithPoints: !(t.detail.value.length > 0) + }); + }, + keyUpChangeNum: function (t) { + var index = t.currentTarget.dataset.index; + var txt = "user_note." + index; + this.setData({ + maxWord: t.detail.value.length, + [txt]: t.detail.value + }); + }, + + calc_per: async function (c_arr) { + var send_gf = {}; + var duo_zp_num_arr = {}; + var th = this; + //-- 循环处理 -- + for (var i in c_arr) { + var cart_item = c_arr[i]; //就是每一单的意思 + var pickid = cart_item.pickup_id; + var ord_goods = c_arr[i].goods; //就是每一单的从表的意思 + var o_price = 0, q_conditin = 0; + //--------循环计算总价----------- + for (var j = 0; j < ord_goods.length; j++) { + + if (ord_goods[j].whsle_id) continue; + o_price += ord_goods[j].goods_price * ord_goods[j].goods_num; + } + + //---如果该门店的相关活动,就要算一下减价-- + if (th.data.prom_goods_map[pickid]) { + var ob = th.data.prom_goods_map[pickid]; + for (var ii in ob) { + var item_map = ob[ii]; + if (item_map.bs == undefined || item_map.bs == null) { + //等待,获取一下优惠活动的信息 + await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { + data: { + price: parseFloat(item_map.price).toFixed(2), prom_id: item_map.prom_id, + goods_num: item_map.goods_num, user_id: getApp().globalData.user_id, + is_bz: item_map.is_bz + } + }).then(res => { + if (res.data.code == 0 && res.data.data.condition) { + var get_data = res.data.data; + item_map.is_bz = get_data.is_bz; //是不是倍增 + item_map.bs = get_data.bs; //是不是倍数 + item_map.is_past = get_data.is_past; //是不是包邮 + item_map.prom_price = get_data.price >= 0 ? get_data.price : item_map.price; + item_map.s_intValue = get_data.intValue; + item_map.s_coupon_id = get_data.coupon_id; + item_map.s_coupon_num = get_data.coupon_num; + item_map.lbtitle = get_data.lbtitle; + item_map.zxlbtitle = get_data.zxlbtitle; + + if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 + && get_data.zp_num * item_map.bs <= get_data.limit_num + && get_data.zp_num * item_map.bs <= get_data.gift_storecount + ) { + + item_map.gift_id = get_data.gift_id; + item_map.gift_goods_id = get_data.goods_id; + item_map.gift_goods_name = get_data.goods_name; + item_map.gift_goods_color = get_data.goodsinfo.goods_color ? get_data.goodsinfo.goods_color : ''; + item_map.gift_goods_spec = get_data.goodsinfo.goods_spec ? get_data.goodsinfo.goods_spec : ''; + item_map.gift_original_img = get_data.goodsinfo.original_img; + item_map.gift_limit_num = get_data.limit_num; + item_map.gift_storecount = get_data.gift_storecount; + item_map.gift_weight = get_data.goodsinfo.weight; + item_map.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; + item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; + item_map.whsle_id = get_data.goodsinfo.whsle_id; + + } + item_map.s_libao = get_data.libao; + item_map.s_lb_num = get_data.lb_num; + + //专享礼包 + item_map.zx_libao = get_data.zxlibao; + item_map.zx_lb_num = get_data.zxlb_num; + + if (parseInt(get_data.zp_mode) == 1) { + if (!send_gf[pickid]) send_gf[pickid] = []; + + var can_zp_num = 0; + for (let iy in get_data.giftsinfo) { + let item = get_data.giftsinfo[iy]; + can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); + } + + var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); + if (duo_zp_num_arr[item_map.prom_id]) { + t_zp_num += duo_zp_num_arr[item_map.prom_id]; + } + + if (can_zp_num >= t_zp_num) { + send_gf[pickid].push({ + pickup_id: pickid, + giftsinfo: get_data.giftsinfo, + zp_num: get_data.zp_num * get_data.bs, + gf_pr_name: item_map.name, + prom_id: item_map.prom_id + }); + + duo_zp_num_arr[item_map.prom_id] = t_zp_num; + } + } + } + }) + } + + //有活动,且优惠活动并没有限制使用优惠券,且有减价 + //--看有没有减价-- + //if(item_map.prom_price>=0 && item_map.price-item_map.prom_price){ + if (item_map.price - item_map.prom_price && item_map.prom_price !== null) { + if (cart_item.prom_pt_json) { + cart_item.prom_pt_json.push({ + "prom_id": item_map.prom_id, + "dis": (item_map.price - item_map.prom_price).toFixed(2), + "ispt": 0 + }) + } else { + cart_item.prom_pt_json = [{ + "prom_id": item_map.prom_id, + "dis": (item_map.price - item_map.prom_price).toFixed(2), + "ispt": 0 + }]; + } + + //-- 如果系统要平摊到单品 -- + + var pt_data = { + 'prom_id': item_map.prom_id, + 'dis': parseFloat((item_map.price - item_map.prom_price).toFixed(2)), + 'goods': item_map.goods + } + + var pt_res = null; + await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { + is_json: 1, + data: pt_data + }).then(res => { + if (res.data.code == 0) { + pt_res = res.data.data; + } + }) + if (pt_res) { + for (var io in item_map.goods) { + //平摊赋值 + item_map.goods[io].account_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account; + item_map.goods[io].account_yu_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account_yu; + if (!th.data.ispt_goods) { + item_map.goods[io].account = item_map.goods[io].account_fir; + item_map.goods[io].account_yu = item_map.goods[io].account_yu_fir; + } + } + } + + o_price -= (item_map.price - item_map.prom_price); + //如果有限制使用优惠券,就要减掉参与的活动商品的钱 + if (!item_map.is_xz_yh) q_conditin = o_price; + } + + //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表----------- + for (var j = 0; j < ord_goods.length; j++) { + if (ord_goods[j].is_gift) continue; + if (ord_goods[j].whsle_id) continue; + if (ord_goods[j].prom_type == 3 && ord_goods[j].prom_id == item_map.prom_id) { + ord_goods[j].is_xz_yh = ord_goods[j].is_xz_yh ? ord_goods[j].is_xz_yh : item_map.is_xz_yh; + ord_goods[j].is_past = item_map.is_past; + ord_goods[j].account_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_fir; + ord_goods[j].account_yu_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu_fir; + ord_goods[j].account = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account; + ord_goods[j].account_yu = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu; + } + } + + + //--优惠多少钱-- + if (!cart_item.cut_price) cart_item.cut_price = 0; + //-- -- + if (item_map.price != undefined && item_map.price != null + && item_map.prom_price != undefined && item_map.prom_price != null) + cart_item.cut_price += (item_map.price - item_map.prom_price); + //---如果有送积分--- + if (item_map.s_intValue) { + if (!cart_item.s_intValue) cart_item.s_intValue = 0; + cart_item.s_intValue += item_map.s_intValue; + } + //-- 如果有送优惠券的情况 -- + if (item_map.s_coupon_id) { + if (!cart_item.s_coupon_id) { + cart_item.s_coupon_id = item_map.s_coupon_id + ""; + cart_item.g_coupon_num = [{ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }]; + } + else { + cart_item.s_coupon_id += "," + item_map.s_coupon_id; + cart_item.g_coupon_num.push({ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }) + } + } + + //-- 如果有送礼包的情况 -- + if (item_map.s_libao) { + if (!cart_item.s_libao) { + cart_item.s_libao = item_map.s_libao + ""; + cart_item.g_lb_num = [{ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }]; + } + else { + cart_item.s_libao += "," + item_map.s_libao; + cart_item.g_lb_num.push({ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }) + } + } + + if (item_map.zx_libao) { + if (!cart_item.zx_libao) { + cart_item.zx_libao = item_map.zx_libao + ""; + cart_item.g_zxlb_num = [{ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }]; + } + else { + cart_item.zx_libao += "," + item_map.zx_libao; + cart_item.g_zxlb_num.push({ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }) + } + } + } + } + } + + + var arr = Object.keys(send_gf); + var arr2 = Object.keys(th.data.send_gf); + if (arr2.length > 0) return false; + th.calclate_lbNum(c_arr); + if (arr.length > 0) { + th.setData({ send_gf: send_gf }) + } else { + th.setData({ send_gf: {} }) + } + + }, + + + + calclate_lbNum(r_data) { + let send_lb = this.data.send_lb; + //g_lb_num我的礼包 g_zxlb_num专享礼包 + r_data.forEach(r_d => { + let arr = []; + if (r_d.g_zxlb_num) { + let g_lb = r_d.g_zxlb_num; + for (let i = 0; i < g_lb.length; i++) { + let item = g_lb[i]; + let new_lb = g_lb.filter(lb => { + return item.l_id === lb.l_id; + }); + if (new_lb.length == 1) { + arr.push(item); + } else { + item.num = new_lb.reduce((pre, next) => { + return pre + next.num; + }, 0); + arr.push(item); + g_lb = g_lb.filter(ii => { + return ii.l_id !== item.l_id; + }); + } + send_lb[r_d.pickup_id] = arr; + } + } + if (r_d.g_lb_num) { + let zx_lb = r_d.g_lb_num; + for (let i = 0; i < zx_lb.length; i++) { + let item = zx_lb[i]; + item.flag = 1; + let new_lb = zx_lb.filter(lb => { + return item.l_id === lb.l_id; + }); + if (new_lb.length == 1) { + arr.push(item); + } else { + item.num = new_lb.reduce((pre, next) => { + return pre + next.num; + }, 0); + arr.push(item); + zx_lb = zx_lb.filter(ii => { + return ii.l_id !== item.l_id; + }); + } + send_lb[r_d.pickup_id] = arr; + } + } + }) + this.setData({ + send_lb, + }) + + }, + + //-------------------计算订单价格------------------- + calculatePrice: async function (qfunc) { + var th = this; + th.setData({ submit: 1 }); + + wx.showLoading({ + title: "处理中.", + mask: true + }) + //-- to.getwuliuprice(async function (rs) { -- + + //是不是区域包邮 + th.data.is_area_by = 0; + //当不是区域不包邮的时候,没有不包邮商品的时候 + th.data.free1 = 0; + th.data.cut_o_shipping_price = 0; + th.data.cut_goods_piece = 0; + th.data.cut_goods_weight = 0; + + var all_price = 0; //所有的商品总价 + var all_shipping_m = 0; //所有的物流总价 + var all_total_m = 0; //所有的订单应付总价 + var all_order_m = 0; //所有的订单应付总价 + var all_user_m = 0; //所有的订单用户使用金额 + var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格 + var all_cutprice = 0; //所有的优惠减 + var all_zh_cutprice = 0; //所有的组合优惠减 + var all_ladder_cutprice = 0; //所有的阶梯促销优惠减 + var all_order_prom = 0; //所有的订单优惠 + + var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0); + var out_of_weight = 0; //超出多少重量 + var c_arr = JSON.parse(JSON.stringify(th.data.old_cartlist)); + + if (th.data.cartlist && th.data.cartlist.length > 0) { + for (var i = 0; i < c_arr.length; i++) { + c_arr[i].exp_type = th.data.cartlist[i].exp_type; + c_arr[i].wind = th.data.cartlist[i].wind; + } + } + + //调用函数计算每件商品的单价 + await th.calc_per(c_arr); + + //调用函数计算每件组合购商品的单价, + await zh_calc.calc_zh_split_price(c_arr, th); + + //调用函数计算每件阶梯促销商品的单价, + await ladder_calc.calc_split_price(c_arr, th); + //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品 + + await th.get_cart_quan(c_arr); + + + //-- 经纬度不循环调用接口 -- + var lon = 0; var lat = 0; + //---循环购物车--- + for (var i in c_arr) { + //因为搭配购买也是再这里计算,搭配购的is_b_now==1 + if (th.data.is_b_now == 0) { + //此时物流的选择方式要用th.data.cartlist; + c_arr[i].exp_type = th.data.cartlist[i].exp_type; + c_arr[i].wind = th.data.cartlist[i].wind; + if (th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格 + if (th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品 + } else { + c_arr[i].exp_type = th.data.bn_exp_type; //配送方式 + c_arr[i].wind = th.data.index; //立即购买选择的物流 + //c_arr[i].=th.data. //立即购买的使用余额 + if (th.data.cartlist) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格 + if (th.data.cartlist) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品 + } + + + var cart_item = c_arr[i]; //就是每一单的意思 + var pickid = cart_item.pickup_id; + var o_price = 0; + var o_price_no_zh = 0; //参与订单优惠叠加--组合购的金额汇总 + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; + var item = c_arr[i].goods; //就是每一单的从表的意思 + + //---如果有选择优惠券的情况下--- + var quan_price = 0; + var coupon_price = 0; + var quan_no = null; + var is_has_zh = c_arr[i].is_has_zh; + var is_has_ladder = c_arr[i].is_has_ladder; + + var zh_prom_goods = c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间 + var ladder_prom_goods = c_arr[i].ladder_prom_goods; //组合购计算的原始数据存储空间 + + if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) + quan_no = th.data.using_quan[pickid].coupon_no; + + //普通券的时候 + if (quan_no && th.data.using_quan[pickid].isby != 1) { + //---获取优惠券优惠--- + await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { + data: { + storeId: oo.stoid, + CashRepNo: quan_no, + WaresSum: cart_item.check_quan_price_list, + WareIds: cart_item.check_quan_ware_list + } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var q_data = res.data.data; + //--存储商品优惠的内容-- + cart_item.quan_youhui_list = q_data; + for (var k in q_data) + quan_price += q_data[k].WareCashSum; + } + }) + } + + + var whsle_goods_price = 0; + //--------循环计算总价----------- + for (var j = 0; j < item.length; j++) { + + if (item[j].whsle_id > 0) { + whsle_goods_price += item[j].goods_price * item[j].goods_num; + } + + var is_no_zh = 0; + if (item[j].prom_type != 7 && item[j].prom_type != 10) is_no_zh = 1; + + //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 + if (item[j].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[j].prom_id] + && th.data.zhhe_act_map[item[j].prom_id].is_orderyh) { + is_no_zh = 1; + } + //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 + if (item[j].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[j].prom_id] + && th.data.ladder_map[item[j].prom_id].is_useorderyh) { + is_no_zh = 1; + } + + if (is_no_zh) { + o_price_no_zh += item[j].goods_price * item[j].goods_num; + } + o_price += item[j].goods_price * item[j].goods_num; + + } + //判断是不是有组合购的金额 + var f_o_price = o_price; + //如果又优惠的钱,就要减价 + if (c_arr[i].cut_price > 0) { + o_price -= c_arr[i].cut_price; + o_price_no_zh -= c_arr[i].cut_price; + } + //如果有组合购优惠的钱,就要减价 + if (c_arr[i].zh_cut_price > 0 || c_arr[i].zh_cut_price < 0) { + o_price -= c_arr[i].zh_cut_price; + if (o_price_no_zh > 0) { + //找到那些可以订单优惠叠加的 + for (let ij in zh_prom_goods) { + let kitem = zh_prom_goods[ij]; + if (kitem.act.is_orderyh) + o_price_no_zh -= kitem.cut_price; + } + } + } + + //如果有组合购优惠的钱,就要减价 + if (c_arr[i].ladder_cut_price > 0 || c_arr[i].ladder_cut_price < 0) { + o_price -= c_arr[i].ladder_cut_price; + if (o_price_no_zh > 0) { + //找到那些可以订单优惠叠加的 + for (let ij in ladder_prom_goods) { + let kitem = ladder_prom_goods[ij]; + if (th.data.ladder_map[ij].is_useorderyh) + o_price_no_zh -= kitem.cut_price; + } + } + } + + //-- 计算线下取价的功能 -- + if (cart_item.is_offline == 1) { + o_price = o_price - cart_item.offline_price; + o_price_no_zh -= c_arr[i].offline_price; + } + //判断包邮券的钱,组合购的商品不使用优惠券 + var q_conditin = 0; + q_conditin = o_price - quan_price; + if (is_has_zh) { + q_conditin = o_price_no_zh - quan_price; + } + cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算 + //计算物流费用 + cart_item.shipping_price = 0; + + th.data.is_no_past = 1; //不包邮标识符 + + var back_data = null; + var quan_no_goods_arr = null; + //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- + if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) { + //看是不是有调用过包邮券 + if (!th.data.isget_by_quan[pickid]) { + //--判断要不要显示包邮券,调用接口,因为有for循环--- + await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { + data: { + store_id: os.stoid, + isuse: 0, + //condition: q_conditin, + condition: cart_item.ckeck_quan_price, + user_id: getApp().globalData.user_id, + pageSize: 2000 + } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + //此时要循环判断包邮的地区,不包邮商品是不是符合 + var arr = [], quanlist = res.data.data.pageData; + quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1); + for (var i in quanlist) { + var item = quanlist[i]; + var goods = cart_item.goods; + var g_arr = []; + for (var ii in goods) { + g_arr.push(goods[ii].goods_id); + } + if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域 + if (item.goods_list) { + var no_goods_arr = item.goods_list.split(","); + if (ut.isContained(no_goods_arr, g_arr)) continue; //如果是不包邮商品 + } + arr.push(item); + } + if (arr) { + th.data.get_by_quan_list_cart[pickid] = arr; + th.setData({ get_by_quan_list_cart: th.data.get_by_quan_list_cart }); + //if (th.data.is_b_now) { + // th.setData({get_by_quan_list: arr}); + //} + } + th.data.isget_by_quan[pickid] = 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(o_price - quan_price - whsle_goods_price).toFixed(2), store_id: os.stoid + } + 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 (quan_no && th.data.using_quan[pickid].isby == 1) { + var quan = th.data.using_quan[pickid]; + if (!quan.goods_list) { + th.data.is_quan_by[pickid] = 1; //专门给券的判断用的 + } else { + th.data.is_quan_by[pickid] = 0; + quan_no_goods_arr = quan.goods_list.split(","); + + } + } else { + th.data.is_quan_by[pickid] = 0; //专门给券的判断用的 + } + + var cut_good_weight = 0; + //计算物流价格 + if (cart_item.exp_type == 0 && th.data.user_addr && !th.data.is_quan_by[pickid]) { + + //如果有包邮券的不包邮商品的时候 + if (quan_no_goods_arr) { + if (back_data && back_data.no_free_goods) { + back_data['is_by_all'] = 1; + var arr3 = back_data.no_free_goods.filter(item => { + return quan_no_goods_arr.includes(item) + }) + back_data.no_free_goods = null; + if (arr3.length) { + back_data.no_free_goods = arr3; + } + } + if (!back_data || !back_data.no_free_goods) { + if (!back_data) back_data = {}; + back_data['is_by_all'] = 1; + back_data['no_free_goods'] = quan_no_goods_arr; + } + } + + //--------循环计算总价----------- + for (var j = 0; j < item.length; j++) { + + //如果是一件代发商品,不计算运费 + if (item[j].whsle_id) continue; + //如果商品本身是包邮了 + if (item[j].is_free_shipping == 1) continue; + //如果是优惠活动是包邮,就不用计算包邮的费用了 + if (item[j].is_past) continue; + //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- + if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && th.data.is_quan_by[pickid]) { + continue; + } + + if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item[j].goods_id) == -1)) { + + if (item[j]['exp_sum_type'] == 2 && back_data.weight_free > 0) { + if (goods_weight < 0) goods_weight = 0; + cut_good_weight += item[j]['weight'] * item[j]['goods_num']; + goods_weight += item[j]['weight'] * item[j]['goods_num']; + } + if (back_data.weight_free > 0) { + out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; + } + continue; + + } + + switch (item[j]['exp_sum_type']) { + case 1: + //统一运费 + o_shipping_price += item[j]['uniform_exp_sum']; + break; + case 2: + if (goods_weight < 0) goods_weight = 0; + //累积商品重量 每种商品的重量 * 数量 + goods_weight += item[j]['weight'] * item[j]['goods_num']; + + if (back_data && back_data.is_by_all && !back_data.no_free_goods) { + cut_good_weight += item[j]['weight'] * item[j]['goods_num']; + 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[j]['goods_num']; + break; + } + + } + + //如果是正值的时候 + 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[cart_item.wind]) + code = th.data.wu_arr[cart_item.wind].code; + + // cart_item.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 is_ok = 1; + await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', { data: w_data, is_json: 1 }).then(res => { + if (res.data.code == 0) { + cart_item.shipping_price = res.data.data; + } else { + is_ok = 0; + } + }) + + if (!is_ok) { + wx.hideLoading(); + wx.showToast({ + title: "计算物流错误", icon: 'none', duration: 2000 + }) + //th.setData({ show_submit:0, }); + + return false; + } + + if (!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby != 1) { + if (cart_item.shipping_price == 0) th.data.is_by[pickid] = 1; //已经全场包邮,就不要选择券了 + } + } else if (cart_item.exp_type == 1) { + cart_item.shipping_price = 0; + } + + cart_item.shipping_price = cart_item.shipping_price.toFixed(2); + //总价计算,总价不包含运费 + cart_item.order_amount = (o_price - quan_price).toFixed(2); + cart_item.total_amount = f_o_price.toFixed(2); + + var order_prom_amount = 0; + var order_prom_id = 0; + var o_condition = cart_item.order_amount; + var t_o_condition = cart_item.order_amount; + + + //看一下是不是不用组合购的订单优惠的叠加 + if (is_has_zh) { + o_condition = o_price_no_zh - quan_price; + } + //看一下是不是不用组合购的订单优惠的叠加 + if (is_has_ladder) { + o_condition = o_price_no_zh - quan_price; + } + + if (whsle_goods_price > 0) { + o_condition = o_condition - whsle_goods_price; + t_o_condition = t_o_condition - whsle_goods_price; + } + + + + var order_m = 0; + //---判断是不是有订单优惠--- + 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) { + var ord_prom = res.data.data; + //么有使用券,或者活动没有限制使用优惠券 + if (quan_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: + //order_m = o_condition - ord_prom['expression'];//满额优惠金额 + var bs = 1; + if (ord_prom.is_bz) { + bs = Math.floor(o_condition / ord_prom.money); + } + order_prom_amount = ord_prom['expression']; + break; + } + } + } + }) + + cart_item.order_prom_amount = 0; + //--订单优惠的显示-- + if (order_prom_id > 0) { + cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2); + cart_item.order_prom_id = order_prom_id; + cart_item.order_prom_amount = order_prom_amount; + } + coupon_price = quan_price; + if (cart_item.order_amount < 0) { + cart_item.order_amount = 0; + coupon_price = o_price; + } + + + //-- 在选择到同城配送的时候 -- + if (c_arr[i].exp_type == 2 && th.data.user_addr) { + + var gd_w = 0; + for (let ib in c_arr[i].goods) { + let item_bb = c_arr[i].goods[ib]; + gd_w += item_bb['weight'] * item_bb['goods_num']; + } + + if (!lon) { + //-- 获取距离 -- + 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 req_data = { + store_id: os.stoid, order_amount: parseFloat(cart_item.order_amount), + lon: lon, lat: lat, pickup_id: c_arr[i].pickup_id, 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) { + cart_item.shipping_price = res.data.data; + } else { + is_next = 0; + + if (qfunc) qfunc(); + else { + wx.showToast({ + title: res.data.msg, + icon: 'none', + duration: 2000 + }) + } + } + }) + if (!is_next) return false + } + + + + + + cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额 + cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额 + cart_item.total_amount = cart_item.total_amount.toFixed(2); + cart_item.order_amount = cart_item.order_amount.toFixed(2); + + //-- 最后的金额小于佣金 -- + if (cart_item.order_amount < cart_item.can_usecommise) { + + if (th.data.cart_use_commission) { + wx.showToast({ + title: '应付金额小于本单佣金,不可使用!', + icon: 'none', + duration: 2000 + }) + } + + th.setData({ + cart_use_commission: 0 + }); + + + } + + + if (th.data.cart_use_commission) { + cart_item.order_amount -= cart_item.can_usecommise; + } + + //搭配购在使用余额 + if (th.data.bn_use_money == 1 && th.data.is_b_now == 1) { + + if (umoney > cart_item.order_amount) { + cart_item.user_money = cart_item.order_amount; + umoney = umoney - cart_item.order_amount; + } else { + cart_item.user_money = umoney; + umoney = 0; + } + + } else { + //--------------如果使用余额,购物车购买--------------------- + if (th.data.js_use_money == 1) { + if (umoney > cart_item.order_amount) { + cart_item.user_money = cart_item.order_amount; + umoney = umoney - cart_item.order_amount; + } else { + cart_item.user_money = umoney; + umoney = 0; + } + } else { + cart_item.user_money = 0; + } + } + + cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2); + if (coupon_price > 0) cart_item.coupon_price = coupon_price.toFixed(2); + else cart_item.coupon_price = coupon_price + if (quan_no) cart_item.quan_no = quan_no; + + + //cart_item.goods_price = o_price.toFixed(2); + cart_item.order_amount = cart_item.order_amount - cart_item.user_money; //会员使用余额 + + + all_price += parseFloat(f_o_price); + all_total_m += parseFloat(cart_item.total_amount); + all_shipping_m += parseFloat(cart_item.shipping_price); + all_order_m += parseFloat(cart_item.order_amount); + all_user_m += parseFloat(cart_item.user_money); + all_coupon_price_m += parseFloat(cart_item.coupon_price); + all_cutprice += parseFloat(cart_item.cut_price); + + all_zh_cutprice += parseFloat((cart_item.zh_cut_price ? cart_item.zh_cut_price : '0')); + all_ladder_cutprice += parseFloat(cart_item.ladder_cut_price); + all_order_prom += parseFloat(cart_item.order_prom_amount); + } + + all_shipping_m = parseFloat(all_shipping_m).toFixed(2); + all_total_m = parseFloat(all_total_m).toFixed(2); + all_order_m = parseFloat(all_order_m).toFixed(2); + all_price = parseFloat(all_price).toFixed(2); + all_user_m = parseFloat(all_user_m).toFixed(2); + all_total_m = parseFloat(all_total_m).toFixed(2); + all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2); + all_cutprice = all_cutprice.toFixed(2); + all_order_prom = all_order_prom.toFixed(2); + all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2); + all_ladder_cutprice = parseFloat(all_ladder_cutprice).toFixed(2); + + var atxt = "formData.total_amount"; + var atxt1 = "formData.order_amount"; + var atxt2 = "formData.all_price"; + var atxt3 = "formData.user_money"; + var atxt4 = "formData.shipping_price"; + var atxt5 = "formData.coupon_price"; + var atxt6 = "formData.cut_price"; + var atxt7 = "formData.order_prom_amount"; + var atxt8 = "formData.zh_cut_price"; + var atxt9 = "formData.ladder_cut_price"; + + th.setData({ + [atxt]: all_total_m, [atxt1]: all_order_m, + [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m, + [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice, + [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice, [atxt9]: all_ladder_cutprice, submit: 0 + }) + th.data.order_prom_list_cart = c_arr; + th.set_can_num(); + wx.hideLoading(); + + //}); + }, + + set_can_num: function () { + var th = this; + //-- 这个地方,循环计算几张优惠券可用-- + for (var iter in th.data.cartlist) { + var num = 0; + var c_item = th.data.cartlist[iter]; + var pkid = c_item.pickup_id; + //-- 普通券 -- + if (c_item.quan_list) { + for (var iter1 in c_item.quan_list) { + //判断是不是其他订单有选用 + var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid); + if (!is_other_is_use) num++; + } + } + //-- 包邮券 -- + var by_quan = th.data.get_by_quan_list_cart[pkid]; + if (by_quan && c_item.exp_type == 0) { + for (var iter2 in by_quan) { + //判断是不是其他订单有选用 + var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid); + if (!is_other_is_use) num++; + } + } + var set_txt = "cartlist[" + iter + "].can_num"; + th.setData({ [set_txt]: num }); + } + }, + + + //---------计算立即购买---------- + calculatePrice2: async function (qfunc) { + var th = this, good = this.data.bn_goods; + + if (!good) return false; + + //搭配的计算要用购物的车计算方法 + if (good.prom_type == 5) { + th.calculatePrice(); + return false; + } + + th.setData({ submit: 1 }); + wx.showLoading({ + title: "处理中.", + mask: true + }) + + //-----------计算商品总价-------------- + var allpice = good.shop_price * good.buynum; + var cut_price = 0; + var allpice1 = allpice; + + + if (good.prom_type == 3 && good.prom_price !== null) { + cut_price = allpice - good.prom_price; + } + + allpice = parseFloat(allpice).toFixed(2); + var txt = "formData.all_price"; + th.setData({ [txt]: allpice, }); + if (cut_price) { + var c_txt = "formData.cut_price"; + th.setData({ [c_txt]: cut_price, }); + + } + + //如果有线下取价的时候 + if (good.is_offline) { + allpice = good.offline_price * good.buynum; + } + + //to.getwuliuprice(async function (rs) { + + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; + var out_of_weight = null; //超出多少重量 + + //---如果有选择优惠券的情况下--- + var quan_price = 0, bn_pick = th.data.bn_pick; + var quan_no = null; + if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined) + quan_no = th.data.using_quan[bn_pick].coupon_no; + + if (quan_no) { + //如果是一件代发就不要找商品 + if (th.data.using_quan[bn_pick].isby != 1 && !good.whsle_id) { + //---获取优惠券优惠--- + await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { + data: { + storeId: oo.stoid, + CashRepNo: quan_no, + WaresSum: th.data.ckeck_quan_price, + WareIds: th.data.check_quan_ware_list + } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + quan_price = res.data.data[0].WareCashSum; + } + }) + } + } + + var gd_arr_list = []; + gd_arr_list.push(good); + if (th.data.buy_now_gift_goods) { + gd_arr_list = [...gd_arr_list, ...th.data.buy_now_gift_goods]; + } + + //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- + if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_past != 1) { + //看是不是有调用过包邮券 + if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) { + var condition = allpice - cut_price - quan_price; + //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱--- + getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { + data: { + store_id: os.stoid, + isuse: 0, + condition: condition, + user_id: getApp().globalData.user_id, + pageSize: 2000 + } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + //此时要循环判断包邮的地区,不包邮商品是不是符合 + var arr = [], quanlist = res.data.data.pageData; + quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1); + for (var i in quanlist) { + var item = quanlist[i]; + if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域 + if (item.goods_list) { + var no_goods_arr = item.goods_list.split(","); + if (ut.isContained(no_goods_arr, gd_arr_list)) continue; //如果是不包邮商品 + } + arr.push(item); + } + if (arr) { + th.setData({ get_by_quan_list: arr }); + } + th.data.isget_by_quan[th.data.bn_pick] = 1; + } + }) + } + + var shipping_price = 0; + var quan_no_goods_arr = null; + var is_by_quan = 0; + var pickid = th.data.bn_pick; + + //如果是包邮券的时候,要看看券的情况,判断一下包邮有没有不包邮模板 + if (quan_no && th.data.using_quan[pickid].isby == 1) { + var quan = th.data.using_quan[pickid]; + if (quan.goods_list) { + quan_no_goods_arr = quan.goods_list.split(","); + } else { + is_by_quan = 1; + } + } + if (!is_by_quan) { + var user_addr = th.data.user_addr; + var req_d = { + province: user_addr.province, + city: user_addr.city, + district: user_addr.district, + 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 (quan_no_goods_arr) { + if (back_data && back_data.no_free_goods) { + back_data['is_by_all'] = 1; + var arr3 = back_data.no_free_goods.filter(item => { + return quan_no_goods_arr.includes(item) + }) + back_data.no_free_goods = null; + if (arr3.length) { + back_data.no_free_goods = arr3; + } + } + if (!back_data || !back_data.no_free_goods) { + if (!back_data) back_data = {}; + back_data['is_by_all'] = 1; + back_data['no_free_goods'] = quan_no_goods_arr; + } + } + + var cut_good_weight = 0; + for (let i in gd_arr_list) { + let item = gd_arr_list[i]; + + if (good.is_free_shipping == 1) continue; + //-- 代发商品不算运费 -- + if (good.whsle_id) continue; + + 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 += parseInt(item['buynum']); + break; + } + } + + //如果是正值的时候 + 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; + th.data.is_no_by[th.data.bn_pick] = 0; + th.data.is_by[th.data.bn_pick] = 0; + + //--------------开始计算物流------------------ + // 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 is_ok = 1; + 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; + } else { + is_ok = 0; + } + }) + + if (!is_ok) { + wx.hideLoading(); + wx.showToast({ + title: "计算物流错误", icon: 'none', duration: 2000 + }) + //th.setData({ show_submit:0 }); + + 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, }) + } + + if (quan_no) { + if (th.data.using_quan[bn_pick].isby == 1) { + shipping_price = 0; + var wl_txt = "formData.shipping_price"; + 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 (th.data.bn_goods.whsle_id > 0) { + o_condition = 0; + } + if (o_condition > 0) { + 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] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) { + var ord_prom = th.data.order_prom[th.data.bn_pick]; + //么有使用券,或者活动没有限制使用优惠券 + 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.bn_exp_type == 2 && th.data.user_addr) { + var gd_w = 0, lon = 0, lat = 0; + for (let ib in gd_arr_list) { + let item_b = gd_arr_list[ib]; + gd_w += item_b['weight'] * item_b['buynum']; + } + + //-- 获取距离 -- + 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 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; + if (qfunc) { + qfunc(); + } else { + 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); + + 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) < parseFloat(th.data.bn_goods.use_commission)) { + + if (th.data.bn_use_commission) { + wx.showToast({ + title: '应付金额小于本单佣金,不可使用!', + icon: 'none', + duration: 2000 + }) + } + + th.setData({ + bn_use_commission: 0 + }); + + + } + + 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, submit: 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, submit: 0 }) + } + } else { + th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 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 }); + } + + //专享礼包 + if (good.zx_libao) { + var l_txt = "formData.give_zxlb_id"; + //这个是json格式的 + var l_txt1 = "formData.g_zxlb_num"; + var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; + ob = JSON.stringify(ob); + th.setData({ [l_txt]: good.zx_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 gd_w = 0, lon = 0, lat = 0; + for (let ib in gd_arr_list) { + let item_b = gd_arr_list[ib]; + gd_w += item_b['weight'] * item_b['buynum']; + } + + //-- 获取距离 -- + 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 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; + if (qfunc) { + qfunc(); + } else { + 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"; + + total_m = total_m.toFixed(2); + order_m = order_m.toFixed(2); + + th.setData({ [atxt]: total_m, }) + + var txt = "formData.user_money"; + var txt2 = "formData.order_amount"; + var txt3 = "formData.coupon_price"; + + //-- 最后的金额小于佣金 -- + if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) { + + if (th.data.bn_use_commission) { + wx.showToast({ + title: '应付金额小于本单佣金,不可使用!', + icon: 'none', + duration: 2000 + }) + } + + th.setData({ + bn_use_commission: 0 + }); + } + + + 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, submit: 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, submit: 0 }) + } + } else { + th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 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 }); + } + + //专享礼包 + if (good.zx_libao) { + var l_txt = "formData.give_zxlb_id"; + //这个是json格式的 + var l_txt1 = "formData.g_zxlb_num"; + var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; + ob = JSON.stringify(ob); + th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob }); + + } + } + + wx.hideLoading(); + + //}); + + }, + + requestSubscribe() { + const th = this; + const template_id = this.data.template_id; + wx.getSetting({ + withSubscriptions: true, + success(res) { + let itemSettings = res.subscriptionsSetting.itemSettings; + if (itemSettings && itemSettings[template_id] == "accept") { + //要检查一下赠品有可以足够 + th.sub_check_gift(function () { + th.submit_func(); + }) + + } else { + th.sendsm(function () { + //要检查一下赠品有可以足够 + th.sub_check_gift(function () { + th.submit_func(); + }) + }) + } + } + }) + this.setData({ + submit: 1, + }) + }, + + + //分配代发商品 + add_df_goods(good, df_goods, whsle_id, room_id) { + var df_price = parseFloat(good.goods_num * good.goods_price); + + var index = df_goods.findIndex(function (e) { + return e.whsle_id == whsle_id + }) + if (index > -1) { + df_goods[index].df_price += df_price; + df_goods[index].df_goods.push(good); + + if (room_id) { + if (!df_goods[index].df_room_ids) + df_goods[index].df_room_ids = ""; + df_goods[index].df_room_ids += room_id + ","; + + } + + } else { + var e = { + whsle_id: whsle_id, + df_price: df_price, + df_goods: [] + } + if (room_id) e.df_room_ids = room_id + ',' + + e.df_goods.push(good); + df_goods.push(e); + } + + }, + async submit_func(){ + let cartlist = this.data.cartlist + let allarr=[] + let strarr=[] + let cbarr=[] + let cbarr_id=[] + for (let index = 0,length=cartlist.length; index < length; index++) { + let item=cartlist[index].goods + for (let i = 0,leng=item.length; i < leng; i++) { + if (item[i].prom_type==7) { + strarr.push(item[i]) + } + if (item[i].prom_type !=7 && item[i].goods_prom_type==7) { + allarr.push(item[i]) + } + } + } + if(strarr.length>0){ + if(allarr.length>0){ + allarr.map(item=>{ + let aitem = strarr.find(ite=>item.goods_prom_id==ite.goods_prom_id) + if(aitem){ + strarr.push(item) + } + }) + } + + for (let j = 0,length=strarr.length; j < length; j++) { + + let userbuynum = await this.getUserBuyPromNum(strarr[j].goods_prom_id) + if (userbuynum >=strarr[j].act.buy_limit) { + cbarr.push(strarr[j].goods_name) + cbarr_id.push(strarr[j].id) + } + } + if(cbarr.length>0){ + let str = cbarr.join() + wx.showModal({ + title: '提示', + content: `${str}超出组合购限购次数,将以普通商品购买`, + success: async (res)=>{ + if (res.confirm) { + //-- 数据的更新 -- + for (let k = 0,length=cbarr_id.length; k < length; k++) { + let data = { + id: cbarr_id[k], + selected: 1, + store_id: oo.stoid, + prom_type:0, + prom_id:0 + }; + await getApp().request.promisePut("/api/weshop/cart/update", { + data:data + }); + } + + wx.reLaunch({ + url: '/packageE/pages/cart/cart2/cart2', + }) + } else if (res.cancel) { + console.log('用户点击取消') + this.setData({ + submit:0 + }) + } + } + }) + }else{ + this.submit_func2() + } + }else{ + this.submit_func2() + } + }, + + //获取用户活动参与次数 + async getUserBuyPromNum(prom_id){ + var userInfo = getApp().globalData.userInfo; + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`; + let res = await getApp().request.promiseGet(url, { + data:{} + }); + let userbuynum=0 + if(res.data.code==0 && res.data.data){ + userbuynum=res.data.data.userbuynum + } + return userbuynum + }, + + //--------------------提交订单----------------------- + async submit_func2() { + + if (this.data.is_summit_ing) return false; + this.data.is_summit_ing = 1; + + var th = this, pdata = new Array(); + var ff = true; + //------------立即购买------------- + if (th.data.is_b_now == 1 && th.data.bn_goods.prom_type != 5) { + if (th.data.bn_exp_type == 0 && th.data.user_addr == null) { + ff = false; + getApp().my_warnning("请选择收货地址", 0, th); + th.data.is_summit_ing = 0; + } + if (!ff) return false; + var addr = th.data.user_addr; + if (th.data.bn_exp_type == 1) addr = null; + if (th.data.bn_exp_type == 0) + if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) { + getApp().my_warnning("读取物流失败", 0, th); + th.data.is_summit_ing = 0; + return false; + } + + var item = { + 'user_id': to.globalData.user_id, + 'consignee': addr == null ? "" : addr.consignee, + 'province': addr == null ? 0 : addr.province, + 'city': addr == null ? 0 : addr.city, + 'district': addr == null ? 0 : addr.district, + 'twon': addr == null ? 0 : addr.twon, + 'address': addr == null ? "" : addr.address, + 'more_address': addr == null ? "" : addr.more_address, + //'mobile': th.data.userinfo.mobile, + 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile, + 'email': '', + 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code, + 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name, + 'invoice_title': '', + 'goods_price': parseFloat(th.data.formData.all_price).toFixed(2), //商品总价 + 'shipping_price': parseFloat(th.data.formData.shipping_price).toFixed(2), //物流金额 + 'user_money': parseFloat(th.data.formData.user_money).toFixed(2), //使用余额 + 'total_amount': parseFloat(th.data.formData.total_amount).toFixed(2), //订单总价 + 'order_amount': parseFloat(th.data.formData.order_amount).toFixed(2), //应付 + 'user_note': th.data.user_note['0'] ? th.data.user_note['0'] : "", //用户备注 + 'store_id': oo.stoid, //商家 + 'pickup_id': th.data.bn_pick, //门店 + 'exp_type': th.data.bn_exp_type, //配送方式 + 'order_goods': new Array(), + }; + //是不是重新提交 + if (th.data.is_continue == 1) item.is_continue = 1; + + //-- 如果有使用佣金抵扣的话 -- + if (th.data.bn_use_commission) { + item.use_commission = th.data.bn_goods.use_commission; + } + + //获取立即购买的商品的信息 + var gg = to.get_b_now(); + //--商品的房间号-- + if (gg.room_id && gg.room_id > 0) { + item.room_ids = gg.room_id; + } + + var order_prom_list = {}; + //--判断有没有优惠活动-- + if (th.data.order_prom[item.pickup_id]) { + 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; + } + } + + //--判断优惠活动的提交-- + if (th.data.formData.cut_price > 0) { + order_prom_list.discount_amount = th.data.formData.cut_price.toFixed(2); + var ob = [{ + "prom_id": th.data.bn_goods.prom_id, + "dis": parseFloat(th.data.formData.cut_price).toFixed(2), + "ispt": 0 + }] + order_prom_list.prom_pt_json = JSON.stringify(ob); + } + if (th.data.formData.give_integral > 0) { + order_prom_list.give_integral = th.data.formData.give_integral; + } + if (th.data.formData.give_coupon_id > 0) { + order_prom_list.give_coupon_id = th.data.formData.give_coupon_id; + order_prom_list.g_coupon_num = th.data.formData.g_coupon_num; + } + if (th.data.formData.give_lb_id > 0) { + order_prom_list.give_lb_id = th.data.formData.give_lb_id; + order_prom_list.g_lb_num = th.data.formData.g_lb_num; + } + //--- 专享礼包 --- + if (th.data.formData.give_zxlb_id > 0) { + order_prom_list.give_zxlb_id = th.data.formData.give_zxlb_id; + order_prom_list.g_zxlb_num = th.data.formData.g_zxlb_num; + } + + item.order_prom_list = order_prom_list; + + //组装优惠券的钱 + if (parseFloat(th.data.formData.coupon_price) > 0) { + item.coupon_price = th.data.formData.coupon_price; + item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; + } + if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby) { + item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; + item.coupon_price = 0; + } + + //老会员成为分销下线需要的参数 + if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) { + //判断一下分享人是不是分享商 + await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => { + if (res.data.code == 0) { + var user = res.data.data; + if (user.is_distribut == 1) { + item.first_leader = parseInt(getApp().globalData.first_leader); + } + } + }) + } + + + var goods = { + 'goods_id': gg.goods_id, + 'goods_name': gg.goods_name, + 'goods_sn': gg.goods_sn, + 'goods_num': gg.goods_num, + 'market_price': th.data.bn_goods.market_price, + 'goods_price': th.data.bn_goods.shop_price, + 'member_goods_price': th.data.bn_goods.shop_price, + 'store_id': oo.stoid, + 'prom_type': th.data.bn_goods.prom_type, //促销活动类型 + 'prom_id': th.data.bn_goods.prom_id, //促销活动id + }; + + if (th.data.bn_goods.whsle_id) { + item.is_whsle = 1; + item.whsle_id = th.data.bn_goods.whsle_id; + goods.is_whsle_goods = 1; + } + + if (getApp().globalData.skinface_id) { + goods.skinface_id = getApp().globalData.skinface_id; + } + + //-- 把导购的信息填入-- + if (gg.guide_id) { + goods.guide_id = gg.guide_id; + goods.guide_type = gg.guide_type; + //调用接口判断是不是会员 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => { + if (res.data.code == 0) { + goods.guide_name = res.data.data.salesman; + goods.guide_sn = res.data.data.salesman_no; + } + }) + } + + //--商品的房间号-- + if (gg.room_id && gg.room_id > 0) { + goods.room_id = gg.room_id; + } + + //积分购,先要带is_integral_normal=1 + if (gg.is_integral_normal) { + goods.is_integral_normal = 1; item.is_normal = 1; + } + + //先要带is_pd_normal=1 + if (gg.is_pd_normal) { + goods.is_pd_normal = 1; item.is_normal = 1; + } + + + //如果不立即购买或者秒杀,如果是线下库存购买的时候 + if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id) { + var isok = 1; + await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { + isok = res; + }); + if (!isok) { + getApp().confirmBox("商品的门店库存不足"); + th.data.is_summit_ing = 0; + return false; + } + } + + //-- 如果有线下取价的话 -- + if (th.data.bn_goods.is_offline) { + item.sum_offline_cut = (th.data.bn_goods.shop_price - th.data.bn_goods.offline_price).toFixed(2); + goods.offline_cut = item.sum_offline_cut; + goods.pricing_type = th.data.bn_goods.pricing_type; + goods.goods_price = th.data.bn_goods.offline_price; + goods.member_goods_price = th.data.bn_goods.offline_price; + } + + //--- 如果有优惠促销的金额,要把金额先平摊下去 --- + if (th.data.formData.cut_price > 0 && !th.data.ispt_goods) { + var g_arr = new Array(); + g_arr.push(goods); + var pt_data = { + 'prom_id': goods.prom_id, + 'dis': parseFloat(th.data.formData.cut_price), + 'goods': g_arr, + } + + var pt_res = null; + await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { + is_json: 1, + data: pt_data + }).then(res => { + if (res.data.code == 0) { + pt_res = res.data.data; + } + }) + + if (pt_res) { + //平摊赋值 + goods.account = pt_res[0].fisrt_account; + goods.account_yu = pt_res[0].fisrt_account_yu; + item.is_discount_amount = 1; + } + } + + //--组装优惠券的钱-- + if (th.data.formData.coupon_price) { + item.coupon_price = th.data.formData.coupon_price; + item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; + goods.quan_num = th.data.formData.coupon_price; + goods.quan_no = item.coupon_no; + } + + item.order_goods.push(goods); + + //--如果有赠品的时候,赠品也要提交--- + if (th.data.buy_now_gift_goods) { + var gift_gg_arr = th.data.buy_now_gift_goods; + for (let i in gift_gg_arr) { + let gift_gg = gift_gg_arr[i]; + var g_goods = { + 'goods_id': gift_gg.goods_id, + 'goods_name': gift_gg.goods_name, + 'goods_sn': gift_gg.goods_sn, + 'goods_num': gift_gg.buynum, + 'market_price': gift_gg.market_price, + 'goods_price': 0, + 'member_goods_price': 0, + 'store_id': oo.stoid, + 'is_gift': 1, + 'gift_id': gift_gg.gift_id, + 'prom_id': gift_gg.prom_id, + }; + //-- 把导购的信息填入-- + if (gg.guide_id) { + g_goods.guide_id = gg.guide_id; + g_goods.guide_type = gg.guide_type; + //调用接口判断是不是会员 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => { + if (res.data.code == 0) { + g_goods.guide_name = res.data.data.salesman; + g_goods.guide_sn = res.data.data.salesman_no; + } + }) + } + item.order_goods.push(g_goods); + + } + + } + pdata.push(item); + } else { + + //---------购物车的结算--------- + if (th.data.is_all_zt == 0 && th.data.user_addr == null) { + th.data.is_summit_ing = 0; + ff = false; + getApp().confirmBox("请新建收货地址"); + } + if (!ff) return false; + + var addr = th.data.user_addr; + // 自提,地址数据清空 exp_type设置为1 + if (th.data.is_all_zt == 1) addr = null; + var val_arr = th.data.user_note; + + if (th.data.is_all_zt != 1) + if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) { + th.data.is_summit_ing = 0; + getApp().confirmBox("读取物流失败"); + return false; + } + + var order_prom_list_cart = th.data.order_prom_list_cart; + + //--组装推送数据-- + for (var i = 0; i < order_prom_list_cart.length; i++) { + var t_item = order_prom_list_cart[i]; + var item = { + 'user_id': to.globalData.user_id, + 'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee, + 'province': addr == null ? 0 : addr.province, + 'city': addr == null ? 0 : addr.city, + 'district': addr == null ? 0 : addr.district, + 'twon': addr == null ? 0 : addr.twon, + 'address': addr == null ? "" : addr.address, + 'more_address': addr == null ? "" : addr.more_address, + 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile, + 'email': '', + 'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code, + 'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name, + 'invoice_title': '', + 'goods_price': parseFloat(t_item.goods_price).toFixed(2), //商品总价 + 'shipping_price': parseFloat(t_item.shipping_price).toFixed(2), //物流金额 + 'user_money': parseFloat(t_item.user_money).toFixed(2), //使用余额 + 'total_amount': parseFloat(t_item.total_amount).toFixed(2), //订单总价 + 'order_amount': parseFloat(t_item.order_amount).toFixed(2), //应付 + 'user_note': val_arr[i], //用户备注 + 'store_id': oo.stoid, //商家 + 'pickup_id': t_item.pickup_id, //门店 + 'exp_type': t_item.exp_type, //配送方式 + 'order_goods': new Array(), + }; + //是不是重新提交 + if (th.data.is_continue == 1) item.is_continue = 1; + //----- 如果有线下取价的话 ---- + if (t_item.is_offline == 1) { + item.sum_offline_cut = t_item.offline_price.toFixed(2); + } + + //组装优惠券的钱 + if (t_item.coupon_price) { + item.coupon_price = t_item.coupon_price; + item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no; + } else if (t_item.quan_no) { + item.coupon_no = t_item.quan_no; + item.coupon_price = 0; + } + + //-- 如果有使用佣金抵扣的话 -- + if (th.data.cart_use_commission) { + item.use_commission = t_item.can_usecommise; + } + + var order_prom_list = {}; + //--判断有没有优惠活动-- + if (t_item.order_prom_amount > 0) { + order_prom_list.order_prom_id = t_item.order_prom_id; + order_prom_list.order_prom_amount = t_item.order_prom_amount; + } + + order_prom_list.discount_amount = 0; + //--判断优惠活动的提交-- + if (t_item.cut_price > 0) { + order_prom_list.discount_amount += t_item.cut_price; + } + //--判断组合优惠活动的提交-- + if (t_item.zh_cut_price > 0 || t_item.zh_cut_price < 0) { + order_prom_list.discount_amount += t_item.zh_cut_price; + order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json); + } + + //--判断阶梯优惠活动的提交-- + if (t_item.ladder_cut_price > 0 || t_item.ladder_cut_price < 0) { + order_prom_list.discount_amount += t_item.ladder_cut_price; + } + + if (t_item.prom_pt_json) { + order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json); + } + + if (t_item.s_intValue > 0) { + order_prom_list.give_integral = t_item.s_intValue; + } + if (t_item.s_coupon_id) { + order_prom_list.give_coupon_id = t_item.s_coupon_id; + order_prom_list.g_coupon_num = JSON.stringify(t_item.g_coupon_num); + } + if (t_item.s_libao) { + order_prom_list.give_lb_id = t_item.s_libao; + order_prom_list.g_lb_num = JSON.stringify(t_item.g_lb_num); + } + + //-- 送专享礼包的时候 -- + if (t_item.zx_libao) { + order_prom_list.give_zxlb_id = t_item.zx_libao; + order_prom_list.g_zxlb_num = JSON.stringify(t_item.g_zxlb_num); + } + + if (Object.keys(order_prom_list).length > 0) { + if (order_prom_list.discount_amount) + order_prom_list.discount_amount = parseFloat(order_prom_list.discount_amount).toFixed(2); + if (order_prom_list.order_prom_amount) + order_prom_list.order_prom_amount = parseFloat(order_prom_list.order_prom_amount).toFixed(2); + + item.order_prom_list = order_prom_list; + } + + + //老会员成为分销下线需要的参数 + if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) { + //判断一下分享人是不是分享商 + await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => { + if (res.data.code == 0) { + var user = res.data.data; + if (user.is_distribut == 1) { + item.first_leader = parseInt(getApp().globalData.first_leader); + } + } + }) + } + + + //房间号的ids + var room_ids = ""; + + //-- 把券的钱,写入从表 --- + if (t_item.quan_youhui_list && t_item.coupon_price) { + for (var kk in t_item.quan_youhui_list) { + var you_item = t_item.quan_youhui_list[kk]; + //-- 对券的价格进行平摊 -- + await th.split_set_goods_quanprice(you_item, t_item); + } + } + + //代发商品的集合 + var df_goods = []; + var df_price = 0; + var df_room_ids = ""; + + + var check_map = {}; + + //-------------让商品添加到商品列表-------------------- + for (var k = 0; k < t_item.goods.length; k++) { + + console.log("222"); + var g_item = t_item.goods[k]; + if (g_item.goods_num <= 0) continue; + var goods = { + 'goods_id': g_item.goods_id, + 'goods_name': g_item.goods_name, + 'goods_sn': g_item.goods_sn, + 'goods_num': g_item.goods_num, + 'market_price': g_item.market_price, + 'goods_price': g_item.goods_price, + 'member_goods_price': g_item.goods_price, + 'store_id': oo.stoid, + }; + + if (getApp().globalData.skinface_id) { + goods.skinface_id = getApp().globalData.skinface_id; + } + + //-- 线下取价也要写入,组合购的商品不能去线下价格 -- + if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type != 7) { + goods.goods_price = g_item.offline_price; + goods.member_goods_price = g_item.offline_price; + goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2); + goods.pricing_type = g_item.pricing_type; + } + if (g_item.quan_num) { + goods.quan_num = g_item.quan_num; + goods.quan_no = g_item.quan_no; + } + //--判断活动的类型-- + switch (g_item.prom_type) { + case 1: + case 2: + case 10: + goods.prom_type = g_item.prom_type; + goods.prom_id = g_item.prom_id; + break; + case 3: + goods.prom_type = 3; + goods.prom_id = g_item.prom_id; + if (g_item.is_gift) { + goods.is_gift = g_item.is_gift; + goods.gift_id = g_item.gift_id; + } + break; + case 5: + goods.prom_type = 5; + goods.prom_id = g_item.prom_id; + if (g_item.is_collocation) { + goods.is_collocation = g_item.is_collocation; + } + break + case 7: + goods.prom_type = 7; + goods.prom_id = g_item.prom_id; + break + default: + goods.prom_type = 0; + goods.prom_id = 0; + } + + var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift; + //--赠品的时候,阶梯促销会右重复的情况 -- + if (check_map[txt] && goods.prom_type != 10) { + getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); + return false; + } else { + check_map[txt] = 1; + } + + //如果不立即购买或者秒杀,如果是线下库存购买的时候 + if (goods.prom_type == 0 && th.data.sales_rules >= 2) { + var isok = 1; + await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { + isok = res; + }); + if (!isok) { + getApp().confirmBox(goods.goods_name + "的门店库存不足"); + th.data.is_summit_ing = 0; + return false; + } + } + + //把优惠的平摊结果写进去 + if (g_item.account >= 0 || (g_item.account_yu != 0 && g_item.account != undefined)) { + if (g_item.account >= 0) goods.account = g_item.account; + if (g_item.account_yu != 0) goods.account_yu = g_item.account_yu; + item.is_discount_amount = 1; + } + + //导购ID + if (g_item.guide_id) { + goods.guide_id = g_item.guide_id; + goods.guide_type = g_item.guide_type; + //调用接口判断是不是会员 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + g_item.guide_id, {}).then(res => { + if (res.data.code == 0) { + goods.guide_name = res.data.data.salesman; + goods.guide_sn = res.data.data.salesman_no; + } + }) + } + + //如果有阶梯促销 + if (g_item.ladder_list_id) { + goods.ladder_list_id = g_item.ladder_list_id; + } + + //-- 如果有代发商品,就要开始拆单 -- + if (g_item.whsle_id && t_item.goods.length > 1) { + df_price += parseFloat(g_item.goods_num * g_item.goods_price); + goods.is_whsle_goods = 1; + th.add_df_goods(goods, df_goods, g_item.whsle_id, g_item.room_id); + + //df_goods.push(goods); + // df_room_ids += g_item.room_id + ","; + } else { + + //-- 如果只有一件的时候,商品又是代发商品,订单的状态要改成代发订单 -- + if (g_item.whsle_id) { + goods.is_whsle_goods = 1; + item.is_whsle = 1; + item.whsle_id = g_item.whsle_id + } + + item.order_goods.push(goods); + //如果房间号不为空的时候 + if (g_item.room_id) { + goods.room_id = g_item.room_id; + room_ids += g_item.room_id + ","; + } + } + } + + + + + //如果房间号不为空的时候 + if (room_ids != "") item.room_ids = ut.sub_last(room_ids); + + //处理代发商品的拆分 + if (df_goods.length > 0) { + + + + item.goods_price = parseFloat(item.goods_price - df_price).toFixed(2); + item.total_amount = parseFloat(item.total_amount - df_price).toFixed(2); + + for (let j = 0; j < df_goods.length; j++) { + + var df_item = JSON.parse(JSON.stringify(item)); + + var ddff_item = df_goods[j]; + + df_item.is_whsle = 1; + df_item.whsle_id = ddff_item.whsle_id; + df_item.is_discount_amount = 0; + df_item.goods_price = ddff_item.df_price; + df_item.total_amount = ddff_item.df_price; + df_item.shipping_price = 0; //没有运费 + if (df_item.order_prom_list) df_item.order_prom_list = {}; + if (df_item.coupon_price) delete (df_item.coupon_price); + if (df_item.coupon_no) delete (df_item.coupon_no); + + //看一下是用余额比较多,还是用钱比较多 + if (item.order_amount > item.user_money) { + if (item.order_amount > ddff_item.df_price) { + item.order_amount = parseFloat(item.order_amount - ddff_item.df_price).toFixed(2); + df_item.order_amount = ddff_item.df_price.toFixed(2); + } else { + var more_p = parseFloat(ddff_item.df_price - item.order_amount).toFixed(2); + item.order_amount = 0; + item.user_money = parseFloat(item.user_money - more_p).toFixed(2); + df_item.user_money = more_p; + } + } else { + + if (item.user_money > ddff_item.df_price) { + item.user_money = parseFloat(item.user_money - ddff_item.df_price).toFixed(2); + df_item.user_money = ddff_item.df_price.toFixed(2); + } else { + var more_p = parseFloat(ddff_item.df_price - item.user_money).toFixed(2); + item.user_money = 0; + item.order_amount = parseFloat(item.user_money - more_p).toFixed(2); + df_item.order_amount = more_p; + + } + } + + if (ddff_item.df_room_ids) + df_item.room_ids = ut.sub_last(ddff_item.df_room_ids); + df_item.order_goods = ddff_item.df_goods; + pdata.push(df_item); + } + + + } + //如果只有代发商品的时候 + if (item.order_goods.length > 0) { + //item.order_goods=df_goods; + //item.is_whsle=1; + pdata.push(item); + } + + } + + } + + if (pdata.length == 0) return; + var str = JSON.stringify(pdata); + + wx.showLoading({ title: "加载中" }); + th.setData({ submit: 1, }) + wx.request({ + url: oo.url + '/api/weshop/order/createWxdOrder', + data: str, + method: 'POST', + header: { + 'content-type': 'application/json' + },// 设置请求的 header + success: function (res) { + wx.hideLoading(); + if (res.statusCode == 200) { + var data = res.data; + if (data.code == 0) { + th.setData({ submit: 1, }) + //如果是购物车结算,还要删除购物车 + if (th.data.is_b_now == 0) { + console.log(th.data.cartlist_y); + var list = th.data.cartlist_y; + for (var i = 0; i < list.length; i++) { + //删除购物车 + a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {}); + } + } + var order_amount = 0; + pdata.forEach(function (em, ind) { + order_amount += parseFloat(em.order_amount); + }) + //要进行判断,如果是用微信支付,就要跳转到支付界面 + if (order_amount > 0) { + th.setData({ isclose: 0 }); + //void e.jumpToCart4({ + // order_sn: data.data, + //}, 1); + util_pay.pay(data.data, function () { + //app.my_warnning("支付成功",1,th); + //setTimeout(function () { + wx.redirectTo({ + url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data + }) + //},1000) + + }, function () { + + + return false; + //支付失败 + setTimeout(function () { + var cps = getCurrentPages(); + if (cps.length > 1) { + wx.navigateBack({ delta: 1 }) + } else { + getApp().goto("/pages/index/index/index"); + } + + }, 1000) + }, oo.stoid); + + } else { + var dd = { + parent_sn: data.data, + store_id: oo.stoid, + type: 2, + }; + a.post("/api/weshop/order/pay/createOrder", { + data: dd, + success: function (t) { + //console.log(t); + if (t.data.code == 0) { + //app.my_warnning("支付成功",1,th); + //setTimeout(function () { + th.setData({ isclose: 0 }); + wx.redirectTo({ + url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, + }) + //}, 1000) + } + }, + fail: function () { + + } + }); + } + + } + else { + //--内容换行-- + var msg = data.msg; + //赠品活动已经取消,无法赠送,是否继续买单? + if (msg.indexOf("是否继续买单") > 0) { + wx.showModal({ + title: "提示", + content: data.msg, + cancelText: '取消', + confirmText: '确定', + showCancel: true, + success(res) { + if (res.cancel) { + return; + } else if (res.confirm) { + th.data.is_continue = 1; + th.data.is_summit_ing = 0; //是否提交中 + th.submit_func(); + } + } + }) + return; + } else { + if (msg.length > 13) { + msg = msg.slice(0, 13) + "\r\n" + msg.slice(13); + } + getApp().confirmBox(msg); + th.data.is_summit_ing = 0; //是否提交中 + th.setData({ + submit: 0, + }) + } + + + } + } else { + th.data.is_summit_ing = 0; //是否提交中 + console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); + th.setData({ + submit: 0, + }) + } + }, + fail: function () { + th.data.is_summit_ing = 0; + wx.hideLoading(); + console.log("index.js wx.request CheckCallUser fail"); + th.setData({ + submit: 0, + }) + } + }) + + }, + //---确认线下门店的数量足不足--- + async check_store_num(goods_id, pick, goods_num, func) { + var lock = 0, pick_no, plist, erpwareid; + + var lock_rq = { store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 }; + if (this.data.sales_rules == 3) { + lock_rq.appoint_pick_keyid = this.data.appoint_pick_keyid; + delete lock_rq.storageId + } + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: lock_rq + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + for (var i in res.data.data.pageData) + lock += res.data.data.pageData[i].outQty; + } + }) + + if (this.data.sales_rules == 2) { + //先获取门店的编号 + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, { + data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } + }).then(res => { + if (res.data.code == 0) { + pick_no = res.data.data.pickup_no; + } + }) + } + + //先获取商品的线下库存 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { + data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } + }).then(res => { + if (res.data.code == 0) { + erpwareid = res.data.data.erpwareid; + } + }) + + + var sto_rq = { storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 }; + if (this.data.sales_rules == 3) { + sto_rq.storageIds = this.data.appoint_pick_keyid; + delete sto_rq.storageNos + } + + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: sto_rq + }).then(res => { + if (res.data.code == 0) { + plist = res.data.data.pageData[0]; + } + }) + + var isok = 1; + if (goods_num > plist.CanOutQty - lock) { + isok = 0; + } + func(isok); + }, + + useCoupon: function () { + if (this.data.order.couponNum <= 0) { + getApp().my_warnning("无可用优惠券", 0, this); + return; + } + + var a = { + lid: this.data.coupon ? this.data.coupon.id : "0" + }; + wx.navigateTo({ + url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a) + }); + }, + enterAddressPage: function () { + getApp().globalData.is_cart_old = 1; + this.data.isget_by_quan = {}; + this.data.enterAddressPage = !0, wx.navigateTo({ + url: "/pages/user/address_list/address_list" + }); + }, + + //--------购物车购买时,选择自提和物流----------- + setexptype_w: function (t) { + + var def_exp_code = getApp().globalData.userInfo.def_exp_code, th = this; + var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt, + wl_txt = t.currentTarget.dataset.wl_txt, + ont = t.currentTarget.dataset.ont; + + th.setData({ [txt]: ty }); + var iszt = 1; + + if (ty == 0) { + th.setData({ is_all_zt: 0 }); + } else { + for (var i = 0; i < th.data.cartlist.length; i++) { + var item = th.data.cartlist[i]; + if (item.exp_type == 0 || item.exp_type == 2) { + iszt = 0; + break; + } + } + + th.setData({ is_all_zt: iszt }); + + var ind = t.currentTarget.dataset.ind; + var c_item = th.data.cartlist[ind]; + var pickid = c_item.pickup_id; + + if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1) { + th.data.using_quan[pickid] = {}; + th.setData({ using_quan: th.data.using_quan }); + } + + + } + //判断有没有默认的物流地址值 + if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) { + var wu_arr = this.data.wu_arr; + if (wu_arr != null && wu_arr != "") { + for (var i = 0; i < wu_arr.length; i++) { + if (wu_arr[i].shipping_code == def_exp_code) { + var set_txt = "cartlist" + th.setData({ wl_txt: i }); + } + } + } + } + //----计算此时购物车的价格---- + th.calculatePrice(); + }, + + //--------立即购买时,选择自提和物流---------- + setexptype: function (t) { + var th = this; + var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code; + th.setData({ bn_exp_type: ty }); + if (ty == 0) { + th.setData({ is_all_zt: 0 }); + } + + //当物流为空的时候。 + if (ty == 0 && th.data.wu_arr == null) { + th.data.isget_by_quan = {}; + return th.get_wuliu(th.calculatePrice2()); + } + + //--自提就要把包邮券清理掉-- + if (ty == 1) { + th.data.isget_by_quan = {}; + if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].isby == 1) { + th.setData({ using_quan: {} }); + } + } + + //判断有没有默认的物流地址值 + if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) { + var wu_arr = this.data.wu_arr; + if (wu_arr != null && wu_arr != "") { + for (var i = 0; i < wu_arr.length; i++) { + if (wu_arr[i].shipping_code == def_exp_code) { + th.setData({ index: i }); + } + } + } + } + th.calculatePrice2() + + }, + + //--------立即购买时,使用余额-------- + set_bn_useyuer: function () { + var th = this; + th.setData({ bn_use_money: !th.data.bn_use_money }); + th.calculatePrice2(); + }, + + //立即购买的时候,使用余额 + set_bn_commission: function () { + var th = this; + th.setData({ bn_use_commission: !th.data.bn_use_commission }); + th.calculatePrice2(); + }, + //加入购物车使用余额 + set_cart_commission: function () { + var th = this; + th.setData({ cart_use_commission: !th.data.cart_use_commission }); + th.calculatePrice(); + }, + + set_js_useyuer: function () { + var th = this; + th.setData({ js_use_money: !th.data.js_use_money }); + th.calculatePrice(); + }, + + + //----------立即购买,选择物流------------- + bindPickerChange: function (e) { + var ind = e.detail.value + this.setData({ index: ind }); + this.calculatePrice2(); + }, + //----------购物车结算,选择物流------------- + bindPickerChange_w: function (e) { + var ind = e.detail.value, txt = e.currentTarget.dataset.txt; + this.setData({ [txt]: ind }); + this.calculatePrice(); + }, + + /*----券的所有操作----*/ + open_coupon_list: function (e) { + var th = this; + var pickid = e.currentTarget.dataset.pickid; + var bn = e.currentTarget.dataset.bn; + var cindx = e.currentTarget.dataset.cind; + var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid]; + + + if (bn == 1) { + th.setData({ open_quan: 1, selected_quan_pick: pickid, disabled: 1 }); + } else { + //---多单打开券的时候,就要判断券在其他门店是否有使用--- + var quanlist = th.data.cartlist[cindx].quan_list; + var exp_type = th.data.cartlist[cindx].exp_type; + + + //对于在其他门店已经选择了的券 要判断是否显示到界面 + var t_user = th.data.using_quan[pickid]; + + for (var i in quanlist) { + quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid); + if (t_user && quanlist[i].CashRepNo == t_user.coupon_no) + quanlist[i].show_red = 1; + else + quanlist[i].show_red = 0; + } + + if (get_by_quan_list_cart) { + for (var i in get_by_quan_list_cart) { + get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid); + if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no) + get_by_quan_list_cart[i].show_red = 1; + else + get_by_quan_list_cart[i].show_red = 0; + } + th.setData({ by_quan_list_cart: get_by_quan_list_cart }); + } else { + th.setData({ by_quan_list_cart: null }); + } + + console.log("2222222券的列表", quanlist); + th.setData({ + sele_cart_ind: cindx, + sele_exp_type: exp_type, + open_quan: 1, + selected_quan_pick: pickid, + selected_quan_list: quanlist, + disabled: 1 + }); + } + }, + close_coupon: function (e) { + var th = this; + th.setData({ open_quan: 0, disabled: 0 }); + }, + + //---判断券时候在已经选择的列表中--- + check_in_sele: function (no, pick_id) { + var th = this; + if (th.data.using_quan.length <= 0) return false; + for (var i in th.data.using_quan) { + //--如果键值等于本身就要跳出-- + if (parseInt(i) == parseInt(pick_id)) continue; + var item = th.data.using_quan[i]; + if (item.coupon_no == no) { + return true; + } + } + return false; + }, + + /*--点击选择券--*/ + sele_quan_item: function (e) { + + var ind = e.currentTarget.dataset.ind; + var quan_item = this.data.selected_quan_list[ind]; + var pickid = this.data.selected_quan_pick; //现在选择的是哪一个门店 + //--如果券是单品使用的时候-- + if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") { + //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候--- + var gg = getApp().get_b_now(); + if (this.data.is_b_now == 0 || gg.prom_type == 5) { + var arr = this.data.order_prom_list_cart; + var t_pk_item = null; + for (var ii in arr) { + var ep = arr[ii]; + if (pickid == ep.pickup_id) { + t_pk_item = ep; + break; + } + } + //--寻找券指定的商品-- + var gd = null; + if (t_pk_item) { + var goods = t_pk_item.goods; + for (var gid in goods) { + if (quan_item.UseObjectID == goods[gid].erpwareid) { + gd = goods[gid]; + } + } + } + if (!gd) { + getApp().my_warnning("未找到指定商品使用", 0, this, 600); + return false; + } + //计算价格,如果有平摊的实收要计算实收的金额 + var item_price = gd.goods_price * gd.goods_num; + //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 -- + if (gd.account_fir != null && gd.account_fir != undefined) { + item_price = gd.account_fir * gd.goods_num; + } + + if (item_price < parseFloat(quan_item.BuySum)) { + getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600); + return false; + } + } + } + + var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list; + //---所有的券的显示红色选择都清理一遍--- + for (var i in quanlist) { + quanlist[i].show_red = 0; + } + this.setData({ selected_quan_list: quanlist }); + var by_quanlist = this.data.get_by_quan_list; + if (by_quanlist) { + //---所有的券的显示红色选择都清理一遍--- + for (var inb in by_quanlist) { + by_quanlist[inb].show_red = 0; + } + this.setData({ get_by_quan_list: by_quanlist }); + } + + var by_cart_list = this.data.by_quan_list_cart; + if (by_cart_list) { + //---所有的券的显示红色选择都清理一遍--- + for (var inc in by_cart_list) { + by_cart_list[inc].show_red = 0; + } + this.setData({ by_quan_list_cart: by_cart_list }); + } + + var using_quan = this.data.using_quan; + var th = this; + //---如果是不使用优惠券--- + if (no_use == 1) { + console.log("有进来吗券", no_use); + if (using_quan[th.data.selected_quan_pick]) { + using_quan[th.data.selected_quan_pick].is_nouse_red = 1; + } + else { + using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 }; + } + this.setData({ using_quan: using_quan, is_coupon: th.is_coupon }); + return; + } + + + var txt = "selected_quan_list[" + ind + "].show_red"; + var obj = {}; + obj[txt] = 1; + if (quan_item.show_red) { + obj[txt] = 0; + } + this.setData(obj); + console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt); + if (using_quan[th.data.selected_quan_pick]) { + using_quan[th.data.selected_quan_pick].is_nouse_red = 0; + } + else { + using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 }; + } + this.setData({ using_quan: using_quan }); + + }, + + /*----- 点击选择包邮券 -----*/ + sele_quan_item_by: function (e) { + var no_use = e.currentTarget.dataset.no; + //立即购买的包邮券 + var by_quanlist = this.data.get_by_quan_list; + if (by_quanlist) { + //---所有的券的显示红色选择都清理一遍--- + for (var ind in by_quanlist) { + by_quanlist[ind].show_red = 0; + } + this.setData({ get_by_quan_list: by_quanlist }); + } + + //--购物车过来的包邮券-- + var by_cart_list = this.data.by_quan_list_cart; + if (by_cart_list) { + //---所有的券的显示红色选择都清理一遍--- + for (var ind in by_cart_list) { + by_cart_list[ind].show_red = 0; + } + this.setData({ by_quan_list_cart: by_cart_list }); + } + //普通券 + var quanlist = this.data.selected_quan_list; + if (quanlist) { + //---所有的券的显示红色选择都清理一遍--- + for (var ind in quanlist) { + quanlist[ind].show_red = 0; + } + this.setData({ selected_quan_list: quanlist }); + } + + var th = this; + var using_quan = this.data.using_quan; + //---如果是不使用优惠券--- + if (no_use == 1) { + if (using_quan[th.data.selected_quan_pick]) { + using_quan[th.data.selected_quan_pick].is_nouse_red = 1; + } + else { + using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 }; + } + this.setData({ using_quan: using_quan, is_coupon: th.is_coupon }); + return; + } + + var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店 + var ind = e.currentTarget.dataset.ind; + //--如果是立即购买的部分-- + var txt = ""; + var txt1 = ""; + var quan_item = null; + if (th.data.is_b_now) { + quan_item = this.data.get_by_quan_list[ind]; + txt = "get_by_quan_list[" + ind + "].show_red"; + var obj = {}; + obj[txt] = 1; + this.setData(obj); + } else { + txt = "by_quan_list_cart[" + ind + "].show_red"; + quan_item = th.data.by_quan_list_cart[ind]; + var obj = {}; + obj[txt] = 1; + this.setData(obj); + th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组 + } + + if (using_quan[th.data.selected_quan_pick]) { + using_quan[th.data.selected_quan_pick].is_nouse_red = 0; + } + else { + using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 }; + } + this.setData({ using_quan: using_quan }); + }, + + //--确认使用券--- + confirm_quan: function () { + var using_quan = this.data.using_quan; //正在使用中的券列表 + var pickid = this.data.selected_quan_pick; //选中的门店ID + var th = this; + var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表 + var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表 + var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表 + //选择了的券 + var sele_quan = null; + + //循环普通的券 + for (var i in selected_quan_list) { + var item = selected_quan_list[i]; + if (item.show_red) { + th.insert_into_using_quan(item, using_quan, pickid); + return; + } + } + //循环包邮的券,立即购买的 + for (var i in get_by_quan_list) { + var item = get_by_quan_list[i]; + if (item.show_red) { + if (th.data.is_no_by[pickid] == 1) { + getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th); + return false; + } + if (th.data.is_by[pickid] == 1) { + getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th); + return false; + } + + th.insert_into_using_quan(item, using_quan, pickid, 1); + return; + } + } + + //循环包邮的券 + for (var i in by_quan_list_cart) { + var item = by_quan_list_cart[i]; + if (item.show_red) { + if (th.data.is_no_by[pickid] == 1) { + getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th); + return false; + } + if (th.data.is_by[pickid] == 1) { + getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th); + return false; + } + th.insert_into_using_quan(item, using_quan, pickid, 1); + return; + } + } + + //选择了的券,看是不是点击了不使用券,点击了不使用优惠券 + if (using_quan[pickid]) { + if (using_quan[pickid].is_nouse_red == 1) { + using_quan[pickid] = { is_nouse_red: 1 }; + th.setData({ using_quan: using_quan }); + if (th.data.is_b_now == 1) { + th.calculatePrice2(); + } else { + th.calculatePrice(); + } + th.setData({ open_quan: 0 }); + return; + } + } + }, + + //----把券插入之后的操作,同时还要重新计算价格---- + insert_into_using_quan: async function (item, using_quan, pickid, isby) { + + + var th = this; + var old_quan = null; + if (isby == 1) { + using_quan[pickid] = { + coupon_no: item.no, + money: 0, + is_nouse_red: 0, + region_list: item.region_list, + goods_list: item.goods_list + }; + using_quan[pickid].isby = 1; + } else { + if (using_quan[pickid]) old_quan = using_quan[pickid]; + using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 }; + using_quan[pickid].isby = 0; + } + this.setData({ using_quan: using_quan }); + if (th.data.is_b_now == 1) { + th.calculatePrice2(function () { + + if (old_quan) using_quan[pickid] = old_quan; + else using_quan[pickid] = null; + th.setData({ using_quan: using_quan, submit: 0 }); + wx.showToast({ + title: "不能使用优惠券,同城起送价不足", + icon: 'none', + duration: 2000 + }) + + }); + } else { + th.calculatePrice(function () { + if (old_quan) using_quan[pickid] = old_quan; + else using_quan[pickid] = null; + th.setData({ using_quan: using_quan, submit: 0 }); + wx.showToast({ + title: "不能使用优惠券,同城起送价不足", + icon: 'none', + duration: 2000 + }) + }); + } + th.setData({ open_quan: 0 }); + }, + + cart_set_err: function (e) { + var txt = e.currentTarget.dataset.err; + var ob = {}; + ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif"; + this.setData(ob); + }, + cart_set_err1: function (e) { + var txt = e.currentTarget.dataset.err; + var ob = {}; + ob[txt] = "/miniapp/images/default_g_img.gif"; + this.setData(ob); + }, + + //--验证是否已经冻结-- + check_is_frozenQuan: function (quanlist, frozenQuan, isby) { + console.log("券列表", quanlist); + if (!quanlist) return null; + if (!frozenQuan) return quanlist; + var arr = []; + for (var i = 0; i < quanlist.length; i++) { + var item = quanlist[i]; + var is_find = 0; + var Q_no = quanlist[i].CashRepNo; + if (isby) Q_no = quanlist[i].no; + for (var j = 0; j < frozenQuan.length; j++) { + var q_no = frozenQuan[j].cashRepNo; + if (Q_no == q_no) { + is_find = 1; + break; + } + } + if (!is_find) arr.push(item); + } + return arr; + }, + + //// 开启物流的弹窗 + show_wu_arr: function (e) { + var wu_arr_txt = e.currentTarget.dataset.txt; + var w_sele_index = e.currentTarget.dataset.w_sele_index; + var is_express = null; + var ob = { open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1 }; + + //--如果是多个门店的时候-- + if (w_sele_index != undefined) { + is_express = this.data.cartlist[w_sele_index].wind; + ob['is_express'] = is_express; + } + this.setData(ob); + }, + // 关闭物流的弹窗 + close_express: function () { + this.setData({ open_express: 0, disabled: 0 }); + }, + // 选择物流 + click_express_name: function (e) { + var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode; + var index = e.currentTarget.dataset.idxe; + var ob = { is_express: index, is_shipping_code: shippingcode, disabled: 0 }; + ob[this.data.wu_arr_txt] = index; + this.setData(ob); + }, + + //点击确定物流 + determine_expres: function (e) { + this.setData({ open_express: 0 }); + if (this.data.is_b_now == 1) + this.calculatePrice2(); + else + this.calculatePrice(); + }, + + //点击打开优惠券使用说明 + clik_coupons: function (e) { + var ind = e.currentTarget.dataset.idx; + var is_open = this.data.selected_quan_list[ind].is_open; + + if (is_open == 1) is_open = 0; + else is_open = 1; + + var txt = "selected_quan_list[" + ind + "].is_open" + var obj = {}; + obj[txt] = is_open; + + this.setData(obj); + this.setData({ disabled: 1 }) + }, + + clik_coupons2: function (e) { + var ind = e.currentTarget.dataset.idx; + var is_open = this.data.get_by_quan_list[ind].is_open; + + if (is_open == 1) is_open = 0; + else is_open = 1; + + var txt = "get_by_quan_list[" + ind + "].is_open" + var obj = {}; + obj[txt] = is_open; + + this.setData(obj); + this.setData({ disabled: 1 }) + }, + + + //设置默认物流 + select_default_logistics: function () { + var th = this; + var is_shipping_code = this.data.is_shipping_code + getApp().request.put("/api/weshop/users/update", { + data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code }, + success: function (rse) { + if (rse.data.code == 0) { + getApp().globalData.userInfo.def_exp_code = is_shipping_code; + th.setData({ open_express: 0 }); + //----计算此时购物车的价格---- + if (th.data.is_b_now == 1) th.calculatePrice2(); + else th.calculatePrice(); + } + } + }) + }, + + //更新下默认,在onshow里面 + update_code() { + var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; + //--定时器,判断wu_arr不未空-- + var uii = setInterval(function () { + if (th.data.wu_arr) { + clearInterval(uii); + for (var k = 0; k < th.data.wu_arr.length; k++) { + var item = th.data.wu_arr[k]; + if (def_exp_code == item.code) { + m_wind = k; + } + } + //--如果是立即购买-- + if (th.data.is_b_now == 1) { + th.setData({ index: m_wind, is_express: m_wind }); + } else { + var ui = setInterval(function () { + if (th.data.cartlist) { + var c_arr = th.data.cartlist; + for (var i in c_arr) { + c_arr[i].wind = m_wind; + } + th.setData({ cartlist: c_arr, is_express: m_wind }) + clearInterval(ui); + } + }, 500) + } + } + }, 500); + }, + //-----获取购物车进来的劵------- + get_cart_quan: async function (order_prom_list_cart) { + var th = this; + var user_id = getApp().globalData.user_id; + //等待值的出现 + //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () { + //var arr=th.data.order_prom_list_cart; + var arr = order_prom_list_cart; + if (!arr) arr = []; + //如果系统有限制使用优惠券 + if (th.data.is_close_quan) return false; + + //------------开始计算使用优惠券相关------------ + for (var ind in arr) { + var ep = arr[ind]; + var goodlist = ep.goods; + var pickup_id = ep.pickup_id; + //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西 + //就要把相应的值,写入cartlist数组中-- + var ckeck_quan_price = 0, + check_quan_price_list = '', + check_quan_ware_list = '', + check_quan_price_list_arr = [], + check_quan_ware_list_arr = []; + + for (var i in goodlist) { + var gd = goodlist[i]; + //--如果是秒杀就跳出,如果是赠品,如果是组合购限制使用优惠券-- + if (gd.whsle_id == 1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act.is_xz_yh) || gd.is_xz_yh == 1) { + continue; + } + + //--如果是团购,要判断有没有限制使用优惠券 + if (gd.prom_type == 2) { + var prom1 = null; + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, { + }).then(res => { + if (res.data.code == 0) prom1 = res.data.data; + }) + if (prom1 && !prom1.isQuan) { + continue; + } + } + + //--如果是阶梯购,要判断有没有限制使用优惠券 + if (gd.prom_type == 10) { + var prom1 = null; + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + gd.prom_id, { + }).then(res => { + if (res.data.code == 0) prom1 = res.data.data; + }) + if (prom1 && prom1.isuse && prom1.is_usecoupon) { + continue; + } + } + + //如果有限制使用优惠券,就要返回 + if (gd.prom_type == 3) { + + if (th.data.prom_goods_map && th.data.prom_goods_map[pickup_id] && th.data.prom_goods_map[pickup_id][gd.prom_id]) { + if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue; + th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1; + } + } + var item_price = gd.goods_price * gd.goods_num; + var item_price2 = item_price; + + //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 -- + if (gd.account_fir != null && gd.account_fir != undefined) { + item_price2 = gd.account_fir * gd.goods_num; + } + + if (gd.ld_account) { + item_price2 = gd.ld_account * gd.goods_num; + } + ckeck_quan_price += item_price; + //如果商品有重复的过滤,一般是组合购和阶梯购的情况下 + var idx = check_quan_ware_list_arr.findIndex(function (ele) { + return ele == encodeURIComponent(gd['erpwareid']); + }) + + if (idx > -1) { + check_quan_price_list_arr[idx] += item_price2; + } else { + check_quan_ware_list_arr.push(encodeURIComponent(gd['erpwareid'])); + check_quan_price_list_arr.push(item_price2); + } + //--组装价格list-- + /*-- + if (check_quan_price_list) { + check_quan_price_list += "," + item_price; + } else { + check_quan_price_list = item_price; + } + //--组装商品的线下erpwareid-- + if (check_quan_ware_list) { + check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']); + } else { + check_quan_ware_list = encodeURIComponent(gd['erpwareid']); + }---*/ + } + //优惠券优惠的金额要控制到优惠券的选择条件 + var cut_price = 0; + for (var i in th.data.prom_goods_map[pickup_id]) { + var obj = th.data.prom_goods_map[pickup_id][i]; + if (obj.coupon_sele) { + cut_price += obj.price - obj.prom_price; + } + } + + var prom_pt_json = ep.prom_pt_json; + if (prom_pt_json) { + for (let oj in prom_pt_json) { + let item_j = prom_pt_json[oj]; + //要对一下阶梯优惠促销的功能 + if (item_j.ladder_prom_id) { + //看一下要不要限制使用优惠券 + if (th.data.ladder_map[item_j.ladder_prom_id] && th.data.ladder_map[item_j.ladder_prom_id].is_usecoupon) { + continue; + } + cut_price += parseFloat(item_j.dis); + } + //要对一下组合购促销的功能 + if (item_j.zhprom_id) { + //看一下要不要限制使用优惠券 + if (th.data.zhhe_act_map[item_j.zhprom_id] && th.data.zhhe_act_map[item_j.zhprom_id].is_xz_yh) { + continue; + } + cut_price += parseFloat(item_j.dis); + } + } + } + + if (check_quan_price_list_arr.length) check_quan_price_list = check_quan_price_list_arr.join(','); + if (check_quan_ware_list_arr.length) check_quan_ware_list = check_quan_ware_list_arr.join(',') + + arr[ind].ckeck_quan_price = ckeck_quan_price - (cut_price ? cut_price : 0); + arr[ind].check_quan_ware_list = check_quan_ware_list; + arr[ind].check_quan_price_list = check_quan_price_list; + //-- 是否关闭使用优惠券,循环有找到商品 -- + if (th.data.is_close_quan != 1 && check_quan_ware_list) { + //--调用接口,获取优惠券的列表,3秒钟内控制接口请求-- + var url = "/api/weshop/couponList/getUseCouponList"; + await app.request.promiseGet(url, { + data: { + storeId: oo.stoid, + userId: app.globalData.user_id, + BuySum: arr[ind].ckeck_quan_price, + WareIds: check_quan_ware_list, + pageSize: 100 + } + }).then(res => { + if (res.data.code == 0) { + var quan_list = res.data.data.pageData; + arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan); + } + }) + } + } + + //如果是搭配购的立即购买的时候 + if (th.data.is_b_now) { + if (arr && arr.length > 0) { + var quanlist = arr[0].quan_list; + th.setData({ selected_quan_list: quanlist, cartlist: arr }) + } + } else { + th.setData({ cartlist: arr }) + th.set_can_num(); + } + + //}) + }, + + //------ 获取立即购买的购物车的劵 -------- + get_buy_now_quan: function () { + var quanlist = null, th = this, frozenQuan = null; + var good = this.data.bn_goods; + + //一件代发商品不使用优惠券 + if (good.whsle_id) return false; + if (good.prom_price) { + th.data.ckeck_quan_price = good.prom_price; //如果有优惠价,就用优惠价 + } else if (good.is_offline) { + th.data.ckeck_quan_price = good.offline_price; //如果有线下取价,就用线下价 + } + //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券-- + if (th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh != 1) { + var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; + var url = "/api/weshop/couponList/getUseCouponList"; + app.request.promiseGet(url0, { 1: 1 }).then(res => { + if (res.data.code == 0) { + frozenQuan = res.data.data; + th.data.frozenQuan = frozenQuan; + } + app.request.time_limit_get(6, url, { + data: { + storeId: oo.stoid, + userId: app.globalData.user_id, + BuySum: th.data.ckeck_quan_price, + WareIds: encodeURIComponent(th.data.check_quan_ware_list), + pageSize: 100 + }, + success: function (res) { + if (res.data.code == 0) { + quanlist = res.data.data.pageData; + if (quanlist) { + quanlist = th.check_is_frozenQuan(quanlist, frozenQuan); + th.setData({ selected_quan_list: quanlist }) + } + } + } + }) + }) + } + }, + + //检查区域是不是包邮 + check_area: function (arr) { + var user_addr = this.data.user_addr; + if (!user_addr) return 0; + for (var i in arr) { + var item = arr[i]; + if (user_addr.twon == item || user_addr.district == item + || user_addr.city == item || user_addr.province == item) { + return 0; + } + } + return 1; + }, + + //检查立即购买的商品是不是不包邮 + check_good: function (arr, goods_id) { + if (!goods_id) goods_id = this.data.bn_goods.goods_id; + for (var i in arr) { + var item = arr[i]; + if (goods_id == item) return 0; + } + return 1; + }, + check_by_area: function (region_list) { + var arr = region_list.split(","); + var check = this.check_area(arr); + return !check; + }, + check_by_goods: function (goods_list, goods_id) { + var arr = goods_list.split(","); + var check = this.check_good(arr, goods_id); + return !check; + }, + //立即购买获取优惠活动的内容 + buy_now_prom_goods: function (prom_id, arr, func) { + var th = this; + var price = arr.shop_price * arr.goods_num; + var prom = null; + var gg = to.get_b_now(); + getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + let min_value = 0 + if (prom && prom.is_xz_yh) { + let arr = prom.promGoodsList || [] + arr.map(item => { + if (min_value) { + min_value = item.condition + } else { + if (min_value < item.condition) { + min_value = item.condition + } + } + }) + if (arr.length > 0) { + if (arr[0].prom_type == 0) { + if (price < min_value) { + prom.is_xz_yh = 0 + } + } else { + if (arr.goods_num < min_value) { + prom.is_xz_yh = 0 + } + } + } + } + console.error('优惠活动1'); + //------------------- + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { + data: { + price: parseFloat(price).toFixed(2), + prom_id: prom_id, + goods_num: arr.goods_num, + user_id: getApp().globalData.user_id, + is_bz: prom.is_bz + } + }) + } else { + func(arr); + } + }).then(res => { + if (res.data.code == 0) { + var get_data = res.data.data; + arr.is_bz = prom.is_bz; //是不是倍增 + arr.is_xz_yh = arr.is_xz_yh ? arr.is_xz_yh : prom.is_xz_yh; //是不是优惠 + arr.bs = get_data.bs; //是不是倍数 + arr.is_past = get_data.is_past; //是不是包邮 + arr.prom_price = get_data.price >= 0 ? get_data.price : price; + arr.s_intValue = get_data.intValue; + arr.s_coupon_id = get_data.coupon_id; + arr.s_coupon_num = get_data.coupon_num; + arr.zp_mode = get_data.zp_mode; + arr.zp_num = get_data.zp_num ? get_data.zp_num : 1; //确保默认一个 + + //-- 看是不是有赠品 -- + if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 + && get_data.zp_num * arr.bs <= get_data.limit_num + && get_data.zp_num * arr.bs <= get_data.gift_storecount + ) { + arr.gift_id = get_data.gift_id; + arr.gift_goods_id = get_data.goods_id; + arr.gift_goods_name = get_data.goods_name; + arr.gift_goods_sn = get_data.goodsinfo.goods_sn; + arr.gift_goods_color = get_data.goodsinfo.goods_color; + arr.gift_goods_spec = get_data.goodsinfo.goods_spec; + arr.gift_original_img = get_data.goodsinfo.original_img; + arr.gift_weight = get_data.goodsinfo.weight; + arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; + arr.gift_uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; + arr.gift_limit_num = get_data.limit_num; + arr.gift_storecount = get_data.gift_storecount; + arr.whsle_id = get_data.goodsinfo.whsle_id; + } + arr.s_libao = get_data.libao; + arr.s_lb_num = get_data.lb_num; + arr.lbtitle = get_data.lbtitle; + arr.zxlbtitle = get_data.zxlbtitle; + arr.zx_libao = get_data.zxlibao; + arr.zx_lb_num = get_data.zxlb_num; + + arr.prom_id = prom_id; + + var send_gf = {}; + var pickid = gg.pick_id; + if (parseInt(get_data.zp_mode) == 1) { + if (!send_gf[pickid]) send_gf[pickid] = []; + + var a_stock_num = 0; + var a_limit_num = 0; + for (let iy in get_data.giftsinfo) { + let item = get_data.giftsinfo[iy]; + a_stock_num += parseInt(item.gift_storecount); + a_limit_num += parseInt(item.limit_num); + } + + var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); + if (a_limit_num >= t_zp_num && a_stock_num >= t_zp_num) { + send_gf[pickid].push({ + pickup_id: pickid, giftsinfo: get_data.giftsinfo, zp_num: get_data.zp_num * get_data.bs, + gf_pr_name: prom.name, prom_id: prom.prom_id + }); + } + th.setData({ send_gf: send_gf }); + } + } + func(arr); + }) + }, + //--检查订单优惠-- + check_is_order_prom: function (condition, func, pick) { + var th = this; + if (this.data.is_b_now == 1) pick = this.data.bn_pick; + //---获取订单优惠--- + 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; + th.data.order_prom[pick] = data; + } + func(); + }) + }, + + //--- 加入优惠活动的映射中,同时要有一个good列表 --- + add_prom_goods_map: async function (item) { + var th = this; + var pickid = item.pick_id; + var map = th.data.prom_goods_map; + var obj = map[pickid]; + + if (map[pickid]) { + if (map[pickid][item.prom_id]) { + + var ob = map[pickid][item.prom_id]; + //-- 避免同一件商品重复添加 -- + if (ob.goods && ob.goods.length) { + var fid = ob.goods.findIndex(function (e) { + e.goods_id == item.goods_id + }) + if (fid > -1) return false; + } + + ob.price += item.goods_price * item.goods_num; + ob.goods_num += item.goods_num; + ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); + + } else { + var prom = null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + + let min_value = 0 + if (prom && prom.is_xz_yh) { + let arr = prom.promGoodsList || [] + arr.map(ite => { + if (min_value) { + min_value = ite.condition + } else { + if (min_value < ite.condition) { + min_value = ite.condition + } + } + }) + if (arr.length > 0) { + if (arr[0].prom_type == 0) { + if ((item.goods_price * item.goods_num) < min_value) { + prom.is_xz_yh = 0 + } + } else { + if (item.goods_num < min_value) { + prom.is_xz_yh = 0 + } + } + } + } + } + }) + var ob = {}; + ob.prom_id = item.prom_id; + ob.name = prom.name; + ob.price = item.goods_price * item.goods_num; + ob.goods_num = item.goods_num; + ob.is_bz = prom.is_bz; + ob.is_xz_yh = prom.is_xz_yh; + ob.goods = new Array(); + ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); + map[pickid][item.prom_id] = ob; + } + } else { + var ob = {}; + var prom = null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + + let min_value = 0 + if (prom && prom.is_xz_yh) { + let arr = prom.promGoodsList || [] + arr.map(ite => { + if (min_value) { + min_value = ite.condition + } else { + if (min_value < ite.condition) { + min_value = ite.condition + } + } + }) + if (arr.length > 0) { + if (arr[0].prom_type == 0) { + if ((item.goods_price * item.goods_num) < min_value) { + prom.is_xz_yh = 0 + } + } else { + if (item.goods_num < min_value) { + prom.is_xz_yh = 0 + } + } + } + } + } + }) + + ob.prom_id = item.prom_id; + ob.name = prom.name; + ob.price = item.goods_price * item.goods_num; + ob.goods_num = item.goods_num; + ob.is_bz = prom.is_bz; + ob.is_xz_yh = prom.is_xz_yh; + ob.goods = new Array(); + ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); + var obj = {}; + obj[item.prom_id] = ob; + map[pickid] = obj; + + } + }, + //---检查有没有优惠活动--- + check_is_youhui: function (r_data, pick_id) { + let send_lb = this.data.send_lb; + let lodash = null; + r_data.forEach(item => { + if (send_lb[pick_id]) { + for (let i = 0; i < send_lb[pick_id].length; i++) { + let sends = send_lb[pick_id][i]; + if (item.lb_id) { + if (sends.id === item.lb_id) { + sends['num']++; + } else { + let send_arr1 = send_lb[pick_id].filter(ii => ii.id === item.lb_id); + if (send_arr1.length == 0) { + if (item.lb_id) { + let ob = {}; + ob.num = 1; + ob.title = item.lbtitle; + ob.id = item.lb_id; + lodash.push(ob); + // break; + } + } + + } + } + if (item.zxlb_id) { + if (sends.id === item.zxlb_id) { + sends['num']++; + } else { + let send_arr = send_lb[pick_id].filter(ii => ii.id === item.zxlb_id); + if (send_arr.length == 0) { + if (item.zxlb_id) { + let ob = {}; + ob.num = 1; + ob.flag = 1; + ob.title = item.zxlbtitle; + ob.id = item.zxlb_id; + lodash.push(ob); + // break; + } + } + } + } + } + + } else { + let arr = new Array(); + if (item.lb_id) { + let ob = {}; + ob.num = 1; + ob.title = item.lbtitle; + ob.id = item.lb_id; + arr.push(ob); + } + if (item.zxlb_id) { + let ob = {}; + ob.num = 1; + ob.flag = 1; + ob.title = item.zxlbtitle; + ob.id = item.zxlb_id; + arr.push(ob); + } + send_lb[pick_id] = arr; + lodash = JSON.parse(JSON.stringify(send_lb[pick_id])); + } + }) + send_lb[pick_id] = lodash; + th.setData({ + send_lb, + }) + + + }, + + //从优惠的映射中拿出商品从表的item + item_map_get_goods: function (goods_id, map) { + for (var i in map.goods) { + if (map.goods[i].goods_id == goods_id) return map.goods[i]; + } + }, + //从优惠的映射中拿出商品从表的item + arr_get_goods: function (goods_id, arr) { + for (var i in arr) { + if (arr[i].goods_id == goods_id) return arr[i]; + } + }, + + //检查是不是有其他门店的订单在选择了券 + check_other_use: function (iter, pkid) { + var using = this.data.using_quan; + var is_use = 0; + if (using) { + for (var i in using) { + if (i == pkid) continue; + if (iter.CashRepNo == using[i].coupon_no) { + is_use = 1; + break; + } + } + } + return is_use; + }, + //检查是不是有其他门店的订单在选择了包邮券 + check_other_use_by: function (iter, pkid) { + var using = this.data.using_quan; + var is_use = 0; + if (using) { + for (var i in using) { + if (i == pkid) continue; + if (iter.no == using[i].coupon_no) { + is_use = 1; + break; + } + } + } + return is_use; + }, + + //跳转到购买卡 + buycard: function () { + getApp().goto("/pages/user/plus/plus"); + getApp().globalData.plus_buy_back = 1; + }, + + //跳转关闭弹出框的显示 + close_offline: function () { + this.setData({ is_offline_show: 0 }); + }, + + //立即购买显示弹出框 + bn_pop_offline: function () { + var off_price = this.data.bn_goods.shop_price - this.data.bn_goods.offline_price; + //是不是线下 + var is_get_offline = this.data.bn_goods.is_offline; + this.setData({ is_offline_show: 1, show_off_price: off_price.toFixed(2), is_get_offline: is_get_offline }); + }, + + // 促销 -> 送礼包 -> 查看详情 + viewLbDetails(e) { + let id = e.currentTarget.dataset.id; // 获取礼包id + let flag = e.currentTarget.dataset.flag; + let url = ''; + if (flag == 1) { // flag =1 控制跳转到专享礼包 + url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`; + } else { + url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮 + }; + // console.log('myurl', url); + getApp().goto(url); + }, + + //确定使用线下取价 + sure_offline: function () { + var bn_goods = this.data.bn_goods; + if (bn_goods && bn_goods.prom_type == 0) { + bn_goods.is_offline = 1; + this.setData({ is_offline_show: 0, bn_goods: bn_goods }); + this.calculatePrice2(); + } + //就是购物车结算时的 + else { + var index = this.data.pop_offline_index; + var txt = "cartlist[" + index + "].is_offline"; + this.setData({ [txt]: 1, is_offline_show: 0, }); + this.data.old_cartlist[index].is_offline = 1; + this.calculatePrice(); + } + }, + + //取消使用线下取价 + cancle_offline: function () { + //判断是不是立即购买 + var bn_goods = this.data.bn_goods; + if (bn_goods && bn_goods.prom_type == 0) { + bn_goods.is_offline = 0; + this.setData({ is_offline_show: 0, bn_goods: bn_goods }); + this.calculatePrice2(); + } + //就是购物车结算时的 + else { + var index = this.data.pop_offline_index; + var txt = "cartlist[" + index + "].is_offline"; + this.setData({ [txt]: 0, is_offline_show: 0, }) + this.data.old_cartlist[index].is_offline = 0; + this.calculatePrice(); + } + }, + + //-- 弹出购物车选择是不是要店铺优惠 -- + cart_pop_offline: function (e) { + var index = e.currentTarget.dataset.index; + var item = this.data.cartlist[index]; + var off_price = item.offline_price; + //是不是线下 + var is_get_offline = item.is_offline; + this.setData({ + pop_offline_index: index, + is_offline_show: 1, + show_off_price: off_price.toFixed(2), + is_get_offline: is_get_offline + }); + }, + + go_url: function (e) { + var url = e.currentTarget.dataset.url; + getApp().goto(url); + }, + + //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表 + split_set_goods_quanprice: async function (you_item, t_item) { + var coupon_price = you_item.WareCashSum; + var goods = t_item.goods; + var arr = []; + //判断是不是有goods_id重复 + for (var i = 0; i < goods.length; i++) { + if (goods[i].erpwareid == you_item.WareId) { + var gg_ite = { + goods_id: goods[i].goods_id, + goods_num: goods[i].goods_num, + goods_price: goods[i].goods_price, + }; + if (goods[i].account) gg_ite.goods_price = goods[i].account; + gg_ite.idx = i; arr.push(gg_ite); + } + } + + if (arr.length <= 0) return false; + if (arr.length == 1) { + var idx = arr[0].idx; + t_item.goods[idx].quan_num = Math.floor(coupon_price * 100) / 100; + t_item.goods[idx].quan_no = t_item.quan_no; + return false; + } + + var pt_data = { + 'dis': parseFloat(coupon_price), + 'goods': arr, + } + + var pt_res = null; + await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { + is_json: 1, + data: pt_data + }).then(res => { + if (res.data.code == 0) { + pt_res = res.data.data; + } + }) + if (pt_res) { + var q_s_num = 0; + for (var i in pt_res) { + var idx = pt_res[i].idx; + //有account的实收价,就要用account实收价 + var price = (t_item.goods[idx].account ? t_item.goods[idx].account : t_item.goods[idx].goods_price); + price = (price - pt_res[i].fisrt_account) * t_item.goods[idx].goods_num; + t_item.goods[idx].quan_num = price; + + t_item.goods[idx].quan_num = Math.floor(t_item.goods[idx].quan_num * 100) / 100; + t_item.goods[idx].quan_no = t_item.quan_no; + q_s_num += t_item.goods[idx].quan_num; + } + + if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)) { + for (var ik in arr) { + if (arr[ik].goods_num == 1) { + var id = arr[ik].idx; + var pri = Math.floor(coupon_price * 100) / 100 - Math.floor(q_s_num * 100) / 100 + t_item.goods[id].quan_num += pri; + break; + } + } + } + } + }, + //订阅消息提醒 + sendsm: function (func) { + let th = this; + var template_id = this.data.template_id; + // //授权订阅 + wx.requestSubscribeMessage({ + tmplIds: [template_id], + success(res) { + func(); + }, + fail(res) { + func(); + } + }) + + }, + + setexptype2: function (e) { + this.debounce(this.setexptype.bind(this, e), 400)(); + }, + + setexptype_w2: function (e) { + this.debounce(this.setexptype_w.bind(this, e), 400)(); + }, + + // 函数防抖 + debounce: function (func, wait) { + return () => { + clearTimeout(timer); + timer = setTimeout(func, wait); + }; + }, + + + //-- 判断是不是选中 -- + check_th_item: function (e) { + var th = this; + var idx = e.currentTarget.dataset.item; + var check = e.currentTarget.dataset.check; + var txt = "giftsinfo[" + idx + "].selected"; + var gift_item = this.data.giftsinfo[idx]; + + if (check) { + th.setData({ [txt]: 0 }); + } else { + + var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, gift_item.goods_num); + if (!is_true) { return false; } + + th.setData({ [txt]: 1 }); + } + }, + + + //输入框输入数量的时候 + valueToNum: function (e) { + var th = this; + var idx = e.currentTarget.dataset.item; + var gift_item = this.data.giftsinfo[idx]; + var num = parseInt(e.detail.value); + var txt = "giftsinfo[" + idx + "].goods_num"; + var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); + if (!is_true) { + th.setData({ [txt]: 1 }); + return false; + } + th.setData({ [txt]: num }); + + }, + + + + addNum: function (e) { + var th = this; + var idx = e.currentTarget.dataset.item; + var txt = "giftsinfo[" + idx + "].goods_num"; + var num = th.data.giftsinfo[idx].goods_num + 1; + var gift_item = this.data.giftsinfo[idx]; + var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); + if (!is_true) { return false; } + th.setData({ [txt]: num }); + }, + + subNum: function (e) { + var th = this; + var idx = e.currentTarget.dataset.item; + var txt = "giftsinfo[" + idx + "].goods_num"; + var num = th.data.giftsinfo[idx].goods_num - 1; + var gift_item = this.data.giftsinfo[idx]; + var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); + if (!is_true) { + return false; + } + if (num < 1) return false; + th.setData({ [txt]: num }); + }, + + //-- 点击选中赠品 -- + show_sele_gift: function (e) { + var index = e.currentTarget.dataset.index; + var pk = e.currentTarget.dataset.pk; + var giftsinfo = this.data.send_gf[pk][index].giftsinfo; + + for (let i in giftsinfo) { + let item = giftsinfo[i]; + if (!item.goods_num) giftsinfo[i].goods_num = 1; + } + + this.setData({ + show_duo_gift: 1, + giftsinfo: giftsinfo, + gf_pr_name: this.data.send_gf[pk][index].gf_pr_name, + zp_num: this.data.send_gf[pk][index].zp_num, + gift_pkid: pk, + gf_prom_id: this.data.send_gf[pk][index].prom_id, + send_gf_index: index + }) + }, + + close_sele_gift: function () { + this.setData({ show_duo_gift: 0 }) + }, + + //购物车赠品有咩有超出库存。有灭有超出限购 + check_out_num_cart: function (discount, pick_id, num) { + var prom_id = discount.prom_id; + var alllist = this.data.cartlist; + var all_num = num; + var all_limit_num = num; + var gift_id = discount.gift_id; + for (var i in alllist) { + var list_item = alllist[i]; + //-- 门店相同,活动相同的时候 -- + if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue; + for (var j in list_item.goods) { + //如果赠品的ID一样,要进行统计数量 + if (list_item.goods[j].is_gift == 1 && + list_item.goods[j].gift_id == gift_id) { + all_num += list_item.goods[j].goods_num; + } + if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) { + all_limit_num += list_item.goods[j].limit_num; + } + } + } + //-- 赠品的数量超出库存数量和会员的限制, + // 这里是保证所有的赠品部会超出 -- + if (discount.gift_storecount < all_num) { + wx.showToast({ + title: "赠品库存不足", + icon: 'none', + duration: 2000 + }); + return false; + } + if (discount.limit_num < all_limit_num) { + wx.showToast({ + title: "超出赠品限购", + icon: 'none', + duration: 2000 + }); + return false; + } + return true; + }, + + //-- 确定赠品 -- + sure_this_gift: async function () { + var th = this; + var gf_pickup_id = this.data.gift_pkid; + + var zp_num = this.data.zp_num; + var giftsinfo = this.data.giftsinfo; + var all_num = 0; + for (let i in giftsinfo) { + let item = giftsinfo[i]; + if (!item.selected) continue; + all_num += item.goods_num; + } + if (all_num > zp_num) { + wx.showToast({ + title: "超出活动赠品赠送的数量" + zp_num + "件", + icon: 'none', + duration: 2000 + }); + return false; + } + if (all_num < zp_num) { + wx.showToast({ + title: "您还可以加" + (zp_num - all_num) + "件", + icon: 'none', + duration: 2000 + }); + return false; + } + + //-- 当是购物车购买的时候 -- + if (this.data.cartlist && this.data.cartlist.length > 0) { + var alllist = this.data.cartlist; + var index = alllist.findIndex(function (e) { + return e.pickup_id == gf_pickup_id + }); + var pk_list_goods = alllist[index].goods; + + var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id=" + + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.prom_id; + await getApp().request.promiseDelete(url, {}); + + var new_pk_list_goods = []; + for (let i in pk_list_goods) { + let item = pk_list_goods[i]; + if (item.is_gift && item.prom_id == this.data.gf_prom_id) { + continue; + } + new_pk_list_goods.push(item) + } + + //-- 循环把赠品添加进去 -- + for (var i = 0; i < giftsinfo.length; i++) { + var gf_item = giftsinfo[i]; + if (!gf_item.selected) continue; + var add_data = null; + var newd = { + goods_id: gf_item.goodsinfo.goods_id, + goods_num: gf_item.goods_num, + pick_id: gf_pickup_id, + user_id: app.globalData.user_id, + store_id: os.stoid, + goods_price: 0, + member_goods_price: 0, + goods_name: gf_item.goodsinfo.goods_name, + goods_sn: gf_item.goodsinfo.goods_sn, + sku: gf_item.goodsinfo.sku, + is_gift: 1, + prom_id: th.data.gf_prom_id, + prom_type: 3, + selected: 1, + gift_id: gf_item.gift_id, + original_img: th.data.imgUrl + gf_item.goodsinfo.original_img, + exp_sum_type: gf_item.goodsinfo.exp_sum_type, + is_free_shipping: gf_item.goodsinfo.is_free_shipping, + weight: gf_item.goodsinfo.weight, + uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, + goods_spec: gf_item.goodsinfo.goods_spec, + goods_color: gf_item.goodsinfo.goods_color, + }; + + + //-- 如果是代发商品的时候 -- + if (gf_item.goodsinfo.whsle_id) { + newd.whsle_id = gf_item.goodsinfo.whsle_id; + } + await getApp().request.promisePost("/api/weshop/cart/save", { + data: newd + }).then(res => { + if (res.data.code == 0) { + add_data = res.data.data; + } + }) + if (add_data) { + newd.id = add_data.id; + new_pk_list_goods.push(newd); + } + } + + var set_data = this.data.send_gf[gf_pickup_id][this.data.send_gf_index]; + set_data.selected = 1; + var txt9 = "cartlist[" + index + "].goods"; + + th.setData({ [txt9]: new_pk_list_goods, send_gf: this.data.send_gf }); + this.data.old_cartlist[index].goods = new_pk_list_goods; + + console.log(this.data.send_gf, "----"); + th.calculatePrice(); + + } else { + var new_pk_list_goods = []; + //-- 当是立即购买的时候 -- + for (var i = 0; i < giftsinfo.length; i++) { + var gf_item = giftsinfo[i]; + if (!gf_item.selected) continue; + var newd = { + goods_id: gf_item.goodsinfo.goods_id, + buynum: gf_item.goods_num, + pick_id: gf_pickup_id, + user_id: app.globalData.user_id, + store_id: os.stoid, + goods_price: 0, + member_goods_price: 0, + goods_name: gf_item.goodsinfo.goods_name, + goods_sn: gf_item.goodsinfo.goods_sn, + sku: gf_item.goodsinfo.sku, + is_gift: 1, + prom_id: th.data.gf_prom_id, + prom_type: 3, + selected: 1, + gift_id: gf_item.gift_id, + original_img: th.data.imgUrl + gf_item.goodsinfo.original_img, + exp_sum_type: gf_item.goodsinfo.exp_sum_type, + is_free_shipping: gf_item.goodsinfo.is_free_shipping, + weight: gf_item.goodsinfo.weight, + uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, + uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, + goods_spec: gf_item.goodsinfo.goods_spec, + goods_color: gf_item.goodsinfo.goods_color, + }; + //-- 如果是代发商品的时候 -- + if (gf_item.goodsinfo.whsle_id) { + newd.whsle_id = gf_item.goodsinfo.whsle_id; + } + + new_pk_list_goods.push(newd); + } + var set_data = this.data.send_gf[th.data.bn_pick][this.data.send_gf_index]; + set_data.selected = 1; + var txt1 = "send_gf[" + gf_pickup_id + "][" + this.data.send_gf_index + "]"; + + th.setData({ buy_now_gift_goods: new_pk_list_goods, [txt1]: set_data }); + th.calculatePrice2(); + + } + th.close_sele_gift(); + }, + + //获取输入 + getInput: function (e) { + this.data.gift_sear = e.detail.value; + }, + //-- 搜索赠品 -- + submitSearch: function () { + var giftsinfo = this.data.giftsinfo; + if (!this.data.gift_sear) { + for (let i in giftsinfo) { + let item = giftsinfo[i]; + item.hide_div = 0; + } + } else { + for (let i in giftsinfo) { + let item = giftsinfo[i]; + item.hide_div = 0; + if (item.goods_name.indexOf(this.data.gift_sear) == -1) { + item.hide_div = 1; + } + } + } + this.setData({ giftsinfo: giftsinfo }) + + }, + + //-- 赠品的验证 -- + sub_check_gift(func) { + var th = this; + if (th.data.send_gf) { + var error_arr = []; + for (let io in th.data.send_gf) { + let item_arr = th.data.send_gf[io]; + for (let ip in item_arr) { + var gf_pr_name = item_arr[ip].gf_pr_name; + var zp_num = item_arr[ip].zp_num; + var giftsinfo = item_arr[ip].giftsinfo; + var limit_all = 0; + var stock_all = 0; + for (let iu in giftsinfo) { + let gf_item = giftsinfo[iu]; + limit_all += gf_item.limit_num; + stock_all += gf_item.gift_storecount; + } + if (limit_all < zp_num) { + error_arr.push(gf_pr_name + "限购不足"); + } + if (stock_all < zp_num) { + error_arr.push(gf_pr_name + "赠品库存不足"); + } + } + } + + //-- 有赠品错误的时候,是不是继续下单 -- + if (error_arr.length) { + var err = error_arr.join(","); + wx.showModal({ + title: '提示', + content: err + ',无法赠送赠品,是否继续下单', + success(res) { + if (res.confirm) { + func(); + } else if (res.cancel) { + console.log('用户点击取消'); + th.setData({ + submit: 0, + }) + } + } + }) + } else { + + var is_ok = 1; + var error_arr = []; + for (let io in th.data.send_gf) { + let item_arr1 = th.data.send_gf[io]; + for (let ip1 in item_arr1) { + var item_b = item_arr1[ip1]; + if (!item_b.selected) { + is_ok = 0; + break; + } + } + if (!is_ok) break; + } + + if (!is_ok) { + getApp().confirmBox("请选择赠品"); + th.setData({ + submit: 0, + }) + return false; + } + func(); + } + + + } else { + func(); + } + }, + + //子组件返回的优化 + select_coll(e) { + console.log("--1111--aaa--"); + console.log(e); + //-- 如果是购物车的选择添加搭配商品 -- + if (e.detail.is_cart == 1) { + this.select_coll_buy_cart(e.detail); + } else { + this.select_coll_buy_now(e.detail); + } + }, + + //立即购买的时候,选中和不选中搭配商品 + async select_coll_buy_now(e) { + var th = this; + //--按钮变灰色 -- + th.setData({ submit: 1 }); + //如果是选中 + if (e.selected) { + var item = this.data.all_collocation_list[e.index]; + item.goods_num = 1; + item.goods_price = item.price; + item.is_collocation = 1; + item.prom_type = 5; + + + var coll_arr = []; + if (this.data.collocation_goods && this.data.collocation_goods.length) { + coll_arr = this.data.collocation_goods; + } + coll_arr.push(item); + this.setData({ collocation_goods: coll_arr }); + //让主商品的活动变成5,搭配购 + this.setData({ 'bn_goods.prom_type': 5, 'bn_goods.prom_id': coll_arr[0].prom_id }); + + var is_has_main = coll_arr.findIndex(function (e) { + return e.goods_id == th.data.bn_goods.goods_id; + }) + + //要进行深拷贝 + var coll_arr_new = JSON.parse(JSON.stringify(coll_arr)); + coll_arr_new.unshift(this.data.bn_goods); + + await th.get_collocation_list(coll_arr_new); + //计算价格 + th.calculatePrice2(); + th.get_cart_quan(); + + } else { + var item = this.data.all_collocation_list[e.index]; + var coll_arr = this.data.collocation_goods; + var find = coll_arr.findIndex(function (e) { + return e.goods_id == item.goods_id; + }) + coll_arr.splice(find, 1); + + //当coll_arr的长度等于1的时候,说明没有选中搭配商品,只有主商品了 + if (!coll_arr || coll_arr.length < 1) { + //让主商品的活动变成0,取消搭配购 + this.setData({ 'bn_goods.prom_type': 0, 'bn_goods.prom_id': 0, collocation_goods: [] }); + //计算价格 + th.calculatePrice2(); + //获取优惠券 + th.get_buy_now_quan(); + + } else { + this.setData({ collocation_goods: coll_arr }); + //要进行深拷贝 + var coll_arr_new = JSON.parse(JSON.stringify(coll_arr)); + coll_arr_new.unshift(this.data.bn_goods); + await th.get_collocation_list(coll_arr); + //计算价格 + th.calculatePrice2(); + th.get_cart_quan(); + } + } + }, + //购物车购买的时候,选中和不选中搭配商品 + async select_coll_buy_cart(e) { + var th = this; + var cart_index = e.cart_index; + var index = e.index; + + var collocationList = this.data.cartlist[cart_index].collocationList; + var item = collocationList[cart_index]; + var goods = this.data.cartlist[cart_index].goods; + var txt = 'cartlist[' + cart_index + '].goods'; + var txt2 = 'cartlist[' + cart_index + '].collocationList[' + index + '].selected'; + + //-- 如果是选中 -- + if (e.selected) { + item.goods_num = 1; + item.goods_price = item.price; + item.prom_type = 5; + item.is_collocation = 1; + + goods.push(item); + + th.setData({ [txt]: goods, [txt2]: 1 }); + + th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist)); + th.calculatePrice(); + //th.get_cart_quan(); + + } else { + var fd = goods.findIndex(function (e) { + return e.goods_id == item.goods_id && e.prom_type == 5; + }) + + goods.splice(fd, 1); + th.setData({ [txt]: goods, [txt2]: 0 }); + th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist)); + + th.calculatePrice(); + //th.get_cart_quan(); + } + }, + + //-- 搭配购的获取搭配商品的购物车计算价格的数组格式 -- + async get_collocation_list(narr) { + var gg = to.get_b_now(); + var th = this; + var cart_arr = new Array(); + //-- 搭配促销的门店配送方式的修复 -- + var et = 1; + var distr_t = 0; // 配送方式 0=用户自选 1=自提 2=物流 + for (var hi in narr) { + var dis_t = narr[hi].distr_type; + if (dis_t == 2) { + th.setData({ is_all_zt: 0 }); + et = 0; + } + if (dis_t > 0) { + distr_t = dis_t; + } + + //-- 如果有一件代发的商品或者不是同城配送的配送 -- + if (narr[hi].is_same_city != 1 || narr[hi].whsle_id > 0) { + th.setData({ show_same_city: 0 }) + } + } + //自选的时候,系统配置了默认的配送方式是物流的时候 + if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) { + et = 0; th.setData({ is_all_zt: 0 }); + } + + var m_wind = th.data.m_wind; + var ie = { + pickup_id: gg.pick_id, + pname: gg.pick_name, + goods: narr, + exp_type: et, + wind: m_wind, + distr_t: distr_t, + bn_t_exp_t: distr_t, + goods_price: 0, + shipping_price: 0, + user_money: 0, + total_amount: 0, + order_amount: 0, + user_note: "" + }; + + var cart_commission = 0; + //-- 循环计算一下线下取价 -- + //计算佣金的商品 + var commission_gds = []; + for (var c = 0; c < narr.length; c++) { + var hr = { + goods_id: narr[c].goods_id, + goods_num: narr[c].goods_num, + prom_type: 0, + prom_id: 0, + } + commission_gds.push(hr); + + } + + //获取购物车的佣金,此处要优化调用接口,获取佣金 + var req_d = { + user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid + } + var back_data = null; + 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; + }); + + if (back_data && parseFloat(back_data)) { + ie.can_usecommise = parseFloat(back_data); + cart_commission = ie.can_usecommise; + } + + cart_arr.push(ie); + if (cart_commission) { + th.setData({ cart_commission }); + } + + th.data.old_cartlist = cart_arr; + } + + + + +}); diff --git a/packageE/pages/cart/cart2/cart2.json b/packageE/pages/cart/cart2/cart2.json new file mode 100644 index 0000000..b3a5ca9 --- /dev/null +++ b/packageE/pages/cart/cart2/cart2.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "填写订单", + "enablePullDownRefresh": false, + "usingComponents": { + "warn": "/components/long_warn/long_warn", + "cart_collect_temp": "/components/cart_collect_temp/cart_collect_temp" + } +} \ No newline at end of file diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml new file mode 100644 index 0000000..dd0baa4 --- /dev/null +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -0,0 +1,860 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.pname}} + + + + + + 组合购 + + + + + {{items.goods_name}} + + + + {{filters.show_gui_ge(items.goods_spec,items.goods_color)}} + + + + + + {{filters.toFix(items.goods_price,2)}}({{items.discount}}折) + {{filters.toFix(items.goods_price,2)}} + x{{items.goods_num}} + + + + + + + + + + + + + + {{show_card.CardName}} + + 立减 {{filters.toFix(item.card_cut_price,2) }} + + + vip超级会员仅需{{show_card.CardFee}}元 + + + + + 立即开通 + + + + + + {{order.store_prom}} + + + + + + + + + + + + + + + + 门店自提 + + + + + + + + + + + + 快递邮寄 + + + + + + + + + + + + + 同城配送 + + + + + + + {{wu_arr[item.wind].name}} + + + + + + + + + + 选择物流 + + {{wu_arr[item.wind].name}} + + + + + + + + + + + + + {{send.zxlbtitle?send.zxlbtitle:send.lbtitle}} + + + + x{{send.num}} + + + + + + + + + + {{iter.name}} 可选赠品{{iter.zp_num}}个 + + + + 已选择 + + + + 未选择 + + + + + + + + + + 优惠券{{item.can_num}}张可用 + + 不使用 + ¥{{using_quan[item.pickup_id].money}}元优惠券 + 包邮券 + + + + + + + + + + 留言 + + + + + + + + + 店铺优惠 + + 省{{filters.toFix(item.offline_price,2)}}元 + + + -¥{{filters.toFix(item.offline_price,2)}} + + + 不使用优惠 + + + + + + + + + + + + + + 使用佣金 :¥{{cart_commission}} + + + + + + + + 使用余额 :¥{{yuer}} + + + + + + + + + + {{bn_pickname}} + + + + + + + {{bn_goods.goods_name}} + + + + {{filters.show_gui_ge(bn_goods.goods_spec,bn_goods.goods_color)}} + + + + + + {{filters.toFix(bn_goods.shop_price,2)}} + x{{bn_goods.buynum}} + + + + + + + + + + + + + + {{item.goods_name}} + + + + {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} + + + + + 0 + x{{item.buynum}} + + + + + + + + + + + + + + {{item.goods_name}} + + + + {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} + + + + + {{item.price}} + x{{item.goods_num}} + + + + + + + + + + + + + + + + {{show_card.CardName}} + + 立减 {{filters.toFix(card_cut_price,2) }} + + + vip超级会员仅需{{show_card.CardFee}}元 + + + + + 立即开通 + + + + + + + {{bn_goods.lbtitle}} + + + + x{{bn_goods.s_lb_num}} + + + + + + + + {{bn_goods.zxlbtitle}} + + + + x{{bn_goods.zx_lb_num}} + + + + + + + + + + + {{iter.name}} 可选赠品{{iter.zp_num}}个 + + + + 已选择 + + + + 未选择 + + + + + + + + + + + {{order.store_prom}} + + + + + + + 选择物流 + + {{wu_arr[index].name}} + + + + + + + + + 留言 + + + + + + + + 店铺优惠 + + 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元 + + + -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}} + + + 不使用优惠 + + + + + + + + + + + 使用佣金 :¥{{bn_goods.use_commission}} + + + + + + + + 使用余额 :¥{{yuer}} + + + + + + + + 商品金额 + ¥ {{formData.all_price}}元 + + + 配送费用 + ¥ {{formData.shipping_price}}元 + + + 使用优惠券 + - ¥ {{formData.coupon_price}}元 + + + + 优惠活动 + - ¥ {{filters.toFix(formData.cut_price,2)}}元 + + + + 组合购优惠 + - ¥ {{filters.toFix(formData.zh_cut_price,2)}}元 + + + + 阶梯促销优惠 + - ¥ {{filters.toFix(formData.ladder_cut_price,2)}}元 + + + + + 订单优惠 + - ¥ {{filters.toFix(formData.order_prom_amount,2)}}元 + + + 使用余额 + - ¥ {{formData.user_money}}元 + + + + + + + 应付金额:{{formData.order_amount}} + + + + +
+ + + + + + + + + 优惠券使用 + + + × + + + + 可使用的优惠券 + 不使用优惠券 + + Γ + + + + + + + + + + + + + + + + + + + {{item.Sum}} + 满{{item.BuySum}}元可用 + 满0元可用 + + + + + + + + + {{filter.get_type_card(item.UseObjectType)}} + {{item.Sum}}元优惠券 + + {{filters.replace_time2(item.BeginDate)}}至{{item.ValidDate?filters.replace_time2(item.ValidDate):'不限'}} + + + + Γ + + + + + + + + + + + + + + + + + + + + + + + 包邮券 + 满{{item.condition}}元可用 + 满0元可用 + + + + + + + + + {{filter.get_type_card(0)}} + 包邮券 + + {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} + + + + Γ + + + + + + + + + + + + + + + + + + + + + + + + + 包邮券 + 满{{item.condition}}元可用 + 满0元可用 + + + + + + + + + {{filter.get_type_card(0)}} + 包邮券 + + {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} + + + + Γ + + + + + + + + + + + + + + + + + + + + 确定 + + + + + + + + + + + + 选择物流名字 + + + × + + + + + + + + Γ + + + + + {{express_list.name}} + + + + + + + 确定 + + + 设为默认 + + + + + + + + + + 店铺优惠 + + 优惠¥{{show_off_price}} + + + 不用优惠 + + + + + + + + + + + + + + + + + + + + + + {{gf_pr_name}},可任选{{zp_num}}件商品为赠品 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageE/pages/cart/cart2/cart2.wxss b/packageE/pages/cart/cart2/cart2.wxss new file mode 100644 index 0000000..450859d --- /dev/null +++ b/packageE/pages/cart/cart2/cart2.wxss @@ -0,0 +1,1144 @@ +.bdr_t-14 { + border-top-left-radius: 14rpx; + border-top-right-radius: 14rpx; +} +.bdr_b-14 { + border-bottom-left-radius: 14rpx; + border-bottom-right-radius: 14rpx; +} +.bdr14 { + border-radius: 14rpx; +} +.mgt20 { + margin-top: 20rpx; +} +.shadow { + box-shadow: 0 4rpx 12px #e7e9eb; +} +.shadow-1 { + box-shadow: 16rpx 0px 12px #e7e9eb; +} + +page { + background-color: #F0F0F0; + padding: 0 22rpx; + box-sizing: border-box; +} +.container { + background-color: #F0F0F0; + padding-bottom: 120rpx; +} + +.tab-container { + font-size: 28rpx; + margin-top: 20rpx; + display: flex; +} + +.tab-wrapper { + background-color: #ccc; + display: flex; + border-radius: 40rpx; + overflow: hidden; +} + +.tab { + padding: 20rpx 30rpx; + +} + + +.tab.active { + background-color: white; + border-radius: 40rpx; +} + + +.user-mes { + position: relative; + background-color: #fff; + font-size: 32rpx; + color: #444; + border-radius: 14rpx; + padding: 20rpx 70rpx 20rpx 20rpx; +} +.user-contact { } + +.location { + position: relative; + +} + +.pos-icon { + width: 20rpx; + height: 24rpx; + display: inline-block; +} + +.border-img { + width: 100%; + height: 12rpx; +} + +.update-logistics { + position: absolute; + right: 0; + top: 0; + width: 80rpx; + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.arrow-rigth { + width: 32rpx; + height: 32rpx; +} + +.order-meg { + margin-bottom: 20rpx; + font-size: 28rpx; + +} + +.order-detail { + padding: 30rpx 0; + border-bottom: 2rpx solid #eee; + color: #777; + min-height: 190rpx; + background-color: #fff; + +} + +.goods-img { + float: left; + width: 200rpx; + height: 200rpx; + margin: 0 20rpx; +} + +.order-cont { + float: left; + width: 438rpx; +} + +.goods-name { + height: 74rpx; + line-height: 40rpx; + overflow: hidden; + margin-bottom: 16rpx; + font-size: 28rpx; + color: #333; + +} + +.goods-color { + font-size: 24rpx; +} + +.order-num { + margin-top: 25rpx; + font-size: 24rpx; + line-height: 42rpx; +} + +.set-mes{ + background-color: #fff; +} +.use-item{ + display: flex; + align-items: center; + font-size: 26rpx; + padding: 20rpx; +} +.use-item>view{ + display: flex; +} +.use-item.bfff{ + background-color: #fff; +} +.use-item .dp{ + display: block; + width: 40rpx; + height: 40rpx; +} + +.set-item { + justify-content: space-between; + background-color: #fff; +} + +.set-btn { + display: flex; + font-size: 24rpx; +} + +.set-mes input { + width: 380rpx; + height: 50rpx; + line-height: 50rpx; + border: 1px solid #ddd; +} + +.use-btn { + width: 100rpx; + height: 50rpx; + margin-left: 20rpx; + line-height: 50rpx; + text-align: center; + background-color: #f23030; + color: #fff; +} + +.coupon-mes { + padding: 20rpx; + background-color: #fff; + font-size: 30rpx; + border-radius: 14rpx; + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.coupon-title { + display: flex; + justify-content: space-between; + align-items: center; + height: 92rpx; +} + +.coupon-title>view { + display: flex; +} + +.coupon-num { + height: 36rpx; + margin-left: 20rpx; + padding: 0 16rpx; + line-height: 36rpx; + text-align: center; + background-color: #f23030; + color: #fff; + font-size: 24rpx; +} + +.leave-word { + position: relative; + font-size: 24rpx; + margin-left: 20rpx; + display: flex; + flex-grow: 1; + align-items: center; + height: 50rpx; +} + +.word-box { font-size: 26rpx;width: 100%;} + +.max-word { + position: absolute; + right: 0; + bottom: 0; +} + +.information { background-color: #fff; } + +.information .item { + display: flex; + justify-content: space-between; + font-size: 24rpx; + padding: 20rpx; +} + +.btn-wrap { + height: 94rpx; + box-sizing: border-box; + display: flex; + justify-content: space-between; + background-color: white; + align-items: center; + position: fixed; + bottom: 0; + left: 0; + width: 100%; + padding: 0 30rpx; +} + +.tips-btn { + color: white; + background-color: #FE4445; + height: 72rpx; + line-height: 72rpx; + padding: 0 42rpx; + border-radius: 36rpx; + margin-left: 0; + margin-right: 0; +} + +.pay-amount { } + +.payable { + color: #444; + /* margin-right: 20rpx; */ +} + +.shipping-modal { + z-index: 20; + position: fixed; + bottom: 0; + left: 0; + right: 0; + overflow-y: hidden; + color: #666666; + background-color: white; +} + +.shipping-nav { + text-align: center; + font-size: 35rpx; + padding-top: 30rpx; +} + +.shipping-list { + padding: 20rpx 30rpx 40rpx; + font-size: 28rpx; +} + +.shipping-item { + display: block; + padding: 20rpx 0; +} + +.shipping-btn { + width: 100%; + color: white; + background-color: #f23030; + line-height: 90rpx; + text-align: center; + font-size: 40rpx; +} + +/*----------nyf新增,地址---------*/ +.add_new{ + height: 90rpx; + display: flex; + align-items: center; + padding: 0 26rpx; +} +.addr_jia{width: 45rpx; height: 45rpx; border: 1rpx solid #ddd; + margin-right: 15rpx;vertical-align: middle;} +.yu_er{ + margin-left: 10rpx; +} +.wuliu{margin-left: 20rpx;} + + +/*---- 优惠券列表 -----*/ +.xc-coupon-frame{ + width: 100%; + height: 92rpx; + +} +.xc-coupon-frame .work-frame{ + width: 100%; + height: 100%; + border-bottom:3rpx solid #eee; + padding: 0 26rpx; + background-color: white; +} +.xc-right{ + width:12rpx; + height:12rpx; + border-top:2rpx solid #000; + border-right:2rpx solid #000; + transform:rotate(45deg); + display:inline-block; + margin-left: 10rpx; +} + +.xc-coupon-frame .work-frame .work{ font-size: 30rpx; line-height: 92rpx; } +.xc-right-frame{font-size: 30rpx;line-height: 92rpx; margin-right: 10rpx } + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + height:880rpx; + background: #fff; + z-index: 35; + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; + position:fixed; + bottom:0; + left: 0; +} + +.cx-popup .top{ + width:95%; + height:100rpx; + border-bottom:3rpx solid #ddd; + margin: auto; + margin-top: 30rpx; + +} +.xc-top-content{ + width: 93%; + height:85rpx; + padding-top: 30rpx; + font-size: 34rpx; + font-weight: 600; + +} + + +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame{ + width: 100%; + height:60%; +} + +.xc-frame .list-frame{ + width: 95%; + height: 100%; + overflow-y:scroll; + +} +.xc-close-frame{ + margin-top:-10rpx; + +} + +.xc-close{ + width: 37rpx; +height: 37rpx; +border-radius: 50%; +border: 3rpx solid #333; +text-align: center; +line-height: 34rpx; +font-size: 29rpx; +color: #333; + +} +.xc-money{ + color: #af2346; + font-size: 35rpx; +} + +.xc-money-frame{ + margin-left:35rpx; + +} +.xc-coupon-effect{ + width: 99%; + min-height: 100rpx; + border-bottom:3rpx solid #ddd; + + +} +.xc-goods-coupon{ + width: 85%; + height:100%; + +} +.xc-title{ + width:50%; + margin-left:222rpx; + +} +.xc-coupon-money0{ + color: #c91e31; + font-size: 35rpx; + line-height: 40rpx; + +} +.xc-coupon-money{ + color: #c91e31; + font-size: 35rpx; + line-height: 40rpx; + padding-top: 10px; + +} +.xc-coupon-money1{ + color: #444; + font-size: 28rpx; + line-height: 60rpx; + + +} +.xc-coupon-time{ + height: 50rpx; + font-size: 27rpx; + color: #a4a4a4; +} +.xc-coupon-time .time{ + margin-left: 15rpx; + font-size: 27rpx; +} +.xc-coupon-selection{ + height:100%; +} + +.xc-confirm { + width: 50%; + border-radius: 50rpx; + height: 80rpx; + margin:0 auto; + background:#d60021; + color:#fff; + font-size:28rpx; + margin-top: 28rpx; +} + +.up{ animation: up .7s; } +.down{ animation: down 1s; } +@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } } +@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } } + +.xc-not-Selection{ + width: 40rpx; +height: 40rpx; + background: #eeeeee; +} + + +.xc-close-express{ + width: 40rpx; +height: 40rpx; +border-radius: 50%; +border: 3rpx solid #333; +text-align: center; +font-size:32rpx; +line-height: 38rpx; +color: #333; +margin-top: 5rpx; +} +.cx-popup .tops{ + width: 100%; +height: 145rpx; +border-bottom: 3rpx solid #eee; + +} +.top-content { + width: 82%; +padding-top: 33px; +height: 100%; +padding-left: 40rpx; +} +.close-frame{ + margin-top: 30rpx; + +} + +.xc-hook { +width: 33rpx; +height: 33rpx; +transform: rotate(-135deg); +line-height: 35rpx; +text-align: center; +margin-right: 20rpx + + +} +.xc-hooks { +width: 30rpx; +height: 30rpx; +border: 1rpx solid #999; +margin-right: 20rpx; +} +.express_list_frame{ + display: flex; +height: 80rpx; +align-items: center; +padding-left: 40rpx; +border-bottom: 1rpx solid #eee; + +} +.express_list{ + width: 100%; + height: 65%; + overflow-y: auto; + margin-bottom: 40rpx; + +} +.xc-confirms { + box-sizing: border-box; + width: 40%; + border-radius: 50rpx; + height: 80rpx; + margin:0 auto; + font-size:28rpx; + background: #fff; + color: #333; + border: 2rpx solid #333; +} + + +/* 优惠券的改版样式 */ +.xc-coupon-frame{ + /* width: 710rpx; */ + width: 100%; + height:auto; + margin: 0 auto; + +} +.xc-coupon-frame .coupon-frame{ + width: 100%; + height: 200rpx; + margin-top:10rpx; + border-bottom: 1rpx solid #eee; + +} +.xc-coupon-frame .coupon-frame .coupon-left{ + width: 215rpx; + height:100%; + overflow: hidden; +} +.xc-money-frames{ + width:96%; + margin-top: -10px; +} + +.xc-rmb-symbol{ + font-size:40rpx; + +} + +.xc-rmb-val{ + font-size:60rpx; + +} +.coupon-explain{ + font-size:25rpx; +width:100%; + + +} +.xc-valuer{ + margin-top:39rpx; + margin-left:28rpx; + font-size:25rpx; +} +.coupon-frame .oval{ + width:155rpx; + height:83rpx; + border-radius: 50%; + right:-78rpx; + top:-37rpx; +} +.coupon-right{ + height: 99%; + border-top: 1rpx solid #eaeaea; + border-right: 1rpx solid #eaeaea; + flex-grow: 1; +} +.coupon-annotation{ + width: 95%; + height: 100%; + +} +.xc-brand{ + width:100rpx; + height:35rpx; + line-height: 35rpx; + font-size:21rpx; + border-radius:10rpx; position: relative; top:-1px; + margin-right: 8rpx +} +.top-frame{ + width:82%; + height: 75rpx; + margin-top:10rpx; +} +.top-frame .coupon-wode{ + font-size: 25rpx; + margin-left:10rpx; + width:340rpx; + height:88rpx; +} +.coupon-code{ + width:60rpx; + height:60rpx; + margin-top:5rpx; + +} +.frame{ + width: 100% +} +.coupon-time{ + font-size: 23rpx; + line-height:33rpx; + color: #333; +} + +.clik-get{ + width:125rpx; + height:45rpx; + border-radius: 25rpx; + line-height: 45rpx; + font-size:25rpx; + bottom:67rpx; + right:6px; +} + +.code-img{ + margin-left:20rpx; +} +.bottmo-explain{ +top:145rpx; +width:94%; +border-top:1rpx dashed #eee; +padding-top:8rpx; +height:38rpx; +line-height: 51rpx; + +} +.font-word{ + font-size: 22rpx; +} +.circle-size{ + background: #a0a0a0; + width: 27rpx; + height: 27rpx; + margin-top:13rpx; +margin-left:8rpx; +display: flex; + +align-items: center; +} +.xc-jiantou{ + transform: rotate(-90deg); + color: #fff; + font-size: 15rpx; + text-align: center; + width: 24rpx; +} +.xc-buttom{ + box-sizing: border-box; + width:100%; + min-height:76rpx; + height:auto; + line-height:40rpx; + border-left:1rpx solid #eee; + border-right:1rpx solid #eee; + border-bottom:1rpx solid #eee; +/* margin-left: 6rpx; */ +} + +.goods-num{ + font-size: 28rpx; + color: #333; +} + +.explain-coupon{ + font-size:25rpx; + padding: 10rpx 10rpx +} +.circle-frame{ + width: 20rpx; + height: auto; + z-index:1; + left:210rpx; + +} +.circle-sawtooth{ + width: 11rpx; + height: 11rpx; + background: #fff; +} + +.red{background-color: #fe7496;} +.green{ background-color: #22c7c1;} +.blue{background-color:#5e82e3;} +.g_gray{background-color: #aaaaaa} + +.f_text{text-align: center; height:96rpx; } +.xc-hook.sn { + margin-top:12%; +width:45rpx; +height:45rpx; +font-size:28rpx; +line-height:44rpx; + + +} +.xc-hooks.on{ + margin-top:12%; +width:42rpx; +height:42rpx; +} +.may_use_coupon{ + /* width: 95%; */ + /* height: 68rpx; */ + line-height:78rpx; + padding: 0 26rpx; + justify-content: space-between; + align-items: center; +} +.determine-frame{ + width: 100%; + height: 130rpx; + +} +.xc-determine{ + height: 80rpx; + width: 40%; + border-radius: 50rpx; +background: #d60021; +color: #fff; +font-size: 28rpx; +margin: 0 auto; + +} +.click-buttem{ +width: 90%; +margin: auto; +} +.logistics-name{ + margin-right:20rpx; +} +.xc-border{ + border-top:8rpx solid #eee; +width: 100% +} +.main-top{ +margin-top: 20rpx; + +} +.xc-hookts{ +border: 1rpx solid #999; + +} +.xc-hookts.on{ + width:30rpx; +height:30rpx; + +} +.xc-hookt.sn{ + width: 32rpx; +height: 32rpx; +font-size: 28rpx; +line-height: 34rpx; +} +.xc-hookt{ + transform: rotate(-135deg); +text-align: center; + +} +.main-bottom{ + margin-bottom: 20rpx; + +} +.xc-hookst{ + border: 1rpx solid #999; + +} +.xc-hookst.ons{ + width: 42rpx; +height: 42rpx; +margin-left: 20rpx; + +} +.is_use_coupon{ + width: 65%; +justify-content: flex-end; +padding-top: 10rpx; + + +} +.xc-hooka{ + transform: rotate(-135deg); +text-align: center; + +} +.xc-hooka.sn{ + width: 45rpx; +height: 45rpx; +font-size: 28rpx; +line-height: 44rpx; +margin-left: 20rpx; + +} +.color-gray{ + color: #808080; +} +.n_guige{ display: inline-block; background:rgb(236, 236, 236); color: rgb(63,63,63); padding: 3rpx 10rpx; border-radius: 3rpx } +.gift_image{ width: 60rpx; height: 60rpx; position: absolute; top: 0; left: 0} + +.quan_num_show{ padding: 4rpx 6rpx; background-color:#ea5551; color:#fff; border-radius: 6rpx;margin-left:10rpx;font-size:24rpx;} + +.navigator-hover { + background: none; + opacity: 1; +} + + +.plus_buy{ + background-color: #fff; + margin:15rpx 0; + padding: 20rpx; + position: relative; +} + + +.card_bg { + box-sizing: border-box; + padding: 2rpx 10rpx; + height: 28rpx; + border-radius: 26rpx; + font-size: 18rpx; + line-height: 28rpx; + max-width: 210rpx; + background: #333; + color: #fff; + margin-left: 8rpx; + position:relative; + top:7rpx; +} + +.card_bg image { + width: 19rpx; + height: 19rpx; + margin-right: 8rpx; +} + +.card_name { + position: relative; + top: -4rpx; + margin-left: 6px; +} + +.car_tri_up { + width: 0;height: 0; + border-left: 20rpx solid transparent; + border-right: 20rpx solid transparent; + border-bottom: 20rpx solid #fff; + position: absolute; + right: 20rpx; + top:-10rpx +} +.card_op{ + position: absolute; + right: 20rpx; + top:36rpx +} + +.zuhe { + width: 140rpx; + text-align: center; + height:40rpx; + position: absolute; + top: 15rpx; + left: -37rpx; + transform: rotate(-45deg); + background-color: rgb(255,0,0); + font-size:22rpx; + color: #fff; + line-height: 37rpx; +} + +.duo_gift_sele{ + position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; z-index: 10000; +} +.gift_top_v{ height:100rpx; padding: 0 40rpx; padding-right: 10rpx; } + + +.bg_jj{ + width: 14rpx; + height: 14rpx; + border-top: 2rpx solid #363b42; + border-right: 2rpx solid #363b42; + transform: rotateZ(45deg); + display: inline-block; +} + +.bg_jj1{ + width: 20rpx; + height: 20rpx; + border-top: 2rpx solid #363b42; + border-right: 2rpx solid #363b42; + transform: rotateZ(-135deg); + display: inline-block; +} + +.input-search { + position: relative; + padding: 10rpx; + font-size: 28rpx; +} +.input-box { + position: relative; + background-color: #f0f0f0; + border-radius: 60rpx; +} + +.input-box .sear_box { + +} +.input-search { + position: relative; + padding: 10rpx; + font-size: 28rpx; +} + +.icon-guan { + font-size: 20rpx; + padding: 10rpx; + position: absolute; + right: 20rpx; + top: 50%; + transform: translateY(-50%); +} + + + +.order-item { + display: flex; + height: 246rpx; + border-top: 3rpx solid rgb(245, 245, 245); + align-items: center; + padding-right: 30rpx; +} + + +.pay-for { + width: 100%; + height: 110rpx; + position: fixed; + left: 0; + bottom: 100rpx; + font-size: 28rpx; + color: #666; + background-color: rgb(255, 255, 255); + z-index: 1999; + border-top: 1rpx solid rgb(236, 236, 236); + border-bottom: 1rpx solid rgb(236, 236, 236); + +} + +.pay-for .pay-btn { + width: 220rpx; height: 112rpx; line-height: 112rpx; + background-color: rgb(219, 27, 52); + color: #fff; + border-radius: 0; + font-size: 31rpx; +} + +.pay-for .consumer { + margin-right: 23rpx; + color: rgb(0, 0, 0); + letter-spacing: 1rpx; +} + +.pay-for .consumer .total { + color: rgb(0, 0, 0); +} + +.pay-for .consumer .tips { + color: rgb(153, 153, 153); +} + +.pay-for .checkbox { + float: left; + padding-left: 40rpx; + line-height: 100rpx; + display: flex; + align-items: center; +} + +.pay-for .ico-check { + display: flex; + align-items: center; + margin-right: 20rpx; +} +.order-raido { + height: 100%; + padding-left: 30rpx; + padding-right: 25rpx; +} +.icon_no_sele{ display: inline-block; width: 39rpx; height: 39rpx; border: 1rpx solid #ddd; border-radius: 50%} +.icon_no_sele2{width: 39rpx; height: 39rpx; border: 1rpx solid #ddd; border-radius: 50%; margin-top: 20rpx; + margin-left: 30rpx; margin-right: 25rpx} +.baseline { + display: flex; + align-items: baseline; +} +.specifications { + padding: 3rpx 8rpx; + margin-top: 8rpx; + font-size: 22rpx; + max-width: 356rpx; + width: auto; + height: 30rpx; + line-height: 29rpx; + background-color: rgb(236, 236, 236); + border-radius: 8rpx; + white-space: nowrap; + color: rgb(63, 63, 63); + display: inline-block; +} + +.count { + display: flex; + bottom: 5rpx; + /* border: 2rpx solid rgb(236, 236, 236); */ + margin-bottom: 3rpx; +} + +.count>view, .count>input { + width: 50rpx; + height: 40rpx; + line-height: 40rpx; + text-align: center; + display: flex; + font-size: 18rpx; + justify-content: center; + min-height: 35rpx; + align-items: center; +} + +.count>.goodadd { + width: 67rpx; + font-size: 24rpx; +} + +.count>.add { + font-size: 32rpx; +} + +.sub, .add, .count>input { + /* border-right: 1px solid #000; */ + background-color: #f0f0f0; + border-radius: 8rpx; +} +.sub.active { + /* background-color: #ddd; */ + color: #ccc; +} +.count>input { + margin: 0 14rpx; + line-height: normal; +} +.alend { + align-items: flex-end; +} +.goods-cont { + width: 420rpx; + height: 165rpx; + font-size: 28rpx; + margin-left: 35rpx; + padding-top: 7rpx; + padding-bottom: 5rpx; +} + +.circle1{ width: 50rpx;height: 50rpx; border-radius: 50%; margin-right: 10rpx; + border: 3rpx solid #c8162c;color: #c8162c;text-align: center; line-height: 50rpx} + +.sear_box::before{ + font-family: iconfont; + content: '\e618'; + font-size: 28rpx; +} + diff --git a/packageE/pages/cart/cart2/filter.wxs b/packageE/pages/cart/cart2/filter.wxs new file mode 100644 index 0000000..c0e8d13 --- /dev/null +++ b/packageE/pages/cart/cart2/filter.wxs @@ -0,0 +1,11 @@ +var format = function (text) { + if (!text) { + return + } + var reg = getRegExp('\\\\n', 'g') + return text.replace(reg, '\n') +} + +module.exports = { + format: format +} diff --git a/packageE/pages/cart/cart2/juchi_part.wxml b/packageE/pages/cart/cart2/juchi_part.wxml new file mode 100644 index 0000000..ff4271b --- /dev/null +++ b/packageE/pages/cart/cart2/juchi_part.wxml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packageE/pages/cart/cart2/ladder_calculate.js b/packageE/pages/cart/cart2/ladder_calculate.js new file mode 100644 index 0000000..0da2246 --- /dev/null +++ b/packageE/pages/cart/cart2/ladder_calculate.js @@ -0,0 +1,243 @@ +var regeneratorRuntime = require('../../../../utils/runtime.js'); +module.exports = { + //主要的作用,就是把阶梯促销多余的商品进行拆分, + //如果没有达成阶梯促销的要求,所有的商品都打回原价购买 + fir_set_arr: function (c_item, th) { + //寻找一下 + function get_num2(ite) { + var vh = c_item.goods.findIndex(function (e) { + return e.goods_id == ite.goods_id + }) + if (vh > -1) return vh; + return 0; + } + + //组合活动,以及组合活动从表的商品 + let ladder_map = c_item.ladder_map; + let goods = c_item.goods; //一个门店中所有的商品 + let tfeel = 0, cut_price = 0, offline_price = 0, offline_num = 0; + //多个活动要拿来循环一下 + for (let i in ladder_map) { + let title = ""; //提示语; + //其中的一个活动 + let act_item = ladder_map[i]; + let ladder_list = act_item.ladder_list; + + let all_num = 0; //商品数量之和 + let all_price0 = 0; //商品数量之和 + let aprice = 0; //达到活动条件的购买价格 + + let no_in_arr = []; //剩余的未加入组合购 + let del_g=[]; + for (var li in goods) { + if (goods[li].prom_type != 10) continue; + if (goods[li].prom_id != act_item.id) continue; + var item = goods[li]; + item.goods_price = item.goods_price; + item.offline_price = item.offline_price; + item.cart_num = item.goods_num; + all_num += item.cart_num; + for (var j = 0; j < item.cart_num; j++) { + no_in_arr.push({ + price: item.goods_price, + offline_price: item.offline_price, + goods_id: item.goods_id, + shop_price: item.shop_price, + item:item + }) + } + del_g.push(item); + } + + function sortData(a, b) { + return a.price - b.price + } + no_in_arr.sort(sortData); + + //开始阶梯计算价格 + var lev = 0; + for (let j in ladder_list) { + if (no_in_arr.length == 0) break; + let item_j =ladder_list[j]; + var end = no_in_arr.pop(); + var new_price = parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price; + var account=new_price * parseFloat(item_j.discount) / 10; + aprice +=account; + + //-- 单个文件新增 -- + let new_g = JSON.parse(JSON.stringify(end.item)); + new_g.goods_num = 1; + //如果有平摊到单品的时候,account要显示 + if(!th.data.ispt_goods) new_g.account = account.toFixed(2); + new_g.ld_account = account.toFixed(2); + new_g.discount = item_j.discount; + new_g.goods_price =new_price; + new_g.ladder_list_id =item_j.id; + goods.push(new_g); + lev++; + } + + let goods_map = {}; + //算一下剩余的商品 + if (no_in_arr.length) { + for (let ii in no_in_arr) { + let item = no_in_arr[ii]; + if (item.offline_price) { + offline_price += item.price - item.offline_price; + offline_num += 1; + } + if (goods_map[item.goods_id]) { + var num = goods_map[item.goods_id]; + goods_map[item.goods_id] = ++num; + } else { + goods_map[item.goods_id] = 1; + } + } + } + + if (Object.keys(goods_map).length) { + //这里就开始拆分提交订单时的列表 + for (let j in goods_map) { + //map中存的就是商品的数量 + let num = goods_map[j]; + //找到相应的商品 + let idx = goods.findIndex(function (ele) { + return ele.goods_id == j; + }) + //goods[idx].goods_num -= num; + let new_g = JSON.parse(JSON.stringify(goods[idx])); + new_g.goods_num = num; + new_g.prom_type = 0; + new_g.prom_id = 0; + goods.push(new_g); + //goods.splice(idx, 1); + } + } + + //-- 最后剔除不要参与的数据 -- + for(var h in del_g){ + var it=del_g[h]; + let idx = goods.findIndex(function (ele) { + return ele.goods_id == it.goods_id + }) + goods.splice(idx, 1); + } + + //-- 只统计是参与活动的商品 -- + for (var ij in goods) { + var iter = goods[ij]; + if (iter.prom_type != 10 || iter.prom_id != act_item.id) { + continue; + } + all_price0 += iter.goods_num * iter.goods_price; + } + + if(!c_item.ladder_prom_goods) c_item.ladder_prom_goods={}; + if(!c_item.ladder_prom_goods[act_item.id]) c_item.ladder_prom_goods[act_item.id]={}; + + //-- 活动的条件已经满足 -- + c_item.ladder_prom_goods[act_item.id].is_has_ladder = 1; + c_item.is_has_ladder = 1; + c_item.ladder_prom_goods[act_item.id].actual_price = aprice; + c_item.ladder_prom_goods[act_item.id].cut_price = all_price0 - aprice; + + tfeel += aprice; + cut_price += all_price0 - aprice; + + } + + c_item.ladder_all_price = tfeel; + c_item.ladder_cut_price = cut_price; + + if (c_item.is_offline == 1) { + c_item.offline_price += offline_price; + c_item.offline_num += offline_num; + } else { + c_item.is_offline == 1; + c_item.offline_price = offline_price; + c_item.offline_num = offline_num; + } + }, + //筛选组合购,纯粹的数组按活动id分组 + find_split: function (arr) { + //过滤只有团购的商品 + let oarr = arr.goods.filter(function (ele) { + return ele.prom_type == 10 + }) + if (!oarr || oarr.length == 0) return null; + //看一下有多少个不同的团购 + let map = {}, + dest = []; + for (let i = 0; i < oarr.length; i++) { + let ai = oarr[i]; + let index = map[ai.prom_id] + if (!index) { + dest.push({ + prom_id: ai.prom_id, + act: ai.act, + data: [ai] + }); + map[ai.prom_id] = dest.length; //存储下标 + } else { + let dj = dest[index - 1]; + dj.data.push(ai); + } + } + return dest; + }, + + //-- 组装阶梯购的价格 -- + calc_split_price: async function (c_arr, th) { + //-- 循环处理 -- + for (var k in c_arr) { + var cart_item = c_arr[k]; //就是每一单的意思 + var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 + + var ladder_map = cart_item.ladder_prom_goods; //一单中所有的组合购的集合 + var item_map = {}; + for (let i in ladder_map) { + let item = ladder_map[i]; + let prom_id = i; + //如果这个活动还没有达到要求,继续下一个计算 + if (!item.is_has_ladder) continue; + //过滤出相应组合购活动的商品 + let glist = ord_goods.filter(function (ele) { + return ele.prom_type == 10 && ele.prom_id == i; + }) + + var all_good_price = 0; + var post_gd = []; + for (let j in glist) { + let item = glist[j]; + all_good_price += item.goods_price * item.goods_num; + var gitem = { + goods_id: item.goods_id, + goods_num: item.goods_num, + goods_price: item.goods_price + } + post_gd.push(gitem); + } + //要进行优惠的计算 + if (all_good_price - item.actual_price) { + if (cart_item.prom_pt_json) { + cart_item.prom_pt_json.push({ + "ladder_prom_id": prom_id, + "dis": (all_good_price - item.actual_price).toFixed(2), + "ispt": 0 + }) + } else { + cart_item.prom_pt_json = [{ + "ladder_prom_id": prom_id, + "dis": (all_good_price - item.actual_price).toFixed(2), + "ispt": 0 + }]; + } + } + } + + + } + } + + +} diff --git a/packageE/pages/cart/cart2/remark_click_part.wxml b/packageE/pages/cart/cart2/remark_click_part.wxml new file mode 100644 index 0000000..dc2dd78 --- /dev/null +++ b/packageE/pages/cart/cart2/remark_click_part.wxml @@ -0,0 +1,4 @@ + + + 优惠券使用说明 + \ No newline at end of file diff --git a/packageE/pages/cart/cart2/remark_click_part2.wxml b/packageE/pages/cart/cart2/remark_click_part2.wxml new file mode 100644 index 0000000..eabab2e --- /dev/null +++ b/packageE/pages/cart/cart2/remark_click_part2.wxml @@ -0,0 +1,4 @@ + + + 优惠券使用说明 + \ No newline at end of file diff --git a/packageE/pages/cart/cart2/remark_part.wxml b/packageE/pages/cart/cart2/remark_part.wxml new file mode 100644 index 0000000..a818031 --- /dev/null +++ b/packageE/pages/cart/cart2/remark_part.wxml @@ -0,0 +1,9 @@ + + + {{util.format(item.Remark)}} + + 仅{{item.UseObjectName}}使用 + 全场通用 + + + \ No newline at end of file diff --git a/packageE/pages/cart/cart2/zh_calculate.js b/packageE/pages/cart/cart2/zh_calculate.js new file mode 100644 index 0000000..4320243 --- /dev/null +++ b/packageE/pages/cart/cart2/zh_calculate.js @@ -0,0 +1,529 @@ +var regeneratorRuntime = require('../../../../utils/runtime.js'); +module.exports = { + //主要的作用,就是把组合购多余的商品进行拆分, + //如果没有达成组合购的要求,所有的商品都打回原价购买 + fir_set_arr: function (c_item, th) { + //组合活动,以及组合活动从表的商品 + let zh_prom_goods = c_item.zh_prom_goods; + let goods = c_item.goods; //一个门店中所有的商品 + let tfeel = 0, + cut_price = 0, + offline_price = 0, + offline_num = 0; + let txt_ite = c_item.need_list; + //多个活动要拿来循环一下 + for (let i in zh_prom_goods) { + let title = ""; //提示语; + //其中的一个活动 + let act_item = zh_prom_goods[i]; + let act_goos = act_item.gdlist; + let act = act_item.act; + if (!act) continue; + + let all_num = 0; //商品数量之和 + let all_price0 = 0; //商品数量之和 + let aprice = 0; //达到活动条件的购买价格 + let need_to_buy = 0; + let all_zhqty = 0; //所有商品要求起购数之和 + let no_in_arr = []; //剩余的未加入组合购 + let out_arr = []; //超出活动限购的商品放入 + let zhqty_bz = []; //超量 + //-- 寻找一下 -- + function get_num2(ite) { + for (let v2 in goods) { + var vh = goods[v2]; + if (vh.goods_id == ite.goods_id) { + return vh; + } + } + return 0; + } + + for (let j in act_goos) { + let item = act_goos[j]; + let item_j = goods.find(function (ele) { + console.log('ele', ele); + return ele.goods_id == act_goos[j].goods_id; + }) + //-- 如果有找到的话 -- + if (item_j) { + act_goos[j].num = item_j.goods_num; + act_goos[j].goods_price = item_j.goods_price; + var cart_num = item.cart_num = item_j.goods_num; + var zh_b_num = item_j.promgoodsbuynum; + if (item.buyqty > 0) { + + var key = item.goods_id + "" + act.id; + var cbuy = item.buyqty - zh_b_num; + if (th.data.in_zhact_gdmap[key]) { + var cbuy = item.buyqty - zh_b_num - th.data.in_zhact_gdmap[key]; + } + + + //当可买的数量为0 + if (cbuy <= 0) { + item.num = 0; + out_arr.push({ + price: item.goods_price, + offline_price: item.offline_price, + goods_id: item.goods_id, + num: cart_num + }) + } else { + if (cbuy >= cart_num) item.num = cart_num; + else { + item.num = cbuy; + out_arr.push({ + price: item.goods_price, + offline_price: item.offline_price, + goods_id: item.goods_id, + num: cart_num - cbuy + }) + } + } + } + + all_num += item.num; + //当有起购数的控制的时候 + if (item.zhqty) { + zhqty_bz.push(item); + all_zhqty += item.zhqty; + if (item.num < item.zhqty) { + need_to_buy += item.zhqty - item.num; + } + if (item.num > item.zhqty) { + for (let i = 0; i < item.num - item.zhqty; i++) { + no_in_arr.push({ + price: item.goods_price, + goods_id: item.goods_id, + offline_price: item_j.offline_price + }) + } + } + } else { + for (let j = 0; j < item.num; j++) { + no_in_arr.push({ + price: item.goods_price, + goods_id: item.goods_id, + offline_price: item_j.offline_price + }) + } + } + } else { + if (item.zhqty) { + title = "必买商品未加购,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; + need_to_buy += item.zhqty; + } + } + + } + + //当满足组合的要求:总数要满足,起购数要满足 + if (act && all_num >= act.zhbuyqty && !need_to_buy) { + //商品的列表 + for (var u in act_goos) { + var ite = act_goos[u]; + if (ite.buyqty > 0 && ite.num > 0) { + var key = ite.goods_id + "" + act.id; + if (th.data.in_zhact_gdmap[key]) { + th.data.in_zhact_gdmap[key] += ite.num; + } else { + th.data.in_zhact_gdmap[key] = ite.num; + } + } + } + + function sortData(a, b) { + return a.price - b.price + } + if (no_in_arr.length > 0) no_in_arr.sort(sortData); + aprice = act.zhprice; + if (act.zhbuyqty > all_zhqty) { + for (let n = 0; n < act.zhbuyqty - all_zhqty; n++) { + no_in_arr.pop(); + } + } + //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 + if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { + var bz_num_ok = 0; //超量倍增是否满足 + var zhqty_len = 0; //几个超量倍增 + var delete_num=0; + let be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 + if (act.is_bzyh && zhqty_bz.length > 0) { + if (zhqty_bz.length > 1) { + let zhqty_bz_arr = []; + let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); + if (zhqty_bz_flag) { + for (let i = 0; i < zhqty_bz.length; i++) { + var vv = zhqty_bz[i]; + for (let j = 0; j < be * vv['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } + } + } + } else { + zhqty_len=1; + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { + return o['num']; + })); + let new_arr = zhqty_bz_arr.filter(ii => { + return ii['num'] == min_bz_num; + }) + var vv = new_arr[0]; + var bz_num = be * new_arr[0].zhqty; //超量倍增 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; + } else { + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; + } + + for(let i = 0; i < zhqty_bz.length; i++){ + let item1=zhqty_bz[i]; + for (let j = 0; j < be * item1['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return item1.goods_id === i.goods_id + }) + if (index > -1) { + // delete_num++ + no_in_arr.splice(index, 1) + } + } + } + aprice += be * aprice; + } + } else { + var vv = zhqty_bz[0]; + var bz_num = be * vv.zhqty; //超量倍增 + var num = vv['num'] - vv.zhqty; //购买数量减去超量 + if (num > 0) { + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; + } else { + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; + } + for (let j = 0; j < bz_num_ok; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } + } + } else { + zhqty_len = 1; + } + } + } + if (!zhqty_len) { + aprice += be * act.zhprice; + let pop_num = be * act.zhbuyqty - delete_num; + for (var m = 0; m < pop_num; m++) { + no_in_arr.pop(); + } + } + + } + + let goods_map = {}; + //算一下剩余的商品 + if (no_in_arr.length) { + for (let ii in no_in_arr) { + let item = no_in_arr[ii]; + if (item.offline_price) { + offline_price += item.price - item.offline_price; + offline_num += 1; + } + if (goods_map[item.goods_id]) { + var num = goods_map[item.goods_id]; + goods_map[item.goods_id] = ++num; + } else { + goods_map[item.goods_id] = 1; + } + } + } + + //超量的部分也要计算一下 + if (out_arr.length) { + for (var m in out_arr) { + var item = out_arr[m]; + if (item.offline_price) { + offline_price += (item.price - item.offline_price) * item.num; + offline_num += item.num; + } + if (goods_map[item.goods_id]) { + var num = goods_map[item.goods_id]; + num += item.num + goods_map[item.goods_id] = num; + } else { + goods_map[item.goods_id] = item.num; + } + } + } + + if (Object.keys(goods_map).length) { + //这里就开始拆分提交订单时的列表 + for (let j in goods_map) { + //map中存的就是商品的数量 + let num = goods_map[j]; + //找到相应的商品 + let idx = goods.findIndex(function (ele) { + return ele.goods_id == j; + }) + goods[idx].goods_num -= num; + let new_g = JSON.parse(JSON.stringify(goods[idx])); + new_g.goods_num = num; + new_g.prom_type = 0; + new_g.prom_id = 0; + goods.push(new_g); + + //如果商品的数量已经为空了 + if (goods[idx].goods_num <= 0) { + goods.splice(idx, 1); + } + } + } + + + //-- 只统计是参与活动的商品 -- + for (var ij in goods) { + var iter = goods[ij]; + if (iter.prom_type != 7 || iter.prom_id != act.id) { + continue; + } + all_price0 += iter.goods_num * iter.goods_price; + } + //-- 活动的条件已经满足 -- + c_item.zh_prom_goods[act.id].is_has_zh = 1; + c_item.is_has_zh = 1; + c_item.zh_prom_goods[act.id].actual_price = aprice; + c_item.zh_prom_goods[act.id].cut_price = all_price0 - aprice; + + //-- 设置还需要购买多少件,享受活动,前段显示 -- + let need_to = c_item.need_list; + let index = this.find_need_to(need_to, act); + if (index > -1) { + need_to.splice(index, 1); + txt_ite = need_to + } + + + } else { + for (let ii in goods) { + let item = goods[ii]; + if (item.prom_type != 7) continue; + if (item.prom_id != act.id) continue; + if (item.offline_price) { + offline_price += item.goods_price - item.offline_price; + offline_num += 1; + } + item.prom_type = 0; + item.prom_id = 0; + } + if (act.zhbuyqty - all_num > need_to_buy) { + need_to_buy = act.zhbuyqty - all_num; + } + //-- 设置还需要购买多少件享受活动,前端显示 -- + let need_to = c_item.need_list; + let index = this.find_need_to(need_to, act); + if (title == '') title = "再买" + need_to_buy + "件,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; + if (index != -1) { + need_to[index].title = title; + } else { + if (!need_to) need_to = []; + let it = { + id: act.id, + pickup_id: c_item.pickup_id, + title: title + }; + need_to.push(it); + } + txt_ite = need_to; + } + tfeel += aprice; + cut_price += all_price0 - aprice;; + } + + c_item.zh_all_price = tfeel; + c_item.zh_cut_price = cut_price; + + if (c_item.is_offline == 1) { + c_item.offline_price += offline_price; + c_item.offline_num += offline_num; + } else { + c_item.is_offline == 1; + c_item.offline_price = offline_price; + c_item.offline_num = offline_num; + } + + }, + //筛选组合购,纯粹的数组按活动id分组 + find_split: function (arr) { + //过滤只有团购的商品 + let oarr = arr.goods.filter(function (ele) { + return ele.prom_type == 7 + }) + if (!oarr || oarr.length == 0) return null; + //看一下有多少个不同的团购 + let map = {}, + dest = []; + for (let i = 0; i < oarr.length; i++) { + let ai = oarr[i]; + let index = map[ai.prom_id] + if (!index) { + dest.push({ + prom_id: ai.prom_id, + act: ai.act, + data: [ai] + }); + map[ai.prom_id] = dest.length; //存储下标 + } else { + let dj = dest[index - 1]; + dj.data.push(ai); + } + } + return dest; + }, + + find_need_to: function (list, iter) { + if (!list || list.length <= 0) return -1; + for (var i in list) { + var item = list[i]; + if (item.id == iter.id) { + return i; + } + } + return -1; + }, + //-- 平摊组合购的价格 -- + calc_zh_split_price: async function (c_arr, th) { + //-- 循环处理 -- + for (var k in c_arr) { + var cart_item = c_arr[k]; //就是每一单的意思 + var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 + + var zh_prom_goods = cart_item.zh_prom_goods; //一单中所有的组合购的集合 + var item_map = {}; + for (let i in zh_prom_goods) { + let item = zh_prom_goods[i]; + let prom_id = i; + //如果这个活动还没有达到要求,继续下一个计算 + if (!item.is_has_zh) continue; + //过滤出相应组合购活动的商品 + let glist = ord_goods.filter(function (ele) { + return ele.prom_type == 7 && ele.prom_id == i; + }) + var all_good_price = 0; + var post_gd = []; + for (let j in glist) { + let item = glist[j]; + all_good_price += item.goods_price * item.goods_num; + var gitem = { + goods_id: item.goods_id, + goods_num: item.goods_num, + goods_price: item.goods_price + } + post_gd.push(gitem); + } + //要进行优惠的计算 + if (all_good_price - item.actual_price) { + if (cart_item.prom_pt_json) { + cart_item.prom_pt_json.push({ + "zhprom_id": prom_id, + "dis": (all_good_price - item.actual_price).toFixed(2), + "ispt": 0 + }) + } else { + cart_item.prom_pt_json = [{ + "zhprom_id": prom_id, + "dis": (all_good_price - item.actual_price).toFixed(2), + "ispt": 0 + }]; + } + } + + //-- 如果系统要平摊到单品 -- + var pt_data = { + 'prom_id': prom_id, + 'dis': parseFloat(all_good_price - item.actual_price).toFixed(2), + 'goods': post_gd + } + var pt_res = null; + await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { + is_json: 1, + data: pt_data + }).then(res => { + if (res.data.code == 0) { + pt_res = res.data.data; + } + }) + if (pt_res) { + for (var io in glist) { + var goods_id = glist[io].goods_id; + item_map[goods_id] = {}; + //平摊赋值 + item_map[goods_id].account_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account; + item_map[goods_id].account_yu_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account_yu; + if (!th.data.ispt_goods) { + item_map[goods_id].account = item_map[goods_id].account_fir; + item_map[goods_id].account_yu = item_map[goods_id].account_yu_fir; + } + } + } + } + + //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表----------- + for (var jj = 0; jj < ord_goods.length; jj++) { + if (ord_goods[jj].is_gift) continue; + if (ord_goods[jj].prom_type == 7 && item_map[ord_goods[jj].goods_id]) { + ord_goods[jj].account_fir = item_map[ord_goods[jj].goods_id].account_fir; + ord_goods[jj].account_yu_fir = item_map[ord_goods[jj].goods_id].account_yu_fir; + ord_goods[jj].account = item_map[ord_goods[jj].goods_id].account; + ord_goods[jj].account_yu = item_map[ord_goods[jj].goods_id].account_yu; + } + } + } + + + }, + zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr){ + let zhqty_bz_flag =true; + for(let i=0;i num) { + zhqty_bz_flag=false; + zhqty_bz_arr.push(item); + // zhqty_bz.splice(i,1) + } + } + return zhqty_bz_flag; + } + + +} \ No newline at end of file diff --git a/packageE/pages/user/labels/labels.js b/packageE/pages/user/labels/labels.js index 637e2e4..60d5498 100644 --- a/packageE/pages/user/labels/labels.js +++ b/packageE/pages/user/labels/labels.js @@ -3,7 +3,7 @@ var e = getApp(), a = e.globalData.setting, os = a, t = e.request, - s = require("../../../utils/common.js"), + s = require("../../../../utils/common.js"), d = e.globalData; Page({ diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 16dd2b4..a8fa924 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -3320,7 +3320,7 @@ Page({ } wx.hideLoading(); wx.navigateTo({ - url: "/pages/cart/cart2/cart2" + url: "/packageE/pages/cart/cart2/cart2" }); } } @@ -3506,7 +3506,7 @@ Page({ } wx.hideLoading(); wx.navigateTo({ - url: "/pages/cart/cart2/cart2" + url: "/packageE/pages/cart/cart2/cart2" }); } } @@ -3552,7 +3552,7 @@ Page({ t.my_warnning(gname + "商品超出库存", 0, this); } else { ab ? wx.navigateTo({ - url: "/pages/cart/cart2/cart2" + url: "/packageE/pages/cart/cart2/cart2" }) : t.my_warnning("还没有选中商品", 0, this); } }, diff --git a/pages/cart/cart2/c_filter.wxs b/pages/cart/cart2/c_filter.wxs deleted file mode 100644 index 630d400..0000000 --- a/pages/cart/cart2/c_filter.wxs +++ /dev/null @@ -1,70 +0,0 @@ -var filters = { - toFix:function(val,count){ - if(!val) return parseFloat(0).toFixed(count); - return val.toFixed(count) - }, - format_time:function(ts,isFull) { - var d = getDate(ts*1000) - var fm=[d.getFullYear(), d.getMonth()+1, d.getDate()].join('-'); - if(isFull==1) - fm=fm + ' '+ [d.getHours(), d.getMinutes(), d.getSeconds()].join(':') - return fm; - }, - setcolor:function(ind){ - if (ind == 0 || ind ==null) return "red"; - if(ind==1 ) return "green"; - if(ind==2) return "blue"; - if(ind==11) return "green"; - if(ind==13) return "red"; - if(ind==12) return "blue"; - if(ind==20) return "green"; - return ""; - }, - setbgcolor: function (ind) { - if (ind == 0 || ind == null) return "#ffa1b9"; - if (ind == 1) return "#59e1d2"; - if (ind == 2) return "#a3bcff"; - if (ind == 11) return "#59e1d2"; - if (ind == 12) return "#a3bcff"; - if (ind == 20) return "#6d87cd"; - return ""; - }, - - get_type:function(ind){ - if (ind == 0 || ind == null) return "全场通用"; - if (ind == 1) return "品牌"; - if (ind == 2) return "品类"; - if (ind == 11) return "用途"; - if (ind == 12) return "分类1"; - if (ind == 20) return "指定单品"; - return ""; - }, - get_type_card:function(ind){ - if (ind == 0 || ind == null) return "全场通用"; - if (ind == 1) return "指定品牌"; - if (ind == 2) return "指定品类"; - if (ind == 11) return "指定用途"; - if (ind == 12) return "指定分类1"; - if (ind == 13) return "自定义"; - if (ind == 20) return "指定单品"; - return ""; - }, - format_huiche:function (text) { - if (!text) { - return ""; - } - var reg = getRegExp('\\\\n', 'g') - return text.replace(reg, '\n') - } -} - -module.exports = { - toFix: filters.toFix, - format_time:filters.format_time, - setcolor:filters.setcolor, - setbgcolor: filters.setbgcolor, - get_type: filters.get_type, - get_split_name: filters.get_split_name, - get_type_card: filters.get_type_card, - format_huiche: filters.format_huiche, -} \ No newline at end of file diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js deleted file mode 100644 index d498e08..0000000 --- a/pages/cart/cart2/cart2.js +++ /dev/null @@ -1,6088 +0,0 @@ -var t = getApp(), app = t, a = t.request, e = require("../../../utils/common.js"), - s = require("../../../utils/util.js"), ut = s, o = require("../../../utils/md5.js"), to = getApp(); -var oo = t.globalData.setting, os = oo; -var regeneratorRuntime = require('../../../utils/runtime.js'); -var util_pay = require("../../../utils/pay.js"); -var zh_calc = require("zh_calculate.js"); -var ladder_calc = require("ladder_calculate.js"); -// 防抖函数用定时器 -let timer; -Page({ - data: { - - url: t.globalData.setting.url, - resourceUrl: t.globalData.setting.resourceUrl, - imgUrl: t.globalData.setting.imghost, - goods: null, - order: null, - orderPrices: null, - coupons: null, - coupon: null, - invoiceToggle: !0, - payWithUserMoney: !0, - payWithPoints: !0, - maxWord: 0, - enterAddressPage: !1, - firstEnter: !0, - //页面获取的参数 - param: null, - //提交订单的格式 - formData: { - order_amount: 0,//支付金额 - total_amount: 0,//总价 - all_price: 0,//商品卖的总价 - pay_points: 0,//使用积分 - user_money: 0,//使用余额 - couponCode: "",//使用优惠券(多单就用逗号隔开) - shipping_price: 0,//物流费用 - }, - - /*-----------当是购物车结算的时候-------------*/ - cartlist: null, - old_cartlist: null, - cartlist_y: null, //购物车原始列表 - js_use_money: 0, //是否使用余额 - is_all_zt: 1, //是否全部都是自提 - - /*----------------立即购买---------------------*/ - is_b_now: 0, //0是购物车结算 1立即购买 - bn_goods: null, //立即购买时候的调用商品 - bn_use_money: 0,//是否使用余额 - bn_exp_type: 1, //0是物流 1自提 - bn_pick: 0, //选择的门店 - bn_pickname: "", //选择的门店名称 - bn_t_exp_t: 0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流 - - bn_plus_cut_price: 0, //显示等级卡会优惠多少钱 - /*------------------------*/ - user_addr: null,//物流 - userinfo: null, //获取会员 - /*----------物流选择--------*/ - wu_arr: null, - index: 0, - w_sele_index: 0, - - //判断页面是返回回来的还是 首次进入的 - isclose: 1, - //申请提现的金额 - txmon: 0, - yuer: 0, - //提交中,不重复提交 - is_summit_ing: 0, - //--更优惠券抵用有关,立即购买的,如果是购物车,就要把相应的值,写入cartlist数组中-- - ckeck_quan_price: 0, - check_quan_price_list: '', - check_quan_ware_list: '', - - // 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid - //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"} - using_quan: {}, - open_quan: 0, - //选择的券列表 - selected_quan_list: null, - //选择的券的门店 - selected_quan_pick: null, - is_close_quan: 0, - disabled: 0, - open_express: 0,//控制选择物流名列表 的属性 - - is_express: 0, //选中物流的属性 - expres_name: "", //点击选定 - isopen: 0, //券的说明 - is_coupon: 1, //选择券的控制属性 - is_shipping_code: "",//插入用户默认地址 - wu_arr_txt: "", //要更新的物流的字段 - sales_rules: 1, //默认是显示线上库存 - isget_by_quan: {}, //是否调用了接口获取包邮券 - get_by_quan_list: null, //立即购买的 - get_by_quan_list_cart: {}, //购物车的 - by_quan_list_cart: null, //点击选择的包邮列表 - //如果是全场包邮了,或者是全场不包邮了,就不要选包邮券 - is_no_by: {}, - is_by: {}, - is_quan_by: {}, - //--购买赠送的商品-- - buy_now_gift_goods: null, - //--订单优惠-- - order_prom: {}, - //-- 购物车优惠活动 -- - prom_goods_map: {}, - //-- order_prom_list -- - order_prom_list_cart: null, - - ispt_goods: 0, //是否平摊至单品,0要平摊 1不平摊 - - rank_switch: 0, //是不是开同等级卡 - show_card: null, //显示的等级卡 - card_name: '', //显示的卡的名称 - card_cut_price: null,//减价多少钱 - - show_submit: 0, //提交按钮变正常显示 - is_get_offline: 1, - - tabs: ['门店自提', '快递邮寄'], - currentTabIndex: 1, - - in_zhact_gdmap: {}, //不同门店参与同一活动的限购 - hid_inp: 1, - user_note: "", - zhhe_act_map: {}, //组合活动的map表 - zuhe_map_good: {}, //组合购的map表 - ladder_map: {}, //阶梯促销的map表 - is_no_past: 1, - state: 0, //阶梯促销的的立即购买也走购物车流程state=1 - show_duo_gift: 0, - send_gf: {}, //多赠品的计算 - send_lb: {}, - dis_config: null, - bn_use_commission: 0, //是不是使用佣金 - cart_use_commission: 0, - cart_commission: 0, - - //订单所有搭配购的 - all_collocation_list: [], - appoint_pick_keyid:'' - }, - onLoad: function (t) { - wx.setNavigationBarTitle({ title: "填写订单", }) - var th = this; - this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); - th.data.param = t; - //清理一下,确保最新的系统配置 - getApp().globalData.config2 = null; - //清空is_pick_up - getApp().request.put("/api/weshop/useraddress/updatePickUp", { - data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, - success: function (s) { - } - }); - - //阶梯购 或者 组合购的立即购买 - if (t.state) { - th.data.state = 1; - } - getApp().promiseGet("/api/wx/weappSendlist/page", { - data: { - store_id: os.stoid, - typeid: "1001" - } - }).then(res => { - if (res.data.code == 0 && res.data.data.pageData.length > 0) { - var template_id = res.data.data.pageData[0].template_id; - th.setData({ template_id: template_id }); - } - }) - - //判断是不是佣金抵扣 - getApp().is_distribut(this); - - }, - onUnload: function () { - this.setData({ isclose: 1 }) - }, - onHide: function () { - this.setData({ - isget_by_quan: {}, - is_no_by: {}, - is_by: {}, - send_gf: {}, - send_lb: {}, - }) - }, - - //----------子页返回父页触发---------- - onShow: function () { - var th = this; - th.data.g_cart_q_time = null; - - if (th.data.isclose == 0) { - wx.navigateTo({ - url: "/pages/index/index/index" - }) - - } else { - this.getuser_addr(function (ie) { - console.log("getuser_addr") - console.log(ie) - //地址切换要把包邮券清空 - if (!th.data.user_addr || !ie || th.data.user_addr.address_id != ie.address_id) { - var using_quan = th.data.using_quan; - for (var i in using_quan) { - var item = using_quan[i]; - if (item.isby == 1) { - var ob = {}, txt = "using_quan[" + i + "]"; - ob[txt] = {}; - th.setData(ob); - } - } - th.data.isget_by_quan = {}; - } - - - //th.data.prom_goods_map = {}; - th.data.is_summit_ing = 0; - //更换地址回来要重新调用计算价钱的接口 - if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) { - th.setData({ user_addr: ie }); - if (th.data.is_b_now == 1) { - if (th.data.bn_goods) { - th.setData({ add_back: 1 }); - //th.calculatePrice2(); - } - } else { - if (th.data.cartlist) { - th.setData({ add_back: 1 }); - //th.calculatePrice(); - } - } - } else { - th.setData({ user_addr: ie }); - } - }); - var is_card_back = getApp().globalData.is_card_back; - //--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司 - if (!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back) { - this.update_code(); - } else { - getApp().globalData.is_cart_old = 0; - getApp().globalData.plus_buy_back = 0; - } - } - - //先获取是否有关闭使用优惠券 - getApp().getConfig2(function (ee) { - var json_d = JSON.parse(ee.switch_list); - th.data.json_d = json_d; - th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 - var is_default_logistics = json_d.is_default_logistics; - var is_same_city = json_d.is_same_city; - - th.setData({ - is_close_quan: json_d.is_close_quan, - sales_rules: ee.sales_rules, - rank_switch: json_d.rank_switch, - is_default_logistics: is_default_logistics, - is_same_city: is_same_city, - appoint_pick_keyid: json_d.appoint_pick_keyid - }); - - var rank_switch = json_d.rank_switch; - var max_price = -1; - var show_card = null; - var name = ""; - //如果有开等级卡的时候, - //因为都是调接口,要返回在计算 - if (rank_switch == 2) { - //-- 获取所有的等级卡, -- - getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid, - {}).then(res => { - if (res.data.code == 0) { - var plusCard = res.data.data; - //-- 循环判断,拿到最贵的那张卡 -- - for (var ih in plusCard) { - if (plusCard[ih].IsStopBuy == true) { - continue; - } - if (max_price < 0) { - max_price = plusCard[ih].CardFee; - name = 'card' + plusCard[ih]['CorrPrice']; - show_card = plusCard[ih]; - } else { - if (max_price < plusCard[ih].CardFee) { - max_price = plusCard[ih].CardFee; - name = 'card' + plusCard[ih]['CorrPrice']; - show_card = plusCard[ih]; - } - } - } - - if (show_card) { - name = name.toLowerCase(); - th.setData({ card_name: name, show_card: show_card }) - } - } - //-----先获取物流,再获取用户信息,再展示页面----- - th.get_wuliu(th.get_info(th.show_page)); - }) - } else { - //-----先获取物流,再获取用户信息,再展示页面----- - th.get_wuliu(th.get_info(th.show_page)); - } - - }, 1); - //值在这里换 - getApp().globalData.plus_buy_back = 0; - }, - - - - - //-------------------获取物流--------------- - get_wuliu(func) { - var th = this; - to.getwuliu(function (e) { - //系统是是否开启了默认的物流 - if (th.data.is_default_logistics) { - //如果第一个不是开启默认,说明要让用户自己选 - if (!e[0].is_default) { - th.setData({ is_default_logistics: 0 }); - } - } - th.setData({ wu_arr: e }) - typeof func == "function" && func(); - }) - }, - //------获取会员信息-----先获取用户信息,在进行下一步--- - get_info: function (func) { - var user_id = t.globalData.user_id; - to.auth.get_u(func); - }, - - //------获取会员收货地址----- - getuser_addr: function (func) { - var th = this; - a.get("/api/weshop/useraddress/page", { - data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600, t: Math.random() }, - success: function (su) { - - var item = null; - if (su.data.code == 0 && su.data.data && su.data.data.pageData) { - var user_addr = su.data.data.pageData; - var def_item = null; - for (var i = 0; i < user_addr.length; i++) { - if (user_addr[i]['is_default'] == 1) { - def_item = user_addr[i]; - } - if (user_addr[i]['is_pickup'] == 1) { - item = user_addr[i]; - } - } - - if (item == null) item = def_item; - if (item == null) item = user_addr[0]; - } - - if (item == undefined) item = null; - if (!item) th.setData({ user_addr: null }); //地址为空的时候,要清空,因为返回的时候,有缓存 - - func(item); - } - }); - }, - - //----------------展示页面,是再获取用户信息之后-------------- - show_page: function () { - var th = this, ta = this.data.param; - - //会员的信息,要获取最新 - var user = getApp().globalData.userInfo; - getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, { - data: { r: Math.random() }, - success: function (e) { - getApp().globalData.userInfo = e.data.data; - th.setData({ userinfo: e.data.data }); - - //选获取地址 - th.getuser_addr(function (addr) { - th.setData({ user_addr: addr }); - //--------------------------立即购买------------------ - if (ta.is_bnow == 1) { - //读取门店 - //to.get_allsto(function (e) { - //th.setData({ allsto: e }); - //获取立即购买的商品信息 - th.get_buy_goods(ta.goods_id); - //}); - } else { - //------------------------购物车结算---------------------- - //读取门店 - //to.get_allsto(function (e) { - //th.setData({ allsto: e }); - //-------获取购物车已经选择的商品-------- - if (!th.data.old_cartlist) { - th.data.prom_goods_map = {}; - th.get_cart(); - } - else { - th.calculatePrice(); - } - //}) - } - }); - - //获取提现金额 - getApp().request.get("/api/weshop/withdrawals/summoney", { - data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 }, - success: function (su) { - if (su.data.code == 0) { - var yuer = parseFloat(th.data.userinfo.user_money - - (th.data.userinfo.frozen_money > 0 ? th.data.userinfo.frozen_money : 0) - su.data.data.summoney).toFixed(2); - th.setData({ txmon: su.data.data.summoney, yuer: yuer }); - } - } - }); - - }, - }); - - }, - - //-- 获取搭配购商品 -- - async set_collection(gd, arr, index) { - var th = this; - var user_id = getApp().globalData.user_id; - var collocation_list = []; - var pick = null; - var distr_t = 0; - - //如果是购物车的时候, - if (arr) { - var idx = th.data.allsto.findIndex(function (e) { - return e.pickup_id == arr[index].pick_id - }) - pick = th.data.allsto[idx]; - var get_gd = null; - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + gd.goods_id, { - - }).then(res1 => { - if (res1.data.code == 0) { - get_gd = res1.data.data; - } - }) - distr_t = pick.distr_type || get_gd.distr_type; - - } else { - var gg = to.get_b_now(); - //---获取门店--- - await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + gg.pick_id, {}) - .then(res => { - pick = res.data.data; - }); - distr_t = gd.distr_type || pick.distr_type; - } - - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" - + os.stoid + "/" + gd.goods_id + "/0/" + user_id, { - }).then(res => { - if (res.data.code == 0 && res.data.data) { - var r_data = res.data.data; - if (r_data.collocationList) { - collocation_list = r_data.collocationList; - } - } - }) - - if (!collocation_list) return null; - - var new_arr = []; - for (let i = 0; i < collocation_list.length; i++) { - var item0 = collocation_list[i]; - //判断物流配送一样的 - if (item0.distr_type == 0 || item0.distr_type == distr_t) { - new_arr.push(item0); - } - } - - if (!new_arr.length) return null; - if (arr) { - arr[index].collocationList = new_arr; - - } - else th.setData({ - all_collocation_list: new_arr - }) - - }, - - //-----真的获取购物车,入口-------- - get_cart: function () { - var th = this, app = getApp(); - var state = 0; - if (th.data.state) state = 1; - a.get("/api/weshop/cart/list", { - data: { - user_id: to.globalData.user_id, selected: 1, state: state, - store_id: oo.stoid, pageSize: 600 - }, - success: async function (su) { - //按门店分类的数组 - var arr = new Array(); - var carr = su.data.data.pageData; - - th.setData({ is_all_zt: 1 }); - - //-- 找出所有的门店 -- - var pick_id_arr = []; var len = carr.length; - for (var i = 0; i < len; i++) { - if (pick_id_arr.length == 0 || pick_id_arr.indexOf(carr[i].pick_id) == -1) - pick_id_arr.push(carr[i].pick_id); - } - var req_d = { - store_id: os.stoid, ids: pick_id_arr.join(',') - } - //-- 获取门店的列表 -- - await getApp().request.promiseGet("/api/weshop/pickup/list", { data: req_d }).then(res => { - if (ut.ajax_ok(res)) { - th.data.allsto = res.data.data.pageData; - } - }) - - th.data.cartlist_y = carr; //存储原始购物车列表 - th.data.in_zhact_gdmap = {}; - - //---是不是购买等级卡成功的返回---等级卡显示的判断--- - var is_card_back = getApp().globalData.is_card_back; - - for (var i = 0; i < carr.length; i++) { - var item1 = carr[i]; - //把已经购买了多少见的内容填入 - - var goodsbuynum = 0, promgoodsbuynum = 0; - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: item1.goods_id, - prom_type: item1.prom_type, - prom_id: item1.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) { - promgoodsbuynum = buy_num_data.promgoodsbuynum; - } - goodsbuynum = buy_num_data.goodsbuynum; - }) - //如果有购买活动 - item1.promgoodsbuynum = promgoodsbuynum; - - //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 - if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { - // th.check_is_youhui(item1.goods_id, item1.pick_id); - await th.add_prom_goods_map(item1); - } - - //要把组合购的东西拿出来算一下 - if (item1.prom_type == 7) { - if (!th.data.zuhe_map_good[item1.prom_id]) { - var isok = 1; - var is_flag = 1; - //如果有组合购 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; - await getApp().request.promiseGet(url, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - //如果活动已经结束 - if (res.data.data.is_end == 1) { - isok = 0; - } - if (ut.gettimestamp() > res.data.data.end_time) { - isok = 0; - } - item1.act = res.data.data; - th.data.zhhe_act_map[item1.prom_id] = res.data.data; - } else { - //未找到商品的活动 - is_flag = 0; - } - }) - if (!isok) { - getApp().my_warnning("组合购的活动已经过期", 0, th); - return false; - } - var url1 = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: 1, - pageSize: 2000, - store_id: os.stoid, - zh_id: item1.prom_id, - } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(res => { - if (ut.ajax_ok(res)) { - var gdlist = res.data.data.pageData; - gdlist.forEach(i => { - if (item1.goods_id == i.goods_id && !is_flag) { - item1.prom_type = 0; - item1.prom_type1 = 0; - item1.prom_id = 0; - item1.prom_id1 = 0 - } - }) - th.data.zuhe_map_good[item1.prom_id] = gdlist; - } - }) - } - else { - item1.act = th.data.zhhe_act_map[item1.prom_id]; - } - } - if (item1.prom_type == 10) { - if (!th.data.ladder_map[item1.prom_id]) { - //如果有预售 - var isok = 1; - var is_flag = 1; - var act = null; - var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id; - await getApp().request.promiseGet(url, {}).then(res => { - console.log(res, 1000); - if (res.data.code == 0 && res.data.data) { - if (res.data.data.isuse != 1) { - isok = 0; - } - //如果活动已经结束 - if (res.data.data.is_end == 1) { - isok = 0; - } - //已经结束 - if (ut.gettimestamp() > res.data.data.end_time) { - isok = 0; - } - //还未开始 - if (ut.gettimestamp() < res.data.data.start_time) { - isok = 0; - } - act = res.data.data; - - } else { - //未找到商品的活动 - is_flag = 0; - } - }) - if (!isok) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, {}); - th.data.ladder_map[item1.prom_id] = -1; - continue; - } - th.data.ladder_map[item1.prom_id] = act; - - //-- 获取阶梯规则 -- - var url1 = "/api/weshop/prom/ladderList/list"; - var req_data = { - store_id: os.stoid, - form_id: item1.prom_id, - } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(rs1 => { - if (rs1.data.code == 0 && rs1.data.data) { - var gdlist = rs1.data.data; - th.data.ladder_map[item1.prom_id].ladder_list = gdlist; - } - }) - } - } - //-- 判断一下,获取搭配购的消息 -- - if ((item1.prom_type == 0 || item1.prom_type == 5) && (!carr[i].collocationList || !carr[i].collocationList.length)) { - - await th.set_collection(item1, carr, i); - } - } - - //在分组的时候,就不要再调用接口,await - for (var i = 0; i < carr.length; i++) { - var item = carr[i]; - //-- 如果是等级会员注册返回 -- - if (is_card_back) { - th.data.card_name = th.data.userinfo.card_field; - //如果是秒杀的返回,就要把活动弄回0 - if (item['prom_type'] == 1) { - item['prom_type'] = 0; - item['prom_id'] = 0; - } - // 拼团,搭配购不计算,赠品也不计算 - if (item['prom_type'] != 5 && item['prom_type'] != 6 && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) { - item.goods_price = item[th.data.card_name]; - carr[i].goods_price = item[th.data.card_name]; - - } - } else { - // 拼团,搭配购不计算,赠品也不计算,同时会员还未购买等级会员 - if (item[th.data.card_name] > 0 && item['prom_type'] != 5 && item['prom_type'] != 6 && !th.data.userinfo.card_field - && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) { - item.cut_price1 = item.goods_price - item[th.data.card_name]; - carr[i].cut_price1 = (item.goods_price - item[th.data.card_name]) * item.goods_num; - } - - } - - item.original_img = oo.imghost + item.original_img; - - var car_item = item; - /*----接口要弄出来的,先顶着-----*/ - var pcid = car_item.pick_id; - var find = 0; - //----如果有就加进去,没有就新增一个---- - //-----------循环查找门店------------- - if (arr.length > 0) { - for (var j = 0; j < arr.length; j++) { - if (arr[j].pickup_id == pcid) { - if (item.is_gift != 1) { - //确定配送方式 - if (arr[j].distr_t == 0) { - arr[j].distr_t = car_item.distr_type; - } - var e_t = 0 - switch (arr[j].distr_t) { - case 0: - e_t = 1; - if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; - break; - case 1: - e_t = 1; - break; - case 2: - e_t = 0; - break; - } - arr[j].exp_type = e_t; - if (e_t == 0) th.setData({ is_all_zt: 0 }); - //else if (e_t == 1) th.setData({ is_all_zt: 1 }); - } - - //-- 把等级卡会优惠多少钱装进去 -- - if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1; - - arr[j].goods.push(car_item); - if (car_item.collocationList) { - - if (!arr[j].collocationList) arr[j].collocationList = cart_item.collocationList; - else { - var arr_new = [...arr[j].collocationList, ...cart_item.collocationList]; - arr[j].collocationList = arr_new; - } - } - - - - find = 1; - break; - } - } - } - //------如果没有找到----- - if (find == 0) { - var pikname = '', sto = null; - //----找到门店名称----- - for (var k = 0; k < th.data.allsto.length; k++) { - if (pcid == th.data.allsto[k].pickup_id) { - pikname = th.data.allsto[k].pickup_name; - sto = th.data.allsto[k]; - break; - } - } - var e_t = 0, dis_t = 0;//物流方式,配送方式 - if (item.distr_type == 0) { - dis_t = sto.distr_type; - } else { - dis_t = item.distr_type; - } - switch (dis_t) { - case 0: - e_t = 1; - //-- 系统后台有设置要默认的 -- - if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; - break; - case 1: - e_t = 1; - break; - case 2: - e_t = 0; - break; - } - //如果是物流的话,全部自提的控制要弄成0 - if (e_t == 0) th.setData({ is_all_zt: 0 }); - //else th.setData({ is_all_zt: 1 }); - - var narr = new Array(); - narr.push(car_item); - - //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下----------------- - var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; - if (def_exp_code) { - for (var k = 0; k < th.data.wu_arr.length; k++) { - var item = th.data.wu_arr[k]; - if (def_exp_code == item.code) { - m_wind = k; - } - } - } - - - var ie = { - pickup_id: pcid, - pname: pikname, - goods: narr, - wind: m_wind, - distr_t: dis_t, - card_cut_price: 0, - exp_type: e_t, - goods_price: 0, - shipping_price: 0, - user_money: 0, - total_amount: 0, - order_amount: 0, - user_note: "", - sto: sto - }; - - //-- 把等级卡会优惠多少钱装进去 -- - if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1; - - if (car_item.collocationList) { - - ie.collocationList = car_item.collocationList; - } - - - arr.push(ie); - } - } - //-- 如果是回退回来的情况 -- - if (th.data.cartlist && th.data.cartlist.length > 0) { - for (var kj in th.data.cartlist) { - for (var ih in arr) { - var ie = arr[ih]; - if (ie.pickup_id == th.data.cartlist[kj].pickup_id) { - ie.exp_type = parseInt(th.data.cartlist[kj].exp_type); - ie.wind = parseInt(th.data.cartlist[kj].wind); - - //-- 是不是全部自提清空 -- - if (ie.exp_type == 0 || ie.exp_type == 2) th.setData({ is_all_zt: 0 }); - break; - } - } - } - } - - var cart_commission = 0; - //-- 循环计算一下线下取价 -- - for (var k = 0; k < arr.length; k++) { - var c_item = arr[k]; - var item = arr[k].goods; - var offline_price = 0; - var offline_num = 0; - //计算佣金的商品 - var commission_gds = []; - for (var c = 0; c < item.length; c++) { - - if (!item[c].is_gift) { - var hr = { - goods_id: item[c].goods_id, - goods_num: item[c].goods_num, - prom_type: item[c].prom_type, - prom_id: item[c].prom_id, - } - commission_gds.push(hr); - } - if (th.data.sales_rules != 2) { - item[c].offline_price = 0; - } - //-- 如果这个商品是线下取价的时候 -- - if (item[c].offline_price > 0 && item[c].prom_type != 7) { - offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; - offline_num += item[c].goods_num; - } - } - if (offline_price > 0) { - c_item.offline_price = offline_price; - 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 - } - var back_data = null; - 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; - }); - - if (back_data && parseFloat(back_data)) { - c_item.can_usecommise = parseFloat(back_data); - cart_commission += c_item.can_usecommise; - } - - } - - if (cart_commission) { - th.setData({ cart_commission }); - } - - //每一个门店内的组合购要进行拆分, - //还得把组合商品的多余商品的线下价格算一算 - for (let var1 in arr) { - var u_item = arr[var1]; - //把组合购进行分组 - var obj = zh_calc.find_split(u_item); - if (!obj) continue; - //存储不同活动的商品列表 - u_item.zh_prom_goods = {}; - for (let var1 in obj) { - var h_item = obj[var1]; - var gdlist = th.data.zuhe_map_good[h_item.prom_id]; - //获取活动需要的商品列表 - u_item.zh_prom_goods[h_item.prom_id] = { gdlist: gdlist, act: h_item.act }; - } - zh_calc.fir_set_arr(u_item, th); - } - - //每一个门店内的阶梯促销要进行拆分, - //还得把阶梯促销商品的多余商品的线下价格算一算 - for (let var1 in arr) { - //把阶梯促销进行分组 - var obj = ladder_calc.find_split(u_item); - if (!obj) continue; - //存储不同阶梯促销活动的商品列表 - u_item.ladder_map = {}; - for (let var1 in obj) { - var h_item = obj[var1]; - var act = th.data.ladder_map[h_item.prom_id]; - //获取活动需要的商品列表 - u_item.ladder_map[h_item.prom_id] = act; - } - ladder_calc.fir_set_arr(u_item, th); - } - - - - //----- 判断每一个商品的配送方式,和门店的配送方式 ------- - for (var ik = 0; ik < arr.length; ik++) { - if (!arr[ik].sto.is_same_city) continue; - var fd = arr[ik].goods.filter(function (e) { - return e.is_same_city != 1 || e.whsle_id > 0 - }) - if (!fd || fd.length == 0) { - arr[ik].show_same_city = 1; - } - } - - //深拷贝 - th.data.old_cartlist = JSON.parse(JSON.stringify(arr)); - th.setData({ - cartlist: arr, - }); - - //--- 获取一下看有没有优惠券 ---- - setTimeout(function () { - var frozenQuan = null; - var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; - app.request.promiseGet(url0, { 1: 1 }).then(res => { - if (res.data.code == 0) { - frozenQuan = res.data.data; - th.data.frozenQuan = frozenQuan; - } - th.calculatePrice(); - th.get_cart_quan(); - }) - - }, 500) - - } - }); - }, - - //-----获取立即购买的商品信息,入口---- - get_buy_goods: function (e) { - var th = this; - var gg = to.get_b_now(); - //--------如果goods_id一样,就是要立即购买----- - if (e == gg.goods_id) { - a.get("/api/weshop/goods/get/" + oo.stoid + "/" + e, { - success: async function (t) { - var gd = t.data.data; - if (!gd) return false; - - //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 -- - if (gd.is_same_city && th.data.is_same_city && gd.whsle_id <= 0) { - - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + gg.pick_id, {}).then(res => { - if (res.data.code == 0) { - var pk = res.data.data; - if (pk && pk.is_same_city) { - th.setData({ show_same_city: 1 }) - } - } - - }) - - } - - t.data.data.original_img = oo.imghost + t.data.data.original_img; - t.data.data['buynum'] = gg.goods_num; - var distr_t = 0, et = 0 - - if (t.data.data.is_minishop == 1 && getApp().is_sp_hao()) { - - if (t.data.data.distr_type == 1 || gg.pick_dis == 1) { - wx.showToast({ - title: "视频号仅支持物流", - icon: 'none', - duration: 2000 - }) - - setTimeout(function () { - wx.navigateBack({ delta: 1 }) - }, 1000) - - return false - } - - t.data.data.distr_type = 2; - th.setData({ show_same_city: 0 }) - - } - - - if (t.data.data.distr_type == 0) { - distr_t = gg.pick_dis; - } else { - distr_t = t.data.data.distr_type; - } - - switch (distr_t) { - case 0: - et = 1; - //-- 系统后台有设置要默认的 -- - if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0; - break; - case 1: - et = 1; - break; - case 2: - et = 0; - break; - } - - - var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; - if (et == 0 && def_exp_code) { - for (var k = 0; k < th.data.wu_arr.length; k++) { - var item = th.data.wu_arr[k]; - if (def_exp_code == item.code) { - m_wind = k; - } - } - } - - if (th.data.bn_goods) { - et = th.data.bn_exp_type; - m_wind = th.data.index; - } - th.data.m_wind = m_wind; - - //---是不是购买等级卡成功的返回---等级卡显示的判断--- - var is_card_back = getApp().globalData.is_card_back; - if (is_card_back) { - th.data.card_name = th.data.userinfo.card_field; - gg.goods_price = gd[th.data.card_name]; - getApp().globalData.is_card_back = 0; - th.setData({ card_cut_price: 0 }); - //如果是秒杀的返回 - if (gd.prom_type == 1) gd.prom_type = 0; - } else { - //--- 商家等级卡开通的情况下, 会员不是等级会员的情况, 商品有设置等级卡价格,同时等级卡价格小于商品的价格 - //-- 搭配购的商品也可以单独购买,所以此时搭配购的商品要进行计算优惠 -- - if (!gg.collocation_goods && gd['prom_type'] != 6 && th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo.card_field) { - var cut_p = (gg.goods_price - gd[th.data.card_name]) * gg.goods_num; - th.setData({ card_cut_price: cut_p }); - } - } - - //-- 判断是不是可以收藏 -- - if (gd.prom_type == 5 && !th.data.all_collocation_list.length) { - await th.set_collection(gd); - } - - //-- 当是搭配购的时候 -- - gd.prom_type = gg.prom_type ? gg.prom_type : 0; - gd.prom_id = gg.prom_id ? gg.prom_id : 0; - - - if (gd.whsle_id > 0) { - gd.prom_type = gg.prom_type = 0; - gd.prom_id = gg.prom_id = 0; - } - - - switch (gd.prom_type) { - case 0: - case 3: - case 4: - case 5: - case 6: - case 7: - //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的, - // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券-- - t.data.data.shop_price = gg.goods_price; - t.data.data.goods_price = gg.goods_price; - t.data.data.goods_num = gg.goods_num; - th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; - th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; - th.data.check_quan_ware_list = t.data.data.erpwareid + ""; - - //-- 如果有线下取价的时候 -- - if (gg.offline_price) { - t.data.data.offline_price = gg.offline_price; - t.data.data.pricing_type = gg.pricing_type; - t.data.data.is_offline = 1; - - th.data.ckeck_quan_price = t.data.data.offline_price * gg.goods_num; - th.data.check_quan_price_list = t.data.data.offline_price * gg.goods_num + ""; - th.data.check_quan_ware_list = t.data.data.erpwareid + ""; - } - t.data.data.prom_id = 0; - t.data.data.prom_type = 0; - - - //如果有开启佣金抵扣,同时会员是分销商的时候 - if (!gg.collocation_goods && getApp().globalData.userInfo.is_distribut - && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { - var fir_num = 0; - var sec_num = 0; - var thi_num = 0; - if (th.data.dis_config.pattern == 1) { - fir_num = (t.data.data.fir_rate || 0) * gg.goods_num; - sec_num = (t.data.data.sec_rate || 0) * gg.goods_num; - thi_num = (t.data.data.thi_rate || 0) * gg.goods_num; - } else { - fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2); - sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2); - thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2); - } - var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th); - - gd.use_commission = c_num; - t.data.data.use_commission = c_num; - - } - - - //如果立即购买那边过来,就要读取接口,查看活动的优惠内容 - if (gg.prom_type == 3) { - t.data.data.prom_id = gg.prom_id; - t.data.data.prom_type = 3; - //如果是优惠活动,就要调用活动,计算价格 - // th.check_is_youhui(gg.goods_id, gg.pick_id); - th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) { - //判断一下购买商品的数量是不是超过 - if (data.gift_goods_id && (!data.zp_mode || parseInt(data.zp_mode) == 0)) { - var num = data.zp_num ? data.zp_num : 1; - if (data.is_bz == 1) { - num = num * data.bs; - if (num > data.gift_limit_num) num = 0; - } - //如果赠品数量超出礼品库存,就取消 - if (num > data['gift_storecount']) num = 0; - if (num > 0) { - var ob = {}; - ob.is_gift = 1; - ob.prom_id = data.prom_id; - ob.goods_id = data.gift_goods_id; - ob.goods_name = data.gift_goods_name; - ob.goods_sn = data.gift_goods_sn; - ob.goods_color = data.gift_goods_color; - ob.goods_spec = data.gift_goods_spec; - ob.original_img = os.imghost + data.gift_original_img; - ob.market_price = data.gift_market_price; - ob.gift_id = data.gift_id; - ob.shop_price = 0; - ob.buynum = num; - ob.weight = data.gift_weight; //商品的重量 - ob.exp_sum_type = data.gift_exp_sum_type; //商品的物流计算方式 - ob.uniform_exp_sum = data.gift_uniform_exp_sum //统一运费的金额 - - var arr_gf = []; - arr_gf.push(ob); - th.setData({ buy_now_gift_goods: arr_gf }); - } - } - - th.setData({ - bn_goods: data, bn_pickname: gg.pick_name, index: m_wind, - bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et - }); - - - //计算价格 - th.calculatePrice2(); - //获取优惠券 - th.get_buy_now_quan(); - - }) - } else { - - - //--看是不是搭配促销-- - if (gg.prom_type == 5) { - t.data.data.prom_id = gg.prom_id; - t.data.data.prom_type = 5; - th.is_coupon = gg.is_coupon; - th.setData({ - is_coupon: gg.is_coupon - }); - if (gg.room_id) { - t.data.data.room_id = gg.room_id; - } - //--主商品要有导购id和导购类型-- - if (gg.guide_id) { - t.data.data.guide_id = gg.guide_id; - t.data.data.guide_type = gg.guide_type; - } - th.setData({ collocation_goods: gg.collocation_goods }); - - if (th.data.all_collocation_list) { - for (var i = 0; i < th.data.all_collocation_list.length; i++) { - var item0 = th.data.all_collocation_list[i]; - var idx = gg.collocation_goods.findIndex(function (e) { - return e.goods_id == item0.goods_id && e.prom_id == item0.prom_id; - }) - if (idx != -1) { - var txt = 'all_collocation_list[' + i + '].selected'; - th.setData({ [txt]: 1 }); - } - } - - } - - - //var narr=gg.collocation_goods; - //修改成深拷贝,确保返回是数据正确 - var narr = JSON.parse(JSON.stringify(gg.collocation_goods)); - narr.push(t.data.data); - await th.get_collocation_list(narr); - } - th.setData({ - bn_goods: gd, bn_pickname: gg.pick_name, index: m_wind, - bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et - }); - - - //--搭配促销也是按照购物车的方式来计算优惠券-- - if (gg.prom_type == 5) { - var frozenQuan = null; - var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; - app.request.promiseGet(url0, { 1: 1 }).then(res => { - if (res.data.code == 0) { - frozenQuan = res.data.data; - th.data.frozenQuan = frozenQuan; - } - //计算价格 - th.calculatePrice2(); - th.get_cart_quan(); - }); - - } else { - //计算价格 - th.calculatePrice2(); - //获取优惠券, - th.get_buy_now_quan(); - } - } - - break; - case 1: //---秒杀----- - var quanlist = null; - getApp().request.get("/api/weshop/activitylist/getSJGoodsPriceNew/" + gd.store_id - + "/" + gd.goods_id + "/1/" + gd.prom_id + "/" + app.globalData.user_id, { - success: async function (tt) { - if (tt.data.code == 0) { - //t.data.data.shop_price = tt.data.data.prom_price; - t.data.data.shop_price = tt.data.data.prom_user_price; - th.data.ckeck_quan_price = 0; - gd.is_xz_yh = 1; - - t.data.data.fir_rate = tt.data.data.fir_rate; - t.data.data.sec_rate = tt.data.data.sec_rate; - t.data.data.thi_rate = tt.data.data.thi_rate; - t.data.data.commission = tt.data.data.commission; - - - } else { - t.data.data.prom_id = 0; - t.data.data.prom_type = 0; - th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; - th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; - th.data.check_quan_ware_list = t.data.data.erpwareid + ""; - } - - //-- 计算获得佣金的金额 -- - if (getApp().globalData.userInfo.is_distribut - && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { - - var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num); - - gd.use_commission = c_num; - t.data.data.use_commission = c_num; - - } - - - th.setData({ - bn_goods: gd, - bn_pickname: gg.pick_name, - bn_exp_type: et, - index: m_wind, - bn_pick: gg.pick_id, - bn_t_exp_t: distr_t, - bn_exp_type: et - }); - - //计算价格 - th.calculatePrice2(); - //获取优惠券,如果有券的钱,就调用 - if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan(); - } - }); - - break; - - case 2: //--- 团购 --- - var quanlist = null; - getApp().request.get("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, { - success: async function (tt) { - if (tt.data.code == 0) { - //t.data.data.shop_price = tt.data.data.prom_price; - t.data.data.shop_price = tt.data.data.price; - - t.data.data.fir_rate = tt.data.data.fir_rate; - t.data.data.sec_rate = tt.data.data.sec_rate; - t.data.data.thi_rate = tt.data.data.thi_rate; - t.data.data.commission = tt.data.data.commission; - - } else { - t.data.data.prom_id = 0; - t.data.data.prom_type = 0; - } - - //-- 计算获得佣金的金额 -- - if (getApp().globalData.userInfo.is_distribut - && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { - - var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num); - - gd.use_commission = c_num; - t.data.data.use_commission = c_num; - - } - - - if (tt.data.data.isQuan) { - th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; - th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; - th.data.check_quan_ware_list = t.data.data.erpwareid + ""; - } else { - gd.is_xz_yh = 1; - } - - th.setData({ - bn_goods: gd, - bn_pickname: gg.pick_name, - bn_exp_type: et, - index: m_wind, - bn_pick: gg.pick_id, - bn_t_exp_t: distr_t, - bn_exp_type: et - }); - - //-- 计算价格 -- - th.calculatePrice2(); - //获取优惠券,如果有券的钱,就调用 - if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan(); - } - }); - - break; - } - }, - }); - } - }, - - //---------------检查是否有收货地址------------------- - checkAddressList: function () { - var t = this; - return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({ - title: "请先填写或选择收货地址~", - success: function (a) { - a.confirm ? t.enterAddressPage() : wx.navigateBack(); - }, - fail: function () { - wx.navigateBack(); - } - }), !1); - }, - showInvoice: function () { - this.setData({ - invoiceToggle: !this.data.invoiceToggle - }); - }, - keyUpChangePay1: function (t) { - this.setData({ - payWithUserMoney: !(t.detail.value.length > 0) - }); - }, - keyUpChangePay2: function (t) { - this.setData({ - payWithPoints: !(t.detail.value.length > 0) - }); - }, - keyUpChangeNum: function (t) { - var index = t.currentTarget.dataset.index; - var txt = "user_note." + index; - this.setData({ - maxWord: t.detail.value.length, - [txt]: t.detail.value - }); - }, - - calc_per: async function (c_arr) { - var send_gf = {}; - var duo_zp_num_arr = {}; - var th = this; - //-- 循环处理 -- - for (var i in c_arr) { - var cart_item = c_arr[i]; //就是每一单的意思 - var pickid = cart_item.pickup_id; - var ord_goods = c_arr[i].goods; //就是每一单的从表的意思 - var o_price = 0, q_conditin = 0; - //--------循环计算总价----------- - for (var j = 0; j < ord_goods.length; j++) { - - if (ord_goods[j].whsle_id) continue; - o_price += ord_goods[j].goods_price * ord_goods[j].goods_num; - } - - //---如果该门店的相关活动,就要算一下减价-- - if (th.data.prom_goods_map[pickid]) { - var ob = th.data.prom_goods_map[pickid]; - for (var ii in ob) { - var item_map = ob[ii]; - if (item_map.bs == undefined || item_map.bs == null) { - //等待,获取一下优惠活动的信息 - await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { - data: { - price: parseFloat(item_map.price).toFixed(2), prom_id: item_map.prom_id, - goods_num: item_map.goods_num, user_id: getApp().globalData.user_id, - is_bz: item_map.is_bz - } - }).then(res => { - if (res.data.code == 0 && res.data.data.condition) { - var get_data = res.data.data; - item_map.is_bz = get_data.is_bz; //是不是倍增 - item_map.bs = get_data.bs; //是不是倍数 - item_map.is_past = get_data.is_past; //是不是包邮 - item_map.prom_price = get_data.price >= 0 ? get_data.price : item_map.price; - item_map.s_intValue = get_data.intValue; - item_map.s_coupon_id = get_data.coupon_id; - item_map.s_coupon_num = get_data.coupon_num; - item_map.lbtitle = get_data.lbtitle; - item_map.zxlbtitle = get_data.zxlbtitle; - - if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 - && get_data.zp_num * item_map.bs <= get_data.limit_num - && get_data.zp_num * item_map.bs <= get_data.gift_storecount - ) { - - item_map.gift_id = get_data.gift_id; - item_map.gift_goods_id = get_data.goods_id; - item_map.gift_goods_name = get_data.goods_name; - item_map.gift_goods_color = get_data.goodsinfo.goods_color ? get_data.goodsinfo.goods_color : ''; - item_map.gift_goods_spec = get_data.goodsinfo.goods_spec ? get_data.goodsinfo.goods_spec : ''; - item_map.gift_original_img = get_data.goodsinfo.original_img; - item_map.gift_limit_num = get_data.limit_num; - item_map.gift_storecount = get_data.gift_storecount; - item_map.gift_weight = get_data.goodsinfo.weight; - item_map.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; - item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; - item_map.whsle_id = get_data.goodsinfo.whsle_id; - - } - item_map.s_libao = get_data.libao; - item_map.s_lb_num = get_data.lb_num; - - //专享礼包 - item_map.zx_libao = get_data.zxlibao; - item_map.zx_lb_num = get_data.zxlb_num; - - if (parseInt(get_data.zp_mode) == 1) { - if (!send_gf[pickid]) send_gf[pickid] = []; - - var can_zp_num = 0; - for (let iy in get_data.giftsinfo) { - let item = get_data.giftsinfo[iy]; - can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount); - } - - var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); - if (duo_zp_num_arr[item_map.prom_id]) { - t_zp_num += duo_zp_num_arr[item_map.prom_id]; - } - - if (can_zp_num >= t_zp_num) { - send_gf[pickid].push({ - pickup_id: pickid, - giftsinfo: get_data.giftsinfo, - zp_num: get_data.zp_num * get_data.bs, - gf_pr_name: item_map.name, - prom_id: item_map.prom_id - }); - - duo_zp_num_arr[item_map.prom_id] = t_zp_num; - } - } - } - }) - } - - //有活动,且优惠活动并没有限制使用优惠券,且有减价 - //--看有没有减价-- - //if(item_map.prom_price>=0 && item_map.price-item_map.prom_price){ - if (item_map.price - item_map.prom_price && item_map.prom_price !== null) { - if (cart_item.prom_pt_json) { - cart_item.prom_pt_json.push({ - "prom_id": item_map.prom_id, - "dis": (item_map.price - item_map.prom_price).toFixed(2), - "ispt": 0 - }) - } else { - cart_item.prom_pt_json = [{ - "prom_id": item_map.prom_id, - "dis": (item_map.price - item_map.prom_price).toFixed(2), - "ispt": 0 - }]; - } - - //-- 如果系统要平摊到单品 -- - - var pt_data = { - 'prom_id': item_map.prom_id, - 'dis': parseFloat((item_map.price - item_map.prom_price).toFixed(2)), - 'goods': item_map.goods - } - - var pt_res = null; - await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { - is_json: 1, - data: pt_data - }).then(res => { - if (res.data.code == 0) { - pt_res = res.data.data; - } - }) - if (pt_res) { - for (var io in item_map.goods) { - //平摊赋值 - item_map.goods[io].account_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account; - item_map.goods[io].account_yu_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account_yu; - if (!th.data.ispt_goods) { - item_map.goods[io].account = item_map.goods[io].account_fir; - item_map.goods[io].account_yu = item_map.goods[io].account_yu_fir; - } - } - } - - o_price -= (item_map.price - item_map.prom_price); - //如果有限制使用优惠券,就要减掉参与的活动商品的钱 - if (!item_map.is_xz_yh) q_conditin = o_price; - } - - //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表----------- - for (var j = 0; j < ord_goods.length; j++) { - if (ord_goods[j].is_gift) continue; - if (ord_goods[j].whsle_id) continue; - if (ord_goods[j].prom_type == 3 && ord_goods[j].prom_id == item_map.prom_id) { - ord_goods[j].is_xz_yh = ord_goods[j].is_xz_yh ? ord_goods[j].is_xz_yh : item_map.is_xz_yh; - ord_goods[j].is_past = item_map.is_past; - ord_goods[j].account_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_fir; - ord_goods[j].account_yu_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu_fir; - ord_goods[j].account = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account; - ord_goods[j].account_yu = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu; - } - } - - - //--优惠多少钱-- - if (!cart_item.cut_price) cart_item.cut_price = 0; - //-- -- - if (item_map.price != undefined && item_map.price != null - && item_map.prom_price != undefined && item_map.prom_price != null) - cart_item.cut_price += (item_map.price - item_map.prom_price); - //---如果有送积分--- - if (item_map.s_intValue) { - if (!cart_item.s_intValue) cart_item.s_intValue = 0; - cart_item.s_intValue += item_map.s_intValue; - } - //-- 如果有送优惠券的情况 -- - if (item_map.s_coupon_id) { - if (!cart_item.s_coupon_id) { - cart_item.s_coupon_id = item_map.s_coupon_id + ""; - cart_item.g_coupon_num = [{ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }]; - } - else { - cart_item.s_coupon_id += "," + item_map.s_coupon_id; - cart_item.g_coupon_num.push({ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }) - } - } - - //-- 如果有送礼包的情况 -- - if (item_map.s_libao) { - if (!cart_item.s_libao) { - cart_item.s_libao = item_map.s_libao + ""; - cart_item.g_lb_num = [{ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }]; - } - else { - cart_item.s_libao += "," + item_map.s_libao; - cart_item.g_lb_num.push({ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }) - } - } - - if (item_map.zx_libao) { - if (!cart_item.zx_libao) { - cart_item.zx_libao = item_map.zx_libao + ""; - cart_item.g_zxlb_num = [{ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }]; - } - else { - cart_item.zx_libao += "," + item_map.zx_libao; - cart_item.g_zxlb_num.push({ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }) - } - } - } - } - } - - - var arr = Object.keys(send_gf); - var arr2 = Object.keys(th.data.send_gf); - if (arr2.length > 0) return false; - th.calclate_lbNum(c_arr); - if (arr.length > 0) { - th.setData({ send_gf: send_gf }) - } else { - th.setData({ send_gf: {} }) - } - - }, - - - - calclate_lbNum(r_data) { - let send_lb = this.data.send_lb; - //g_lb_num我的礼包 g_zxlb_num专享礼包 - r_data.forEach(r_d => { - let arr = []; - if (r_d.g_zxlb_num) { - let g_lb = r_d.g_zxlb_num; - for (let i = 0; i < g_lb.length; i++) { - let item = g_lb[i]; - let new_lb = g_lb.filter(lb => { - return item.l_id === lb.l_id; - }); - if (new_lb.length == 1) { - arr.push(item); - } else { - item.num = new_lb.reduce((pre, next) => { - return pre + next.num; - }, 0); - arr.push(item); - g_lb = g_lb.filter(ii => { - return ii.l_id !== item.l_id; - }); - } - send_lb[r_d.pickup_id] = arr; - } - } - if (r_d.g_lb_num) { - let zx_lb = r_d.g_lb_num; - for (let i = 0; i < zx_lb.length; i++) { - let item = zx_lb[i]; - item.flag = 1; - let new_lb = zx_lb.filter(lb => { - return item.l_id === lb.l_id; - }); - if (new_lb.length == 1) { - arr.push(item); - } else { - item.num = new_lb.reduce((pre, next) => { - return pre + next.num; - }, 0); - arr.push(item); - zx_lb = zx_lb.filter(ii => { - return ii.l_id !== item.l_id; - }); - } - send_lb[r_d.pickup_id] = arr; - } - } - }) - this.setData({ - send_lb, - }) - - }, - - //-------------------计算订单价格------------------- - calculatePrice: async function (qfunc) { - var th = this; - th.setData({ submit: 1 }); - - wx.showLoading({ - title: "处理中.", - mask: true - }) - //-- to.getwuliuprice(async function (rs) { -- - - //是不是区域包邮 - th.data.is_area_by = 0; - //当不是区域不包邮的时候,没有不包邮商品的时候 - th.data.free1 = 0; - th.data.cut_o_shipping_price = 0; - th.data.cut_goods_piece = 0; - th.data.cut_goods_weight = 0; - - var all_price = 0; //所有的商品总价 - var all_shipping_m = 0; //所有的物流总价 - var all_total_m = 0; //所有的订单应付总价 - var all_order_m = 0; //所有的订单应付总价 - var all_user_m = 0; //所有的订单用户使用金额 - var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格 - var all_cutprice = 0; //所有的优惠减 - var all_zh_cutprice = 0; //所有的组合优惠减 - var all_ladder_cutprice = 0; //所有的阶梯促销优惠减 - var all_order_prom = 0; //所有的订单优惠 - - var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0); - var out_of_weight = 0; //超出多少重量 - var c_arr = JSON.parse(JSON.stringify(th.data.old_cartlist)); - - if (th.data.cartlist && th.data.cartlist.length > 0) { - for (var i = 0; i < c_arr.length; i++) { - c_arr[i].exp_type = th.data.cartlist[i].exp_type; - c_arr[i].wind = th.data.cartlist[i].wind; - } - } - - //调用函数计算每件商品的单价 - await th.calc_per(c_arr); - - //调用函数计算每件组合购商品的单价, - await zh_calc.calc_zh_split_price(c_arr, th); - - //调用函数计算每件阶梯促销商品的单价, - await ladder_calc.calc_split_price(c_arr, th); - //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品 - - await th.get_cart_quan(c_arr); - - - //-- 经纬度不循环调用接口 -- - var lon = 0; var lat = 0; - //---循环购物车--- - for (var i in c_arr) { - //因为搭配购买也是再这里计算,搭配购的is_b_now==1 - if (th.data.is_b_now == 0) { - //此时物流的选择方式要用th.data.cartlist; - c_arr[i].exp_type = th.data.cartlist[i].exp_type; - c_arr[i].wind = th.data.cartlist[i].wind; - if (th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格 - if (th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品 - } else { - c_arr[i].exp_type = th.data.bn_exp_type; //配送方式 - c_arr[i].wind = th.data.index; //立即购买选择的物流 - //c_arr[i].=th.data. //立即购买的使用余额 - if (th.data.cartlist) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格 - if (th.data.cartlist) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品 - } - - - var cart_item = c_arr[i]; //就是每一单的意思 - var pickid = cart_item.pickup_id; - var o_price = 0; - var o_price_no_zh = 0; //参与订单优惠叠加--组合购的金额汇总 - var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; - var item = c_arr[i].goods; //就是每一单的从表的意思 - - //---如果有选择优惠券的情况下--- - var quan_price = 0; - var coupon_price = 0; - var quan_no = null; - var is_has_zh = c_arr[i].is_has_zh; - var is_has_ladder = c_arr[i].is_has_ladder; - - var zh_prom_goods = c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间 - var ladder_prom_goods = c_arr[i].ladder_prom_goods; //组合购计算的原始数据存储空间 - - if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) - quan_no = th.data.using_quan[pickid].coupon_no; - - //普通券的时候 - if (quan_no && th.data.using_quan[pickid].isby != 1) { - //---获取优惠券优惠--- - await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { - data: { - storeId: oo.stoid, - CashRepNo: quan_no, - WaresSum: cart_item.check_quan_price_list, - WareIds: cart_item.check_quan_ware_list - } - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { - var q_data = res.data.data; - //--存储商品优惠的内容-- - cart_item.quan_youhui_list = q_data; - for (var k in q_data) - quan_price += q_data[k].WareCashSum; - } - }) - } - - - var whsle_goods_price = 0; - //--------循环计算总价----------- - for (var j = 0; j < item.length; j++) { - - if (item[j].whsle_id > 0) { - whsle_goods_price += item[j].goods_price * item[j].goods_num; - } - - var is_no_zh = 0; - if (item[j].prom_type != 7 && item[j].prom_type != 10) is_no_zh = 1; - - //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 - if (item[j].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[j].prom_id] - && th.data.zhhe_act_map[item[j].prom_id].is_orderyh) { - is_no_zh = 1; - } - //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 - if (item[j].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[j].prom_id] - && th.data.ladder_map[item[j].prom_id].is_useorderyh) { - is_no_zh = 1; - } - - if (is_no_zh) { - o_price_no_zh += item[j].goods_price * item[j].goods_num; - } - o_price += item[j].goods_price * item[j].goods_num; - - } - //判断是不是有组合购的金额 - var f_o_price = o_price; - //如果又优惠的钱,就要减价 - if (c_arr[i].cut_price > 0) { - o_price -= c_arr[i].cut_price; - o_price_no_zh -= c_arr[i].cut_price; - } - //如果有组合购优惠的钱,就要减价 - if (c_arr[i].zh_cut_price > 0 || c_arr[i].zh_cut_price < 0) { - o_price -= c_arr[i].zh_cut_price; - if (o_price_no_zh > 0) { - //找到那些可以订单优惠叠加的 - for (let ij in zh_prom_goods) { - let kitem = zh_prom_goods[ij]; - if (kitem.act.is_orderyh) - o_price_no_zh -= kitem.cut_price; - } - } - } - - //如果有组合购优惠的钱,就要减价 - if (c_arr[i].ladder_cut_price > 0 || c_arr[i].ladder_cut_price < 0) { - o_price -= c_arr[i].ladder_cut_price; - if (o_price_no_zh > 0) { - //找到那些可以订单优惠叠加的 - for (let ij in ladder_prom_goods) { - let kitem = ladder_prom_goods[ij]; - if (th.data.ladder_map[ij].is_useorderyh) - o_price_no_zh -= kitem.cut_price; - } - } - } - - //-- 计算线下取价的功能 -- - if (cart_item.is_offline == 1) { - o_price = o_price - cart_item.offline_price; - o_price_no_zh -= c_arr[i].offline_price; - } - //判断包邮券的钱,组合购的商品不使用优惠券 - var q_conditin = 0; - q_conditin = o_price - quan_price; - if (is_has_zh) { - q_conditin = o_price_no_zh - quan_price; - } - cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算 - //计算物流费用 - cart_item.shipping_price = 0; - - th.data.is_no_past = 1; //不包邮标识符 - - var back_data = null; - var quan_no_goods_arr = null; - //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- - if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) { - //看是不是有调用过包邮券 - if (!th.data.isget_by_quan[pickid]) { - //--判断要不要显示包邮券,调用接口,因为有for循环--- - await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { - data: { - store_id: os.stoid, - isuse: 0, - //condition: q_conditin, - condition: cart_item.ckeck_quan_price, - user_id: getApp().globalData.user_id, - pageSize: 2000 - } - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - //此时要循环判断包邮的地区,不包邮商品是不是符合 - var arr = [], quanlist = res.data.data.pageData; - quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1); - for (var i in quanlist) { - var item = quanlist[i]; - var goods = cart_item.goods; - var g_arr = []; - for (var ii in goods) { - g_arr.push(goods[ii].goods_id); - } - if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域 - if (item.goods_list) { - var no_goods_arr = item.goods_list.split(","); - if (ut.isContained(no_goods_arr, g_arr)) continue; //如果是不包邮商品 - } - arr.push(item); - } - if (arr) { - th.data.get_by_quan_list_cart[pickid] = arr; - th.setData({ get_by_quan_list_cart: th.data.get_by_quan_list_cart }); - //if (th.data.is_b_now) { - // th.setData({get_by_quan_list: arr}); - //} - } - th.data.isget_by_quan[pickid] = 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(o_price - quan_price - whsle_goods_price).toFixed(2), store_id: os.stoid - } - 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 (quan_no && th.data.using_quan[pickid].isby == 1) { - var quan = th.data.using_quan[pickid]; - if (!quan.goods_list) { - th.data.is_quan_by[pickid] = 1; //专门给券的判断用的 - } else { - th.data.is_quan_by[pickid] = 0; - quan_no_goods_arr = quan.goods_list.split(","); - - } - } else { - th.data.is_quan_by[pickid] = 0; //专门给券的判断用的 - } - - var cut_good_weight = 0; - //计算物流价格 - if (cart_item.exp_type == 0 && th.data.user_addr && !th.data.is_quan_by[pickid]) { - - //如果有包邮券的不包邮商品的时候 - if (quan_no_goods_arr) { - if (back_data && back_data.no_free_goods) { - back_data['is_by_all'] = 1; - var arr3 = back_data.no_free_goods.filter(item => { - return quan_no_goods_arr.includes(item) - }) - back_data.no_free_goods = null; - if (arr3.length) { - back_data.no_free_goods = arr3; - } - } - if (!back_data || !back_data.no_free_goods) { - if (!back_data) back_data = {}; - back_data['is_by_all'] = 1; - back_data['no_free_goods'] = quan_no_goods_arr; - } - } - - //--------循环计算总价----------- - for (var j = 0; j < item.length; j++) { - - //如果是一件代发商品,不计算运费 - if (item[j].whsle_id) continue; - //如果商品本身是包邮了 - if (item[j].is_free_shipping == 1) continue; - //如果是优惠活动是包邮,就不用计算包邮的费用了 - if (item[j].is_past) continue; - //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- - if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && th.data.is_quan_by[pickid]) { - continue; - } - - if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item[j].goods_id) == -1)) { - - if (item[j]['exp_sum_type'] == 2 && back_data.weight_free > 0) { - if (goods_weight < 0) goods_weight = 0; - cut_good_weight += item[j]['weight'] * item[j]['goods_num']; - goods_weight += item[j]['weight'] * item[j]['goods_num']; - } - if (back_data.weight_free > 0) { - out_of_weight = (back_data.weight_free * 1000) - cut_good_weight; - } - continue; - - } - - switch (item[j]['exp_sum_type']) { - case 1: - //统一运费 - o_shipping_price += item[j]['uniform_exp_sum']; - break; - case 2: - if (goods_weight < 0) goods_weight = 0; - //累积商品重量 每种商品的重量 * 数量 - goods_weight += item[j]['weight'] * item[j]['goods_num']; - - if (back_data && back_data.is_by_all && !back_data.no_free_goods) { - cut_good_weight += item[j]['weight'] * item[j]['goods_num']; - 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[j]['goods_num']; - break; - } - - } - - //如果是正值的时候 - 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[cart_item.wind]) - code = th.data.wu_arr[cart_item.wind].code; - - // cart_item.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 is_ok = 1; - await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', { data: w_data, is_json: 1 }).then(res => { - if (res.data.code == 0) { - cart_item.shipping_price = res.data.data; - } else { - is_ok = 0; - } - }) - - if (!is_ok) { - wx.hideLoading(); - wx.showToast({ - title: "计算物流错误", icon: 'none', duration: 2000 - }) - //th.setData({ show_submit:0, }); - - return false; - } - - if (!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby != 1) { - if (cart_item.shipping_price == 0) th.data.is_by[pickid] = 1; //已经全场包邮,就不要选择券了 - } - } else if (cart_item.exp_type == 1) { - cart_item.shipping_price = 0; - } - - cart_item.shipping_price = cart_item.shipping_price.toFixed(2); - //总价计算,总价不包含运费 - cart_item.order_amount = (o_price - quan_price).toFixed(2); - cart_item.total_amount = f_o_price.toFixed(2); - - var order_prom_amount = 0; - var order_prom_id = 0; - var o_condition = cart_item.order_amount; - var t_o_condition = cart_item.order_amount; - - - //看一下是不是不用组合购的订单优惠的叠加 - if (is_has_zh) { - o_condition = o_price_no_zh - quan_price; - } - //看一下是不是不用组合购的订单优惠的叠加 - if (is_has_ladder) { - o_condition = o_price_no_zh - quan_price; - } - - if (whsle_goods_price > 0) { - o_condition = o_condition - whsle_goods_price; - t_o_condition = t_o_condition - whsle_goods_price; - } - - - - var order_m = 0; - //---判断是不是有订单优惠--- - 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) { - var ord_prom = res.data.data; - //么有使用券,或者活动没有限制使用优惠券 - if (quan_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: - //order_m = o_condition - ord_prom['expression'];//满额优惠金额 - var bs = 1; - if (ord_prom.is_bz) { - bs = Math.floor(o_condition / ord_prom.money); - } - order_prom_amount = ord_prom['expression']; - break; - } - } - } - }) - - cart_item.order_prom_amount = 0; - //--订单优惠的显示-- - if (order_prom_id > 0) { - cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2); - cart_item.order_prom_id = order_prom_id; - cart_item.order_prom_amount = order_prom_amount; - } - coupon_price = quan_price; - if (cart_item.order_amount < 0) { - cart_item.order_amount = 0; - coupon_price = o_price; - } - - - //-- 在选择到同城配送的时候 -- - if (c_arr[i].exp_type == 2 && th.data.user_addr) { - - var gd_w = 0; - for (let ib in c_arr[i].goods) { - let item_bb = c_arr[i].goods[ib]; - gd_w += item_bb['weight'] * item_bb['goods_num']; - } - - if (!lon) { - //-- 获取距离 -- - 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 req_data = { - store_id: os.stoid, order_amount: parseFloat(cart_item.order_amount), - lon: lon, lat: lat, pickup_id: c_arr[i].pickup_id, 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) { - cart_item.shipping_price = res.data.data; - } else { - is_next = 0; - - if (qfunc) qfunc(); - else { - wx.showToast({ - title: res.data.msg, - icon: 'none', - duration: 2000 - }) - } - } - }) - if (!is_next) return false - } - - - - - - cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额 - cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额 - cart_item.total_amount = cart_item.total_amount.toFixed(2); - cart_item.order_amount = cart_item.order_amount.toFixed(2); - - //-- 最后的金额小于佣金 -- - if (cart_item.order_amount < cart_item.can_usecommise) { - - if (th.data.cart_use_commission) { - wx.showToast({ - title: '应付金额小于本单佣金,不可使用!', - icon: 'none', - duration: 2000 - }) - } - - th.setData({ - cart_use_commission: 0 - }); - - - } - - - if (th.data.cart_use_commission) { - cart_item.order_amount -= cart_item.can_usecommise; - } - - //搭配购在使用余额 - if (th.data.bn_use_money == 1 && th.data.is_b_now == 1) { - - if (umoney > cart_item.order_amount) { - cart_item.user_money = cart_item.order_amount; - umoney = umoney - cart_item.order_amount; - } else { - cart_item.user_money = umoney; - umoney = 0; - } - - } else { - //--------------如果使用余额,购物车购买--------------------- - if (th.data.js_use_money == 1) { - if (umoney > cart_item.order_amount) { - cart_item.user_money = cart_item.order_amount; - umoney = umoney - cart_item.order_amount; - } else { - cart_item.user_money = umoney; - umoney = 0; - } - } else { - cart_item.user_money = 0; - } - } - - cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2); - if (coupon_price > 0) cart_item.coupon_price = coupon_price.toFixed(2); - else cart_item.coupon_price = coupon_price - if (quan_no) cart_item.quan_no = quan_no; - - - //cart_item.goods_price = o_price.toFixed(2); - cart_item.order_amount = cart_item.order_amount - cart_item.user_money; //会员使用余额 - - - all_price += parseFloat(f_o_price); - all_total_m += parseFloat(cart_item.total_amount); - all_shipping_m += parseFloat(cart_item.shipping_price); - all_order_m += parseFloat(cart_item.order_amount); - all_user_m += parseFloat(cart_item.user_money); - all_coupon_price_m += parseFloat(cart_item.coupon_price); - all_cutprice += parseFloat(cart_item.cut_price); - - all_zh_cutprice += parseFloat((cart_item.zh_cut_price ? cart_item.zh_cut_price : '0')); - all_ladder_cutprice += parseFloat(cart_item.ladder_cut_price); - all_order_prom += parseFloat(cart_item.order_prom_amount); - } - - all_shipping_m = parseFloat(all_shipping_m).toFixed(2); - all_total_m = parseFloat(all_total_m).toFixed(2); - all_order_m = parseFloat(all_order_m).toFixed(2); - all_price = parseFloat(all_price).toFixed(2); - all_user_m = parseFloat(all_user_m).toFixed(2); - all_total_m = parseFloat(all_total_m).toFixed(2); - all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2); - all_cutprice = all_cutprice.toFixed(2); - all_order_prom = all_order_prom.toFixed(2); - all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2); - all_ladder_cutprice = parseFloat(all_ladder_cutprice).toFixed(2); - - var atxt = "formData.total_amount"; - var atxt1 = "formData.order_amount"; - var atxt2 = "formData.all_price"; - var atxt3 = "formData.user_money"; - var atxt4 = "formData.shipping_price"; - var atxt5 = "formData.coupon_price"; - var atxt6 = "formData.cut_price"; - var atxt7 = "formData.order_prom_amount"; - var atxt8 = "formData.zh_cut_price"; - var atxt9 = "formData.ladder_cut_price"; - - th.setData({ - [atxt]: all_total_m, [atxt1]: all_order_m, - [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m, - [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice, - [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice, [atxt9]: all_ladder_cutprice, submit: 0 - }) - th.data.order_prom_list_cart = c_arr; - th.set_can_num(); - wx.hideLoading(); - - //}); - }, - - set_can_num: function () { - var th = this; - //-- 这个地方,循环计算几张优惠券可用-- - for (var iter in th.data.cartlist) { - var num = 0; - var c_item = th.data.cartlist[iter]; - var pkid = c_item.pickup_id; - //-- 普通券 -- - if (c_item.quan_list) { - for (var iter1 in c_item.quan_list) { - //判断是不是其他订单有选用 - var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid); - if (!is_other_is_use) num++; - } - } - //-- 包邮券 -- - var by_quan = th.data.get_by_quan_list_cart[pkid]; - if (by_quan && c_item.exp_type == 0) { - for (var iter2 in by_quan) { - //判断是不是其他订单有选用 - var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid); - if (!is_other_is_use) num++; - } - } - var set_txt = "cartlist[" + iter + "].can_num"; - th.setData({ [set_txt]: num }); - } - }, - - - //---------计算立即购买---------- - calculatePrice2: async function (qfunc) { - var th = this, good = this.data.bn_goods; - - if (!good) return false; - - //搭配的计算要用购物的车计算方法 - if (good.prom_type == 5) { - th.calculatePrice(); - return false; - } - - th.setData({ submit: 1 }); - wx.showLoading({ - title: "处理中.", - mask: true - }) - - //-----------计算商品总价-------------- - var allpice = good.shop_price * good.buynum; - var cut_price = 0; - var allpice1 = allpice; - - - if (good.prom_type == 3 && good.prom_price !== null) { - cut_price = allpice - good.prom_price; - } - - allpice = parseFloat(allpice).toFixed(2); - var txt = "formData.all_price"; - th.setData({ [txt]: allpice, }); - if (cut_price) { - var c_txt = "formData.cut_price"; - th.setData({ [c_txt]: cut_price, }); - - } - - //如果有线下取价的时候 - if (good.is_offline) { - allpice = good.offline_price * good.buynum; - } - - //to.getwuliuprice(async function (rs) { - - var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; - var out_of_weight = null; //超出多少重量 - - //---如果有选择优惠券的情况下--- - var quan_price = 0, bn_pick = th.data.bn_pick; - var quan_no = null; - if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined) - quan_no = th.data.using_quan[bn_pick].coupon_no; - - if (quan_no) { - //如果是一件代发就不要找商品 - if (th.data.using_quan[bn_pick].isby != 1 && !good.whsle_id) { - //---获取优惠券优惠--- - await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { - data: { - storeId: oo.stoid, - CashRepNo: quan_no, - WaresSum: th.data.ckeck_quan_price, - WareIds: th.data.check_quan_ware_list - } - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { - quan_price = res.data.data[0].WareCashSum; - } - }) - } - } - - var gd_arr_list = []; - gd_arr_list.push(good); - if (th.data.buy_now_gift_goods) { - gd_arr_list = [...gd_arr_list, ...th.data.buy_now_gift_goods]; - } - - //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- - if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_past != 1) { - //看是不是有调用过包邮券 - if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) { - var condition = allpice - cut_price - quan_price; - //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱--- - getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { - data: { - store_id: os.stoid, - isuse: 0, - condition: condition, - user_id: getApp().globalData.user_id, - pageSize: 2000 - } - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - //此时要循环判断包邮的地区,不包邮商品是不是符合 - var arr = [], quanlist = res.data.data.pageData; - quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1); - for (var i in quanlist) { - var item = quanlist[i]; - if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域 - if (item.goods_list) { - var no_goods_arr = item.goods_list.split(","); - if (ut.isContained(no_goods_arr, gd_arr_list)) continue; //如果是不包邮商品 - } - arr.push(item); - } - if (arr) { - th.setData({ get_by_quan_list: arr }); - } - th.data.isget_by_quan[th.data.bn_pick] = 1; - } - }) - } - - var shipping_price = 0; - var quan_no_goods_arr = null; - var is_by_quan = 0; - var pickid = th.data.bn_pick; - - //如果是包邮券的时候,要看看券的情况,判断一下包邮有没有不包邮模板 - if (quan_no && th.data.using_quan[pickid].isby == 1) { - var quan = th.data.using_quan[pickid]; - if (quan.goods_list) { - quan_no_goods_arr = quan.goods_list.split(","); - } else { - is_by_quan = 1; - } - } - if (!is_by_quan) { - var user_addr = th.data.user_addr; - var req_d = { - province: user_addr.province, - city: user_addr.city, - district: user_addr.district, - 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 (quan_no_goods_arr) { - if (back_data && back_data.no_free_goods) { - back_data['is_by_all'] = 1; - var arr3 = back_data.no_free_goods.filter(item => { - return quan_no_goods_arr.includes(item) - }) - back_data.no_free_goods = null; - if (arr3.length) { - back_data.no_free_goods = arr3; - } - } - if (!back_data || !back_data.no_free_goods) { - if (!back_data) back_data = {}; - back_data['is_by_all'] = 1; - back_data['no_free_goods'] = quan_no_goods_arr; - } - } - - var cut_good_weight = 0; - for (let i in gd_arr_list) { - let item = gd_arr_list[i]; - - if (good.is_free_shipping == 1) continue; - //-- 代发商品不算运费 -- - if (good.whsle_id) continue; - - 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 += parseInt(item['buynum']); - break; - } - } - - //如果是正值的时候 - 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; - th.data.is_no_by[th.data.bn_pick] = 0; - th.data.is_by[th.data.bn_pick] = 0; - - //--------------开始计算物流------------------ - // 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 is_ok = 1; - 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; - } else { - is_ok = 0; - } - }) - - if (!is_ok) { - wx.hideLoading(); - wx.showToast({ - title: "计算物流错误", icon: 'none', duration: 2000 - }) - //th.setData({ show_submit:0 }); - - 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, }) - } - - if (quan_no) { - if (th.data.using_quan[bn_pick].isby == 1) { - shipping_price = 0; - var wl_txt = "formData.shipping_price"; - 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 (th.data.bn_goods.whsle_id > 0) { - o_condition = 0; - } - if (o_condition > 0) { - 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] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) { - var ord_prom = th.data.order_prom[th.data.bn_pick]; - //么有使用券,或者活动没有限制使用优惠券 - 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.bn_exp_type == 2 && th.data.user_addr) { - var gd_w = 0, lon = 0, lat = 0; - for (let ib in gd_arr_list) { - let item_b = gd_arr_list[ib]; - gd_w += item_b['weight'] * item_b['buynum']; - } - - //-- 获取距离 -- - 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 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; - if (qfunc) { - qfunc(); - } else { - 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); - - 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) < parseFloat(th.data.bn_goods.use_commission)) { - - if (th.data.bn_use_commission) { - wx.showToast({ - title: '应付金额小于本单佣金,不可使用!', - icon: 'none', - duration: 2000 - }) - } - - th.setData({ - bn_use_commission: 0 - }); - - - } - - 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, submit: 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, submit: 0 }) - } - } else { - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 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 }); - } - - //专享礼包 - if (good.zx_libao) { - var l_txt = "formData.give_zxlb_id"; - //这个是json格式的 - var l_txt1 = "formData.g_zxlb_num"; - var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; - ob = JSON.stringify(ob); - th.setData({ [l_txt]: good.zx_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 gd_w = 0, lon = 0, lat = 0; - for (let ib in gd_arr_list) { - let item_b = gd_arr_list[ib]; - gd_w += item_b['weight'] * item_b['buynum']; - } - - //-- 获取距离 -- - 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 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; - if (qfunc) { - qfunc(); - } else { - 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"; - - total_m = total_m.toFixed(2); - order_m = order_m.toFixed(2); - - th.setData({ [atxt]: total_m, }) - - var txt = "formData.user_money"; - var txt2 = "formData.order_amount"; - var txt3 = "formData.coupon_price"; - - //-- 最后的金额小于佣金 -- - if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) { - - if (th.data.bn_use_commission) { - wx.showToast({ - title: '应付金额小于本单佣金,不可使用!', - icon: 'none', - duration: 2000 - }) - } - - th.setData({ - bn_use_commission: 0 - }); - } - - - 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, submit: 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, submit: 0 }) - } - } else { - th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 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 }); - } - - //专享礼包 - if (good.zx_libao) { - var l_txt = "formData.give_zxlb_id"; - //这个是json格式的 - var l_txt1 = "formData.g_zxlb_num"; - var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }]; - ob = JSON.stringify(ob); - th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob }); - - } - } - - wx.hideLoading(); - - //}); - - }, - - requestSubscribe() { - const th = this; - const template_id = this.data.template_id; - wx.getSetting({ - withSubscriptions: true, - success(res) { - let itemSettings = res.subscriptionsSetting.itemSettings; - if (itemSettings && itemSettings[template_id] == "accept") { - //要检查一下赠品有可以足够 - th.sub_check_gift(function () { - th.submit_func(); - }) - - } else { - th.sendsm(function () { - //要检查一下赠品有可以足够 - th.sub_check_gift(function () { - th.submit_func(); - }) - }) - } - } - }) - this.setData({ - submit: 1, - }) - }, - - - //分配代发商品 - add_df_goods(good, df_goods, whsle_id, room_id) { - var df_price = parseFloat(good.goods_num * good.goods_price); - - var index = df_goods.findIndex(function (e) { - return e.whsle_id == whsle_id - }) - if (index > -1) { - df_goods[index].df_price += df_price; - df_goods[index].df_goods.push(good); - - if (room_id) { - if (!df_goods[index].df_room_ids) - df_goods[index].df_room_ids = ""; - df_goods[index].df_room_ids += room_id + ","; - - } - - } else { - var e = { - whsle_id: whsle_id, - df_price: df_price, - df_goods: [] - } - if (room_id) e.df_room_ids = room_id + ',' - - e.df_goods.push(good); - df_goods.push(e); - } - - }, - async submit_func(){ - let cartlist = this.data.cartlist - let allarr=[] - let strarr=[] - let cbarr=[] - let cbarr_id=[] - for (let index = 0,length=cartlist.length; index < length; index++) { - let item=cartlist[index].goods - for (let i = 0,leng=item.length; i < leng; i++) { - if (item[i].prom_type==7) { - strarr.push(item[i]) - } - if (item[i].prom_type !=7 && item[i].goods_prom_type==7) { - allarr.push(item[i]) - } - } - } - if(strarr.length>0){ - if(allarr.length>0){ - allarr.map(item=>{ - let aitem = strarr.find(ite=>item.goods_prom_id==ite.goods_prom_id) - if(aitem){ - strarr.push(item) - } - }) - } - - for (let j = 0,length=strarr.length; j < length; j++) { - - let userbuynum = await this.getUserBuyPromNum(strarr[j].goods_prom_id) - if (userbuynum >=strarr[j].act.buy_limit) { - cbarr.push(strarr[j].goods_name) - cbarr_id.push(strarr[j].id) - } - } - if(cbarr.length>0){ - let str = cbarr.join() - wx.showModal({ - title: '提示', - content: `${str}超出组合购限购次数,将以普通商品购买`, - success: async (res)=>{ - if (res.confirm) { - //-- 数据的更新 -- - for (let k = 0,length=cbarr_id.length; k < length; k++) { - let data = { - id: cbarr_id[k], - selected: 1, - store_id: oo.stoid, - prom_type:0, - prom_id:0 - }; - await getApp().request.promisePut("/api/weshop/cart/update", { - data:data - }); - } - - wx.reLaunch({ - url: '/pages/cart/cart2/cart2', - }) - } else if (res.cancel) { - console.log('用户点击取消') - this.setData({ - submit:0 - }) - } - } - }) - }else{ - this.submit_func2() - } - }else{ - this.submit_func2() - } - }, - - //获取用户活动参与次数 - async getUserBuyPromNum(prom_id){ - var userInfo = getApp().globalData.userInfo; - var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`; - let res = await getApp().request.promiseGet(url, { - data:{} - }); - let userbuynum=0 - if(res.data.code==0 && res.data.data){ - userbuynum=res.data.data.userbuynum - } - return userbuynum - }, - - //--------------------提交订单----------------------- - async submit_func2() { - - if (this.data.is_summit_ing) return false; - this.data.is_summit_ing = 1; - - var th = this, pdata = new Array(); - var ff = true; - //------------立即购买------------- - if (th.data.is_b_now == 1 && th.data.bn_goods.prom_type != 5) { - if (th.data.bn_exp_type == 0 && th.data.user_addr == null) { - ff = false; - getApp().my_warnning("请选择收货地址", 0, th); - th.data.is_summit_ing = 0; - } - if (!ff) return false; - var addr = th.data.user_addr; - if (th.data.bn_exp_type == 1) addr = null; - if (th.data.bn_exp_type == 0) - if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) { - getApp().my_warnning("读取物流失败", 0, th); - th.data.is_summit_ing = 0; - return false; - } - - var item = { - 'user_id': to.globalData.user_id, - 'consignee': addr == null ? "" : addr.consignee, - 'province': addr == null ? 0 : addr.province, - 'city': addr == null ? 0 : addr.city, - 'district': addr == null ? 0 : addr.district, - 'twon': addr == null ? 0 : addr.twon, - 'address': addr == null ? "" : addr.address, - 'more_address': addr == null ? "" : addr.more_address, - //'mobile': th.data.userinfo.mobile, - 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile, - 'email': '', - 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code, - 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name, - 'invoice_title': '', - 'goods_price': parseFloat(th.data.formData.all_price).toFixed(2), //商品总价 - 'shipping_price': parseFloat(th.data.formData.shipping_price).toFixed(2), //物流金额 - 'user_money': parseFloat(th.data.formData.user_money).toFixed(2), //使用余额 - 'total_amount': parseFloat(th.data.formData.total_amount).toFixed(2), //订单总价 - 'order_amount': parseFloat(th.data.formData.order_amount).toFixed(2), //应付 - 'user_note': th.data.user_note['0'] ? th.data.user_note['0'] : "", //用户备注 - 'store_id': oo.stoid, //商家 - 'pickup_id': th.data.bn_pick, //门店 - 'exp_type': th.data.bn_exp_type, //配送方式 - 'order_goods': new Array(), - }; - //是不是重新提交 - if (th.data.is_continue == 1) item.is_continue = 1; - - //-- 如果有使用佣金抵扣的话 -- - if (th.data.bn_use_commission) { - item.use_commission = th.data.bn_goods.use_commission; - } - - //获取立即购买的商品的信息 - var gg = to.get_b_now(); - //--商品的房间号-- - if (gg.room_id && gg.room_id > 0) { - item.room_ids = gg.room_id; - } - - var order_prom_list = {}; - //--判断有没有优惠活动-- - if (th.data.order_prom[item.pickup_id]) { - 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; - } - } - - //--判断优惠活动的提交-- - if (th.data.formData.cut_price > 0) { - order_prom_list.discount_amount = th.data.formData.cut_price.toFixed(2); - var ob = [{ - "prom_id": th.data.bn_goods.prom_id, - "dis": parseFloat(th.data.formData.cut_price).toFixed(2), - "ispt": 0 - }] - order_prom_list.prom_pt_json = JSON.stringify(ob); - } - if (th.data.formData.give_integral > 0) { - order_prom_list.give_integral = th.data.formData.give_integral; - } - if (th.data.formData.give_coupon_id > 0) { - order_prom_list.give_coupon_id = th.data.formData.give_coupon_id; - order_prom_list.g_coupon_num = th.data.formData.g_coupon_num; - } - if (th.data.formData.give_lb_id > 0) { - order_prom_list.give_lb_id = th.data.formData.give_lb_id; - order_prom_list.g_lb_num = th.data.formData.g_lb_num; - } - //--- 专享礼包 --- - if (th.data.formData.give_zxlb_id > 0) { - order_prom_list.give_zxlb_id = th.data.formData.give_zxlb_id; - order_prom_list.g_zxlb_num = th.data.formData.g_zxlb_num; - } - - item.order_prom_list = order_prom_list; - - //组装优惠券的钱 - if (parseFloat(th.data.formData.coupon_price) > 0) { - item.coupon_price = th.data.formData.coupon_price; - item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; - } - if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby) { - item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; - item.coupon_price = 0; - } - - //老会员成为分销下线需要的参数 - if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) { - //判断一下分享人是不是分享商 - await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => { - if (res.data.code == 0) { - var user = res.data.data; - if (user.is_distribut == 1) { - item.first_leader = parseInt(getApp().globalData.first_leader); - } - } - }) - } - - - var goods = { - 'goods_id': gg.goods_id, - 'goods_name': gg.goods_name, - 'goods_sn': gg.goods_sn, - 'goods_num': gg.goods_num, - 'market_price': th.data.bn_goods.market_price, - 'goods_price': th.data.bn_goods.shop_price, - 'member_goods_price': th.data.bn_goods.shop_price, - 'store_id': oo.stoid, - 'prom_type': th.data.bn_goods.prom_type, //促销活动类型 - 'prom_id': th.data.bn_goods.prom_id, //促销活动id - }; - - if (th.data.bn_goods.whsle_id) { - item.is_whsle = 1; - item.whsle_id = th.data.bn_goods.whsle_id; - goods.is_whsle_goods = 1; - } - - if (getApp().globalData.skinface_id) { - goods.skinface_id = getApp().globalData.skinface_id; - } - - //-- 把导购的信息填入-- - if (gg.guide_id) { - goods.guide_id = gg.guide_id; - goods.guide_type = gg.guide_type; - //调用接口判断是不是会员 - await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => { - if (res.data.code == 0) { - goods.guide_name = res.data.data.salesman; - goods.guide_sn = res.data.data.salesman_no; - } - }) - } - - //--商品的房间号-- - if (gg.room_id && gg.room_id > 0) { - goods.room_id = gg.room_id; - } - - //积分购,先要带is_integral_normal=1 - if (gg.is_integral_normal) { - goods.is_integral_normal = 1; item.is_normal = 1; - } - - //先要带is_pd_normal=1 - if (gg.is_pd_normal) { - goods.is_pd_normal = 1; item.is_normal = 1; - } - - - //如果不立即购买或者秒杀,如果是线下库存购买的时候 - if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id) { - var isok = 1; - await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { - isok = res; - }); - if (!isok) { - getApp().confirmBox("商品的门店库存不足"); - th.data.is_summit_ing = 0; - return false; - } - } - - //-- 如果有线下取价的话 -- - if (th.data.bn_goods.is_offline) { - item.sum_offline_cut = (th.data.bn_goods.shop_price - th.data.bn_goods.offline_price).toFixed(2); - goods.offline_cut = item.sum_offline_cut; - goods.pricing_type = th.data.bn_goods.pricing_type; - goods.goods_price = th.data.bn_goods.offline_price; - goods.member_goods_price = th.data.bn_goods.offline_price; - } - - //--- 如果有优惠促销的金额,要把金额先平摊下去 --- - if (th.data.formData.cut_price > 0 && !th.data.ispt_goods) { - var g_arr = new Array(); - g_arr.push(goods); - var pt_data = { - 'prom_id': goods.prom_id, - 'dis': parseFloat(th.data.formData.cut_price), - 'goods': g_arr, - } - - var pt_res = null; - await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { - is_json: 1, - data: pt_data - }).then(res => { - if (res.data.code == 0) { - pt_res = res.data.data; - } - }) - - if (pt_res) { - //平摊赋值 - goods.account = pt_res[0].fisrt_account; - goods.account_yu = pt_res[0].fisrt_account_yu; - item.is_discount_amount = 1; - } - } - - //--组装优惠券的钱-- - if (th.data.formData.coupon_price) { - item.coupon_price = th.data.formData.coupon_price; - item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no; - goods.quan_num = th.data.formData.coupon_price; - goods.quan_no = item.coupon_no; - } - - item.order_goods.push(goods); - - //--如果有赠品的时候,赠品也要提交--- - if (th.data.buy_now_gift_goods) { - var gift_gg_arr = th.data.buy_now_gift_goods; - for (let i in gift_gg_arr) { - let gift_gg = gift_gg_arr[i]; - var g_goods = { - 'goods_id': gift_gg.goods_id, - 'goods_name': gift_gg.goods_name, - 'goods_sn': gift_gg.goods_sn, - 'goods_num': gift_gg.buynum, - 'market_price': gift_gg.market_price, - 'goods_price': 0, - 'member_goods_price': 0, - 'store_id': oo.stoid, - 'is_gift': 1, - 'gift_id': gift_gg.gift_id, - 'prom_id': gift_gg.prom_id, - }; - //-- 把导购的信息填入-- - if (gg.guide_id) { - g_goods.guide_id = gg.guide_id; - g_goods.guide_type = gg.guide_type; - //调用接口判断是不是会员 - await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => { - if (res.data.code == 0) { - g_goods.guide_name = res.data.data.salesman; - g_goods.guide_sn = res.data.data.salesman_no; - } - }) - } - item.order_goods.push(g_goods); - - } - - } - pdata.push(item); - } else { - - //---------购物车的结算--------- - if (th.data.is_all_zt == 0 && th.data.user_addr == null) { - th.data.is_summit_ing = 0; - ff = false; - getApp().confirmBox("请新建收货地址"); - } - if (!ff) return false; - - var addr = th.data.user_addr; - // 自提,地址数据清空 exp_type设置为1 - if (th.data.is_all_zt == 1) addr = null; - var val_arr = th.data.user_note; - - if (th.data.is_all_zt != 1) - if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) { - th.data.is_summit_ing = 0; - getApp().confirmBox("读取物流失败"); - return false; - } - - var order_prom_list_cart = th.data.order_prom_list_cart; - - //--组装推送数据-- - for (var i = 0; i < order_prom_list_cart.length; i++) { - var t_item = order_prom_list_cart[i]; - var item = { - 'user_id': to.globalData.user_id, - 'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee, - 'province': addr == null ? 0 : addr.province, - 'city': addr == null ? 0 : addr.city, - 'district': addr == null ? 0 : addr.district, - 'twon': addr == null ? 0 : addr.twon, - 'address': addr == null ? "" : addr.address, - 'more_address': addr == null ? "" : addr.more_address, - 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile, - 'email': '', - 'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code, - 'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name, - 'invoice_title': '', - 'goods_price': parseFloat(t_item.goods_price).toFixed(2), //商品总价 - 'shipping_price': parseFloat(t_item.shipping_price).toFixed(2), //物流金额 - 'user_money': parseFloat(t_item.user_money).toFixed(2), //使用余额 - 'total_amount': parseFloat(t_item.total_amount).toFixed(2), //订单总价 - 'order_amount': parseFloat(t_item.order_amount).toFixed(2), //应付 - 'user_note': val_arr[i], //用户备注 - 'store_id': oo.stoid, //商家 - 'pickup_id': t_item.pickup_id, //门店 - 'exp_type': t_item.exp_type, //配送方式 - 'order_goods': new Array(), - }; - //是不是重新提交 - if (th.data.is_continue == 1) item.is_continue = 1; - //----- 如果有线下取价的话 ---- - if (t_item.is_offline == 1) { - item.sum_offline_cut = t_item.offline_price.toFixed(2); - } - - //组装优惠券的钱 - if (t_item.coupon_price) { - item.coupon_price = t_item.coupon_price; - item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no; - } else if (t_item.quan_no) { - item.coupon_no = t_item.quan_no; - item.coupon_price = 0; - } - - //-- 如果有使用佣金抵扣的话 -- - if (th.data.cart_use_commission) { - item.use_commission = t_item.can_usecommise; - } - - var order_prom_list = {}; - //--判断有没有优惠活动-- - if (t_item.order_prom_amount > 0) { - order_prom_list.order_prom_id = t_item.order_prom_id; - order_prom_list.order_prom_amount = t_item.order_prom_amount; - } - - order_prom_list.discount_amount = 0; - //--判断优惠活动的提交-- - if (t_item.cut_price > 0) { - order_prom_list.discount_amount += t_item.cut_price; - } - //--判断组合优惠活动的提交-- - if (t_item.zh_cut_price > 0 || t_item.zh_cut_price < 0) { - order_prom_list.discount_amount += t_item.zh_cut_price; - order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json); - } - - //--判断阶梯优惠活动的提交-- - if (t_item.ladder_cut_price > 0 || t_item.ladder_cut_price < 0) { - order_prom_list.discount_amount += t_item.ladder_cut_price; - } - - if (t_item.prom_pt_json) { - order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json); - } - - if (t_item.s_intValue > 0) { - order_prom_list.give_integral = t_item.s_intValue; - } - if (t_item.s_coupon_id) { - order_prom_list.give_coupon_id = t_item.s_coupon_id; - order_prom_list.g_coupon_num = JSON.stringify(t_item.g_coupon_num); - } - if (t_item.s_libao) { - order_prom_list.give_lb_id = t_item.s_libao; - order_prom_list.g_lb_num = JSON.stringify(t_item.g_lb_num); - } - - //-- 送专享礼包的时候 -- - if (t_item.zx_libao) { - order_prom_list.give_zxlb_id = t_item.zx_libao; - order_prom_list.g_zxlb_num = JSON.stringify(t_item.g_zxlb_num); - } - - if (Object.keys(order_prom_list).length > 0) { - if (order_prom_list.discount_amount) - order_prom_list.discount_amount = parseFloat(order_prom_list.discount_amount).toFixed(2); - if (order_prom_list.order_prom_amount) - order_prom_list.order_prom_amount = parseFloat(order_prom_list.order_prom_amount).toFixed(2); - - item.order_prom_list = order_prom_list; - } - - - //老会员成为分销下线需要的参数 - if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) { - //判断一下分享人是不是分享商 - await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => { - if (res.data.code == 0) { - var user = res.data.data; - if (user.is_distribut == 1) { - item.first_leader = parseInt(getApp().globalData.first_leader); - } - } - }) - } - - - //房间号的ids - var room_ids = ""; - - //-- 把券的钱,写入从表 --- - if (t_item.quan_youhui_list && t_item.coupon_price) { - for (var kk in t_item.quan_youhui_list) { - var you_item = t_item.quan_youhui_list[kk]; - //-- 对券的价格进行平摊 -- - await th.split_set_goods_quanprice(you_item, t_item); - } - } - - //代发商品的集合 - var df_goods = []; - var df_price = 0; - var df_room_ids = ""; - - - var check_map = {}; - - //-------------让商品添加到商品列表-------------------- - for (var k = 0; k < t_item.goods.length; k++) { - - console.log("222"); - var g_item = t_item.goods[k]; - if (g_item.goods_num <= 0) continue; - var goods = { - 'goods_id': g_item.goods_id, - 'goods_name': g_item.goods_name, - 'goods_sn': g_item.goods_sn, - 'goods_num': g_item.goods_num, - 'market_price': g_item.market_price, - 'goods_price': g_item.goods_price, - 'member_goods_price': g_item.goods_price, - 'store_id': oo.stoid, - }; - - if (getApp().globalData.skinface_id) { - goods.skinface_id = getApp().globalData.skinface_id; - } - - //-- 线下取价也要写入,组合购的商品不能去线下价格 -- - if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type != 7) { - goods.goods_price = g_item.offline_price; - goods.member_goods_price = g_item.offline_price; - goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2); - goods.pricing_type = g_item.pricing_type; - } - if (g_item.quan_num) { - goods.quan_num = g_item.quan_num; - goods.quan_no = g_item.quan_no; - } - //--判断活动的类型-- - switch (g_item.prom_type) { - case 1: - case 2: - case 10: - goods.prom_type = g_item.prom_type; - goods.prom_id = g_item.prom_id; - break; - case 3: - goods.prom_type = 3; - goods.prom_id = g_item.prom_id; - if (g_item.is_gift) { - goods.is_gift = g_item.is_gift; - goods.gift_id = g_item.gift_id; - } - break; - case 5: - goods.prom_type = 5; - goods.prom_id = g_item.prom_id; - if (g_item.is_collocation) { - goods.is_collocation = g_item.is_collocation; - } - break - case 7: - goods.prom_type = 7; - goods.prom_id = g_item.prom_id; - break - default: - goods.prom_type = 0; - goods.prom_id = 0; - } - - var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift; - //--赠品的时候,阶梯促销会右重复的情况 -- - if (check_map[txt] && goods.prom_type != 10) { - getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); - return false; - } else { - check_map[txt] = 1; - } - - //如果不立即购买或者秒杀,如果是线下库存购买的时候 - if (goods.prom_type == 0 && th.data.sales_rules >= 2) { - var isok = 1; - await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { - isok = res; - }); - if (!isok) { - getApp().confirmBox(goods.goods_name + "的门店库存不足"); - th.data.is_summit_ing = 0; - return false; - } - } - - //把优惠的平摊结果写进去 - if (g_item.account >= 0 || (g_item.account_yu != 0 && g_item.account != undefined)) { - if (g_item.account >= 0) goods.account = g_item.account; - if (g_item.account_yu != 0) goods.account_yu = g_item.account_yu; - item.is_discount_amount = 1; - } - - //导购ID - if (g_item.guide_id) { - goods.guide_id = g_item.guide_id; - goods.guide_type = g_item.guide_type; - //调用接口判断是不是会员 - await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + g_item.guide_id, {}).then(res => { - if (res.data.code == 0) { - goods.guide_name = res.data.data.salesman; - goods.guide_sn = res.data.data.salesman_no; - } - }) - } - - //如果有阶梯促销 - if (g_item.ladder_list_id) { - goods.ladder_list_id = g_item.ladder_list_id; - } - - //-- 如果有代发商品,就要开始拆单 -- - if (g_item.whsle_id && t_item.goods.length > 1) { - df_price += parseFloat(g_item.goods_num * g_item.goods_price); - goods.is_whsle_goods = 1; - th.add_df_goods(goods, df_goods, g_item.whsle_id, g_item.room_id); - - //df_goods.push(goods); - // df_room_ids += g_item.room_id + ","; - } else { - - //-- 如果只有一件的时候,商品又是代发商品,订单的状态要改成代发订单 -- - if (g_item.whsle_id) { - goods.is_whsle_goods = 1; - item.is_whsle = 1; - item.whsle_id = g_item.whsle_id - } - - item.order_goods.push(goods); - //如果房间号不为空的时候 - if (g_item.room_id) { - goods.room_id = g_item.room_id; - room_ids += g_item.room_id + ","; - } - } - } - - - - - //如果房间号不为空的时候 - if (room_ids != "") item.room_ids = ut.sub_last(room_ids); - - //处理代发商品的拆分 - if (df_goods.length > 0) { - - - - item.goods_price = parseFloat(item.goods_price - df_price).toFixed(2); - item.total_amount = parseFloat(item.total_amount - df_price).toFixed(2); - - for (let j = 0; j < df_goods.length; j++) { - - var df_item = JSON.parse(JSON.stringify(item)); - - var ddff_item = df_goods[j]; - - df_item.is_whsle = 1; - df_item.whsle_id = ddff_item.whsle_id; - df_item.is_discount_amount = 0; - df_item.goods_price = ddff_item.df_price; - df_item.total_amount = ddff_item.df_price; - df_item.shipping_price = 0; //没有运费 - if (df_item.order_prom_list) df_item.order_prom_list = {}; - if (df_item.coupon_price) delete (df_item.coupon_price); - if (df_item.coupon_no) delete (df_item.coupon_no); - - //看一下是用余额比较多,还是用钱比较多 - if (item.order_amount > item.user_money) { - if (item.order_amount > ddff_item.df_price) { - item.order_amount = parseFloat(item.order_amount - ddff_item.df_price).toFixed(2); - df_item.order_amount = ddff_item.df_price.toFixed(2); - } else { - var more_p = parseFloat(ddff_item.df_price - item.order_amount).toFixed(2); - item.order_amount = 0; - item.user_money = parseFloat(item.user_money - more_p).toFixed(2); - df_item.user_money = more_p; - } - } else { - - if (item.user_money > ddff_item.df_price) { - item.user_money = parseFloat(item.user_money - ddff_item.df_price).toFixed(2); - df_item.user_money = ddff_item.df_price.toFixed(2); - } else { - var more_p = parseFloat(ddff_item.df_price - item.user_money).toFixed(2); - item.user_money = 0; - item.order_amount = parseFloat(item.user_money - more_p).toFixed(2); - df_item.order_amount = more_p; - - } - } - - if (ddff_item.df_room_ids) - df_item.room_ids = ut.sub_last(ddff_item.df_room_ids); - df_item.order_goods = ddff_item.df_goods; - pdata.push(df_item); - } - - - } - //如果只有代发商品的时候 - if (item.order_goods.length > 0) { - //item.order_goods=df_goods; - //item.is_whsle=1; - pdata.push(item); - } - - } - - } - - if (pdata.length == 0) return; - var str = JSON.stringify(pdata); - - wx.showLoading({ title: "加载中" }); - th.setData({ submit: 1, }) - wx.request({ - url: oo.url + '/api/weshop/order/createWxdOrder', - data: str, - method: 'POST', - header: { - 'content-type': 'application/json' - },// 设置请求的 header - success: function (res) { - wx.hideLoading(); - if (res.statusCode == 200) { - var data = res.data; - if (data.code == 0) { - th.setData({ submit: 1, }) - //如果是购物车结算,还要删除购物车 - if (th.data.is_b_now == 0) { - console.log(th.data.cartlist_y); - var list = th.data.cartlist_y; - for (var i = 0; i < list.length; i++) { - //删除购物车 - a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {}); - } - } - var order_amount = 0; - pdata.forEach(function (em, ind) { - order_amount += parseFloat(em.order_amount); - }) - //要进行判断,如果是用微信支付,就要跳转到支付界面 - if (order_amount > 0) { - th.setData({ isclose: 0 }); - //void e.jumpToCart4({ - // order_sn: data.data, - //}, 1); - util_pay.pay(data.data, function () { - //app.my_warnning("支付成功",1,th); - //setTimeout(function () { - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data - }) - //},1000) - - }, function () { - - - return false; - //支付失败 - setTimeout(function () { - var cps = getCurrentPages(); - if (cps.length > 1) { - wx.navigateBack({ delta: 1 }) - } else { - getApp().goto("/pages/index/index/index"); - } - - }, 1000) - }, oo.stoid); - - } else { - var dd = { - parent_sn: data.data, - store_id: oo.stoid, - type: 2, - }; - a.post("/api/weshop/order/pay/createOrder", { - data: dd, - success: function (t) { - //console.log(t); - if (t.data.code == 0) { - //app.my_warnning("支付成功",1,th); - //setTimeout(function () { - th.setData({ isclose: 0 }); - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, - }) - //}, 1000) - } - }, - fail: function () { - - } - }); - } - - } - else { - //--内容换行-- - var msg = data.msg; - //赠品活动已经取消,无法赠送,是否继续买单? - if (msg.indexOf("是否继续买单") > 0) { - wx.showModal({ - title: "提示", - content: data.msg, - cancelText: '取消', - confirmText: '确定', - showCancel: true, - success(res) { - if (res.cancel) { - return; - } else if (res.confirm) { - th.data.is_continue = 1; - th.data.is_summit_ing = 0; //是否提交中 - th.submit_func(); - } - } - }) - return; - } else { - if (msg.length > 13) { - msg = msg.slice(0, 13) + "\r\n" + msg.slice(13); - } - getApp().confirmBox(msg); - th.data.is_summit_ing = 0; //是否提交中 - th.setData({ - submit: 0, - }) - } - - - } - } else { - th.data.is_summit_ing = 0; //是否提交中 - console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); - th.setData({ - submit: 0, - }) - } - }, - fail: function () { - th.data.is_summit_ing = 0; - wx.hideLoading(); - console.log("index.js wx.request CheckCallUser fail"); - th.setData({ - submit: 0, - }) - } - }) - - }, - //---确认线下门店的数量足不足--- - async check_store_num(goods_id, pick, goods_num, func) { - var lock = 0, pick_no, plist, erpwareid; - - var lock_rq = { store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 }; - if (this.data.sales_rules == 3) { - lock_rq.appoint_pick_keyid = this.data.appoint_pick_keyid; - delete lock_rq.storageId - } - //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { - data: lock_rq - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - for (var i in res.data.data.pageData) - lock += res.data.data.pageData[i].outQty; - } - }) - - if (this.data.sales_rules == 2) { - //先获取门店的编号 - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, { - data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } - }).then(res => { - if (res.data.code == 0) { - pick_no = res.data.data.pickup_no; - } - }) - } - - //先获取商品的线下库存 - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { - data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } - }).then(res => { - if (res.data.code == 0) { - erpwareid = res.data.data.erpwareid; - } - }) - - - var sto_rq = { storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 }; - if (this.data.sales_rules == 3) { - sto_rq.storageIds = this.data.appoint_pick_keyid; - delete sto_rq.storageNos - } - - //读取线下的门店库存 - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { - data: sto_rq - }).then(res => { - if (res.data.code == 0) { - plist = res.data.data.pageData[0]; - } - }) - - var isok = 1; - if (goods_num > plist.CanOutQty - lock) { - isok = 0; - } - func(isok); - }, - - useCoupon: function () { - if (this.data.order.couponNum <= 0) { - getApp().my_warnning("无可用优惠券", 0, this); - return; - } - - var a = { - lid: this.data.coupon ? this.data.coupon.id : "0" - }; - wx.navigateTo({ - url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a) - }); - }, - enterAddressPage: function () { - getApp().globalData.is_cart_old = 1; - this.data.isget_by_quan = {}; - this.data.enterAddressPage = !0, wx.navigateTo({ - url: "/pages/user/address_list/address_list" - }); - }, - - //--------购物车购买时,选择自提和物流----------- - setexptype_w: function (t) { - - var def_exp_code = getApp().globalData.userInfo.def_exp_code, th = this; - var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt, - wl_txt = t.currentTarget.dataset.wl_txt, - ont = t.currentTarget.dataset.ont; - - th.setData({ [txt]: ty }); - var iszt = 1; - - if (ty == 0) { - th.setData({ is_all_zt: 0 }); - } else { - for (var i = 0; i < th.data.cartlist.length; i++) { - var item = th.data.cartlist[i]; - if (item.exp_type == 0 || item.exp_type == 2) { - iszt = 0; - break; - } - } - - th.setData({ is_all_zt: iszt }); - - var ind = t.currentTarget.dataset.ind; - var c_item = th.data.cartlist[ind]; - var pickid = c_item.pickup_id; - - if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1) { - th.data.using_quan[pickid] = {}; - th.setData({ using_quan: th.data.using_quan }); - } - - - } - //判断有没有默认的物流地址值 - if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) { - var wu_arr = this.data.wu_arr; - if (wu_arr != null && wu_arr != "") { - for (var i = 0; i < wu_arr.length; i++) { - if (wu_arr[i].shipping_code == def_exp_code) { - var set_txt = "cartlist" - th.setData({ wl_txt: i }); - } - } - } - } - //----计算此时购物车的价格---- - th.calculatePrice(); - }, - - //--------立即购买时,选择自提和物流---------- - setexptype: function (t) { - var th = this; - var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code; - th.setData({ bn_exp_type: ty }); - if (ty == 0) { - th.setData({ is_all_zt: 0 }); - } - - //当物流为空的时候。 - if (ty == 0 && th.data.wu_arr == null) { - th.data.isget_by_quan = {}; - return th.get_wuliu(th.calculatePrice2()); - } - - //--自提就要把包邮券清理掉-- - if (ty == 1) { - th.data.isget_by_quan = {}; - if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].isby == 1) { - th.setData({ using_quan: {} }); - } - } - - //判断有没有默认的物流地址值 - if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) { - var wu_arr = this.data.wu_arr; - if (wu_arr != null && wu_arr != "") { - for (var i = 0; i < wu_arr.length; i++) { - if (wu_arr[i].shipping_code == def_exp_code) { - th.setData({ index: i }); - } - } - } - } - th.calculatePrice2() - - }, - - //--------立即购买时,使用余额-------- - set_bn_useyuer: function () { - var th = this; - th.setData({ bn_use_money: !th.data.bn_use_money }); - th.calculatePrice2(); - }, - - //立即购买的时候,使用余额 - set_bn_commission: function () { - var th = this; - th.setData({ bn_use_commission: !th.data.bn_use_commission }); - th.calculatePrice2(); - }, - //加入购物车使用余额 - set_cart_commission: function () { - var th = this; - th.setData({ cart_use_commission: !th.data.cart_use_commission }); - th.calculatePrice(); - }, - - set_js_useyuer: function () { - var th = this; - th.setData({ js_use_money: !th.data.js_use_money }); - th.calculatePrice(); - }, - - - //----------立即购买,选择物流------------- - bindPickerChange: function (e) { - var ind = e.detail.value - this.setData({ index: ind }); - this.calculatePrice2(); - }, - //----------购物车结算,选择物流------------- - bindPickerChange_w: function (e) { - var ind = e.detail.value, txt = e.currentTarget.dataset.txt; - this.setData({ [txt]: ind }); - this.calculatePrice(); - }, - - /*----券的所有操作----*/ - open_coupon_list: function (e) { - var th = this; - var pickid = e.currentTarget.dataset.pickid; - var bn = e.currentTarget.dataset.bn; - var cindx = e.currentTarget.dataset.cind; - var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid]; - - - if (bn == 1) { - th.setData({ open_quan: 1, selected_quan_pick: pickid, disabled: 1 }); - } else { - //---多单打开券的时候,就要判断券在其他门店是否有使用--- - var quanlist = th.data.cartlist[cindx].quan_list; - var exp_type = th.data.cartlist[cindx].exp_type; - - - //对于在其他门店已经选择了的券 要判断是否显示到界面 - var t_user = th.data.using_quan[pickid]; - - for (var i in quanlist) { - quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid); - if (t_user && quanlist[i].CashRepNo == t_user.coupon_no) - quanlist[i].show_red = 1; - else - quanlist[i].show_red = 0; - } - - if (get_by_quan_list_cart) { - for (var i in get_by_quan_list_cart) { - get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid); - if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no) - get_by_quan_list_cart[i].show_red = 1; - else - get_by_quan_list_cart[i].show_red = 0; - } - th.setData({ by_quan_list_cart: get_by_quan_list_cart }); - } else { - th.setData({ by_quan_list_cart: null }); - } - - console.log("2222222券的列表", quanlist); - th.setData({ - sele_cart_ind: cindx, - sele_exp_type: exp_type, - open_quan: 1, - selected_quan_pick: pickid, - selected_quan_list: quanlist, - disabled: 1 - }); - } - }, - close_coupon: function (e) { - var th = this; - th.setData({ open_quan: 0, disabled: 0 }); - }, - - //---判断券时候在已经选择的列表中--- - check_in_sele: function (no, pick_id) { - var th = this; - if (th.data.using_quan.length <= 0) return false; - for (var i in th.data.using_quan) { - //--如果键值等于本身就要跳出-- - if (parseInt(i) == parseInt(pick_id)) continue; - var item = th.data.using_quan[i]; - if (item.coupon_no == no) { - return true; - } - } - return false; - }, - - /*--点击选择券--*/ - sele_quan_item: function (e) { - - var ind = e.currentTarget.dataset.ind; - var quan_item = this.data.selected_quan_list[ind]; - var pickid = this.data.selected_quan_pick; //现在选择的是哪一个门店 - //--如果券是单品使用的时候-- - if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") { - //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候--- - var gg = getApp().get_b_now(); - if (this.data.is_b_now == 0 || gg.prom_type == 5) { - var arr = this.data.order_prom_list_cart; - var t_pk_item = null; - for (var ii in arr) { - var ep = arr[ii]; - if (pickid == ep.pickup_id) { - t_pk_item = ep; - break; - } - } - //--寻找券指定的商品-- - var gd = null; - if (t_pk_item) { - var goods = t_pk_item.goods; - for (var gid in goods) { - if (quan_item.UseObjectID == goods[gid].erpwareid) { - gd = goods[gid]; - } - } - } - if (!gd) { - getApp().my_warnning("未找到指定商品使用", 0, this, 600); - return false; - } - //计算价格,如果有平摊的实收要计算实收的金额 - var item_price = gd.goods_price * gd.goods_num; - //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 -- - if (gd.account_fir != null && gd.account_fir != undefined) { - item_price = gd.account_fir * gd.goods_num; - } - - if (item_price < parseFloat(quan_item.BuySum)) { - getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600); - return false; - } - } - } - - var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list; - //---所有的券的显示红色选择都清理一遍--- - for (var i in quanlist) { - quanlist[i].show_red = 0; - } - this.setData({ selected_quan_list: quanlist }); - var by_quanlist = this.data.get_by_quan_list; - if (by_quanlist) { - //---所有的券的显示红色选择都清理一遍--- - for (var inb in by_quanlist) { - by_quanlist[inb].show_red = 0; - } - this.setData({ get_by_quan_list: by_quanlist }); - } - - var by_cart_list = this.data.by_quan_list_cart; - if (by_cart_list) { - //---所有的券的显示红色选择都清理一遍--- - for (var inc in by_cart_list) { - by_cart_list[inc].show_red = 0; - } - this.setData({ by_quan_list_cart: by_cart_list }); - } - - var using_quan = this.data.using_quan; - var th = this; - //---如果是不使用优惠券--- - if (no_use == 1) { - console.log("有进来吗券", no_use); - if (using_quan[th.data.selected_quan_pick]) { - using_quan[th.data.selected_quan_pick].is_nouse_red = 1; - } - else { - using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 }; - } - this.setData({ using_quan: using_quan, is_coupon: th.is_coupon }); - return; - } - - - var txt = "selected_quan_list[" + ind + "].show_red"; - var obj = {}; - obj[txt] = 1; - if (quan_item.show_red) { - obj[txt] = 0; - } - this.setData(obj); - console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt); - if (using_quan[th.data.selected_quan_pick]) { - using_quan[th.data.selected_quan_pick].is_nouse_red = 0; - } - else { - using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 }; - } - this.setData({ using_quan: using_quan }); - - }, - - /*----- 点击选择包邮券 -----*/ - sele_quan_item_by: function (e) { - var no_use = e.currentTarget.dataset.no; - //立即购买的包邮券 - var by_quanlist = this.data.get_by_quan_list; - if (by_quanlist) { - //---所有的券的显示红色选择都清理一遍--- - for (var ind in by_quanlist) { - by_quanlist[ind].show_red = 0; - } - this.setData({ get_by_quan_list: by_quanlist }); - } - - //--购物车过来的包邮券-- - var by_cart_list = this.data.by_quan_list_cart; - if (by_cart_list) { - //---所有的券的显示红色选择都清理一遍--- - for (var ind in by_cart_list) { - by_cart_list[ind].show_red = 0; - } - this.setData({ by_quan_list_cart: by_cart_list }); - } - //普通券 - var quanlist = this.data.selected_quan_list; - if (quanlist) { - //---所有的券的显示红色选择都清理一遍--- - for (var ind in quanlist) { - quanlist[ind].show_red = 0; - } - this.setData({ selected_quan_list: quanlist }); - } - - var th = this; - var using_quan = this.data.using_quan; - //---如果是不使用优惠券--- - if (no_use == 1) { - if (using_quan[th.data.selected_quan_pick]) { - using_quan[th.data.selected_quan_pick].is_nouse_red = 1; - } - else { - using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 }; - } - this.setData({ using_quan: using_quan, is_coupon: th.is_coupon }); - return; - } - - var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店 - var ind = e.currentTarget.dataset.ind; - //--如果是立即购买的部分-- - var txt = ""; - var txt1 = ""; - var quan_item = null; - if (th.data.is_b_now) { - quan_item = this.data.get_by_quan_list[ind]; - txt = "get_by_quan_list[" + ind + "].show_red"; - var obj = {}; - obj[txt] = 1; - this.setData(obj); - } else { - txt = "by_quan_list_cart[" + ind + "].show_red"; - quan_item = th.data.by_quan_list_cart[ind]; - var obj = {}; - obj[txt] = 1; - this.setData(obj); - th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组 - } - - if (using_quan[th.data.selected_quan_pick]) { - using_quan[th.data.selected_quan_pick].is_nouse_red = 0; - } - else { - using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 }; - } - this.setData({ using_quan: using_quan }); - }, - - //--确认使用券--- - confirm_quan: function () { - var using_quan = this.data.using_quan; //正在使用中的券列表 - var pickid = this.data.selected_quan_pick; //选中的门店ID - var th = this; - var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表 - var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表 - var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表 - //选择了的券 - var sele_quan = null; - - //循环普通的券 - for (var i in selected_quan_list) { - var item = selected_quan_list[i]; - if (item.show_red) { - th.insert_into_using_quan(item, using_quan, pickid); - return; - } - } - //循环包邮的券,立即购买的 - for (var i in get_by_quan_list) { - var item = get_by_quan_list[i]; - if (item.show_red) { - if (th.data.is_no_by[pickid] == 1) { - getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th); - return false; - } - if (th.data.is_by[pickid] == 1) { - getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th); - return false; - } - - th.insert_into_using_quan(item, using_quan, pickid, 1); - return; - } - } - - //循环包邮的券 - for (var i in by_quan_list_cart) { - var item = by_quan_list_cart[i]; - if (item.show_red) { - if (th.data.is_no_by[pickid] == 1) { - getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th); - return false; - } - if (th.data.is_by[pickid] == 1) { - getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th); - return false; - } - th.insert_into_using_quan(item, using_quan, pickid, 1); - return; - } - } - - //选择了的券,看是不是点击了不使用券,点击了不使用优惠券 - if (using_quan[pickid]) { - if (using_quan[pickid].is_nouse_red == 1) { - using_quan[pickid] = { is_nouse_red: 1 }; - th.setData({ using_quan: using_quan }); - if (th.data.is_b_now == 1) { - th.calculatePrice2(); - } else { - th.calculatePrice(); - } - th.setData({ open_quan: 0 }); - return; - } - } - }, - - //----把券插入之后的操作,同时还要重新计算价格---- - insert_into_using_quan: async function (item, using_quan, pickid, isby) { - - - var th = this; - var old_quan = null; - if (isby == 1) { - using_quan[pickid] = { - coupon_no: item.no, - money: 0, - is_nouse_red: 0, - region_list: item.region_list, - goods_list: item.goods_list - }; - using_quan[pickid].isby = 1; - } else { - if (using_quan[pickid]) old_quan = using_quan[pickid]; - using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 }; - using_quan[pickid].isby = 0; - } - this.setData({ using_quan: using_quan }); - if (th.data.is_b_now == 1) { - th.calculatePrice2(function () { - - if (old_quan) using_quan[pickid] = old_quan; - else using_quan[pickid] = null; - th.setData({ using_quan: using_quan, submit: 0 }); - wx.showToast({ - title: "不能使用优惠券,同城起送价不足", - icon: 'none', - duration: 2000 - }) - - }); - } else { - th.calculatePrice(function () { - if (old_quan) using_quan[pickid] = old_quan; - else using_quan[pickid] = null; - th.setData({ using_quan: using_quan, submit: 0 }); - wx.showToast({ - title: "不能使用优惠券,同城起送价不足", - icon: 'none', - duration: 2000 - }) - }); - } - th.setData({ open_quan: 0 }); - }, - - cart_set_err: function (e) { - var txt = e.currentTarget.dataset.err; - var ob = {}; - ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif"; - this.setData(ob); - }, - cart_set_err1: function (e) { - var txt = e.currentTarget.dataset.err; - var ob = {}; - ob[txt] = "/miniapp/images/default_g_img.gif"; - this.setData(ob); - }, - - //--验证是否已经冻结-- - check_is_frozenQuan: function (quanlist, frozenQuan, isby) { - console.log("券列表", quanlist); - if (!quanlist) return null; - if (!frozenQuan) return quanlist; - var arr = []; - for (var i = 0; i < quanlist.length; i++) { - var item = quanlist[i]; - var is_find = 0; - var Q_no = quanlist[i].CashRepNo; - if (isby) Q_no = quanlist[i].no; - for (var j = 0; j < frozenQuan.length; j++) { - var q_no = frozenQuan[j].cashRepNo; - if (Q_no == q_no) { - is_find = 1; - break; - } - } - if (!is_find) arr.push(item); - } - return arr; - }, - - //// 开启物流的弹窗 - show_wu_arr: function (e) { - var wu_arr_txt = e.currentTarget.dataset.txt; - var w_sele_index = e.currentTarget.dataset.w_sele_index; - var is_express = null; - var ob = { open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1 }; - - //--如果是多个门店的时候-- - if (w_sele_index != undefined) { - is_express = this.data.cartlist[w_sele_index].wind; - ob['is_express'] = is_express; - } - this.setData(ob); - }, - // 关闭物流的弹窗 - close_express: function () { - this.setData({ open_express: 0, disabled: 0 }); - }, - // 选择物流 - click_express_name: function (e) { - var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode; - var index = e.currentTarget.dataset.idxe; - var ob = { is_express: index, is_shipping_code: shippingcode, disabled: 0 }; - ob[this.data.wu_arr_txt] = index; - this.setData(ob); - }, - - //点击确定物流 - determine_expres: function (e) { - this.setData({ open_express: 0 }); - if (this.data.is_b_now == 1) - this.calculatePrice2(); - else - this.calculatePrice(); - }, - - //点击打开优惠券使用说明 - clik_coupons: function (e) { - var ind = e.currentTarget.dataset.idx; - var is_open = this.data.selected_quan_list[ind].is_open; - - if (is_open == 1) is_open = 0; - else is_open = 1; - - var txt = "selected_quan_list[" + ind + "].is_open" - var obj = {}; - obj[txt] = is_open; - - this.setData(obj); - this.setData({ disabled: 1 }) - }, - - clik_coupons2: function (e) { - var ind = e.currentTarget.dataset.idx; - var is_open = this.data.get_by_quan_list[ind].is_open; - - if (is_open == 1) is_open = 0; - else is_open = 1; - - var txt = "get_by_quan_list[" + ind + "].is_open" - var obj = {}; - obj[txt] = is_open; - - this.setData(obj); - this.setData({ disabled: 1 }) - }, - - - //设置默认物流 - select_default_logistics: function () { - var th = this; - var is_shipping_code = this.data.is_shipping_code - getApp().request.put("/api/weshop/users/update", { - data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code }, - success: function (rse) { - if (rse.data.code == 0) { - getApp().globalData.userInfo.def_exp_code = is_shipping_code; - th.setData({ open_express: 0 }); - //----计算此时购物车的价格---- - if (th.data.is_b_now == 1) th.calculatePrice2(); - else th.calculatePrice(); - } - } - }) - }, - - //更新下默认,在onshow里面 - update_code() { - var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code; - //--定时器,判断wu_arr不未空-- - var uii = setInterval(function () { - if (th.data.wu_arr) { - clearInterval(uii); - for (var k = 0; k < th.data.wu_arr.length; k++) { - var item = th.data.wu_arr[k]; - if (def_exp_code == item.code) { - m_wind = k; - } - } - //--如果是立即购买-- - if (th.data.is_b_now == 1) { - th.setData({ index: m_wind, is_express: m_wind }); - } else { - var ui = setInterval(function () { - if (th.data.cartlist) { - var c_arr = th.data.cartlist; - for (var i in c_arr) { - c_arr[i].wind = m_wind; - } - th.setData({ cartlist: c_arr, is_express: m_wind }) - clearInterval(ui); - } - }, 500) - } - } - }, 500); - }, - //-----获取购物车进来的劵------- - get_cart_quan: async function (order_prom_list_cart) { - var th = this; - var user_id = getApp().globalData.user_id; - //等待值的出现 - //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () { - //var arr=th.data.order_prom_list_cart; - var arr = order_prom_list_cart; - if (!arr) arr = []; - //如果系统有限制使用优惠券 - if (th.data.is_close_quan) return false; - - //------------开始计算使用优惠券相关------------ - for (var ind in arr) { - var ep = arr[ind]; - var goodlist = ep.goods; - var pickup_id = ep.pickup_id; - //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西 - //就要把相应的值,写入cartlist数组中-- - var ckeck_quan_price = 0, - check_quan_price_list = '', - check_quan_ware_list = '', - check_quan_price_list_arr = [], - check_quan_ware_list_arr = []; - - for (var i in goodlist) { - var gd = goodlist[i]; - //--如果是秒杀就跳出,如果是赠品,如果是组合购限制使用优惠券-- - if (gd.whsle_id == 1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act.is_xz_yh) || gd.is_xz_yh == 1) { - continue; - } - - //--如果是团购,要判断有没有限制使用优惠券 - if (gd.prom_type == 2) { - var prom1 = null; - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, { - }).then(res => { - if (res.data.code == 0) prom1 = res.data.data; - }) - if (prom1 && !prom1.isQuan) { - continue; - } - } - - //--如果是阶梯购,要判断有没有限制使用优惠券 - if (gd.prom_type == 10) { - var prom1 = null; - await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + gd.prom_id, { - }).then(res => { - if (res.data.code == 0) prom1 = res.data.data; - }) - if (prom1 && prom1.isuse && prom1.is_usecoupon) { - continue; - } - } - - //如果有限制使用优惠券,就要返回 - if (gd.prom_type == 3) { - - if (th.data.prom_goods_map && th.data.prom_goods_map[pickup_id] && th.data.prom_goods_map[pickup_id][gd.prom_id]) { - if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue; - th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1; - } - } - var item_price = gd.goods_price * gd.goods_num; - var item_price2 = item_price; - - //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 -- - if (gd.account_fir != null && gd.account_fir != undefined) { - item_price2 = gd.account_fir * gd.goods_num; - } - - if (gd.ld_account) { - item_price2 = gd.ld_account * gd.goods_num; - } - ckeck_quan_price += item_price; - //如果商品有重复的过滤,一般是组合购和阶梯购的情况下 - var idx = check_quan_ware_list_arr.findIndex(function (ele) { - return ele == encodeURIComponent(gd['erpwareid']); - }) - - if (idx > -1) { - check_quan_price_list_arr[idx] += item_price2; - } else { - check_quan_ware_list_arr.push(encodeURIComponent(gd['erpwareid'])); - check_quan_price_list_arr.push(item_price2); - } - //--组装价格list-- - /*-- - if (check_quan_price_list) { - check_quan_price_list += "," + item_price; - } else { - check_quan_price_list = item_price; - } - //--组装商品的线下erpwareid-- - if (check_quan_ware_list) { - check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']); - } else { - check_quan_ware_list = encodeURIComponent(gd['erpwareid']); - }---*/ - } - //优惠券优惠的金额要控制到优惠券的选择条件 - var cut_price = 0; - for (var i in th.data.prom_goods_map[pickup_id]) { - var obj = th.data.prom_goods_map[pickup_id][i]; - if (obj.coupon_sele) { - cut_price += obj.price - obj.prom_price; - } - } - - var prom_pt_json = ep.prom_pt_json; - if (prom_pt_json) { - for (let oj in prom_pt_json) { - let item_j = prom_pt_json[oj]; - //要对一下阶梯优惠促销的功能 - if (item_j.ladder_prom_id) { - //看一下要不要限制使用优惠券 - if (th.data.ladder_map[item_j.ladder_prom_id] && th.data.ladder_map[item_j.ladder_prom_id].is_usecoupon) { - continue; - } - cut_price += parseFloat(item_j.dis); - } - //要对一下组合购促销的功能 - if (item_j.zhprom_id) { - //看一下要不要限制使用优惠券 - if (th.data.zhhe_act_map[item_j.zhprom_id] && th.data.zhhe_act_map[item_j.zhprom_id].is_xz_yh) { - continue; - } - cut_price += parseFloat(item_j.dis); - } - } - } - - if (check_quan_price_list_arr.length) check_quan_price_list = check_quan_price_list_arr.join(','); - if (check_quan_ware_list_arr.length) check_quan_ware_list = check_quan_ware_list_arr.join(',') - - arr[ind].ckeck_quan_price = ckeck_quan_price - (cut_price ? cut_price : 0); - arr[ind].check_quan_ware_list = check_quan_ware_list; - arr[ind].check_quan_price_list = check_quan_price_list; - //-- 是否关闭使用优惠券,循环有找到商品 -- - if (th.data.is_close_quan != 1 && check_quan_ware_list) { - //--调用接口,获取优惠券的列表,3秒钟内控制接口请求-- - var url = "/api/weshop/couponList/getUseCouponList"; - await app.request.promiseGet(url, { - data: { - storeId: oo.stoid, - userId: app.globalData.user_id, - BuySum: arr[ind].ckeck_quan_price, - WareIds: check_quan_ware_list, - pageSize: 100 - } - }).then(res => { - if (res.data.code == 0) { - var quan_list = res.data.data.pageData; - arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan); - } - }) - } - } - - //如果是搭配购的立即购买的时候 - if (th.data.is_b_now) { - if (arr && arr.length > 0) { - var quanlist = arr[0].quan_list; - th.setData({ selected_quan_list: quanlist, cartlist: arr }) - } - } else { - th.setData({ cartlist: arr }) - th.set_can_num(); - } - - //}) - }, - - //------ 获取立即购买的购物车的劵 -------- - get_buy_now_quan: function () { - var quanlist = null, th = this, frozenQuan = null; - var good = this.data.bn_goods; - - //一件代发商品不使用优惠券 - if (good.whsle_id) return false; - if (good.prom_price) { - th.data.ckeck_quan_price = good.prom_price; //如果有优惠价,就用优惠价 - } else if (good.is_offline) { - th.data.ckeck_quan_price = good.offline_price; //如果有线下取价,就用线下价 - } - //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券-- - if (th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh != 1) { - var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id; - var url = "/api/weshop/couponList/getUseCouponList"; - app.request.promiseGet(url0, { 1: 1 }).then(res => { - if (res.data.code == 0) { - frozenQuan = res.data.data; - th.data.frozenQuan = frozenQuan; - } - app.request.time_limit_get(6, url, { - data: { - storeId: oo.stoid, - userId: app.globalData.user_id, - BuySum: th.data.ckeck_quan_price, - WareIds: encodeURIComponent(th.data.check_quan_ware_list), - pageSize: 100 - }, - success: function (res) { - if (res.data.code == 0) { - quanlist = res.data.data.pageData; - if (quanlist) { - quanlist = th.check_is_frozenQuan(quanlist, frozenQuan); - th.setData({ selected_quan_list: quanlist }) - } - } - } - }) - }) - } - }, - - //检查区域是不是包邮 - check_area: function (arr) { - var user_addr = this.data.user_addr; - if (!user_addr) return 0; - for (var i in arr) { - var item = arr[i]; - if (user_addr.twon == item || user_addr.district == item - || user_addr.city == item || user_addr.province == item) { - return 0; - } - } - return 1; - }, - - //检查立即购买的商品是不是不包邮 - check_good: function (arr, goods_id) { - if (!goods_id) goods_id = this.data.bn_goods.goods_id; - for (var i in arr) { - var item = arr[i]; - if (goods_id == item) return 0; - } - return 1; - }, - check_by_area: function (region_list) { - var arr = region_list.split(","); - var check = this.check_area(arr); - return !check; - }, - check_by_goods: function (goods_list, goods_id) { - var arr = goods_list.split(","); - var check = this.check_good(arr, goods_id); - return !check; - }, - //立即购买获取优惠活动的内容 - buy_now_prom_goods: function (prom_id, arr, func) { - var th = this; - var price = arr.shop_price * arr.goods_num; - var prom = null; - var gg = to.get_b_now(); - getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - let min_value = 0 - if (prom && prom.is_xz_yh) { - let arr = prom.promGoodsList || [] - arr.map(item => { - if (min_value) { - min_value = item.condition - } else { - if (min_value < item.condition) { - min_value = item.condition - } - } - }) - if (arr.length > 0) { - if (arr[0].prom_type == 0) { - if (price < min_value) { - prom.is_xz_yh = 0 - } - } else { - if (arr.goods_num < min_value) { - prom.is_xz_yh = 0 - } - } - } - } - console.error('优惠活动1'); - //------------------- - return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { - data: { - price: parseFloat(price).toFixed(2), - prom_id: prom_id, - goods_num: arr.goods_num, - user_id: getApp().globalData.user_id, - is_bz: prom.is_bz - } - }) - } else { - func(arr); - } - }).then(res => { - if (res.data.code == 0) { - var get_data = res.data.data; - arr.is_bz = prom.is_bz; //是不是倍增 - arr.is_xz_yh = arr.is_xz_yh ? arr.is_xz_yh : prom.is_xz_yh; //是不是优惠 - arr.bs = get_data.bs; //是不是倍数 - arr.is_past = get_data.is_past; //是不是包邮 - arr.prom_price = get_data.price >= 0 ? get_data.price : price; - arr.s_intValue = get_data.intValue; - arr.s_coupon_id = get_data.coupon_id; - arr.s_coupon_num = get_data.coupon_num; - arr.zp_mode = get_data.zp_mode; - arr.zp_num = get_data.zp_num ? get_data.zp_num : 1; //确保默认一个 - - //-- 看是不是有赠品 -- - if (get_data.gift_id && parseInt(get_data.zp_mode) != 1 - && get_data.zp_num * arr.bs <= get_data.limit_num - && get_data.zp_num * arr.bs <= get_data.gift_storecount - ) { - arr.gift_id = get_data.gift_id; - arr.gift_goods_id = get_data.goods_id; - arr.gift_goods_name = get_data.goods_name; - arr.gift_goods_sn = get_data.goodsinfo.goods_sn; - arr.gift_goods_color = get_data.goodsinfo.goods_color; - arr.gift_goods_spec = get_data.goodsinfo.goods_spec; - arr.gift_original_img = get_data.goodsinfo.original_img; - arr.gift_weight = get_data.goodsinfo.weight; - arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type; - arr.gift_uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; - arr.gift_limit_num = get_data.limit_num; - arr.gift_storecount = get_data.gift_storecount; - arr.whsle_id = get_data.goodsinfo.whsle_id; - } - arr.s_libao = get_data.libao; - arr.s_lb_num = get_data.lb_num; - arr.lbtitle = get_data.lbtitle; - arr.zxlbtitle = get_data.zxlbtitle; - arr.zx_libao = get_data.zxlibao; - arr.zx_lb_num = get_data.zxlb_num; - - arr.prom_id = prom_id; - - var send_gf = {}; - var pickid = gg.pick_id; - if (parseInt(get_data.zp_mode) == 1) { - if (!send_gf[pickid]) send_gf[pickid] = []; - - var a_stock_num = 0; - var a_limit_num = 0; - for (let iy in get_data.giftsinfo) { - let item = get_data.giftsinfo[iy]; - a_stock_num += parseInt(item.gift_storecount); - a_limit_num += parseInt(item.limit_num); - } - - var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs); - if (a_limit_num >= t_zp_num && a_stock_num >= t_zp_num) { - send_gf[pickid].push({ - pickup_id: pickid, giftsinfo: get_data.giftsinfo, zp_num: get_data.zp_num * get_data.bs, - gf_pr_name: prom.name, prom_id: prom.prom_id - }); - } - th.setData({ send_gf: send_gf }); - } - } - func(arr); - }) - }, - //--检查订单优惠-- - check_is_order_prom: function (condition, func, pick) { - var th = this; - if (this.data.is_b_now == 1) pick = this.data.bn_pick; - //---获取订单优惠--- - 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; - th.data.order_prom[pick] = data; - } - func(); - }) - }, - - //--- 加入优惠活动的映射中,同时要有一个good列表 --- - add_prom_goods_map: async function (item) { - var th = this; - var pickid = item.pick_id; - var map = th.data.prom_goods_map; - var obj = map[pickid]; - - if (map[pickid]) { - if (map[pickid][item.prom_id]) { - - var ob = map[pickid][item.prom_id]; - //-- 避免同一件商品重复添加 -- - if (ob.goods && ob.goods.length) { - var fid = ob.goods.findIndex(function (e) { - e.goods_id == item.goods_id - }) - if (fid > -1) return false; - } - - ob.price += item.goods_price * item.goods_num; - ob.goods_num += item.goods_num; - ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); - - } else { - var prom = null; - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - - let min_value = 0 - if (prom && prom.is_xz_yh) { - let arr = prom.promGoodsList || [] - arr.map(ite => { - if (min_value) { - min_value = ite.condition - } else { - if (min_value < ite.condition) { - min_value = ite.condition - } - } - }) - if (arr.length > 0) { - if (arr[0].prom_type == 0) { - if ((item.goods_price * item.goods_num) < min_value) { - prom.is_xz_yh = 0 - } - } else { - if (item.goods_num < min_value) { - prom.is_xz_yh = 0 - } - } - } - } - } - }) - var ob = {}; - ob.prom_id = item.prom_id; - ob.name = prom.name; - ob.price = item.goods_price * item.goods_num; - ob.goods_num = item.goods_num; - ob.is_bz = prom.is_bz; - ob.is_xz_yh = prom.is_xz_yh; - ob.goods = new Array(); - ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); - map[pickid][item.prom_id] = ob; - } - } else { - var ob = {}; - var prom = null; - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - - let min_value = 0 - if (prom && prom.is_xz_yh) { - let arr = prom.promGoodsList || [] - arr.map(ite => { - if (min_value) { - min_value = ite.condition - } else { - if (min_value < ite.condition) { - min_value = ite.condition - } - } - }) - if (arr.length > 0) { - if (arr[0].prom_type == 0) { - if ((item.goods_price * item.goods_num) < min_value) { - prom.is_xz_yh = 0 - } - } else { - if (item.goods_num < min_value) { - prom.is_xz_yh = 0 - } - } - } - } - } - }) - - ob.prom_id = item.prom_id; - ob.name = prom.name; - ob.price = item.goods_price * item.goods_num; - ob.goods_num = item.goods_num; - ob.is_bz = prom.is_bz; - ob.is_xz_yh = prom.is_xz_yh; - ob.goods = new Array(); - ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num }); - var obj = {}; - obj[item.prom_id] = ob; - map[pickid] = obj; - - } - }, - //---检查有没有优惠活动--- - check_is_youhui: function (r_data, pick_id) { - let send_lb = this.data.send_lb; - let lodash = null; - r_data.forEach(item => { - if (send_lb[pick_id]) { - for (let i = 0; i < send_lb[pick_id].length; i++) { - let sends = send_lb[pick_id][i]; - if (item.lb_id) { - if (sends.id === item.lb_id) { - sends['num']++; - } else { - let send_arr1 = send_lb[pick_id].filter(ii => ii.id === item.lb_id); - if (send_arr1.length == 0) { - if (item.lb_id) { - let ob = {}; - ob.num = 1; - ob.title = item.lbtitle; - ob.id = item.lb_id; - lodash.push(ob); - // break; - } - } - - } - } - if (item.zxlb_id) { - if (sends.id === item.zxlb_id) { - sends['num']++; - } else { - let send_arr = send_lb[pick_id].filter(ii => ii.id === item.zxlb_id); - if (send_arr.length == 0) { - if (item.zxlb_id) { - let ob = {}; - ob.num = 1; - ob.flag = 1; - ob.title = item.zxlbtitle; - ob.id = item.zxlb_id; - lodash.push(ob); - // break; - } - } - } - } - } - - } else { - let arr = new Array(); - if (item.lb_id) { - let ob = {}; - ob.num = 1; - ob.title = item.lbtitle; - ob.id = item.lb_id; - arr.push(ob); - } - if (item.zxlb_id) { - let ob = {}; - ob.num = 1; - ob.flag = 1; - ob.title = item.zxlbtitle; - ob.id = item.zxlb_id; - arr.push(ob); - } - send_lb[pick_id] = arr; - lodash = JSON.parse(JSON.stringify(send_lb[pick_id])); - } - }) - send_lb[pick_id] = lodash; - th.setData({ - send_lb, - }) - - - }, - - //从优惠的映射中拿出商品从表的item - item_map_get_goods: function (goods_id, map) { - for (var i in map.goods) { - if (map.goods[i].goods_id == goods_id) return map.goods[i]; - } - }, - //从优惠的映射中拿出商品从表的item - arr_get_goods: function (goods_id, arr) { - for (var i in arr) { - if (arr[i].goods_id == goods_id) return arr[i]; - } - }, - - //检查是不是有其他门店的订单在选择了券 - check_other_use: function (iter, pkid) { - var using = this.data.using_quan; - var is_use = 0; - if (using) { - for (var i in using) { - if (i == pkid) continue; - if (iter.CashRepNo == using[i].coupon_no) { - is_use = 1; - break; - } - } - } - return is_use; - }, - //检查是不是有其他门店的订单在选择了包邮券 - check_other_use_by: function (iter, pkid) { - var using = this.data.using_quan; - var is_use = 0; - if (using) { - for (var i in using) { - if (i == pkid) continue; - if (iter.no == using[i].coupon_no) { - is_use = 1; - break; - } - } - } - return is_use; - }, - - //跳转到购买卡 - buycard: function () { - getApp().goto("/pages/user/plus/plus"); - getApp().globalData.plus_buy_back = 1; - }, - - //跳转关闭弹出框的显示 - close_offline: function () { - this.setData({ is_offline_show: 0 }); - }, - - //立即购买显示弹出框 - bn_pop_offline: function () { - var off_price = this.data.bn_goods.shop_price - this.data.bn_goods.offline_price; - //是不是线下 - var is_get_offline = this.data.bn_goods.is_offline; - this.setData({ is_offline_show: 1, show_off_price: off_price.toFixed(2), is_get_offline: is_get_offline }); - }, - - // 促销 -> 送礼包 -> 查看详情 - viewLbDetails(e) { - let id = e.currentTarget.dataset.id; // 获取礼包id - let flag = e.currentTarget.dataset.flag; - let url = ''; - if (flag == 1) { // flag =1 控制跳转到专享礼包 - url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`; - } else { - url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮 - }; - // console.log('myurl', url); - getApp().goto(url); - }, - - //确定使用线下取价 - sure_offline: function () { - var bn_goods = this.data.bn_goods; - if (bn_goods && bn_goods.prom_type == 0) { - bn_goods.is_offline = 1; - this.setData({ is_offline_show: 0, bn_goods: bn_goods }); - this.calculatePrice2(); - } - //就是购物车结算时的 - else { - var index = this.data.pop_offline_index; - var txt = "cartlist[" + index + "].is_offline"; - this.setData({ [txt]: 1, is_offline_show: 0, }); - this.data.old_cartlist[index].is_offline = 1; - this.calculatePrice(); - } - }, - - //取消使用线下取价 - cancle_offline: function () { - //判断是不是立即购买 - var bn_goods = this.data.bn_goods; - if (bn_goods && bn_goods.prom_type == 0) { - bn_goods.is_offline = 0; - this.setData({ is_offline_show: 0, bn_goods: bn_goods }); - this.calculatePrice2(); - } - //就是购物车结算时的 - else { - var index = this.data.pop_offline_index; - var txt = "cartlist[" + index + "].is_offline"; - this.setData({ [txt]: 0, is_offline_show: 0, }) - this.data.old_cartlist[index].is_offline = 0; - this.calculatePrice(); - } - }, - - //-- 弹出购物车选择是不是要店铺优惠 -- - cart_pop_offline: function (e) { - var index = e.currentTarget.dataset.index; - var item = this.data.cartlist[index]; - var off_price = item.offline_price; - //是不是线下 - var is_get_offline = item.is_offline; - this.setData({ - pop_offline_index: index, - is_offline_show: 1, - show_off_price: off_price.toFixed(2), - is_get_offline: is_get_offline - }); - }, - - go_url: function (e) { - var url = e.currentTarget.dataset.url; - getApp().goto(url); - }, - - //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表 - split_set_goods_quanprice: async function (you_item, t_item) { - var coupon_price = you_item.WareCashSum; - var goods = t_item.goods; - var arr = []; - //判断是不是有goods_id重复 - for (var i = 0; i < goods.length; i++) { - if (goods[i].erpwareid == you_item.WareId) { - var gg_ite = { - goods_id: goods[i].goods_id, - goods_num: goods[i].goods_num, - goods_price: goods[i].goods_price, - }; - if (goods[i].account) gg_ite.goods_price = goods[i].account; - gg_ite.idx = i; arr.push(gg_ite); - } - } - - if (arr.length <= 0) return false; - if (arr.length == 1) { - var idx = arr[0].idx; - t_item.goods[idx].quan_num = Math.floor(coupon_price * 100) / 100; - t_item.goods[idx].quan_no = t_item.quan_no; - return false; - } - - var pt_data = { - 'dis': parseFloat(coupon_price), - 'goods': arr, - } - - var pt_res = null; - await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { - is_json: 1, - data: pt_data - }).then(res => { - if (res.data.code == 0) { - pt_res = res.data.data; - } - }) - if (pt_res) { - var q_s_num = 0; - for (var i in pt_res) { - var idx = pt_res[i].idx; - //有account的实收价,就要用account实收价 - var price = (t_item.goods[idx].account ? t_item.goods[idx].account : t_item.goods[idx].goods_price); - price = (price - pt_res[i].fisrt_account) * t_item.goods[idx].goods_num; - t_item.goods[idx].quan_num = price; - - t_item.goods[idx].quan_num = Math.floor(t_item.goods[idx].quan_num * 100) / 100; - t_item.goods[idx].quan_no = t_item.quan_no; - q_s_num += t_item.goods[idx].quan_num; - } - - if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)) { - for (var ik in arr) { - if (arr[ik].goods_num == 1) { - var id = arr[ik].idx; - var pri = Math.floor(coupon_price * 100) / 100 - Math.floor(q_s_num * 100) / 100 - t_item.goods[id].quan_num += pri; - break; - } - } - } - } - }, - //订阅消息提醒 - sendsm: function (func) { - let th = this; - var template_id = this.data.template_id; - // //授权订阅 - wx.requestSubscribeMessage({ - tmplIds: [template_id], - success(res) { - func(); - }, - fail(res) { - func(); - } - }) - - }, - - setexptype2: function (e) { - this.debounce(this.setexptype.bind(this, e), 400)(); - }, - - setexptype_w2: function (e) { - this.debounce(this.setexptype_w.bind(this, e), 400)(); - }, - - // 函数防抖 - debounce: function (func, wait) { - return () => { - clearTimeout(timer); - timer = setTimeout(func, wait); - }; - }, - - - //-- 判断是不是选中 -- - check_th_item: function (e) { - var th = this; - var idx = e.currentTarget.dataset.item; - var check = e.currentTarget.dataset.check; - var txt = "giftsinfo[" + idx + "].selected"; - var gift_item = this.data.giftsinfo[idx]; - - if (check) { - th.setData({ [txt]: 0 }); - } else { - - var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, gift_item.goods_num); - if (!is_true) { return false; } - - th.setData({ [txt]: 1 }); - } - }, - - - //输入框输入数量的时候 - valueToNum: function (e) { - var th = this; - var idx = e.currentTarget.dataset.item; - var gift_item = this.data.giftsinfo[idx]; - var num = parseInt(e.detail.value); - var txt = "giftsinfo[" + idx + "].goods_num"; - var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); - if (!is_true) { - th.setData({ [txt]: 1 }); - return false; - } - th.setData({ [txt]: num }); - - }, - - - - addNum: function (e) { - var th = this; - var idx = e.currentTarget.dataset.item; - var txt = "giftsinfo[" + idx + "].goods_num"; - var num = th.data.giftsinfo[idx].goods_num + 1; - var gift_item = this.data.giftsinfo[idx]; - var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); - if (!is_true) { return false; } - th.setData({ [txt]: num }); - }, - - subNum: function (e) { - var th = this; - var idx = e.currentTarget.dataset.item; - var txt = "giftsinfo[" + idx + "].goods_num"; - var num = th.data.giftsinfo[idx].goods_num - 1; - var gift_item = this.data.giftsinfo[idx]; - var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num); - if (!is_true) { - return false; - } - if (num < 1) return false; - th.setData({ [txt]: num }); - }, - - //-- 点击选中赠品 -- - show_sele_gift: function (e) { - var index = e.currentTarget.dataset.index; - var pk = e.currentTarget.dataset.pk; - var giftsinfo = this.data.send_gf[pk][index].giftsinfo; - - for (let i in giftsinfo) { - let item = giftsinfo[i]; - if (!item.goods_num) giftsinfo[i].goods_num = 1; - } - - this.setData({ - show_duo_gift: 1, - giftsinfo: giftsinfo, - gf_pr_name: this.data.send_gf[pk][index].gf_pr_name, - zp_num: this.data.send_gf[pk][index].zp_num, - gift_pkid: pk, - gf_prom_id: this.data.send_gf[pk][index].prom_id, - send_gf_index: index - }) - }, - - close_sele_gift: function () { - this.setData({ show_duo_gift: 0 }) - }, - - //购物车赠品有咩有超出库存。有灭有超出限购 - check_out_num_cart: function (discount, pick_id, num) { - var prom_id = discount.prom_id; - var alllist = this.data.cartlist; - var all_num = num; - var all_limit_num = num; - var gift_id = discount.gift_id; - for (var i in alllist) { - var list_item = alllist[i]; - //-- 门店相同,活动相同的时候 -- - if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue; - for (var j in list_item.goods) { - //如果赠品的ID一样,要进行统计数量 - if (list_item.goods[j].is_gift == 1 && - list_item.goods[j].gift_id == gift_id) { - all_num += list_item.goods[j].goods_num; - } - if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) { - all_limit_num += list_item.goods[j].limit_num; - } - } - } - //-- 赠品的数量超出库存数量和会员的限制, - // 这里是保证所有的赠品部会超出 -- - if (discount.gift_storecount < all_num) { - wx.showToast({ - title: "赠品库存不足", - icon: 'none', - duration: 2000 - }); - return false; - } - if (discount.limit_num < all_limit_num) { - wx.showToast({ - title: "超出赠品限购", - icon: 'none', - duration: 2000 - }); - return false; - } - return true; - }, - - //-- 确定赠品 -- - sure_this_gift: async function () { - var th = this; - var gf_pickup_id = this.data.gift_pkid; - - var zp_num = this.data.zp_num; - var giftsinfo = this.data.giftsinfo; - var all_num = 0; - for (let i in giftsinfo) { - let item = giftsinfo[i]; - if (!item.selected) continue; - all_num += item.goods_num; - } - if (all_num > zp_num) { - wx.showToast({ - title: "超出活动赠品赠送的数量" + zp_num + "件", - icon: 'none', - duration: 2000 - }); - return false; - } - if (all_num < zp_num) { - wx.showToast({ - title: "您还可以加" + (zp_num - all_num) + "件", - icon: 'none', - duration: 2000 - }); - return false; - } - - //-- 当是购物车购买的时候 -- - if (this.data.cartlist && this.data.cartlist.length > 0) { - var alllist = this.data.cartlist; - var index = alllist.findIndex(function (e) { - return e.pickup_id == gf_pickup_id - }); - var pk_list_goods = alllist[index].goods; - - var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id=" - + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.prom_id; - await getApp().request.promiseDelete(url, {}); - - var new_pk_list_goods = []; - for (let i in pk_list_goods) { - let item = pk_list_goods[i]; - if (item.is_gift && item.prom_id == this.data.gf_prom_id) { - continue; - } - new_pk_list_goods.push(item) - } - - //-- 循环把赠品添加进去 -- - for (var i = 0; i < giftsinfo.length; i++) { - var gf_item = giftsinfo[i]; - if (!gf_item.selected) continue; - var add_data = null; - var newd = { - goods_id: gf_item.goodsinfo.goods_id, - goods_num: gf_item.goods_num, - pick_id: gf_pickup_id, - user_id: app.globalData.user_id, - store_id: os.stoid, - goods_price: 0, - member_goods_price: 0, - goods_name: gf_item.goodsinfo.goods_name, - goods_sn: gf_item.goodsinfo.goods_sn, - sku: gf_item.goodsinfo.sku, - is_gift: 1, - prom_id: th.data.gf_prom_id, - prom_type: 3, - selected: 1, - gift_id: gf_item.gift_id, - original_img: th.data.imgUrl + gf_item.goodsinfo.original_img, - exp_sum_type: gf_item.goodsinfo.exp_sum_type, - is_free_shipping: gf_item.goodsinfo.is_free_shipping, - weight: gf_item.goodsinfo.weight, - uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, - goods_spec: gf_item.goodsinfo.goods_spec, - goods_color: gf_item.goodsinfo.goods_color, - }; - - - //-- 如果是代发商品的时候 -- - if (gf_item.goodsinfo.whsle_id) { - newd.whsle_id = gf_item.goodsinfo.whsle_id; - } - await getApp().request.promisePost("/api/weshop/cart/save", { - data: newd - }).then(res => { - if (res.data.code == 0) { - add_data = res.data.data; - } - }) - if (add_data) { - newd.id = add_data.id; - new_pk_list_goods.push(newd); - } - } - - var set_data = this.data.send_gf[gf_pickup_id][this.data.send_gf_index]; - set_data.selected = 1; - var txt9 = "cartlist[" + index + "].goods"; - - th.setData({ [txt9]: new_pk_list_goods, send_gf: this.data.send_gf }); - this.data.old_cartlist[index].goods = new_pk_list_goods; - - console.log(this.data.send_gf, "----"); - th.calculatePrice(); - - } else { - var new_pk_list_goods = []; - //-- 当是立即购买的时候 -- - for (var i = 0; i < giftsinfo.length; i++) { - var gf_item = giftsinfo[i]; - if (!gf_item.selected) continue; - var newd = { - goods_id: gf_item.goodsinfo.goods_id, - buynum: gf_item.goods_num, - pick_id: gf_pickup_id, - user_id: app.globalData.user_id, - store_id: os.stoid, - goods_price: 0, - member_goods_price: 0, - goods_name: gf_item.goodsinfo.goods_name, - goods_sn: gf_item.goodsinfo.goods_sn, - sku: gf_item.goodsinfo.sku, - is_gift: 1, - prom_id: th.data.gf_prom_id, - prom_type: 3, - selected: 1, - gift_id: gf_item.gift_id, - original_img: th.data.imgUrl + gf_item.goodsinfo.original_img, - exp_sum_type: gf_item.goodsinfo.exp_sum_type, - is_free_shipping: gf_item.goodsinfo.is_free_shipping, - weight: gf_item.goodsinfo.weight, - uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, - uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum, - goods_spec: gf_item.goodsinfo.goods_spec, - goods_color: gf_item.goodsinfo.goods_color, - }; - //-- 如果是代发商品的时候 -- - if (gf_item.goodsinfo.whsle_id) { - newd.whsle_id = gf_item.goodsinfo.whsle_id; - } - - new_pk_list_goods.push(newd); - } - var set_data = this.data.send_gf[th.data.bn_pick][this.data.send_gf_index]; - set_data.selected = 1; - var txt1 = "send_gf[" + gf_pickup_id + "][" + this.data.send_gf_index + "]"; - - th.setData({ buy_now_gift_goods: new_pk_list_goods, [txt1]: set_data }); - th.calculatePrice2(); - - } - th.close_sele_gift(); - }, - - //获取输入 - getInput: function (e) { - this.data.gift_sear = e.detail.value; - }, - //-- 搜索赠品 -- - submitSearch: function () { - var giftsinfo = this.data.giftsinfo; - if (!this.data.gift_sear) { - for (let i in giftsinfo) { - let item = giftsinfo[i]; - item.hide_div = 0; - } - } else { - for (let i in giftsinfo) { - let item = giftsinfo[i]; - item.hide_div = 0; - if (item.goods_name.indexOf(this.data.gift_sear) == -1) { - item.hide_div = 1; - } - } - } - this.setData({ giftsinfo: giftsinfo }) - - }, - - //-- 赠品的验证 -- - sub_check_gift(func) { - var th = this; - if (th.data.send_gf) { - var error_arr = []; - for (let io in th.data.send_gf) { - let item_arr = th.data.send_gf[io]; - for (let ip in item_arr) { - var gf_pr_name = item_arr[ip].gf_pr_name; - var zp_num = item_arr[ip].zp_num; - var giftsinfo = item_arr[ip].giftsinfo; - var limit_all = 0; - var stock_all = 0; - for (let iu in giftsinfo) { - let gf_item = giftsinfo[iu]; - limit_all += gf_item.limit_num; - stock_all += gf_item.gift_storecount; - } - if (limit_all < zp_num) { - error_arr.push(gf_pr_name + "限购不足"); - } - if (stock_all < zp_num) { - error_arr.push(gf_pr_name + "赠品库存不足"); - } - } - } - - //-- 有赠品错误的时候,是不是继续下单 -- - if (error_arr.length) { - var err = error_arr.join(","); - wx.showModal({ - title: '提示', - content: err + ',无法赠送赠品,是否继续下单', - success(res) { - if (res.confirm) { - func(); - } else if (res.cancel) { - console.log('用户点击取消'); - th.setData({ - submit: 0, - }) - } - } - }) - } else { - - var is_ok = 1; - var error_arr = []; - for (let io in th.data.send_gf) { - let item_arr1 = th.data.send_gf[io]; - for (let ip1 in item_arr1) { - var item_b = item_arr1[ip1]; - if (!item_b.selected) { - is_ok = 0; - break; - } - } - if (!is_ok) break; - } - - if (!is_ok) { - getApp().confirmBox("请选择赠品"); - th.setData({ - submit: 0, - }) - return false; - } - func(); - } - - - } else { - func(); - } - }, - - //子组件返回的优化 - select_coll(e) { - console.log("--1111--aaa--"); - console.log(e); - //-- 如果是购物车的选择添加搭配商品 -- - if (e.detail.is_cart == 1) { - this.select_coll_buy_cart(e.detail); - } else { - this.select_coll_buy_now(e.detail); - } - }, - - //立即购买的时候,选中和不选中搭配商品 - async select_coll_buy_now(e) { - var th = this; - //--按钮变灰色 -- - th.setData({ submit: 1 }); - //如果是选中 - if (e.selected) { - var item = this.data.all_collocation_list[e.index]; - item.goods_num = 1; - item.goods_price = item.price; - item.is_collocation = 1; - item.prom_type = 5; - - - var coll_arr = []; - if (this.data.collocation_goods && this.data.collocation_goods.length) { - coll_arr = this.data.collocation_goods; - } - coll_arr.push(item); - this.setData({ collocation_goods: coll_arr }); - //让主商品的活动变成5,搭配购 - this.setData({ 'bn_goods.prom_type': 5, 'bn_goods.prom_id': coll_arr[0].prom_id }); - - var is_has_main = coll_arr.findIndex(function (e) { - return e.goods_id == th.data.bn_goods.goods_id; - }) - - //要进行深拷贝 - var coll_arr_new = JSON.parse(JSON.stringify(coll_arr)); - coll_arr_new.unshift(this.data.bn_goods); - - await th.get_collocation_list(coll_arr_new); - //计算价格 - th.calculatePrice2(); - th.get_cart_quan(); - - } else { - var item = this.data.all_collocation_list[e.index]; - var coll_arr = this.data.collocation_goods; - var find = coll_arr.findIndex(function (e) { - return e.goods_id == item.goods_id; - }) - coll_arr.splice(find, 1); - - //当coll_arr的长度等于1的时候,说明没有选中搭配商品,只有主商品了 - if (!coll_arr || coll_arr.length < 1) { - //让主商品的活动变成0,取消搭配购 - this.setData({ 'bn_goods.prom_type': 0, 'bn_goods.prom_id': 0, collocation_goods: [] }); - //计算价格 - th.calculatePrice2(); - //获取优惠券 - th.get_buy_now_quan(); - - } else { - this.setData({ collocation_goods: coll_arr }); - //要进行深拷贝 - var coll_arr_new = JSON.parse(JSON.stringify(coll_arr)); - coll_arr_new.unshift(this.data.bn_goods); - await th.get_collocation_list(coll_arr); - //计算价格 - th.calculatePrice2(); - th.get_cart_quan(); - } - } - }, - //购物车购买的时候,选中和不选中搭配商品 - async select_coll_buy_cart(e) { - var th = this; - var cart_index = e.cart_index; - var index = e.index; - - var collocationList = this.data.cartlist[cart_index].collocationList; - var item = collocationList[cart_index]; - var goods = this.data.cartlist[cart_index].goods; - var txt = 'cartlist[' + cart_index + '].goods'; - var txt2 = 'cartlist[' + cart_index + '].collocationList[' + index + '].selected'; - - //-- 如果是选中 -- - if (e.selected) { - item.goods_num = 1; - item.goods_price = item.price; - item.prom_type = 5; - item.is_collocation = 1; - - goods.push(item); - - th.setData({ [txt]: goods, [txt2]: 1 }); - - th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist)); - th.calculatePrice(); - //th.get_cart_quan(); - - } else { - var fd = goods.findIndex(function (e) { - return e.goods_id == item.goods_id && e.prom_type == 5; - }) - - goods.splice(fd, 1); - th.setData({ [txt]: goods, [txt2]: 0 }); - th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist)); - - th.calculatePrice(); - //th.get_cart_quan(); - } - }, - - //-- 搭配购的获取搭配商品的购物车计算价格的数组格式 -- - async get_collocation_list(narr) { - var gg = to.get_b_now(); - var th = this; - var cart_arr = new Array(); - //-- 搭配促销的门店配送方式的修复 -- - var et = 1; - var distr_t = 0; // 配送方式 0=用户自选 1=自提 2=物流 - for (var hi in narr) { - var dis_t = narr[hi].distr_type; - if (dis_t == 2) { - th.setData({ is_all_zt: 0 }); - et = 0; - } - if (dis_t > 0) { - distr_t = dis_t; - } - - //-- 如果有一件代发的商品或者不是同城配送的配送 -- - if (narr[hi].is_same_city != 1 || narr[hi].whsle_id > 0) { - th.setData({ show_same_city: 0 }) - } - } - //自选的时候,系统配置了默认的配送方式是物流的时候 - if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) { - et = 0; th.setData({ is_all_zt: 0 }); - } - - var m_wind = th.data.m_wind; - var ie = { - pickup_id: gg.pick_id, - pname: gg.pick_name, - goods: narr, - exp_type: et, - wind: m_wind, - distr_t: distr_t, - bn_t_exp_t: distr_t, - goods_price: 0, - shipping_price: 0, - user_money: 0, - total_amount: 0, - order_amount: 0, - user_note: "" - }; - - var cart_commission = 0; - //-- 循环计算一下线下取价 -- - //计算佣金的商品 - var commission_gds = []; - for (var c = 0; c < narr.length; c++) { - var hr = { - goods_id: narr[c].goods_id, - goods_num: narr[c].goods_num, - prom_type: 0, - prom_id: 0, - } - commission_gds.push(hr); - - } - - //获取购物车的佣金,此处要优化调用接口,获取佣金 - var req_d = { - user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid - } - var back_data = null; - 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; - }); - - if (back_data && parseFloat(back_data)) { - ie.can_usecommise = parseFloat(back_data); - cart_commission = ie.can_usecommise; - } - - cart_arr.push(ie); - if (cart_commission) { - th.setData({ cart_commission }); - } - - th.data.old_cartlist = cart_arr; - } - - - - -}); diff --git a/pages/cart/cart2/cart2.json b/pages/cart/cart2/cart2.json deleted file mode 100644 index b3a5ca9..0000000 --- a/pages/cart/cart2/cart2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "navigationBarTitleText": "填写订单", - "enablePullDownRefresh": false, - "usingComponents": { - "warn": "/components/long_warn/long_warn", - "cart_collect_temp": "/components/cart_collect_temp/cart_collect_temp" - } -} \ No newline at end of file diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml deleted file mode 100644 index dd0baa4..0000000 --- a/pages/cart/cart2/cart2.wxml +++ /dev/null @@ -1,860 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{item.pname}} - - - - - - 组合购 - - - - - {{items.goods_name}} - - - - {{filters.show_gui_ge(items.goods_spec,items.goods_color)}} - - - - - - {{filters.toFix(items.goods_price,2)}}({{items.discount}}折) - {{filters.toFix(items.goods_price,2)}} - x{{items.goods_num}} - - - - - - - - - - - - - - {{show_card.CardName}} - - 立减 {{filters.toFix(item.card_cut_price,2) }} - - - vip超级会员仅需{{show_card.CardFee}}元 - - - - - 立即开通 - - - - - - {{order.store_prom}} - - - - - - - - - - - - - - - - 门店自提 - - - - - - - - - - - - 快递邮寄 - - - - - - - - - - - - - 同城配送 - - - - - - - {{wu_arr[item.wind].name}} - - - - - - - - - - 选择物流 - - {{wu_arr[item.wind].name}} - - - - - - - - - - - - - {{send.zxlbtitle?send.zxlbtitle:send.lbtitle}} - - - - x{{send.num}} - - - - - - - - - - {{iter.name}} 可选赠品{{iter.zp_num}}个 - - - - 已选择 - - - - 未选择 - - - - - - - - - - 优惠券{{item.can_num}}张可用 - - 不使用 - ¥{{using_quan[item.pickup_id].money}}元优惠券 - 包邮券 - - - - - - - - - - 留言 - - - - - - - - - 店铺优惠 - - 省{{filters.toFix(item.offline_price,2)}}元 - - - -¥{{filters.toFix(item.offline_price,2)}} - - - 不使用优惠 - - - - - - - - - - - - - - 使用佣金 :¥{{cart_commission}} - - - - - - - - 使用余额 :¥{{yuer}} - - - - - - - - - - {{bn_pickname}} - - - - - - - {{bn_goods.goods_name}} - - - - {{filters.show_gui_ge(bn_goods.goods_spec,bn_goods.goods_color)}} - - - - - - {{filters.toFix(bn_goods.shop_price,2)}} - x{{bn_goods.buynum}} - - - - - - - - - - - - - - {{item.goods_name}} - - - - {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} - - - - - 0 - x{{item.buynum}} - - - - - - - - - - - - - - {{item.goods_name}} - - - - {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} - - - - - {{item.price}} - x{{item.goods_num}} - - - - - - - - - - - - - - - - {{show_card.CardName}} - - 立减 {{filters.toFix(card_cut_price,2) }} - - - vip超级会员仅需{{show_card.CardFee}}元 - - - - - 立即开通 - - - - - - - {{bn_goods.lbtitle}} - - - - x{{bn_goods.s_lb_num}} - - - - - - - - {{bn_goods.zxlbtitle}} - - - - x{{bn_goods.zx_lb_num}} - - - - - - - - - - - {{iter.name}} 可选赠品{{iter.zp_num}}个 - - - - 已选择 - - - - 未选择 - - - - - - - - - - - {{order.store_prom}} - - - - - - - 选择物流 - - {{wu_arr[index].name}} - - - - - - - - - 留言 - - - - - - - - 店铺优惠 - - 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元 - - - -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}} - - - 不使用优惠 - - - - - - - - - - - 使用佣金 :¥{{bn_goods.use_commission}} - - - - - - - - 使用余额 :¥{{yuer}} - - - - - - - - 商品金额 - ¥ {{formData.all_price}}元 - - - 配送费用 - ¥ {{formData.shipping_price}}元 - - - 使用优惠券 - - ¥ {{formData.coupon_price}}元 - - - - 优惠活动 - - ¥ {{filters.toFix(formData.cut_price,2)}}元 - - - - 组合购优惠 - - ¥ {{filters.toFix(formData.zh_cut_price,2)}}元 - - - - 阶梯促销优惠 - - ¥ {{filters.toFix(formData.ladder_cut_price,2)}}元 - - - - - 订单优惠 - - ¥ {{filters.toFix(formData.order_prom_amount,2)}}元 - - - 使用余额 - - ¥ {{formData.user_money}}元 - - - - - - - 应付金额:{{formData.order_amount}} - - - - -
- - - - - - - - - 优惠券使用 - - - × - - - - 可使用的优惠券 - 不使用优惠券 - - Γ - - - - - - - - - - - - - - - - - - - {{item.Sum}} - 满{{item.BuySum}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(item.UseObjectType)}} - {{item.Sum}}元优惠券 - - {{filters.replace_time2(item.BeginDate)}}至{{item.ValidDate?filters.replace_time2(item.ValidDate):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - - - - 包邮券 - 满{{item.condition}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(0)}} - 包邮券 - - {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - - - - - - 包邮券 - 满{{item.condition}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(0)}} - 包邮券 - - {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - 确定 - - - - - - - - - - - - 选择物流名字 - - - × - - - - - - - - Γ - - - - - {{express_list.name}} - - - - - - - 确定 - - - 设为默认 - - - - - - - - - - 店铺优惠 - - 优惠¥{{show_off_price}} - - - 不用优惠 - - - - - - - - - - - - - - - - - - - - - - {{gf_pr_name}},可任选{{zp_num}}件商品为赠品 - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pages/cart/cart2/cart2.wxss b/pages/cart/cart2/cart2.wxss deleted file mode 100644 index 450859d..0000000 --- a/pages/cart/cart2/cart2.wxss +++ /dev/null @@ -1,1144 +0,0 @@ -.bdr_t-14 { - border-top-left-radius: 14rpx; - border-top-right-radius: 14rpx; -} -.bdr_b-14 { - border-bottom-left-radius: 14rpx; - border-bottom-right-radius: 14rpx; -} -.bdr14 { - border-radius: 14rpx; -} -.mgt20 { - margin-top: 20rpx; -} -.shadow { - box-shadow: 0 4rpx 12px #e7e9eb; -} -.shadow-1 { - box-shadow: 16rpx 0px 12px #e7e9eb; -} - -page { - background-color: #F0F0F0; - padding: 0 22rpx; - box-sizing: border-box; -} -.container { - background-color: #F0F0F0; - padding-bottom: 120rpx; -} - -.tab-container { - font-size: 28rpx; - margin-top: 20rpx; - display: flex; -} - -.tab-wrapper { - background-color: #ccc; - display: flex; - border-radius: 40rpx; - overflow: hidden; -} - -.tab { - padding: 20rpx 30rpx; - -} - - -.tab.active { - background-color: white; - border-radius: 40rpx; -} - - -.user-mes { - position: relative; - background-color: #fff; - font-size: 32rpx; - color: #444; - border-radius: 14rpx; - padding: 20rpx 70rpx 20rpx 20rpx; -} -.user-contact { } - -.location { - position: relative; - -} - -.pos-icon { - width: 20rpx; - height: 24rpx; - display: inline-block; -} - -.border-img { - width: 100%; - height: 12rpx; -} - -.update-logistics { - position: absolute; - right: 0; - top: 0; - width: 80rpx; - height: 100%; - display: flex; - align-items: center; - justify-content: center; -} - -.arrow-rigth { - width: 32rpx; - height: 32rpx; -} - -.order-meg { - margin-bottom: 20rpx; - font-size: 28rpx; - -} - -.order-detail { - padding: 30rpx 0; - border-bottom: 2rpx solid #eee; - color: #777; - min-height: 190rpx; - background-color: #fff; - -} - -.goods-img { - float: left; - width: 200rpx; - height: 200rpx; - margin: 0 20rpx; -} - -.order-cont { - float: left; - width: 438rpx; -} - -.goods-name { - height: 74rpx; - line-height: 40rpx; - overflow: hidden; - margin-bottom: 16rpx; - font-size: 28rpx; - color: #333; - -} - -.goods-color { - font-size: 24rpx; -} - -.order-num { - margin-top: 25rpx; - font-size: 24rpx; - line-height: 42rpx; -} - -.set-mes{ - background-color: #fff; -} -.use-item{ - display: flex; - align-items: center; - font-size: 26rpx; - padding: 20rpx; -} -.use-item>view{ - display: flex; -} -.use-item.bfff{ - background-color: #fff; -} -.use-item .dp{ - display: block; - width: 40rpx; - height: 40rpx; -} - -.set-item { - justify-content: space-between; - background-color: #fff; -} - -.set-btn { - display: flex; - font-size: 24rpx; -} - -.set-mes input { - width: 380rpx; - height: 50rpx; - line-height: 50rpx; - border: 1px solid #ddd; -} - -.use-btn { - width: 100rpx; - height: 50rpx; - margin-left: 20rpx; - line-height: 50rpx; - text-align: center; - background-color: #f23030; - color: #fff; -} - -.coupon-mes { - padding: 20rpx; - background-color: #fff; - font-size: 30rpx; - border-radius: 14rpx; - margin-top: 20rpx; - margin-bottom: 20rpx; -} - -.coupon-title { - display: flex; - justify-content: space-between; - align-items: center; - height: 92rpx; -} - -.coupon-title>view { - display: flex; -} - -.coupon-num { - height: 36rpx; - margin-left: 20rpx; - padding: 0 16rpx; - line-height: 36rpx; - text-align: center; - background-color: #f23030; - color: #fff; - font-size: 24rpx; -} - -.leave-word { - position: relative; - font-size: 24rpx; - margin-left: 20rpx; - display: flex; - flex-grow: 1; - align-items: center; - height: 50rpx; -} - -.word-box { font-size: 26rpx;width: 100%;} - -.max-word { - position: absolute; - right: 0; - bottom: 0; -} - -.information { background-color: #fff; } - -.information .item { - display: flex; - justify-content: space-between; - font-size: 24rpx; - padding: 20rpx; -} - -.btn-wrap { - height: 94rpx; - box-sizing: border-box; - display: flex; - justify-content: space-between; - background-color: white; - align-items: center; - position: fixed; - bottom: 0; - left: 0; - width: 100%; - padding: 0 30rpx; -} - -.tips-btn { - color: white; - background-color: #FE4445; - height: 72rpx; - line-height: 72rpx; - padding: 0 42rpx; - border-radius: 36rpx; - margin-left: 0; - margin-right: 0; -} - -.pay-amount { } - -.payable { - color: #444; - /* margin-right: 20rpx; */ -} - -.shipping-modal { - z-index: 20; - position: fixed; - bottom: 0; - left: 0; - right: 0; - overflow-y: hidden; - color: #666666; - background-color: white; -} - -.shipping-nav { - text-align: center; - font-size: 35rpx; - padding-top: 30rpx; -} - -.shipping-list { - padding: 20rpx 30rpx 40rpx; - font-size: 28rpx; -} - -.shipping-item { - display: block; - padding: 20rpx 0; -} - -.shipping-btn { - width: 100%; - color: white; - background-color: #f23030; - line-height: 90rpx; - text-align: center; - font-size: 40rpx; -} - -/*----------nyf新增,地址---------*/ -.add_new{ - height: 90rpx; - display: flex; - align-items: center; - padding: 0 26rpx; -} -.addr_jia{width: 45rpx; height: 45rpx; border: 1rpx solid #ddd; - margin-right: 15rpx;vertical-align: middle;} -.yu_er{ - margin-left: 10rpx; -} -.wuliu{margin-left: 20rpx;} - - -/*---- 优惠券列表 -----*/ -.xc-coupon-frame{ - width: 100%; - height: 92rpx; - -} -.xc-coupon-frame .work-frame{ - width: 100%; - height: 100%; - border-bottom:3rpx solid #eee; - padding: 0 26rpx; - background-color: white; -} -.xc-right{ - width:12rpx; - height:12rpx; - border-top:2rpx solid #000; - border-right:2rpx solid #000; - transform:rotate(45deg); - display:inline-block; - margin-left: 10rpx; -} - -.xc-coupon-frame .work-frame .work{ font-size: 30rpx; line-height: 92rpx; } -.xc-right-frame{font-size: 30rpx;line-height: 92rpx; margin-right: 10rpx } - -/* 自定义弹出窗口 */ -.cx-popup{ - width:100%; - height:880rpx; - background: #fff; - z-index: 35; - border-top-left-radius: 20rpx; - border-top-right-radius: 20rpx; - position:fixed; - bottom:0; - left: 0; -} - -.cx-popup .top{ - width:95%; - height:100rpx; - border-bottom:3rpx solid #ddd; - margin: auto; - margin-top: 30rpx; - -} -.xc-top-content{ - width: 93%; - height:85rpx; - padding-top: 30rpx; - font-size: 34rpx; - font-weight: 600; - -} - - -.xc-valid-coupon{ - width: 90%; - height:40rpx; - padding-top: 24rpx; - overflow: hidden; -} -.xc-frame{ - width: 100%; - height:60%; -} - -.xc-frame .list-frame{ - width: 95%; - height: 100%; - overflow-y:scroll; - -} -.xc-close-frame{ - margin-top:-10rpx; - -} - -.xc-close{ - width: 37rpx; -height: 37rpx; -border-radius: 50%; -border: 3rpx solid #333; -text-align: center; -line-height: 34rpx; -font-size: 29rpx; -color: #333; - -} -.xc-money{ - color: #af2346; - font-size: 35rpx; -} - -.xc-money-frame{ - margin-left:35rpx; - -} -.xc-coupon-effect{ - width: 99%; - min-height: 100rpx; - border-bottom:3rpx solid #ddd; - - -} -.xc-goods-coupon{ - width: 85%; - height:100%; - -} -.xc-title{ - width:50%; - margin-left:222rpx; - -} -.xc-coupon-money0{ - color: #c91e31; - font-size: 35rpx; - line-height: 40rpx; - -} -.xc-coupon-money{ - color: #c91e31; - font-size: 35rpx; - line-height: 40rpx; - padding-top: 10px; - -} -.xc-coupon-money1{ - color: #444; - font-size: 28rpx; - line-height: 60rpx; - - -} -.xc-coupon-time{ - height: 50rpx; - font-size: 27rpx; - color: #a4a4a4; -} -.xc-coupon-time .time{ - margin-left: 15rpx; - font-size: 27rpx; -} -.xc-coupon-selection{ - height:100%; -} - -.xc-confirm { - width: 50%; - border-radius: 50rpx; - height: 80rpx; - margin:0 auto; - background:#d60021; - color:#fff; - font-size:28rpx; - margin-top: 28rpx; -} - -.up{ animation: up .7s; } -.down{ animation: down 1s; } -@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } } -@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } } - -.xc-not-Selection{ - width: 40rpx; -height: 40rpx; - background: #eeeeee; -} - - -.xc-close-express{ - width: 40rpx; -height: 40rpx; -border-radius: 50%; -border: 3rpx solid #333; -text-align: center; -font-size:32rpx; -line-height: 38rpx; -color: #333; -margin-top: 5rpx; -} -.cx-popup .tops{ - width: 100%; -height: 145rpx; -border-bottom: 3rpx solid #eee; - -} -.top-content { - width: 82%; -padding-top: 33px; -height: 100%; -padding-left: 40rpx; -} -.close-frame{ - margin-top: 30rpx; - -} - -.xc-hook { -width: 33rpx; -height: 33rpx; -transform: rotate(-135deg); -line-height: 35rpx; -text-align: center; -margin-right: 20rpx - - -} -.xc-hooks { -width: 30rpx; -height: 30rpx; -border: 1rpx solid #999; -margin-right: 20rpx; -} -.express_list_frame{ - display: flex; -height: 80rpx; -align-items: center; -padding-left: 40rpx; -border-bottom: 1rpx solid #eee; - -} -.express_list{ - width: 100%; - height: 65%; - overflow-y: auto; - margin-bottom: 40rpx; - -} -.xc-confirms { - box-sizing: border-box; - width: 40%; - border-radius: 50rpx; - height: 80rpx; - margin:0 auto; - font-size:28rpx; - background: #fff; - color: #333; - border: 2rpx solid #333; -} - - -/* 优惠券的改版样式 */ -.xc-coupon-frame{ - /* width: 710rpx; */ - width: 100%; - height:auto; - margin: 0 auto; - -} -.xc-coupon-frame .coupon-frame{ - width: 100%; - height: 200rpx; - margin-top:10rpx; - border-bottom: 1rpx solid #eee; - -} -.xc-coupon-frame .coupon-frame .coupon-left{ - width: 215rpx; - height:100%; - overflow: hidden; -} -.xc-money-frames{ - width:96%; - margin-top: -10px; -} - -.xc-rmb-symbol{ - font-size:40rpx; - -} - -.xc-rmb-val{ - font-size:60rpx; - -} -.coupon-explain{ - font-size:25rpx; -width:100%; - - -} -.xc-valuer{ - margin-top:39rpx; - margin-left:28rpx; - font-size:25rpx; -} -.coupon-frame .oval{ - width:155rpx; - height:83rpx; - border-radius: 50%; - right:-78rpx; - top:-37rpx; -} -.coupon-right{ - height: 99%; - border-top: 1rpx solid #eaeaea; - border-right: 1rpx solid #eaeaea; - flex-grow: 1; -} -.coupon-annotation{ - width: 95%; - height: 100%; - -} -.xc-brand{ - width:100rpx; - height:35rpx; - line-height: 35rpx; - font-size:21rpx; - border-radius:10rpx; position: relative; top:-1px; - margin-right: 8rpx -} -.top-frame{ - width:82%; - height: 75rpx; - margin-top:10rpx; -} -.top-frame .coupon-wode{ - font-size: 25rpx; - margin-left:10rpx; - width:340rpx; - height:88rpx; -} -.coupon-code{ - width:60rpx; - height:60rpx; - margin-top:5rpx; - -} -.frame{ - width: 100% -} -.coupon-time{ - font-size: 23rpx; - line-height:33rpx; - color: #333; -} - -.clik-get{ - width:125rpx; - height:45rpx; - border-radius: 25rpx; - line-height: 45rpx; - font-size:25rpx; - bottom:67rpx; - right:6px; -} - -.code-img{ - margin-left:20rpx; -} -.bottmo-explain{ -top:145rpx; -width:94%; -border-top:1rpx dashed #eee; -padding-top:8rpx; -height:38rpx; -line-height: 51rpx; - -} -.font-word{ - font-size: 22rpx; -} -.circle-size{ - background: #a0a0a0; - width: 27rpx; - height: 27rpx; - margin-top:13rpx; -margin-left:8rpx; -display: flex; - -align-items: center; -} -.xc-jiantou{ - transform: rotate(-90deg); - color: #fff; - font-size: 15rpx; - text-align: center; - width: 24rpx; -} -.xc-buttom{ - box-sizing: border-box; - width:100%; - min-height:76rpx; - height:auto; - line-height:40rpx; - border-left:1rpx solid #eee; - border-right:1rpx solid #eee; - border-bottom:1rpx solid #eee; -/* margin-left: 6rpx; */ -} - -.goods-num{ - font-size: 28rpx; - color: #333; -} - -.explain-coupon{ - font-size:25rpx; - padding: 10rpx 10rpx -} -.circle-frame{ - width: 20rpx; - height: auto; - z-index:1; - left:210rpx; - -} -.circle-sawtooth{ - width: 11rpx; - height: 11rpx; - background: #fff; -} - -.red{background-color: #fe7496;} -.green{ background-color: #22c7c1;} -.blue{background-color:#5e82e3;} -.g_gray{background-color: #aaaaaa} - -.f_text{text-align: center; height:96rpx; } -.xc-hook.sn { - margin-top:12%; -width:45rpx; -height:45rpx; -font-size:28rpx; -line-height:44rpx; - - -} -.xc-hooks.on{ - margin-top:12%; -width:42rpx; -height:42rpx; -} -.may_use_coupon{ - /* width: 95%; */ - /* height: 68rpx; */ - line-height:78rpx; - padding: 0 26rpx; - justify-content: space-between; - align-items: center; -} -.determine-frame{ - width: 100%; - height: 130rpx; - -} -.xc-determine{ - height: 80rpx; - width: 40%; - border-radius: 50rpx; -background: #d60021; -color: #fff; -font-size: 28rpx; -margin: 0 auto; - -} -.click-buttem{ -width: 90%; -margin: auto; -} -.logistics-name{ - margin-right:20rpx; -} -.xc-border{ - border-top:8rpx solid #eee; -width: 100% -} -.main-top{ -margin-top: 20rpx; - -} -.xc-hookts{ -border: 1rpx solid #999; - -} -.xc-hookts.on{ - width:30rpx; -height:30rpx; - -} -.xc-hookt.sn{ - width: 32rpx; -height: 32rpx; -font-size: 28rpx; -line-height: 34rpx; -} -.xc-hookt{ - transform: rotate(-135deg); -text-align: center; - -} -.main-bottom{ - margin-bottom: 20rpx; - -} -.xc-hookst{ - border: 1rpx solid #999; - -} -.xc-hookst.ons{ - width: 42rpx; -height: 42rpx; -margin-left: 20rpx; - -} -.is_use_coupon{ - width: 65%; -justify-content: flex-end; -padding-top: 10rpx; - - -} -.xc-hooka{ - transform: rotate(-135deg); -text-align: center; - -} -.xc-hooka.sn{ - width: 45rpx; -height: 45rpx; -font-size: 28rpx; -line-height: 44rpx; -margin-left: 20rpx; - -} -.color-gray{ - color: #808080; -} -.n_guige{ display: inline-block; background:rgb(236, 236, 236); color: rgb(63,63,63); padding: 3rpx 10rpx; border-radius: 3rpx } -.gift_image{ width: 60rpx; height: 60rpx; position: absolute; top: 0; left: 0} - -.quan_num_show{ padding: 4rpx 6rpx; background-color:#ea5551; color:#fff; border-radius: 6rpx;margin-left:10rpx;font-size:24rpx;} - -.navigator-hover { - background: none; - opacity: 1; -} - - -.plus_buy{ - background-color: #fff; - margin:15rpx 0; - padding: 20rpx; - position: relative; -} - - -.card_bg { - box-sizing: border-box; - padding: 2rpx 10rpx; - height: 28rpx; - border-radius: 26rpx; - font-size: 18rpx; - line-height: 28rpx; - max-width: 210rpx; - background: #333; - color: #fff; - margin-left: 8rpx; - position:relative; - top:7rpx; -} - -.card_bg image { - width: 19rpx; - height: 19rpx; - margin-right: 8rpx; -} - -.card_name { - position: relative; - top: -4rpx; - margin-left: 6px; -} - -.car_tri_up { - width: 0;height: 0; - border-left: 20rpx solid transparent; - border-right: 20rpx solid transparent; - border-bottom: 20rpx solid #fff; - position: absolute; - right: 20rpx; - top:-10rpx -} -.card_op{ - position: absolute; - right: 20rpx; - top:36rpx -} - -.zuhe { - width: 140rpx; - text-align: center; - height:40rpx; - position: absolute; - top: 15rpx; - left: -37rpx; - transform: rotate(-45deg); - background-color: rgb(255,0,0); - font-size:22rpx; - color: #fff; - line-height: 37rpx; -} - -.duo_gift_sele{ - position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; z-index: 10000; -} -.gift_top_v{ height:100rpx; padding: 0 40rpx; padding-right: 10rpx; } - - -.bg_jj{ - width: 14rpx; - height: 14rpx; - border-top: 2rpx solid #363b42; - border-right: 2rpx solid #363b42; - transform: rotateZ(45deg); - display: inline-block; -} - -.bg_jj1{ - width: 20rpx; - height: 20rpx; - border-top: 2rpx solid #363b42; - border-right: 2rpx solid #363b42; - transform: rotateZ(-135deg); - display: inline-block; -} - -.input-search { - position: relative; - padding: 10rpx; - font-size: 28rpx; -} -.input-box { - position: relative; - background-color: #f0f0f0; - border-radius: 60rpx; -} - -.input-box .sear_box { - -} -.input-search { - position: relative; - padding: 10rpx; - font-size: 28rpx; -} - -.icon-guan { - font-size: 20rpx; - padding: 10rpx; - position: absolute; - right: 20rpx; - top: 50%; - transform: translateY(-50%); -} - - - -.order-item { - display: flex; - height: 246rpx; - border-top: 3rpx solid rgb(245, 245, 245); - align-items: center; - padding-right: 30rpx; -} - - -.pay-for { - width: 100%; - height: 110rpx; - position: fixed; - left: 0; - bottom: 100rpx; - font-size: 28rpx; - color: #666; - background-color: rgb(255, 255, 255); - z-index: 1999; - border-top: 1rpx solid rgb(236, 236, 236); - border-bottom: 1rpx solid rgb(236, 236, 236); - -} - -.pay-for .pay-btn { - width: 220rpx; height: 112rpx; line-height: 112rpx; - background-color: rgb(219, 27, 52); - color: #fff; - border-radius: 0; - font-size: 31rpx; -} - -.pay-for .consumer { - margin-right: 23rpx; - color: rgb(0, 0, 0); - letter-spacing: 1rpx; -} - -.pay-for .consumer .total { - color: rgb(0, 0, 0); -} - -.pay-for .consumer .tips { - color: rgb(153, 153, 153); -} - -.pay-for .checkbox { - float: left; - padding-left: 40rpx; - line-height: 100rpx; - display: flex; - align-items: center; -} - -.pay-for .ico-check { - display: flex; - align-items: center; - margin-right: 20rpx; -} -.order-raido { - height: 100%; - padding-left: 30rpx; - padding-right: 25rpx; -} -.icon_no_sele{ display: inline-block; width: 39rpx; height: 39rpx; border: 1rpx solid #ddd; border-radius: 50%} -.icon_no_sele2{width: 39rpx; height: 39rpx; border: 1rpx solid #ddd; border-radius: 50%; margin-top: 20rpx; - margin-left: 30rpx; margin-right: 25rpx} -.baseline { - display: flex; - align-items: baseline; -} -.specifications { - padding: 3rpx 8rpx; - margin-top: 8rpx; - font-size: 22rpx; - max-width: 356rpx; - width: auto; - height: 30rpx; - line-height: 29rpx; - background-color: rgb(236, 236, 236); - border-radius: 8rpx; - white-space: nowrap; - color: rgb(63, 63, 63); - display: inline-block; -} - -.count { - display: flex; - bottom: 5rpx; - /* border: 2rpx solid rgb(236, 236, 236); */ - margin-bottom: 3rpx; -} - -.count>view, .count>input { - width: 50rpx; - height: 40rpx; - line-height: 40rpx; - text-align: center; - display: flex; - font-size: 18rpx; - justify-content: center; - min-height: 35rpx; - align-items: center; -} - -.count>.goodadd { - width: 67rpx; - font-size: 24rpx; -} - -.count>.add { - font-size: 32rpx; -} - -.sub, .add, .count>input { - /* border-right: 1px solid #000; */ - background-color: #f0f0f0; - border-radius: 8rpx; -} -.sub.active { - /* background-color: #ddd; */ - color: #ccc; -} -.count>input { - margin: 0 14rpx; - line-height: normal; -} -.alend { - align-items: flex-end; -} -.goods-cont { - width: 420rpx; - height: 165rpx; - font-size: 28rpx; - margin-left: 35rpx; - padding-top: 7rpx; - padding-bottom: 5rpx; -} - -.circle1{ width: 50rpx;height: 50rpx; border-radius: 50%; margin-right: 10rpx; - border: 3rpx solid #c8162c;color: #c8162c;text-align: center; line-height: 50rpx} - -.sear_box::before{ - font-family: iconfont; - content: '\e618'; - font-size: 28rpx; -} - diff --git a/pages/cart/cart2/filter.wxs b/pages/cart/cart2/filter.wxs deleted file mode 100644 index c0e8d13..0000000 --- a/pages/cart/cart2/filter.wxs +++ /dev/null @@ -1,11 +0,0 @@ -var format = function (text) { - if (!text) { - return - } - var reg = getRegExp('\\\\n', 'g') - return text.replace(reg, '\n') -} - -module.exports = { - format: format -} diff --git a/pages/cart/cart2/juchi_part.wxml b/pages/cart/cart2/juchi_part.wxml deleted file mode 100644 index ff4271b..0000000 --- a/pages/cart/cart2/juchi_part.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/pages/cart/cart2/ladder_calculate.js b/pages/cart/cart2/ladder_calculate.js deleted file mode 100644 index e902b51..0000000 --- a/pages/cart/cart2/ladder_calculate.js +++ /dev/null @@ -1,243 +0,0 @@ -var regeneratorRuntime = require('../../../utils/runtime.js'); -module.exports = { - //主要的作用,就是把阶梯促销多余的商品进行拆分, - //如果没有达成阶梯促销的要求,所有的商品都打回原价购买 - fir_set_arr: function (c_item, th) { - //寻找一下 - function get_num2(ite) { - var vh = c_item.goods.findIndex(function (e) { - return e.goods_id == ite.goods_id - }) - if (vh > -1) return vh; - return 0; - } - - //组合活动,以及组合活动从表的商品 - let ladder_map = c_item.ladder_map; - let goods = c_item.goods; //一个门店中所有的商品 - let tfeel = 0, cut_price = 0, offline_price = 0, offline_num = 0; - //多个活动要拿来循环一下 - for (let i in ladder_map) { - let title = ""; //提示语; - //其中的一个活动 - let act_item = ladder_map[i]; - let ladder_list = act_item.ladder_list; - - let all_num = 0; //商品数量之和 - let all_price0 = 0; //商品数量之和 - let aprice = 0; //达到活动条件的购买价格 - - let no_in_arr = []; //剩余的未加入组合购 - let del_g=[]; - for (var li in goods) { - if (goods[li].prom_type != 10) continue; - if (goods[li].prom_id != act_item.id) continue; - var item = goods[li]; - item.goods_price = item.goods_price; - item.offline_price = item.offline_price; - item.cart_num = item.goods_num; - all_num += item.cart_num; - for (var j = 0; j < item.cart_num; j++) { - no_in_arr.push({ - price: item.goods_price, - offline_price: item.offline_price, - goods_id: item.goods_id, - shop_price: item.shop_price, - item:item - }) - } - del_g.push(item); - } - - function sortData(a, b) { - return a.price - b.price - } - no_in_arr.sort(sortData); - - //开始阶梯计算价格 - var lev = 0; - for (let j in ladder_list) { - if (no_in_arr.length == 0) break; - let item_j =ladder_list[j]; - var end = no_in_arr.pop(); - var new_price = parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price; - var account=new_price * parseFloat(item_j.discount) / 10; - aprice +=account; - - //-- 单个文件新增 -- - let new_g = JSON.parse(JSON.stringify(end.item)); - new_g.goods_num = 1; - //如果有平摊到单品的时候,account要显示 - if(!th.data.ispt_goods) new_g.account = account.toFixed(2); - new_g.ld_account = account.toFixed(2); - new_g.discount = item_j.discount; - new_g.goods_price =new_price; - new_g.ladder_list_id =item_j.id; - goods.push(new_g); - lev++; - } - - let goods_map = {}; - //算一下剩余的商品 - if (no_in_arr.length) { - for (let ii in no_in_arr) { - let item = no_in_arr[ii]; - if (item.offline_price) { - offline_price += item.price - item.offline_price; - offline_num += 1; - } - if (goods_map[item.goods_id]) { - var num = goods_map[item.goods_id]; - goods_map[item.goods_id] = ++num; - } else { - goods_map[item.goods_id] = 1; - } - } - } - - if (Object.keys(goods_map).length) { - //这里就开始拆分提交订单时的列表 - for (let j in goods_map) { - //map中存的就是商品的数量 - let num = goods_map[j]; - //找到相应的商品 - let idx = goods.findIndex(function (ele) { - return ele.goods_id == j; - }) - //goods[idx].goods_num -= num; - let new_g = JSON.parse(JSON.stringify(goods[idx])); - new_g.goods_num = num; - new_g.prom_type = 0; - new_g.prom_id = 0; - goods.push(new_g); - //goods.splice(idx, 1); - } - } - - //-- 最后剔除不要参与的数据 -- - for(var h in del_g){ - var it=del_g[h]; - let idx = goods.findIndex(function (ele) { - return ele.goods_id == it.goods_id - }) - goods.splice(idx, 1); - } - - //-- 只统计是参与活动的商品 -- - for (var ij in goods) { - var iter = goods[ij]; - if (iter.prom_type != 10 || iter.prom_id != act_item.id) { - continue; - } - all_price0 += iter.goods_num * iter.goods_price; - } - - if(!c_item.ladder_prom_goods) c_item.ladder_prom_goods={}; - if(!c_item.ladder_prom_goods[act_item.id]) c_item.ladder_prom_goods[act_item.id]={}; - - //-- 活动的条件已经满足 -- - c_item.ladder_prom_goods[act_item.id].is_has_ladder = 1; - c_item.is_has_ladder = 1; - c_item.ladder_prom_goods[act_item.id].actual_price = aprice; - c_item.ladder_prom_goods[act_item.id].cut_price = all_price0 - aprice; - - tfeel += aprice; - cut_price += all_price0 - aprice; - - } - - c_item.ladder_all_price = tfeel; - c_item.ladder_cut_price = cut_price; - - if (c_item.is_offline == 1) { - c_item.offline_price += offline_price; - c_item.offline_num += offline_num; - } else { - c_item.is_offline == 1; - c_item.offline_price = offline_price; - c_item.offline_num = offline_num; - } - }, - //筛选组合购,纯粹的数组按活动id分组 - find_split: function (arr) { - //过滤只有团购的商品 - let oarr = arr.goods.filter(function (ele) { - return ele.prom_type == 10 - }) - if (!oarr || oarr.length == 0) return null; - //看一下有多少个不同的团购 - let map = {}, - dest = []; - for (let i = 0; i < oarr.length; i++) { - let ai = oarr[i]; - let index = map[ai.prom_id] - if (!index) { - dest.push({ - prom_id: ai.prom_id, - act: ai.act, - data: [ai] - }); - map[ai.prom_id] = dest.length; //存储下标 - } else { - let dj = dest[index - 1]; - dj.data.push(ai); - } - } - return dest; - }, - - //-- 组装阶梯购的价格 -- - calc_split_price: async function (c_arr, th) { - //-- 循环处理 -- - for (var k in c_arr) { - var cart_item = c_arr[k]; //就是每一单的意思 - var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 - - var ladder_map = cart_item.ladder_prom_goods; //一单中所有的组合购的集合 - var item_map = {}; - for (let i in ladder_map) { - let item = ladder_map[i]; - let prom_id = i; - //如果这个活动还没有达到要求,继续下一个计算 - if (!item.is_has_ladder) continue; - //过滤出相应组合购活动的商品 - let glist = ord_goods.filter(function (ele) { - return ele.prom_type == 10 && ele.prom_id == i; - }) - - var all_good_price = 0; - var post_gd = []; - for (let j in glist) { - let item = glist[j]; - all_good_price += item.goods_price * item.goods_num; - var gitem = { - goods_id: item.goods_id, - goods_num: item.goods_num, - goods_price: item.goods_price - } - post_gd.push(gitem); - } - //要进行优惠的计算 - if (all_good_price - item.actual_price) { - if (cart_item.prom_pt_json) { - cart_item.prom_pt_json.push({ - "ladder_prom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }) - } else { - cart_item.prom_pt_json = [{ - "ladder_prom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }]; - } - } - } - - - } - } - - -} diff --git a/pages/cart/cart2/remark_click_part.wxml b/pages/cart/cart2/remark_click_part.wxml deleted file mode 100644 index dc2dd78..0000000 --- a/pages/cart/cart2/remark_click_part.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - - 优惠券使用说明 - \ No newline at end of file diff --git a/pages/cart/cart2/remark_click_part2.wxml b/pages/cart/cart2/remark_click_part2.wxml deleted file mode 100644 index eabab2e..0000000 --- a/pages/cart/cart2/remark_click_part2.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - - 优惠券使用说明 - \ No newline at end of file diff --git a/pages/cart/cart2/remark_part.wxml b/pages/cart/cart2/remark_part.wxml deleted file mode 100644 index a818031..0000000 --- a/pages/cart/cart2/remark_part.wxml +++ /dev/null @@ -1,9 +0,0 @@ - - - {{util.format(item.Remark)}} - - 仅{{item.UseObjectName}}使用 - 全场通用 - - - \ No newline at end of file diff --git a/pages/cart/cart2/zh_calculate.js b/pages/cart/cart2/zh_calculate.js deleted file mode 100644 index a1c204e..0000000 --- a/pages/cart/cart2/zh_calculate.js +++ /dev/null @@ -1,529 +0,0 @@ -var regeneratorRuntime = require('../../../utils/runtime.js'); -module.exports = { - //主要的作用,就是把组合购多余的商品进行拆分, - //如果没有达成组合购的要求,所有的商品都打回原价购买 - fir_set_arr: function (c_item, th) { - //组合活动,以及组合活动从表的商品 - let zh_prom_goods = c_item.zh_prom_goods; - let goods = c_item.goods; //一个门店中所有的商品 - let tfeel = 0, - cut_price = 0, - offline_price = 0, - offline_num = 0; - let txt_ite = c_item.need_list; - //多个活动要拿来循环一下 - for (let i in zh_prom_goods) { - let title = ""; //提示语; - //其中的一个活动 - let act_item = zh_prom_goods[i]; - let act_goos = act_item.gdlist; - let act = act_item.act; - if (!act) continue; - - let all_num = 0; //商品数量之和 - let all_price0 = 0; //商品数量之和 - let aprice = 0; //达到活动条件的购买价格 - let need_to_buy = 0; - let all_zhqty = 0; //所有商品要求起购数之和 - let no_in_arr = []; //剩余的未加入组合购 - let out_arr = []; //超出活动限购的商品放入 - let zhqty_bz = []; //超量 - //-- 寻找一下 -- - function get_num2(ite) { - for (let v2 in goods) { - var vh = goods[v2]; - if (vh.goods_id == ite.goods_id) { - return vh; - } - } - return 0; - } - - for (let j in act_goos) { - let item = act_goos[j]; - let item_j = goods.find(function (ele) { - console.log('ele', ele); - return ele.goods_id == act_goos[j].goods_id; - }) - //-- 如果有找到的话 -- - if (item_j) { - act_goos[j].num = item_j.goods_num; - act_goos[j].goods_price = item_j.goods_price; - var cart_num = item.cart_num = item_j.goods_num; - var zh_b_num = item_j.promgoodsbuynum; - if (item.buyqty > 0) { - - var key = item.goods_id + "" + act.id; - var cbuy = item.buyqty - zh_b_num; - if (th.data.in_zhact_gdmap[key]) { - var cbuy = item.buyqty - zh_b_num - th.data.in_zhact_gdmap[key]; - } - - - //当可买的数量为0 - if (cbuy <= 0) { - item.num = 0; - out_arr.push({ - price: item.goods_price, - offline_price: item.offline_price, - goods_id: item.goods_id, - num: cart_num - }) - } else { - if (cbuy >= cart_num) item.num = cart_num; - else { - item.num = cbuy; - out_arr.push({ - price: item.goods_price, - offline_price: item.offline_price, - goods_id: item.goods_id, - num: cart_num - cbuy - }) - } - } - } - - all_num += item.num; - //当有起购数的控制的时候 - if (item.zhqty) { - zhqty_bz.push(item); - all_zhqty += item.zhqty; - if (item.num < item.zhqty) { - need_to_buy += item.zhqty - item.num; - } - if (item.num > item.zhqty) { - for (let i = 0; i < item.num - item.zhqty; i++) { - no_in_arr.push({ - price: item.goods_price, - goods_id: item.goods_id, - offline_price: item_j.offline_price - }) - } - } - } else { - for (let j = 0; j < item.num; j++) { - no_in_arr.push({ - price: item.goods_price, - goods_id: item.goods_id, - offline_price: item_j.offline_price - }) - } - } - } else { - if (item.zhqty) { - title = "必买商品未加购,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; - need_to_buy += item.zhqty; - } - } - - } - - //当满足组合的要求:总数要满足,起购数要满足 - if (act && all_num >= act.zhbuyqty && !need_to_buy) { - //商品的列表 - for (var u in act_goos) { - var ite = act_goos[u]; - if (ite.buyqty > 0 && ite.num > 0) { - var key = ite.goods_id + "" + act.id; - if (th.data.in_zhact_gdmap[key]) { - th.data.in_zhact_gdmap[key] += ite.num; - } else { - th.data.in_zhact_gdmap[key] = ite.num; - } - } - } - - function sortData(a, b) { - return a.price - b.price - } - if (no_in_arr.length > 0) no_in_arr.sort(sortData); - aprice = act.zhprice; - if (act.zhbuyqty > all_zhqty) { - for (let n = 0; n < act.zhbuyqty - all_zhqty; n++) { - no_in_arr.pop(); - } - } - //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 - if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { - var bz_num_ok = 0; //超量倍增是否满足 - var zhqty_len = 0; //几个超量倍增 - var delete_num=0; - let be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 - if (act.is_bzyh && zhqty_bz.length > 0) { - if (zhqty_bz.length > 1) { - let zhqty_bz_arr = []; - let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); - if (zhqty_bz_flag) { - for (let i = 0; i < zhqty_bz.length; i++) { - var vv = zhqty_bz[i]; - for (let j = 0; j < be * vv['zhqty']; j++) { - let index = no_in_arr.findIndex(i => { - return vv.goods_id === i.goods_id - }) - if (index > -1) { - delete_num++ - no_in_arr.splice(index, 1) - } - } - } - } else { - zhqty_len=1; - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { - return o['num']; - })); - let new_arr = zhqty_bz_arr.filter(ii => { - return ii['num'] == min_bz_num; - }) - var vv = new_arr[0]; - var bz_num = be * new_arr[0].zhqty; //超量倍增 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; - } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - } else { - be = Math.floor(num / vv.zhqty) - } - bz_num_ok = be * vv.zhqty; - } - - for(let i = 0; i < zhqty_bz.length; i++){ - let item1=zhqty_bz[i]; - for (let j = 0; j < be * item1['zhqty']; j++) { - let index = no_in_arr.findIndex(i => { - return item1.goods_id === i.goods_id - }) - if (index > -1) { - // delete_num++ - no_in_arr.splice(index, 1) - } - } - } - aprice += be * aprice; - } - } else { - var vv = zhqty_bz[0]; - var bz_num = be * vv.zhqty; //超量倍增 - var num = vv['num'] - vv.zhqty; //购买数量减去超量 - if (num > 0) { - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; - } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - } else { - be = Math.floor(num / vv.zhqty) - } - bz_num_ok = be * vv.zhqty; - } - for (let j = 0; j < bz_num_ok; j++) { - let index = no_in_arr.findIndex(i => { - return vv.goods_id === i.goods_id - }) - if (index > -1) { - delete_num++ - no_in_arr.splice(index, 1) - } - } - } else { - zhqty_len = 1; - } - } - } - if (!zhqty_len) { - aprice += be * act.zhprice; - let pop_num = be * act.zhbuyqty - delete_num; - for (var m = 0; m < pop_num; m++) { - no_in_arr.pop(); - } - } - - } - - let goods_map = {}; - //算一下剩余的商品 - if (no_in_arr.length) { - for (let ii in no_in_arr) { - let item = no_in_arr[ii]; - if (item.offline_price) { - offline_price += item.price - item.offline_price; - offline_num += 1; - } - if (goods_map[item.goods_id]) { - var num = goods_map[item.goods_id]; - goods_map[item.goods_id] = ++num; - } else { - goods_map[item.goods_id] = 1; - } - } - } - - //超量的部分也要计算一下 - if (out_arr.length) { - for (var m in out_arr) { - var item = out_arr[m]; - if (item.offline_price) { - offline_price += (item.price - item.offline_price) * item.num; - offline_num += item.num; - } - if (goods_map[item.goods_id]) { - var num = goods_map[item.goods_id]; - num += item.num - goods_map[item.goods_id] = num; - } else { - goods_map[item.goods_id] = item.num; - } - } - } - - if (Object.keys(goods_map).length) { - //这里就开始拆分提交订单时的列表 - for (let j in goods_map) { - //map中存的就是商品的数量 - let num = goods_map[j]; - //找到相应的商品 - let idx = goods.findIndex(function (ele) { - return ele.goods_id == j; - }) - goods[idx].goods_num -= num; - let new_g = JSON.parse(JSON.stringify(goods[idx])); - new_g.goods_num = num; - new_g.prom_type = 0; - new_g.prom_id = 0; - goods.push(new_g); - - //如果商品的数量已经为空了 - if (goods[idx].goods_num <= 0) { - goods.splice(idx, 1); - } - } - } - - - //-- 只统计是参与活动的商品 -- - for (var ij in goods) { - var iter = goods[ij]; - if (iter.prom_type != 7 || iter.prom_id != act.id) { - continue; - } - all_price0 += iter.goods_num * iter.goods_price; - } - //-- 活动的条件已经满足 -- - c_item.zh_prom_goods[act.id].is_has_zh = 1; - c_item.is_has_zh = 1; - c_item.zh_prom_goods[act.id].actual_price = aprice; - c_item.zh_prom_goods[act.id].cut_price = all_price0 - aprice; - - //-- 设置还需要购买多少件,享受活动,前段显示 -- - let need_to = c_item.need_list; - let index = this.find_need_to(need_to, act); - if (index > -1) { - need_to.splice(index, 1); - txt_ite = need_to - } - - - } else { - for (let ii in goods) { - let item = goods[ii]; - if (item.prom_type != 7) continue; - if (item.prom_id != act.id) continue; - if (item.offline_price) { - offline_price += item.goods_price - item.offline_price; - offline_num += 1; - } - item.prom_type = 0; - item.prom_id = 0; - } - if (act.zhbuyqty - all_num > need_to_buy) { - need_to_buy = act.zhbuyqty - all_num; - } - //-- 设置还需要购买多少件享受活动,前端显示 -- - let need_to = c_item.need_list; - let index = this.find_need_to(need_to, act); - if (title == '') title = "再买" + need_to_buy + "件,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; - if (index != -1) { - need_to[index].title = title; - } else { - if (!need_to) need_to = []; - let it = { - id: act.id, - pickup_id: c_item.pickup_id, - title: title - }; - need_to.push(it); - } - txt_ite = need_to; - } - tfeel += aprice; - cut_price += all_price0 - aprice;; - } - - c_item.zh_all_price = tfeel; - c_item.zh_cut_price = cut_price; - - if (c_item.is_offline == 1) { - c_item.offline_price += offline_price; - c_item.offline_num += offline_num; - } else { - c_item.is_offline == 1; - c_item.offline_price = offline_price; - c_item.offline_num = offline_num; - } - - }, - //筛选组合购,纯粹的数组按活动id分组 - find_split: function (arr) { - //过滤只有团购的商品 - let oarr = arr.goods.filter(function (ele) { - return ele.prom_type == 7 - }) - if (!oarr || oarr.length == 0) return null; - //看一下有多少个不同的团购 - let map = {}, - dest = []; - for (let i = 0; i < oarr.length; i++) { - let ai = oarr[i]; - let index = map[ai.prom_id] - if (!index) { - dest.push({ - prom_id: ai.prom_id, - act: ai.act, - data: [ai] - }); - map[ai.prom_id] = dest.length; //存储下标 - } else { - let dj = dest[index - 1]; - dj.data.push(ai); - } - } - return dest; - }, - - find_need_to: function (list, iter) { - if (!list || list.length <= 0) return -1; - for (var i in list) { - var item = list[i]; - if (item.id == iter.id) { - return i; - } - } - return -1; - }, - //-- 平摊组合购的价格 -- - calc_zh_split_price: async function (c_arr, th) { - //-- 循环处理 -- - for (var k in c_arr) { - var cart_item = c_arr[k]; //就是每一单的意思 - var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 - - var zh_prom_goods = cart_item.zh_prom_goods; //一单中所有的组合购的集合 - var item_map = {}; - for (let i in zh_prom_goods) { - let item = zh_prom_goods[i]; - let prom_id = i; - //如果这个活动还没有达到要求,继续下一个计算 - if (!item.is_has_zh) continue; - //过滤出相应组合购活动的商品 - let glist = ord_goods.filter(function (ele) { - return ele.prom_type == 7 && ele.prom_id == i; - }) - var all_good_price = 0; - var post_gd = []; - for (let j in glist) { - let item = glist[j]; - all_good_price += item.goods_price * item.goods_num; - var gitem = { - goods_id: item.goods_id, - goods_num: item.goods_num, - goods_price: item.goods_price - } - post_gd.push(gitem); - } - //要进行优惠的计算 - if (all_good_price - item.actual_price) { - if (cart_item.prom_pt_json) { - cart_item.prom_pt_json.push({ - "zhprom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }) - } else { - cart_item.prom_pt_json = [{ - "zhprom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }]; - } - } - - //-- 如果系统要平摊到单品 -- - var pt_data = { - 'prom_id': prom_id, - 'dis': parseFloat(all_good_price - item.actual_price).toFixed(2), - 'goods': post_gd - } - var pt_res = null; - await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { - is_json: 1, - data: pt_data - }).then(res => { - if (res.data.code == 0) { - pt_res = res.data.data; - } - }) - if (pt_res) { - for (var io in glist) { - var goods_id = glist[io].goods_id; - item_map[goods_id] = {}; - //平摊赋值 - item_map[goods_id].account_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account; - item_map[goods_id].account_yu_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account_yu; - if (!th.data.ispt_goods) { - item_map[goods_id].account = item_map[goods_id].account_fir; - item_map[goods_id].account_yu = item_map[goods_id].account_yu_fir; - } - } - } - } - - //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表----------- - for (var jj = 0; jj < ord_goods.length; jj++) { - if (ord_goods[jj].is_gift) continue; - if (ord_goods[jj].prom_type == 7 && item_map[ord_goods[jj].goods_id]) { - ord_goods[jj].account_fir = item_map[ord_goods[jj].goods_id].account_fir; - ord_goods[jj].account_yu_fir = item_map[ord_goods[jj].goods_id].account_yu_fir; - ord_goods[jj].account = item_map[ord_goods[jj].goods_id].account; - ord_goods[jj].account_yu = item_map[ord_goods[jj].goods_id].account_yu; - } - } - } - - - }, - zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr){ - let zhqty_bz_flag =true; - for(let i=0;i num) { - zhqty_bz_flag=false; - zhqty_bz_arr.push(item); - // zhqty_bz.splice(i,1) - } - } - return zhqty_bz_flag; - } - - -} \ No newline at end of file diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 6b4a18a..dd012a5 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -2098,7 +2098,7 @@ Page({ data: newd, success: function (t) { th.closeSpecModal(); - getApp().goto("/pages/cart/cart2/cart2?state=1"); + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); } }); } @@ -2132,7 +2132,7 @@ Page({ data: newd, success: function (t) { th.closeSpecModal(); - getApp().goto("/pages/cart/cart2/cart2?state=1"); + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); } }); } @@ -2218,7 +2218,7 @@ Page({ wx.redirectTo({ url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, });--*/ - getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) }) } else { @@ -2227,7 +2227,7 @@ Page({ wx.redirectTo({ url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, });--*/ - getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + getApp().goto("/packageE/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) } } diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 43d0dad..ad5296b 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -401,7 +401,7 @@ - + diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..4f2fee7 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,907 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "condition": { + "miniprogram": { + "list": [ + { + "name": "启动直播列表页", + "pathName": "pages/justTest/justTest", + "query": "", + "scene": null + }, + { + "name": "liveStreamDetails", + "pathName": "packageA/pages/liveStreamDetails/liveStreamDetails", + "query": "", + "scene": null + }, + { + "name": "justTest", + "pathName": "pages/justTest/justTest", + "query": "", + "scene": null + }, + { + "name": "pages/goods/goodsInfo/goodsInfo", + "pathName": "pages/goods/goodsInfo/goodsInfo", + "query": "", + "scene": null + }, + { + "name": "pages/team/team_show/team_show", + "pathName": "pages/team/team_show/team_show", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "pages/store/index", + "pathName": "pages/store/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/live_share/live_share", + "pathName": "packageA/pages/live_share/live_share", + "query": "", + "scene": null + }, + { + "name": "pages/cart/cart2_pt/cart2_pt", + "pathName": "pages/cart/cart2_pt/cart2_pt", + "query": "", + "scene": null + }, + { + "name": "pages/cart/cart2_pt/cart2_pt", + "pathName": "pages/cart/cart2_pt/cart2_pt", + "query": "", + "scene": null + }, + { + "name": "pages/cart/cart_wk/cart_wk", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "pages/cart_wk/cart_wk/cart_wk", + "pathName": "pages/cart_wk/cart_wk/cart_wk", + "query": "", + "scene": null + }, + { + "name": "pages/cart/cart_wk/cart_wk", + "pathName": "pages/cart/cart_wk/cart_wk", + "query": "", + "scene": null + }, + { + "name": "pages/user/assistance/assistance", + "pathName": "pages/user/assistance/assistance", + "query": "", + "scene": null + }, + { + "name": "pages/goods/search/search", + "pathName": "pages/goods/search/search", + "query": "", + "scene": null + }, + { + "name": "pages/goods/search/search", + "pathName": "pages/goods/search/search", + "query": "", + "scene": null + }, + { + "name": "pages/user/userinfo/userinfo", + "pathName": "pages/user/userinfo/userinfo", + "query": "", + "scene": null + }, + { + "name": "pages/user/goods_share/goods_share", + "pathName": "pages/user/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA//pages/user/goods_share/goods_share", + "pathName": "packageA//pages/user/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/user/goods_share/goods_share", + "pathName": "packageA/pages/user/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/addCustomer/addCustomer", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/activity_share/activity_share", + "pathName": "packageA/pages/activity_share/activity_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_list/quan_list", + "pathName": "packageA/pages/quan_list/quan_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_pro/quan_pro", + "pathName": "packageA/pages/quan_pro/quan_pro", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_list/quan_list", + "pathName": "packageA/pages/quan_list/quan_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/addCustomer/addCustomer", + "pathName": "packageA/pages/addCustomer/addCustomer", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "pages/user/assistance/assistance", + "pathName": "pages/user/assistance/assistance", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/live_share/live_share", + "pathName": "packageA/pages/live_share/live_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "pages/user/assistance/assistance", + "pathName": "pages/user/assistance/assistance", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/live_share/live_share", + "pathName": "packageA/pages/live_share/live_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/jfbuy/jfbuy", + "pathName": "packageA/pages/jfbuy/jfbuy", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/live_share/live_share", + "pathName": "packageA/pages/live_share/live_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/activity_share/activity_share", + "pathName": "packageA/pages/activity_share/activity_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/jfbuy/jfbuy", + "pathName": "packageA/pages/jfbuy/jfbuy", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/jfbuy/jfbuy", + "pathName": "packageA/pages/jfbuy/jfbuy", + "query": "", + "scene": null + }, + { + "name": "pages/user/order_list/order_list", + "pathName": "pages/user/order_list/order_list", + "query": "", + "scene": null + }, + { + "name": "pages/shop_details/shop_details", + "pathName": "pages/shop_details/shop_details", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "pages/user/order_list/order_list", + "pathName": "pages/user/order_list/order_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhiDetails/chongzhiDetails", + "pathName": "packageA/pages/chongzhiDetails/chongzhiDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhiDetails/chongzhiDetails", + "pathName": "packageA/pages/chongzhiDetails/chongzhiDetails", + "query": "", + "scene": null + }, + { + "name": "pages/user/deposit/prepaid/prepaid", + "pathName": "pages/user/deposit/prepaid/prepaid", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhiDetails/chongzhiDetails", + "pathName": "packageA/pages/chongzhiDetails/chongzhiDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhiDetails/chongzhiDetails", + "pathName": "packageA/pages/chongzhiDetails/chongzhiDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/jfbuy/jfbuy", + "pathName": "packageA/pages/jfbuy/jfbuy", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "pages/user/integral/integral", + "pathName": "pages/user/integral/integral", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/jfbuy/jfbuy", + "pathName": "packageA/pages/jfbuy/jfbuy", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_list/quan_list", + "pathName": "packageA/pages/quan_list/quan_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_list/quan_list", + "pathName": "packageA/pages/quan_list/quan_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan/quan", + "pathName": "packageA/pages/quan/quan", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/checkin/checkin", + "pathName": "packageA/pages/checkin/checkin", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/chongzhi/chongzhi", + "pathName": "packageA/pages/chongzhi/chongzhi", + "query": "", + "scene": null + }, + { + "name": "pages/user/assistance/assistance", + "pathName": "pages/user/assistance/assistance", + "query": "", + "scene": null + }, + { + "name": "pages/giftpack/mygiftpack/mygiftpack", + "pathName": "pages/giftpack/mygiftpack/mygiftpack", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/quan_list/quan_list", + "pathName": "packageA/pages/quan_list/quan_list", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/service_record/service_record", + "pathName": "packageA/pages/service_record/service_record", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBao/hongBao", + "pathName": "packageA/pages/hongBao/hongBao", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBaoDetails/hongBaoDetails", + "pathName": "packageA/pages/hongBao/hongBao", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBaoDetails/hongBaoDetails", + "pathName": "packageA/pages/hongBaoDetails/hongBaoDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBaoDetails/hongBaoDetails", + "pathName": "packageA/pages/hongBaoDetails/hongBaoDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBao/hongBao", + "pathName": "packageA/pages/hongBao/hongBao", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBaoDetails/hongBaoDetails", + "pathName": "packageA/pages/hongBaoDetails/hongBaoDetails", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/hongBao/hongBao", + "pathName": "packageA/pages/hongBao/hongBao", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/service_record/service_record", + "pathName": "packageA/pages/service_record/service_record", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/myteam/myteam", + "pathName": "packageA/pages/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "pages/giftpack/newvipgift/newvipgift", + "pathName": "pages/giftpack/newvipgift/newvipgift", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/order/order", + "pathName": "packageA/pages/distribution/order/order", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/order/order", + "pathName": "packageA/pages/distribution/order/order", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/commision/commision", + "pathName": "packageA/pages/distribution/commision/commision", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/commision/commision", + "pathName": "packageA/pages/distribution/commision/commision", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/commision/commision", + "pathName": "packageA/pages/distribution/commision/commision", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/rank/rank", + "pathName": "packageA/pages/distribution/rank/rank", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/commision/commision", + "pathName": "packageA/pages/distribution/commision/commision", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/order/order", + "pathName": "packageA/pages/distribution/order/order", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/card/card", + "pathName": "packageA/pages/distribution/card/card", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/rank/rank", + "pathName": "packageA/pages/distribution/rank/rank", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/goods/goods", + "pathName": "packageA/pages/distribution/goods/goods", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/shop/shop", + "pathName": "packageA/pages/distribution/shop/shop", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/rookie/rookie", + "pathName": "packageA/pages/distribution/rookie/rookie", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/order/order", + "pathName": "packageA/pages/distribution/order/order", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/order/order", + "pathName": "packageA/pages/distribution/order/order", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/rank/rank", + "pathName": "packageA/pages/distribution/rank/rank", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/myteam/myteam", + "pathName": "packageA/pages/distribution/myteam/myteam", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/commision/commision", + "pathName": "packageA/pages/distribution/commision/commision", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/shop/shop", + "pathName": "packageA/pages/distribution/shop/shop", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/shop/shop", + "pathName": "packageA/pages/distribution/shop/shop", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/shop/shop", + "pathName": "packageA/pages/distribution/shop/shop", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/card/card", + "pathName": "packageA/pages/distribution/card/card", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/card/card", + "pathName": "packageA/pages/distribution/card/card", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/activity_share/activity_share", + "pathName": "packageA/pages/activity_share/activity_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/goods_share/goods_share", + "pathName": "packageA/pages/goods_share/goods_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/service_share/service_share", + "pathName": "packageA/pages/service_share/service_share", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/cardDetails/cardDetails", + "pathName": "packageA/pages/cardDetails/cardDetails", + "query": "", + "scene": null + }, + { + "name": "pages/user/my_service/i_service", + "pathName": "pages/user/appment_main/appment_main", + "query": "", + "scene": null + }, + { + "name": "pages/user/appment_main/appment_main", + "pathName": "pages/user/my_service/appment_main/appment_main", + "query": "", + "scene": null + }, + { + "name": "pages/user/my_service/appment_main", + "pathName": "pages/user/my_service/appment_main", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "pages/index/index/index", + "pathName": "pages/index/index/index", + "query": "", + "scene": null + }, + { + "name": "packageA/pages/distribution/main/main", + "pathName": "packageA/pages/distribution/main/main", + "query": "", + "scene": null + }, + { + "name": "", + "pathName": "pages/index/index/index", + "query": "", + "launchMode": "default", + "scene": 10001 + }, + { + "name": "", + "pathName": "pages/index/index/index", + "query": "", + "launchMode": "default", + "scene": 10001 + }, + { + "name": "", + "pathName": "packageD/pages/shop/order_detail/order_detail", + "query": "order_id=1049011", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/user/order_list/order_list", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/index/index/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "packageA/pages/liveStream/liveStream", + "query": "", + "launchMode": "default", + "scene": null + } + ] + } + }, + "setting": { + "urlCheck": true + }, + "libVersion": "2.29.0" +} \ No newline at end of file -- libgit2 0.21.4