diff --git a/app.wxss b/app.wxss index f5e0503..637caab 100644 --- a/app.wxss +++ b/app.wxss @@ -706,9 +706,9 @@ background: #ffe3e2; /* 图标字体(ty) */ @font-face { font-family: 'iconfont'; /* Project id 2054717 */ - src: url('//at.alicdn.com/t/font_2054717_j27uzo13r5f.woff2?t=1628845583213') format('woff2'), - url('//at.alicdn.com/t/font_2054717_j27uzo13r5f.woff?t=1628845583213') format('woff'), - url('//at.alicdn.com/t/font_2054717_j27uzo13r5f.ttf?t=1628845583213') format('truetype'); + src: url('//at.alicdn.com/t/font_2054717_lj9v8hh5xa.woff2?t=1630891447571') format('woff2'), + url('//at.alicdn.com/t/font_2054717_lj9v8hh5xa.woff?t=1630891447571') format('woff'), + url('//at.alicdn.com/t/font_2054717_lj9v8hh5xa.ttf?t=1630891447571') format('truetype'); } .iconfont { @@ -719,6 +719,26 @@ background: #ffe3e2; -moz-osx-font-smoothing: grayscale; } +.icon-daifu:before { + content: "\e723"; +} + +.icon-tkcg:before { + content: "\e61a"; +} + +.icon-kefu:before { + content: "\e619"; +} + +.icon-qianbao:before { + content: "\e616"; +} + +.icon-presell:before { + content: "\e6f6"; +} + .icon-nodata:before { content: "\e636"; } diff --git a/packageC/pages/presell/cart/c_filter.wxs b/packageC/pages/presell/cart/c_filter.wxs new file mode 100644 index 0000000..e8eda3e --- /dev/null +++ b/packageC/pages/presell/cart/c_filter.wxs @@ -0,0 +1,68 @@ +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==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 == 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/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js new file mode 100644 index 0000000..bd4d42b --- /dev/null +++ b/packageC/pages/presell/cart/cart.js @@ -0,0 +1,3793 @@ +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"); + +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: null, //选择券的控制属性 + 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, + }, + 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) { + } + }); + + + }, + onUnload: function () { + this.setData({isclose: 1}) + }, + onHide: function () { + this.setData({ + isget_by_quan: {}, + is_no_by: {}, + is_by: {} + }) + }, + + //----------子页返回父页触发---------- + onShow: function () { + var th = this; + th.setData({show_submit: 0}); //让提交先掩藏 + 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 going = 0; + + + //使用计时器,避免空现象 + /*--- + var jishi= setInterval(function () { + if (th.data.is_b_now == 1 && going==0) { + if(th.data.bn_goods) { + th.calculatePrice2();going=1;clearInterval(jishi); + } + }else if(going==0) { + if (th.data.cartlist){ + th.calculatePrice();going = 1; clearInterval(jishi); + } + } + },500)--*/ + + }); + 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; + + 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 + }); + + 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 user_addr=[ + { 'address_id': 882, 'user_id': 2661, 'consignee': '测试测试测', 'province': 3102, 'city': 3431, 'district': 3466, + 'address': 'ed', 'more_address': '山西-长治市-襄垣县-虎(音si)亭镇', 'mobile': 13012345678,'is_default':1}, + ];---*/ + 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; + //th.setData({ userinfo: getApp().globalData.userInfo,}); //这个余额被缓存了 + + //会员的信息,要获取最新 + 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}); + //-------获取购物车已经选择的商品-------- + th.get_cart(); + }) + } + }); + + //获取提现金额 + 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}); + } + } + }); + + }, + }); + + }, + + + //-----真的获取购物车,入口-------- + get_cart: function () { + var th = this, app = getApp(); + a.get("/api/weshop/cart/list", { + data: { + user_id: to.globalData.user_id, selected: 1, state: 0, + store_id: oo.stoid, pageSize: 600 + }, + success: async function (su) { + //按门店分类的数组 + var arr = new Array(); + var carr = su.data.data.pageData; + th.data.cartlist_y = carr; //存储原始购物车列表 + + //---是不是购买等级卡成功的返回---等级卡显示的判断--- + 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) { + await th.add_prom_goods_map(item1); + } + + //要把组合购的东西拿出来算一下 + if (item1.prom_type == 7) { + var isok = 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; + } + } else { + //未找到商品的活动 + isok = 0; + } + item1.act = res.data.data; + }) + + if (!isok) { + getApp().my_warnning("组合购的活动已经过期", 0, th); + return false; + } + + } + } + + //在分组的时候,就不要再调用接口,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}); + //} + + //-- 把等级卡会优惠多少钱装进去 -- + if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1; + + arr[j].goods.push(car_item); + 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}); + + 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: 0 + }; + + //-- 把等级卡会优惠多少钱装进去 -- + if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1; + 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); + break; + } + } + } + } + + //-- 循环计算一下线下取价 -- + 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; + for (var c = 0; c < item.length; c++) { + 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; + } + } + + //每一个门店内的组合购要进行拆分, + //还得把组合商品的多余商品的线下价格算一算 + 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 = null; + var url1 = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: 1, + pageSize: 2000, + store_id: os.stoid, + zh_id: h_item.prom_id, + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(res => { + if (ut.ajax_ok(res)) { + gdlist = res.data.data.pageData; + } + }) + //获取活动需要的商品列表 + u_item.zh_prom_goods[h_item.prom_id] = {gdlist: gdlist, act: h_item.act}; + } + zh_calc.fir_set_arr(u_item, th); + } + //深拷贝 + 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; + + 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.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; + } + + //---是不是购买等级卡成功的返回---等级卡显示的判断--- + 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}); + } + } + + switch (gd.prom_type) { + case 0: + case 2: + 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.prom_type == 3) { + t.data.data.prom_id = gg.prom_id; + t.data.data.prom_type = 3; + //如果是优惠活动,就要调用活动,计算价格 + th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) { + //判断一下购买商品的数量是不是超过 + if (data.gift_goods_id) { + var num = 1; + if (data.is_bz == 1) { + 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_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 //统一运费的金额 + + th.setData({buy_now_gift_goods: ob}); + } + } + + 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; + 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}); + + var cart_arr = new Array(); + //var narr=gg.collocation_goods; + //修改成深拷贝,确保返回是数据正确 + var narr = JSON.parse(JSON.stringify(gg.collocation_goods)); + + narr.push(t.data.data); + + //-- 搭配促销的门店配送方式的修复 -- + et = 1; + distr_t = 0; + 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 (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) { + et = 0; + } + + + 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: 0 + }; + cart_arr.push(ie); + th.data.old_cartlist = cart_arr; + } + th.setData({ + bn_goods: t.data.data, 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/getSJGoodsPrice/" + gd.store_id + + "/" + gd.goods_id + "/1/" + gd.prom_id, { + success: async function (tt) { + if (tt.data.code == 0) { + t.data.data.shop_price = tt.data.data.prom_price; + } 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 + ""; + } + + th.setData({ + bn_goods: t.data.data, + 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) { + this.setData({ + maxWord: t.detail.value.length + }); + }, + + calc_per: async function (c_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++) { + 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: item_map.price, 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; + if (get_data.gift_id && get_data.goodsinfo) { + 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.s_libao = get_data.libao; + item_map.s_lb_num = get_data.lb_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].prom_type == 3 && ord_goods[j].prom_id == item_map.prom_id) { + 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}]; + } + 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}) + } + } + } + } + } + }, + + //-------------------计算订单价格------------------- + calculatePrice: function (t, s) { + var th = this; + to.getConfig2(function (ee) { + to.getwuliuprice(async function (rs) { + wx.showLoading({ + title: "处理中." + }) + 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_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 freight_free = ee.freight_free; //全场满多少包邮 + var no_ex_id = ee.no_ex_id; + var no_ex_good = null; + var by_qc = {}; + + if (no_ex_id && freight_free > 0) { + //-----------获取不包邮区域,不包邮商品------- + await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods", { + data: {store_id: os.stoid, id: no_ex_id} + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + by_qc = res.data.data[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 th.get_cart_quan(c_arr); + //---循环购物车--- + 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 zh_prom_goods=c_arr[i].zh_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; + } + }) + } + + //--------循环计算总价----------- + for (var j = 0; j < item.length; j++) { + if(item[j].prom_type!=7){ + o_price_no_zh += item[j].goods_price * item[j].goods_num; + } + //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 + else if(zh_prom_goods && zh_prom_goods[item[j].prom_id] && zh_prom_goods[item[j].prom_id].act.is_orderyh ) + { + 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) continue; + 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; + + + //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额-- + if (no_ex_id && freight_free > 0 && (o_price - quan_price) >= freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list)) { + //如果有设置不包邮区域的时候 + if (by_qc.region_list != "" && by_qc.region_list != null && by_qc.region_list != undefined) { + if (th.check_by_area(by_qc.region_list)) { + freight_free = 0; + th.data.is_no_by[pickid] = 1; + } + } + //如果有设置不包邮区商品 + if (by_qc.goods_list != "" && by_qc.goods_list != undefined && by_qc != null && freight_free > 0) { + freight_free = 0; + no_ex_good = by_qc.goods_list; + } + } + + //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额-- + if (cart_item.exp_type == 0 && th.data.user_addr != null) { + //看是不是有调用过包邮券 + 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, + 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; + } + }) + } + } + + //如果是包邮券的时候,要看看券的情况 + 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; + //看有没有模板的包邮 + if (no_ex_good) { + var arr = no_ex_good.split(","); + var arr2 = quan.goods_list.split(","); + if (ut.isContained(arr, arr2)) { + getApp().my_warnning("全场不包邮商品和包邮券的重复", 0, th); + th.data.using_quan[pickid] = {}; + th.setData({using_quan: th.data.using_quan}) + return false; + } + var n_arr = ut.mergeArray(arr, arr2); + no_ex_good = n_arr.join(","); + } else { + no_ex_good = quan.goods_list; + } + } + } else { + th.data.is_quan_by[pickid] = 0; //专门给券的判断用的 + } + + //--------循环计算总价----------- + for (var j = 0; j < item.length; j++) { + //如果都包邮,都没必要等级数量了 + if (th.data.is_quan_by[pickid]) continue; + //如果是优惠活动是包邮,就不用计算包邮的费用了 + if (item[j].is_past) continue; + //是不是不包邮的商品 + var is_good_no_by = 0; + if (no_ex_good) { + is_good_no_by = th.check_by_goods(no_ex_good, item[j].goods_id); + } + + //如果达到全场包邮的条件,同时,没有地区不包邮,或者商品不包邮 + if (o_price - quan_price >= freight_free && freight_free > 0 && !is_good_no_by && th.data.is_no_by[pickid] != 1) { + continue; + } + + //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算-- + if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && !is_good_no_by) { + continue; + } + + var no_ex_good_arr = null; + if (no_ex_good) no_ex_good_arr = no_ex_good.split(','); + + //----------------如果是选择了物流--------------------- + if (cart_item.exp_type == 0 && item[j].is_free_shipping == 0 && (!no_ex_good_arr || no_ex_good_arr.indexOf(item[j].goods_id + '') > -1 )) { + + //如果地址不为空 + if (th.data.user_addr != null) { + 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']; + + break; + case 3: + if (goods_piece < 0) goods_piece = 0; + //累积商品数量 + goods_piece += item[j]['goods_num']; + break; + } + } + + } + } + + //计算物流价格 + if (cart_item.exp_type == 0) { + //freight_free=0; //后面不在进行判断 + 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 = + th.calculatewuliu(code, o_shipping_price, goods_weight, + goods_piece, th.data.user_addr, freight_free, o_price - quan_price, rs); + + 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 { + 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; + //看一下是不是不用组合购的订单优惠的叠加 + if(is_has_zh){ + o_condition=o_price_no_zh-quan_price; + } + + var order_m = 0; + //---判断是不是有订单优惠--- + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { + data: {store_id: os.stoid, orderAmount: o_condition} + }).then(res => { + if (res.data.code == 0) { + var ord_prom = res.data.data; + 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'];//满额优惠金额 + 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; + } + + 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 (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); + 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); + + 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"; + + 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 + }) + 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) { + 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: function () { + var th = this, good = this.data.bn_goods; + + if (!good) return false; + + //搭配的计算要用购物的车计算方法 + if (good.prom_type == 5) { + th.calculatePrice(); + return false; + } + + wx.showLoading({ + title: "处理中." + }) + //-----------计算商品总价-------------- + 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.getConfig2(function (ee) { + to.getwuliuprice(async function (rs) { + + var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; + + //---如果有选择优惠券的情况下--- + 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) { + //---获取优惠券优惠--- + 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; + } + }) + } + } + + //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- + if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 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 && th.check_by_goods(item.goods_list)) continue; //如果是不包邮商品 + arr.push(item); + } + if (arr) { + th.setData({get_by_quan_list: arr}); + } + th.data.isget_by_quan[th.data.bn_pick] = 1; + } + }) + } + + switch (good['exp_sum_type']) { + case 1: + //统一运费 + o_shipping_price += good['uniform_exp_sum']; + break; + case 2: + if (goods_weight < 0) goods_weight = 0; + //累积商品重量 每种商品的重量 * 数量 + goods_weight += good['weight'] * good['buynum']; + break; + case 3: + if (goods_piece < 0) goods_piece = 0; + //累积商品数量 + goods_piece += good['buynum']; + break; + } + + var code = ""; + if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code; + var freight_free = ee.freight_free; //全场满多少包邮 + var no_ex_id = ee.no_ex_id; + th.data.is_no_by[th.data.bn_pick] = 0; + + var no_by_data = null; + var gift_freight_free = freight_free; + + + //有不包邮区域,且不免运费 + if (no_ex_id && freight_free > 0 && freight_free <= parseFloat(allpice) - cut_price - quan_price) { + //-----------获取不包邮区域,不包邮商品------- + await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods", { + data: {store_id: os.stoid, id: no_ex_id} + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + no_by_data = res.data.data[0]; + //如果有设置不包邮区域的时候 + if (res.data.data[0].region_list) { + if (th.check_by_area(res.data.data[0].region_list)) { + freight_free = 0; + th.data.is_no_by[th.data.bn_pick] = 1; + } + } + //如果有设置不包邮商品 + if (res.data.data[0].goods_list && freight_free) { + if (th.check_by_goods(res.data.data[0].goods_list)) { + freight_free = 0; + th.data.is_no_by[th.data.bn_pick] = 1; + } + } + } + }) + } + + th.data.is_by[th.data.bn_pick] = 0; + //--------------开始计算物流------------------ + var shipping_price = + th.calculatewuliu(code, o_shipping_price, goods_weight, + goods_piece, th.data.user_addr, freight_free, parseFloat(allpice) - cut_price - quan_price, rs); + + //如果有赠品的时候,也要计算赠品的物流费用 + if (th.data.buy_now_gift_goods) { + shipping_price = th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free, + parseFloat(allpice) - cut_price - quan_price, rs, shipping_price, no_by_data, goods_weight, goods_piece); + } + + 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 { + 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 (o_condition > 0) { + th.check_is_order_prom(o_condition, function () { + var order_prom_amount = 0; + var order_prom_id = 0; + if (th.data.order_prom[th.data.bn_pick]) { + var ord_prom = th.data.order_prom[th.data.bn_pick]; + 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'];//满额优惠金额 + order_prom_amount = ord_prom['expression']; + break; + } + } + //--订单优惠的显示-- + if (order_prom_id > 0) { + var order_prom_txt1 = "formData.order_prom_id"; + var order_prom_txt2 = "formData.order_prom_amount"; + th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount}) + } + + 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"; + var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); + //--------------如果使用余额--------------------- + if (th.data.bn_use_money == 1) { + if (amoney > order_m) { + order_m = parseFloat(order_m).toFixed(2); + th.setData({[txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1}) + } 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}) + } + } else { + th.setData({[txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1}) + } + //优惠活动送积分 + if (good.s_intValue) { + txt = "formData.give_integral"; + th.setData({[txt]: good.s_intValue}); + } + //优惠送券 + if (good.s_coupon_id) { + var i_txt = "formData.give_coupon_id"; + //这个是json格式的 + var i_txt1 = "formData.g_coupon_num"; + var ob = [{"num": good.s_coupon_num, "c_id": good.s_coupon_id}]; + ob = JSON.stringify(ob); + th.setData({[i_txt]: good.s_coupon_id, [i_txt1]: ob}); + } + //优惠礼包 + if (good.s_libao) { + var l_txt = "formData.give_lb_id"; + //这个是json格式的 + var l_txt1 = "formData.g_lb_num"; + var ob = [{"num": good.s_lb_num, "l_id": good.s_libao}]; + ob = JSON.stringify(ob); + th.setData({[l_txt]: good.s_libao, [l_txt1]: ob}); + } + }) + } else { + 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"; + var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money); + //--------------如果使用余额--------------------- + if (th.data.bn_use_money == 1) { + if (amoney > order_m) { + order_m = parseFloat(order_m).toFixed(2); + th.setData({[txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1}) + } 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}) + } + } else { + th.setData({[txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1}) + } + //优惠活动送积分 + if (good.s_intValue) { + txt = "formData.give_integral"; + th.setData({[txt]: good.s_intValue}); + } + //优惠送券 + if (good.s_coupon_id) { + var i_txt = "formData.give_coupon_id"; + //这个是json格式的 + var i_txt1 = "formData.g_coupon_num"; + var ob = [{"num": good.s_coupon_num, "c_id": good.s_coupon_id}]; + ob = JSON.stringify(ob); + th.setData({[i_txt]: good.s_coupon_id, [i_txt1]: ob}); + } + //优惠礼包 + if (good.s_libao) { + var l_txt = "formData.give_lb_id"; + //这个是json格式的 + var l_txt1 = "formData.g_lb_num"; + var ob = [{"num": good.s_lb_num, "l_id": good.s_libao}]; + ob = JSON.stringify(ob); + th.setData({[l_txt]: good.s_coupon_id, [l_txt1]: ob}); + } + } + + wx.hideLoading(); + + }); + }); + }, + + //--------------------提交订单----------------------- + async submitForm(t){ + var sub_value = t; + + if (this.data.is_summit_ing == 1) 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': th.data.formData.all_price, //商品总价 + 'shipping_price': th.data.formData.shipping_price, //物流金额 + 'user_money': th.data.formData.user_money, //使用余额 + 'total_amount': th.data.formData.total_amount, //订单总价 + 'order_amount': th.data.formData.order_amount, //应付 + 'user_note': t.detail.value.user_note, //用户备注 + '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; + + //获取立即购买的商品的信息 + 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; + } + 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 (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; + + //先要带is_pd_normal=1 + if (gg.is_pd_normal) goods.is_pd_normal = 1; + + //如果不立即购买或者秒杀,如果是线下库存购买的时候 + if (goods.prom_type != 1 && goods.prom_type != 6 && th.data.sales_rules == 2) { + 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 = th.data.buy_now_gift_goods; + 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, + }; + item.order_goods.push(g_goods); + } + pdata.push(item); + + console.log(pdata); + } 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; + if (th.data.is_all_zt == 1) addr = null; + var val_arr = t.detail.value; + + + 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': t_item.goods_price, //商品总价 + 'shipping_price': t_item.shipping_price, //物流金额 + 'user_money': t_item.user_money, //使用余额 + 'total_amount': t_item.total_amount, //订单总价 + 'order_amount': t_item.order_amount, //应付 + 'user_note': val_arr['user_note_' + t_item.pickup_id], //用户备注 + '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; + } + + 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; + order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json); + } + //--判断组合优惠活动的提交-- + 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.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 (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 = ""; + //-------------让商品添加到商品列表-------------------- + for (var k = 0; k < t_item.goods.length; k++) { + var g_item = t_item.goods[k]; + 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 (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 (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]; + if (g_item.prom_type!=7 && g_item.erpwareid == you_item.WareId) { + goods.quan_num = you_item.WareCashSum; + goods.quan_no = you_item.CashRepNo; + } + } + } + + //--判断活动的类型-- + switch (g_item.prom_type) { + case 1: + 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; + } + + //如果不立即购买或者秒杀,如果是线下库存购买的时候 + 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) { + 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.room_id) { + goods.room_id = g_item.room_id; + room_ids += g_item.room_id + ","; + } + item.order_goods.push(goods); + } + + //如果房间号不为空的时候 + if (room_ids != "") item.room_ids = ut.sub_last(room_ids); + pdata.push(item); + } + + + } + + if (pdata.length == 0) return; + var str = JSON.stringify(pdata); + + wx.showLoading({title: "加载中"}); + 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) { + console.log(th.data.is_b_now); + //如果是购物车结算,还要删除购物车 + 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 += 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 () { + //支付失败 + 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.submitForm(sub_value); + } + } + }) + return; + } + if (msg.length > 13) { + msg = msg.slice(0, 13) + "\r\n" + msg.slice(13); + } + getApp().confirmBox(msg); + th.data.is_summit_ing = 0; //是否提交中 + } + } else { + th.data.is_summit_ing = 0; //是否提交中 + console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); + } + }, + fail: function () { + th.data.is_summit_ing = 0; + wx.hideLoading(); + console.log("index.js wx.request CheckCallUser fail"); + }, + complete: function () { + } + }) + + }, + //---确认线下门店的数量足不足--- + async check_store_num(goods_id, pick, goods_num, func){ + var lock = 0, pick_no, plist, erpwareid; + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: {store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000} + }).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; + } + }) + //先获取门店的编号 + 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; + } + }) + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: {storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000} + }).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) { + 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_js_useyuer: function () { + var th = this; + th.setData({js_use_money: !th.data.js_use_money}); + th.calculatePrice(); + }, + //-------------------计算物流--------------- + calculatewuliu: function (code, o_shipping_price, goods_weight, + goods_piece, user_addr, freight_free, o_price, rs) { + var price = 0, th = this; + price += parseFloat(o_shipping_price); + //如果是包邮 + if (freight_free > 0 && o_price >= freight_free) { + return 0; + } + if (user_addr == null) { + return 0; + } + //计算物流的config item; + var item = null; + //先根据 镇 县 区找计算的config + item = th.get_wuliu_config(user_addr.district, code, rs); + if (item == null) item = th.get_wuliu_config(user_addr.city, code, rs); + if (item == null) item = th.get_wuliu_config(user_addr.province, code, rs); + if (item == null) item = th.get_wuliu_default(code, rs); + if (item == null) return o_shipping_price; + var fw_price = 0, fp_price = 0; + item = item.config; + if (item == null) return o_shipping_price; + //------按重量---------- + if (goods_weight >= 0 && item['money']) { + fw_price = parseFloat(item['money']); + if (goods_weight > item['first_weight']) { + var fw = goods_weight - item['first_weight']; + var n = Math.ceil(fw / item['second_weight']) + fw_price = fw_price + n * parseFloat(item['add_money']); + } + } + //------按件数---------- + if (goods_piece > 0 && item['piecemoney']) { + fp_price = parseFloat(item['piecemoney']); + if (goods_piece > item['first_piece']) { + var fp = goods_piece - item['first_piece']; + var m = Math.ceil(fp / item['second_piece']) + fp_price = fp_price + m * parseFloat(item['add_piecemoney']); + } + } + var rspice = parseFloat(price + fw_price + fp_price); + return rspice; + }, + + //------------循环获取config----------- + get_wuliu_config: function (region_id, code, rs) { + var item = null, rslist = rs.pageData; + for (var i = 0; i < rslist.length; i++) { + if (rslist[i].code == code && rslist[i].region_id == region_id) { + item = rslist[i]; + } + } + return item; + }, + //-------循环获取config,code default------- + get_wuliu_default: function (code, rs) { + var item = null, rslist = rs.pageData; + for (var i = 0; i < rslist.length; i++) { + if (rslist[i].shipping_code == code && rslist[i].is_default == 1) { + item = rslist[i]; + } + } + return item; + }, + + //----------立即购买,选择物流------------- + 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: 2222}); + 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: 2222}); + 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: function (item, using_quan, pickid, isby) { + var th = this; + 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 { + 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(); + } else { + th.calculatePrice(); + } + 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); + }, + //--验证是否已经冻结-- + 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 is_xz_yh = 1; + //等待值的出现 + //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 = ''; + + for (var i in goodlist) { + var gd = goodlist[i]; + //--如果是秒杀就跳出,如果是赠品,如果是组合购,如果是限制使用优惠券-- + if (gd.prom_type == 1 || gd.is_gift || gd.prom_type == 7) { + continue; + } + //如果有限制使用优惠券,就要返回 + if (gd.prom_type == 3) { + 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; + } + is_xz_yh = 0; + var item_price = gd.goods_price * gd.goods_num; + //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 -- + if (gd.account_fir != null && gd.account_fir != undefined) { + item_price = gd.account_fir * gd.goods_num; + } + ckeck_quan_price += item_price; + + //--组装价格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; + } + } + + arr[ind].ckeck_quan_price = ckeck_quan_price - cut_price; + 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 && !is_xz_yh) { + //--调用接口,获取优惠券的列表,3秒钟内控制接口请求-- + var url = "/api/weshop/couponList/getUseCouponList"; + await app.request.promiseGet(url, { + data: { + storeId: oo.stoid, + userId: app.globalData.user_id, + BuySum: 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.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 price = arr.shop_price * arr.goods_num; + var prom = null; + getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { + data: { + price: price, + 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 = 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; + //-- 看是不是有赠品 -- + if (get_data.gift_id) { + 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_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.s_libao = get_data.libao; + arr.s_lb_num = get_data.lb_num; + arr.prom_id = prom_id; + } + 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} + }).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]; + 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; + } + }) + var ob = {}; + ob.prom_id = item.prom_id; + 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; + } + }) + ob.prom_id = item.prom_id; + 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; + + } + }, + + //计算立即购买赠品的物流费用 + get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) { + var good = this.data.buy_now_gift_goods; + var goods_weight = -1, goods_piece = -1; + var gift_shipping_price = 0; + var th = this; + switch (good['exp_sum_type']) { + case 1: + //统一运费 + gift_shipping_price += good['uniform_exp_sum']; + gift_shipping_price += o_shipping_price; + break; + case 2: + if (goods_weight < 0) goods_weight = 0; + //累积商品重量 每种商品的重量 * 数量 + goods_weight += good['weight'] * good['buynum']; + if (goods_weight1 > 0) { + goods_weight += goods_weight1; + } + break; + case 3: + if (goods_piece < 0) goods_piece = 0; + //累积商品数量 + goods_piece += good['buynum']; + if (goods_piece1) { + goods_piece += goods_piece1; + } + break; + } + + + //如果有设置不包邮区域的时候 + if (no_by_data && no_by_data.region_list) { + if (th.check_by_area(no_by_data.region_list)) { + gift_freight_free = 0; + th.data.is_no_by[th.data.bn_pick] = 1; + } + } + //如果有设置不包邮商品 + if (no_by_data && no_by_data.goods_list && gift_freight_free) { + if (th.check_by_goods(no_by_data.goods_list, good.goods_id)) { + gift_freight_free = 0; + //th.data.is_no_by[th.data.bn_pick]=1; + } + } + + var t_shipping_price = + this.calculatewuliu(code, gift_shipping_price, goods_weight, + goods_piece, user_addr, gift_freight_free, allpice, rs); + return t_shipping_price; + + }, + + //从优惠的映射中拿出商品从表的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}); + }, + + //确定使用线下取价 + 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 + }); + }, + + // 是否同意预售商品不退定金 + switchChange(e) { + let isSwitchOn = e.detail; + } + + +}); diff --git a/packageC/pages/presell/cart/cart.json b/packageC/pages/presell/cart/cart.json new file mode 100644 index 0000000..0cfb931 --- /dev/null +++ b/packageC/pages/presell/cart/cart.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "填写订单", + "enablePullDownRefresh": false, + "usingComponents": { + "warn": "/components/long_warn/long_warn" + } +} \ No newline at end of file diff --git a/packageC/pages/presell/cart/cart.wxml b/packageC/pages/presell/cart/cart.wxml new file mode 100644 index 0000000..3a260b4 --- /dev/null +++ b/packageC/pages/presell/cart/cart.wxml @@ -0,0 +1,748 @@ + + + + +
+ + + + + + + + + 等待买家付尾款 + 请于*天**小时**分**秒内付款完成,超时订单将自动取消 + + + + + 付定金 + + + + + + 付尾款 + + + + 商家发货 + + + + 交易完成 + + + + + + + + + + 退款完成(定金) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.pname}} + + + + + + + + + + {{items.goods_name}} + + + + {{filters.show_gui_ge(items.goods_spec,items.goods_color)}} + + + + + + + + + + + + {{filters.toFix(items.goods_price,2)}} + x{{items.goods_num}} + + + + + + + + + + {{show_card.CardName}} + + 立减 {{filters.toFix(item.card_cut_price,2) }} + + + vip超级会员仅需{{show_card.CardFee}}元 + + + + + 立即开通 + + + + + + + 优惠券{{item.can_num}}张可用 + + 不使用 + ¥{{using_quan[item.pickup_id].money}}元优惠券 + 包邮券 + + + + + + + + + + {{order.store_prom}} + + + + + + + + + + + + + + + + 门店自提 + + + + + + + + + + + + + 快递邮寄 + + + + + + + {{wu_arr[item.wind].name}} + + + + + + + + + + 选择物流 + + {{wu_arr[item.wind].name}} + + + + + + + + + + + + 留言 + + + + + + + + + 店铺优惠 + + 省{{filters.toFix(item.offline_price,2)}}元 + + + -¥{{filters.toFix(item.offline_price,2)}} + + + 不使用优惠 + + + + + + + + + + + + 使用余额 :¥{{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}} + + + + + + + + + + + + + {{buy_now_gift_goods.goods_name}} + + + + {{filters.show_gui_ge(buy_now_gift_goods.goods_spec,buy_now_gift_goods.goods_color)}} + + + + + 0 + x{{buy_now_gift_goods.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}}元 + + + + + 立即开通 + + + + + + {{order.store_prom}} + + + + + + 优惠券 {{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用 + + + 不使用 + + ¥{{using_quan[bn_pick].money}}元优惠券 + 包邮券 + + + + + + + + + 选择物流 + + {{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)}} + + + 不使用优惠 + + + + + + + + + + + 使用余额 :¥{{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.order_prom_amount,2)}}元 + + + 使用余额 + - ¥ {{formData.user_money}}元 + + + + + + 阶段一:定金(待付款) + ¥9.99元 + + + 阶段二:尾款 + ¥88元 + + + + + + 我同意预售商品不退定金 + + + + + + + + + 请于*天**小时**分**秒内付款完成,超时订单将自动取消 + + + 应付金额:{{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}} + + 不用优惠 + + + + + + + + + diff --git a/packageC/pages/presell/cart/cart.wxss b/packageC/pages/presell/cart/cart.wxss new file mode 100644 index 0000000..cc5c658 --- /dev/null +++ b/packageC/pages/presell/cart/cart.wxss @@ -0,0 +1,1062 @@ +.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: #FAFAFA; */ + background-color: #F0F0F0; + padding: 0 22rpx; + box-sizing: border-box; +} +.container { + background-color: #F0F0F0; + /* padding-top: 28rpx; */ + padding-bottom: 280rpx; +} + +.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; + /* margin-top: 28rpx; */ + border-radius: 14rpx; + padding: 20rpx 70rpx 20rpx 20rpx; +} +.user-contact { + /* padding: 24rpx 26rpx; + font-weight: 600; */ +} + +.location { + position: relative; + /* padding: 0 70rpx 24rpx; */ +} + +.pos-icon { + /* position: absolute; */ + /* left: 28rpx; + top: 6rpx; */ + 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; + /* margin-top: 20rpx; */ +} +.use-item{ + display: flex; + align-items: center; + /* height: 80rpx; */ + /* border-bottom: 1px solid #ddd; */ + font-size: 26rpx; + /* width:95%; +margin:auto; */ + padding: 20rpx; +} +.use-item>view{ + display: flex; + /* margin-right: 12rpx; */ +} +.use-item.bfff{ + background-color: #fff; +} +.use-item .dp{ + display: block; + width: 40rpx; + height: 40rpx; + /* margin-left: -6rpx; */ +} + +.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 { + /* box-sizing: border-box; */ + /* height:95rpx; */ + padding: 20rpx; + background-color: #fff; + font-size: 30rpx; + /* color: #444; */ + /* width: 100%; */ + 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; + flex-grow: 1; +} + +.word-box { + font-size: 26rpx; + /* width: 600rpx; */ + /* padding: 10rpx; + height: 28rpx; + line-height: 40rpx; */ +} + +.max-word { + position: absolute; + right: 0; + bottom: 0; +} + +.information { + /* padding: 20rpx; */ + background-color: #fff; + /* margin-bottom: 120rpx; */ +} + +.information .item { + display: flex; + justify-content: space-between; + /* height: 60rpx; + line-height: 60rpx; */ + font-size: 24rpx; + /* color: #333; */ + padding: 20rpx; +} + +.btn-wrap { + height: 94rpx; + box-sizing: border-box; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + background-color: white; + align-items: center; + + padding: 0 30rpx; +} + +.fixedToBottom { + position: fixed; + bottom: 0; + left: 0; + width: 100%; +} + +.tips-btn { + /* float: right; + width: 200rpx; + height: 100rpx; + line-height: 100rpx; + text-align: center; + font-size: 30rpx; + color: #fff; + background-color: #f23030; */ + color: white; + background-color: #FE4445; + height: 72rpx; + line-height: 72rpx; + padding: 0 42rpx; + border-radius: 36rpx; + margin-left: 0; + margin-right: 0; +} + +.pay-amount { + /* float: right; + display: flex; + align-items: center; + height: 100rpx; + font-size: 26rpx; + margin-right: 40rpx; */ +} + +.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; + /* margin-right: 60rpx; */ +} +.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; + /* padding-bottom: 25rpx; */ +} + +.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{ + /* width:490rpx; */ + height: 99%; + border-top: 1rpx solid #eaeaea; + /* //border-bottom: 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{ + /* width: 9rpx; + height: 9rpx; */ + /* border-top: 2rpx solid #fff; + border-right: 2rpx solid #fff; */ + transform: rotate(-90deg); + color: #fff; + font-size: 15rpx; + /* display:inline-block; + margin-top: 6.5rpx; */ + 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_bg .card_name { + max-width: 76rpx; + width: auto; + overflow: hidden; + white-space: nowrap; +} */ + +.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 +} + + +.circle { + display: block; + width: 10rpx; + height: 10rpx; + border-radius: 50%; + background-color: #ccc; + margin: 0 auto; +} + +.item-progress { + /* display: flex; + flex-direction: column; + justify-content: space-around; + font-size: 24rpx; */ +} + +.icon-yes { + font-size: 12px; + color: #07c160; +} + +.box { + height: 32rpx; + display: flex; + align-items: center; + justify-content: center; + position: relative; + padding-top: 8rpx; +} + +.line::before { + position: absolute; + right: 60%; + content: ''; + width: 80%; + height: 2rpx; + background-color: #f2f2f2; +} + +.date-container { + background-color: #F6A299; + color: #f23030; + font-size: 24rpx; + padding: 10rpx 30rpx; +} + +.kefu-container { + width: 100rpx; + height: 100rpx; + border-radius: 50%; + position: fixed; + right: 10rpx; + bottom: 160rpx; + background-color: white; + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4rpx 12px #e7e9eb; +} + +/* .icon-kefu { + font-size: 40rpx; +} + */ diff --git a/packageC/pages/presell/cart/filter.wxs b/packageC/pages/presell/cart/filter.wxs new file mode 100644 index 0000000..c0e8d13 --- /dev/null +++ b/packageC/pages/presell/cart/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/packageC/pages/presell/cart/juchi_part.wxml b/packageC/pages/presell/cart/juchi_part.wxml new file mode 100644 index 0000000..8dcad6b --- /dev/null +++ b/packageC/pages/presell/cart/juchi_part.wxml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageC/pages/presell/cart/remark_click_part.wxml b/packageC/pages/presell/cart/remark_click_part.wxml new file mode 100644 index 0000000..dc2dd78 --- /dev/null +++ b/packageC/pages/presell/cart/remark_click_part.wxml @@ -0,0 +1,4 @@ + + + 优惠券使用说明 + \ No newline at end of file diff --git a/packageC/pages/presell/cart/remark_click_part2.wxml b/packageC/pages/presell/cart/remark_click_part2.wxml new file mode 100644 index 0000000..eabab2e --- /dev/null +++ b/packageC/pages/presell/cart/remark_click_part2.wxml @@ -0,0 +1,4 @@ + + + 优惠券使用说明 + \ No newline at end of file diff --git a/packageC/pages/presell/cart/remark_part.wxml b/packageC/pages/presell/cart/remark_part.wxml new file mode 100644 index 0000000..a818031 --- /dev/null +++ b/packageC/pages/presell/cart/remark_part.wxml @@ -0,0 +1,9 @@ + + + {{util.format(item.Remark)}} + + 仅{{item.UseObjectName}}使用 + 全场通用 + + + \ No newline at end of file diff --git a/packageC/pages/presell/cart/zh_calculate.js b/packageC/pages/presell/cart/zh_calculate.js new file mode 100644 index 0000000..413f762 --- /dev/null +++ b/packageC/pages/presell/cart/zh_calculate.js @@ -0,0 +1,379 @@ +var regeneratorRuntime = require('../../../../utils/runtime.js'); +module.exports = { + //主要的作用,就是把组合购多余的商品进行拆分, + //如果没有达成组合购的要求,所有的商品都打回原价购买 + fir_set_arr: function (c_item) { + //组合活动,以及组合活动从表的商品 + 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; + + 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=[]; //超出活动限购的商品放入 + + //-- 寻找一下 -- + 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) { + 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 cbuy=item.buyqty-zh_b_num; + //当可买的数量为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) { + 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 (all_num >= act.zhbuyqty && !need_to_buy) { + 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) { + //看一下是几倍 + let be = parseInt(no_in_arr.length / act.zhbuyqty); + aprice += be * act.zhprice; + for (let m = 0; m < be * act.zhbuyqty; 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); + } + } + + + //-- 只统计是参与活动的商品 -- + 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; + } + } + } + + + } + + +} diff --git a/packageC/pages/presell/goodsInfo/buy_integral.wxml b/packageC/pages/presell/goodsInfo/buy_integral.wxml new file mode 100644 index 0000000..5d268cb --- /dev/null +++ b/packageC/pages/presell/goodsInfo/buy_integral.wxml @@ -0,0 +1,125 @@ + + + + + + + + {{data.goods_name}} + + + {{prom_integral}}积分 + + + {{prom_price}}元 + 0积分 + + + + + + 已售:{{prom_act.buy_num}} + 可售:{{prom_act.limitqty-prom_act.buy_num}} + + + + + + + + + {{def_pick_store.pickup_name}} + + 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} + + + + + + + + 选择门店 + + + + 更多门店 + + + + (库存不足) + + (库存不足) + + (配送不匹配) + (库存不足) + + + + 地址:{{def_pick_store.fulladdress}} + + + + + + + + + + 购买数量 + + - + + + + + + + + + + + + 配送不匹配 + + + + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + 库存不足 + + + 立即兑换 + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageC/pages/presell/goodsInfo/buy_integral_normal.wxml b/packageC/pages/presell/goodsInfo/buy_integral_normal.wxml new file mode 100644 index 0000000..b57806c --- /dev/null +++ b/packageC/pages/presell/goodsInfo/buy_integral_normal.wxml @@ -0,0 +1,145 @@ + + + + + + + + {{sele_g.goods_name}} + + + + {{sele_g[card_field]}} + {{sele_g.shop_price}} + + + + 已售:{{sele_g.sales_sum}} + + 可售:{{def_pick_store.CanOutQty}} + 可售:0 + + 可售:{{sele_g.store_count}} + + + + + + + + + + {{def_pick_store.pickup_name}} + + 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} + + + + + + + + 选择门店 + + + + 更多门店 + + + + (库存不足) + + (库存不足) + + (配送不匹配) + (库存不足) + + + 地址:{{def_pick_store.fulladdress}} + + + + + + + + + + 购买数量 + + - + + + + + + + + + + + 再买{{hui_condition.need}} + ,免{{hui_condition.money}}元 + ,打{{hui_condition.sale}}折 + ,包邮 + ,送{{hui_condition.intValue}}积分 + ,送优惠券 + ,送赠品 + ,送礼包 + + + + + + + + + + 配送不匹配 + + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + 库存不足 + + + + 加入购物车 + 立即购买 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageC/pages/presell/goodsInfo/buy_pt.wxml b/packageC/pages/presell/goodsInfo/buy_pt.wxml new file mode 100644 index 0000000..62168aa --- /dev/null +++ b/packageC/pages/presell/goodsInfo/buy_pt.wxml @@ -0,0 +1,213 @@ + + + + + + + + + + {{sele_g.goods_name}} + + + + + ¥ {{sele_g[card_field]}} + + + ¥ {{sele_g.shop_price}} + + + ¥ {{prom_price}} + + + + + 已售:{{sele_g.sales_sum}} + + 可售:{{def_pick_store.CanOutQty}} + 可售:0 + + 可售:{{sele_g.store_count}} + + + + + 已售:{{prom_act.buy_num}} + 已售:{{prom_act.buy_num}} + 可售:{{prom_act.goods_num-prom_act.buy_num}} + + + + + + + + + + + + + {{def_pick_store.pickup_name}} + + + + 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} + + + + + + + + 选择门店 + + + + 更多门店 + + + + (配送不匹配) + (库存不足) + 地址:{{def_pick_store.fulladdress}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 再买{{hui_condition.need}} + ,免{{hui_condition.money}}元 + ,打{{hui_condition.sale}}折 + ,包邮 + ,送{{hui_condition.intValue}}积分 + ,送优惠券 + ,送赠品 + ,送礼包 + + + + + + + + + + + + + + + 配送不匹配 + + + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + 库存不足 + + + 立即购买 + + + + + + + + + + + + + + 配送不匹配 + + + 确定 + + + + + + + \ No newline at end of file diff --git a/packageC/pages/presell/goodsInfo/filter.wxs b/packageC/pages/presell/goodsInfo/filter.wxs new file mode 100644 index 0000000..5c5f0a2 --- /dev/null +++ b/packageC/pages/presell/goodsInfo/filter.wxs @@ -0,0 +1,14 @@ +var is_has = function (text,val) { + if(text.indexOf(","+val+",")==-1) return false; + return true +} +function format_tt(ts) { + if(ts==null || ts==undefined || ts=='') return ""; + var d = getDate(ts*1000) + var fm=(d.getMonth()+1)+"月"+ d.getDate()+"日"; + return fm; +} +module.exports = { + is_has: is_has, + format_tt:format_tt +} diff --git a/packageC/pages/presell/goodsInfo/g_filter.wxs b/packageC/pages/presell/goodsInfo/g_filter.wxs new file mode 100644 index 0000000..9b22f57 --- /dev/null +++ b/packageC/pages/presell/goodsInfo/g_filter.wxs @@ -0,0 +1,106 @@ +var g_filters = { + //-- 判断是不是有等级价 -- + is_has_rank:function(rank_switch,item){ + if(!rank_switch) return false; + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} + return false; + }, + + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- + get_card_price:function(goods,all_card,type){ + var price1=parseFloat(goods['cardprice1']); + var price2=parseFloat(goods['cardprice2']); + var price3=parseFloat(goods['cardprice3']); + if(!all_card){ + if(type==0) return 0; + return ""; + } + + var arr=[]; + var min_price= 0; + var min_name=""; + + var min_price=null; + var min_name=null; + //---设置对应的价格名字---- + for(var i=0;i<3;i++) { + var vl=all_card[i]; + if(!vl) continue; + if(vl['CorrPrice']=="Price1" && price1>0) + { + if(min_price==null) { + min_price=price1;min_name=vl['CardName']; + } + else if(price10) + { + if(min_price==null) { + min_price=price2;min_name=vl['CardName']; + } + else if(price20) + { + if(min_price==null) { + min_price=price3;min_name=vl['CardName']; + } + else if(price34) min_name=min_name.substring(0, 8); + return min_name; + }, + + toFix: function (val, count,set) { + if(val===undefined) return 0; + if(val===null) return 0; + if(val==='') return 0; + val = parseFloat(val); + if(set==1 && val==0) return val; + return val.toFixed(count) + }, + + //折扣数值处理,小数位数为1时,只显示1位;小数位数为2时,才显示2位; + num: function(value) { + if(value != 0) { + return parseFloat(value); + } else { + return value.toFixed(0); + }; + }, +} +module.exports = { + is_has_rank:g_filters.is_has_rank, + get_card_price:g_filters.get_card_price, + num:g_filters.num, +} \ No newline at end of file diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js new file mode 100644 index 0000000..bd7ac13 --- /dev/null +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -0,0 +1,5590 @@ +var t = require("../../../../utils/util.js"), + ut = t, + e = require("../../../../utils/common.js"), + a = require("../../../../utils/wxParse/wxParse.js"), + s = getApp(), + i = s.request, + rq = i, + oo = s.globalData, + o = s.globalData.setting, + os = o; +//评价加载更多 +var more = function(e) { + return e && e.__esModule ? e : { + default: e + }; + }(require("../../../../utils/LoadMore.js")), + n = new more.default(); +var utils = require('../../../../utils/util.js'); +var regeneratorRuntime = require('../../../../utils/runtime.js'); + +Page({ + data: { + start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始) + color_type: 0, //线条控制 + color_type_one: 0, + color_type_two: 1, + + gid: "", + stoid: o.stoid, + url: o.url, + resourceUrl: o.h5_url, //公众号那边的图片文件域名 + iurl: o.imghost, + defaultAvatar: o.resourceUrl + "/static/images/user68.jpg", + + data: null, + content: "", //商品详情 + comments: null, //商品评论 + c_curr_p: 1, //评论分页 + com_num: 0, //评论人数 + gallery: null, //图片滚动 + is_collect: 0, + collect_id: 0, + cartGoodsNum: 0, + specSelect: 0, + optionItemId: 0, + goodsInputNum: 1, + openSpecModal: !1, + openSpecModal_pt: !1, //拼单的弹起, + openPromModal: !1, + activeCategoryId: 0, + supportPageScroll: !1, + address: { + address: "", + district: 0 + }, + shipping: "", + shippingCost: 0, + enterAddressPage: !1, + categories: [{ + name: "商品", + id: 0 + }, { + name: "详情", + id: 1 + }, { + name: "评价", + id: 2 + }], + activeCategoryId2: 0, + categories2: [{ + name: "商品详情", + id: 0 + }, { + name: "规格参数", + id: 1 + }], + activeCategoryId3: 1, + categories3: [{ + name: "全部", + id: 1, + num: 0 + }, + { + name: "有图", + id: 5, + num: 0 + }, + + { + name: "好评", + id: 2, + num: 0 + }, { + name: "中评", + id: 3, + num: 0 + }, { + name: "差评", + id: 4, + num: 0 + }, + ], + + select: { + price: 0, + stock: 0, + specName: "", + activity: null + }, + + //已选的商品(属性) + sele_g_spec_name: '', + sele_g_id: '', + sele_g: null, + //门店相关 + ismend: 0, + is_sec_mend: 0, + sto_sele_name: "", //选中的门店名称 + sto_sele_id: "", //选中的门店id + sto_sele_distr: "", //选择的门店的配送方式 + is_show_sto_cat: 1, //是否显示门店分类 + only_pk: null, + all_sto: null, + sec_sto: null, //选择了的门店分类 + pickpu_list: null, //读出的所有门店list + def_pickpu_list: null, //一开始5个门店list + sec_pick_index: 0, //第二级门店选择ID + fir_pick_index: 0, //第一级门店选择ID + all_pick_list:null,//所有的门店先记录起来 + //同一条形码的所有商品 + sku_g: null, + sku_g_pt: null, //---拼单的普通购买--- + //联系电话 + mobile: '', + //分类,品牌,国别名称 + cat_name: '', + brand_name: '', + nation_name: '', + + //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单 + prom_type: 0, + prom_time_text: "", + prom_price: null, + prom_buy_limit: 0, + djs: null, + prom_st: 0, + prom_r_null: 0, + prom_end_time: null, + prom_start_time: null, + prom_act: null, + pd_xx: 0, + is_normal: 0, //是否普通购买 + teamgroup: null, //有多少人开团 + grounp_tatal: 0, //有几个人开团 + timer: [], + + //商品的购买次数 + prom_buy_num: -1, + g_buy_num: null, + prom_goods_num: 0, //活动商品数量 + prom_buy_num: 0, //活动商品购买数量 + prom_redis_num: 0, //活动商品redis数量 + + //拼单的规则显示 + is_show_gz: 0, + //会员自己的购买的拼单商品的情况 + user_order_pt_state: 0, + //购买的订单 + buy_order: null, + //1加入购物车 2立即购买 + openSpecModal_ind: 0, + + //---计时器开关---- + is_timer: 1, + isshow: 0, + bconfig: null, //基础配置 + + fir_comments: null, //详情页上的评价 + fir_quan: null, //详情页上的券 + quan_list: null, //券列表 + + coupon: 0, + //会员分享的头像 + share_head: "", + share_goods_img: "", + + //----------视频图片data参数--------- + current: 0, //图片计数 + swiperCurrent: 0, //轮播的下标 + hiddenn: 0, //控制轮播计数显示 + + currentTab: 0, // 选择器控制参数 + mapurl: "", + mapurl_f_img: "", + videopicture: 0, //视频图片的控制 + + video: 0, //视频图片切换器 + index: 0, + noon: 0, //开始视频的隐藏 + + screenWidth: 0, + canvasHidden: 1, + + //--推荐-- + store_config: null, + is_show_pl: 0, //是否品类 + is_show_pp: 0, //是否品牌 + is_show_gb: 0, //是否国别 + is_closecoupon: 0, + + //是否点赞中 + iszaning: 0, + + select_store: 0, //选择更多 + index: 1, + more_store: 0, //选择门店 + sort_store: 0, //门店分类 + choice_sort_store: 0, //选择分类门店 + new_user: 0, //新用户 + + def_pick_store: null, // 默认的门店 + fir_def_store:null, //客户默认的门店的 + lat: null, //维度 + lon: null, //经度 + + is_get_local_ok: 0, //获取坐标是否完成 + region_name: "门店分类", //区域的名字 + is_gps: 1, + open_ind_store: 0, //哪里打开的门店列表的控制属性 + default_store: {}, //创建添加默认门店地址的对象 + + comments_no_more:0, + get_c:0, //获取评价是不是成 + is_collect_load:0, //是不是处理 + is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 + sales_rules:1, //默认是线上销售 + + wait_for_user_store:null, + prom_goods:null, //商品优惠列表 + order_prom:null, //订单优惠 + collocationGoods:null, //搭配购 + + poster:null, //自定义海报 + share_b_img:'', //自定义分享的背景 + + showPoster: false, + hui_condition:null, + sto_sele_name_1:'',//分享的门店名称 + fir_goods:null, + + share_hidden: false, + }, + + //------初始化加载---------- + onLoad: function(t) { + + + + var ee = this, + that = ee, + th = ee, + gid = t.goods_id, + first_leader=t.first_leader, + room_id=t.room_id, + room_user_share=t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id + + //-- 自定义海报 -- + getApp().request.promiseGet("/api/weshop/goods/poster/page", { + data:{store_id:os.stoid, type:1, is_use:1} + }).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){ + + var poster_data=res.data.data.pageData[0]; + var json_str=poster_data.jsonStr; + + if(json_str){ + var json_data=JSON.parse(json_str); + if(json_data.bg_img){ + + //-- 把图片那到本地 -- + wx.getImageInfo({ + src:json_data.bg_img, + success: function(res) { + var path= res.path; + th.setData({share_b_img:path}) + }, + fail: function(res) {} + }); + } + th.setData({poster:json_data}) + + } + } + }) + + //---获取手机地址坐标-- + //--如果tg_id是空的话,分享回来-- + if (gid == undefined || gid == null || gid == "") { + var gid_str = decodeURIComponent(t.scene); + gid_str=gid_str.split("_"); + gid=gid_str[0]; + if(gid_str.length>1){ + first_leader=gid_str[1]; + } + //-- 如果有room_id的获取 -- + if(gid_str.length>2 && gid_str[2]){ + room_id=gid_str[2]; + room_user_share=1; + } + + } + ee.setData({ gid: gid}); + if(first_leader){ + console.log("log---".first_leader); + getApp().globalData.first_leader=first_leader; + //调用接口判断是不是会员 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{ + if(res.data.code==0){ + getApp().globalData.guide_id=res.data.data.id; + } + }) + } + + //-- 如果有房间号 -- + if(room_id){ + getApp().globalData.room_id=room_id; + getApp().globalData.room_goods_id=gid; + //如果是会员分享过来的要记录 + if(room_user_share) + getApp().globalData.room_user_share=room_user_share; + } + + var c_guide_id=t.c_guide_id; + if(c_guide_id){ + th.data.c_guide_id=c_guide_id; + } + + getApp().getConfig(function(e) { + ee.setData({sto_sele_name_1:e.store_name}) + }) + + //----获取系统参数----- + getApp().getConfig2(function(e) { + ee.setData({ + bconfig: e, + sales_rules:e.sales_rules, + }); + + if (e.categoryset.indexOf("," + 1 + ",") != -1) { + ee.setData({ + is_show_pl: 1 + }); + } + if (e.categoryset.indexOf("," + 3 + ",") != -1) { + ee.setData({ + is_show_pp: 1 + }); + } + if (e.categoryset.indexOf("," + 2 + ",") != -1) { + ee.setData({ + is_show_gb: 1 + }); + } + + var json_d = JSON.parse(e.switch_list); + ee.setData({ + store_config: e, + sys_switch:json_d, + is_closecoupon: json_d.is_closecoupon, + is_newsales_rules:json_d.is_newsales_rules + }); + ee.init(gid); + //------几人评价------- + //n.init(th, "", "comments"); + + th.requestCardNum(), wx.pageScrollTo && th.setData({ + supportPageScroll: !0 + }); + + //计算等级价相关 + var swithc_list=e.switch_list; + var sw_arr=JSON.parse(swithc_list); + //---如果后台又开等级卡的开关--- + if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ + th.setData({rank_switch:true}); + //---回调卡的列表--- + th.getPlusCardType(function(ob){ + th.setData({card_list:ob.card_list}); + var ti = setInterval(function () { + var user = getApp().globalData.userInfo; + if (!user) return false; + clearInterval(ti); + + if(user.card_field && user['card_expiredate']){ + var str = user['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + var now = ut.gettimestamp(); + //--- 判断是等级会员,且在有效期范围内 --- + if(user.card_field && now6) card_name=card_name.substring(0,6); + + var is_near_date=0; + if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 + th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); + } + } + }, 500) + }) + } + + },1); + + //获取用户设备信息,屏幕宽度 + wx.getSystemInfo({ + success: res => { + that.setData({ + screenWidth: res.screenWidth + }) + } + }); + + //获取用户的默认门店 + getApp().get_user_store(function(e) { + if(!e) { + th.data.fir_def_store={}; //赋值空对象 + return false; + } + var ee=JSON.parse(JSON.stringify(e)); + //--定时器推迟一下-- + setTimeout(function () { + if(th.data.fir_goods) var g_distr_type=th.data.fir_goods.distr_type; + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- + if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ + //th.data.fir_def_store={}; //赋值空对象 + //return false; + //th.data.fir_def_store.is_no_dis=1; + ee.is_no_dis=1; + } + + var appd=getApp().globalData; + var w_time = setInterval(function() { + if (that.data.is_get_local_ok == 0) return false; + clearInterval(w_time); + var distance = null; + var e=JSON.parse(JSON.stringify(ee)); + + //如果有开启近距离的话,同时距离优不一样了 + if (that.data.lat != null) { + //如果经纬度有变化的话 + if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ + //that.data.fir_def_store=e; + // that.setData({ + // def_pick_store: e, + // sto_sele_name: e.pickup_name, + // sto_sele_id: e.pickup_id, + // sto_sele_distr: e.distr_type + // }) + that.set_def_storage(e); + + }else{ + //要用接口是获取距离,js的计算不准 + getApp().request.promiseGet("/api/weshop/pickup/list",{ + data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, + }).then(res=>{ + if(res.data.code==0){ + e=res.data.data.pageData[0]; + if (e){ + e.is_no_dis=ee.is_no_dis; + appd.pk_store=e; + // that.data.fir_def_store=e; + // that.setData({ + // def_pick_store: e, + // sto_sele_name: e.pickup_name, + // sto_sele_id: e.pickup_id, + // sto_sele_distr: e.distr_type + // }) + that.set_def_storage(e); + } + + } + }) + } + //e.distance = distance; + appd.lat=that.data.lat; + appd.lon=that.data.lon; + + }else{ + if (e) { + e.distance = null; + // that.data.fir_def_store=e; + // that.setData({ + // def_pick_store: e, + // sto_sele_name: e.pickup_name, + // sto_sele_id: e.pickup_id, + // sto_sele_distr: e.distr_type + // }) + that.set_def_storage(e); + } + } + }, 500) + },700) + }); + + //更新点击量 + getApp().request.put("/api/weshop/goods/updateClick",{ + data:{store_id:os.stoid,goods_id:gid} + }) + }, + + + //--- 设置一下默认库存的数量 ---- + set_def_storage(ee){ + var that=this,th=this; + getApp().getConfig2(function(e){ + var sales_rules=e.sales_rules; + if(sales_rules==2){ + getApp().waitfor2(that,"wait_for_user_store","fir_goods",function(){ + var lock=0,plist=null; + var gd=that.data.fir_goods; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:that.data.fir_goods.goods_id,storageId:ee.pickup_id,pageSize:1000} + }).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 + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:ee.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} + }) + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + if(plist && plist.CanOutQty-lock>0){ + ee.CanOutQty=plist.CanOutQty-lock; + }else{ + ee.CanOutQty=0; + } + //--给门店赋值线下库存-- + that.data.fir_def_store=ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + }) + }) + }else{ + that.data.fir_def_store=ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + } + }) + + }, + + + //------------程序初始化入口------------- + async init(gid) { + var ee = this, + th = ee, + gallery = null, + is_collect = 0, + collect_id = 0, + categories3 = ee.data.categories3, + fir_com = null, + fir_quan = null, + mapurl = null, + mapurl_f_img = null; + + + //------图片滚动---------- + await getApp().request.promiseGet("/api/weshop/goodsimages/page", { + data: { + store_id: os.stoid, + goods_id: gid, + }, + }).then(res => { + + var t = res; + var g = t.data.data.pageData; + if (g.length == 0) { + var ie = { + "image_url": o.imghost + "/public/images/default_goods_image_240.gif" + }; + g.push(ie); + gallery = g; + return; + } + for (var i = 0; i < g.length; i++) { + if (g[i].image_url.indexOf(o.imghost) == -1) + g[i].image_url = o.imghost + g[i].image_url; + } + gallery = g; + }) + //------是否收藏---------- + await getApp().request.promiseGet("/api/weshop/goodscollect/page", { + data: { + store_id: os.stoid, + goods_id: gid, + user_id: oo.user_id, + } + }).then(res => { + var t = res; + var data = t.data.data.pageData; + if (data.length > 0) { + //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, }); + is_collect = 1; + collect_id = data[0].collect_id; + } + }) + + //------获取评价的统计数量---- + await getApp().request.promiseGet("/api/weshop/comment/countlist/", { + data: { + store_id: os.stoid, + goods_id: gid + }, + //failRollback: !0, + + }).then(res => { + var t = res; + var g = t.data.data[0]; + if (g != null && g != undefined) { + var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5; + var num2 = g.c4 + g.c5; + var num3 = g.c3; + var num4 = g.c0 + g.c1 + g.c2; + + var dd = ee.data.categories3; + dd[0].num = allnum; + dd[1].num = g.cimg; + dd[2].num = num2; + dd[3].num = num3; + dd[4].num = num4; + + categories3 = dd; + } + }) + + //----获取详情页的评价---- + await getApp().request.promiseGet("/api/weshop/comment/pageComment", { + data: { + store_id: os.stoid, + goods_id: gid, + pageSize: 3, + parent_id: 0, + page:1, + is_show:1, + }, + }).then(res => { + fir_com = res.data.data.pageData; + }) + + if (fir_com) { + for (var ind in fir_com) { + if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png"; + if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img); + if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img); + } + } + + if (th.data.is_closecoupon != 1) { + //----获取详情页的券的数量---- + await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", { + data: { + store_id: os.stoid, + type: 1, + pageSize: 3, + page: 1, + is_share:0, + }, + }).then(res1 => { + fir_quan = res1.data.data.pageData; + }) + } + + //--------获取视频图片--------- + await getApp().request.promiseGet("/api/weshop/goodsVideos/get/" + os.stoid + "/" + ee.data.gid, { + 1: 1 + }).then(res1 => { + if (res1.data.code == 0) { + mapurl = res1.data.data.video_url; + mapurl_f_img = res1.data.data.video_img; + } + }) + + ee.setData({ + gallery: gallery, + is_collect: is_collect, + collect_id: collect_id, + categories3: categories3, + fir_quan: fir_quan, + fir_comments: fir_com, + mapurl_f_img: mapurl_f_img, + mapurl: mapurl, + }); + + }, + + //---展示--- + onShow: function() { + console.log('djfijsaoifjoisadjfoij'); + var goods_list = null,th = this,that=this; + var show_prew_img= this.data.show_prew_img + if(show_prew_img){ + show_prew_img=0; + return false; + } + + //优惠券要实时更新 + getApp().getConfig2(function(e) { + var json_d = JSON.parse(e.switch_list); + th.setData({is_closecoupon: json_d.is_closecoupon}) + th.setData({is_open_offline: json_d.is_pricing_open}) + },1) + + + var ui = setInterval(function () { + goods_list = th.selectComponent("#goods_list"); + if (goods_list) { + clearInterval(ui); + goods_list.init(); + return false + } + }, 300) + + this.data.is_timer = 1; + var ee = this, + gid = this.data.gid, + i = getApp().request; + + this.wait_for_store_config(); + + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { + failRollback: !0, + success: function(t) { + if (t.data.code == 0) { + if (t.data.data.is_on_sale != 1) { + wx.showModal({ + title: '商品已经下架', + showCancel: !1, + complete: function() { + wx.navigateBack(); + } + }); + } + + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + if (t.data.data.on_time > timestamp) { + wx.showModal({ + title: '商品还未上架', + showCancel: !1, + complete: function() { + wx.navigateBack(); + } + }); + } + + if (t.data.data.down_time > 0) { + if (t.data.data.down_time < timestamp) { + wx.showModal({ + title: '商品已经到期下架', + showCancel: !1, + complete: function() { + wx.navigateBack(); + } + }); + } + } + //动态获取商品名称 + wx.setNavigationBarTitle({ + title: t.data.data.goods_name, + }); + + //-- 判断是不是组合购活动,必须要登录后才能判断 -- + if(getApp().globalData.userInfo && t.data.data.prom_type==7 ){ + //获取活动信息 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + + t.data.data.prom_id+"/"+getApp().globalData.userInfo.user_id; + getApp().request.get(url, { + success:function (e) { + if (e.data.code == 0 && e.data.data) { + if(ut.gettimestamp(){ + 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 + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} + }) + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + if(plist && plist.CanOutQty-lock>0){ + that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; + }else{ + that.data.fir_def_store.CanOutQty=0; + } + //--给门店赋值线下库存-- + th.setData({def_pick_store:that.data.fir_def_store}); + }) + } + })--*/ + }else{ + //获取门店 + ee.get_sto(); + } + + ee.get_sku(o.stoid, t.data.data, gid); + } + else { + var gg = "", item = t.data.data; + + if(item.goods_spec=="null" || item.goods_spec==null ) item.goods_spec=""; + if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; + + if (item.goods_spec != "" && item.goods_color != "") { + gg = item.goods_spec + "/" + item.goods_color; + } else if (item.goods_spec != "" || item.goods_color != "") { + gg = item.goods_spec + item.goods_color; + } else { + gg = "规格1"; + } + t.data.data.gg = gg; + var uu = []; + uu.push(t.data.data); + ee.setData({ + sku_g: uu, + }); + } + ee.data.g_buy_num = new Map(); + ee.check_prom(gid, ee.data.data.prom_type, ee.data.data.prom_id); + + var th = ee; + if (ee.data.cat_name == '') { + //过去国别,分类,品牌的名称 + i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + cat_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + brand_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + nation_name: dd.name + }); + } + } + }); + } + + } + else{ + wx.showModal({ + title: t.data.msg, + showCancel: !1, + complete: function() { + wx.navigateBack(); + } + }); + } + } + }); + this.data.enterAddressPage && (this.data.enterAddressPage = !1); + + }, + enterAddress: function() { + this.data.enterAddressPage = !0, wx.navigateTo({ + url: "/pages/user/address_list/address_list?operate=selectAddress" + }); + }, + onUnload: function() { + for(var i = 1; i < 100; i++) { + clearInterval(i); + } + }, + onHide: function() { + this.data.is_timer = 0; + for(var i = 1; i < 100; i++) { + clearInterval(i); + } + }, + //----------三个选项按钮----------- + tabClick: function(t) { + var e = t.currentTarget.id; + this.setData({ + activeCategoryId: e + }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment(); + }, + tabClick2: function(t) { + this.setData({ + activeCategoryId2: t.currentTarget.id + }); + }, + + tabClick3: function(t) { + var e = this; + if (t.currentTarget.id != this.data.activeCategoryId3) { + e.data.c_curr_p = 1; + this.setData({ + activeCategoryId3: t.currentTarget.id, + comments: null,comments_no_more:0,get_c:0, + }); + this.requestComments_new(); + } + }, + + doScrollTop: function() { + wx.pageScrollTo({ + scrollTop: 0 + }); + }, + + tabComment: function() { + this.setData({ + activeCategoryId: 2,comments_no_more:0,get_c:0 + }), this.data.comments || this.requestComments_new(); + }, + + //商品详情的时候调用 + tabGoodsContent: function() { + var th = this, + i = getApp().request; + this.setData({ + activeCategoryId: 1 + }); + + if (th.data.cat_name == '') { + //过去国别,分类,品牌的名称 + i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + cat_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + brand_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { + success: function(t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + nation_name: dd.name + }); + } + } + }); + } + }, + + //获取redis中的数量 + async getactLen(func) { + var r_num = 0, + prom_type = this.data.prom_type, + prom_id = this.data.prom_id; + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { + 1: 1 + }).then(res => { + var em = res; + if (em.data.code == 0) { + r_num = em.data.data; + } + }) + func(r_num); + }, + + //------------加入购物车-------------- + addCart: function(t) { + var th = this; + var ind = t.currentTarget.dataset.openSpecModal_ind; + if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; + th.setData({ + open_ind_store: ind + }); + //如果是秒杀的话,要看redis够不够 + if (this.data.prom_type == 1) { + this.getactLen(function(num) { + if (num < th.data.goodsInputNum) { + getApp().my_warnning("秒杀库存不足!", 0, th); + return false; + } else { + th.add_cart_func(t); + } + }); + } else { + th.add_cart_func(t); + } + }, + + + + //-- 加入购物的函数 -- + add_cart_func_inte: function(t) { + var i = getApp().request; + if (oo.user_id == null) { + return s.my_warnning("还未登录!", 0, this); + } + if(!getApp().globalData.userInfo){ + return s.my_warnning("还未登录!", 0, this); + } + + var e = this, + th = e, + a = 0, + o = this.data.data; + a = o.goods_id; + + //----------添加到购物车时,要判断限购数量,-------- + e.get_buy_num(o, function(ee) { + //---判断商品是否超出限购--- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + return false; + } + } + //---判断商品是否超出活动限购--- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + return false; + } + } + + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + this.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); + + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: th.data.stoid, + goods_price: th.data.prom_price, + integral:th.data.prom_integral, + member_goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + }; + + //---是不是从收藏夹出来的--- + if(th.data.c_guide_id){ + newd['guide_id'] = th.data.c_guide_id; + newd['guide_type']=2; + if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; + }else{ + if(getApp().globalData.guide_id){ + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type']=0; + if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; + } + } + + //让商品带上房间号 + //让商品带上房间号 + if(th.data.sys_switch.is_skuroom_id==1){ + if(th.data.data.goods_id==getApp().globalData.room_goods_id){ + newd.room_id=getApp().globalData.room_id; + } + }else{ + if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id; + } + + //如果是积分够,is_integral_normal就要有积分购普通购买字段 + //if(o.prom_type==4){ + //newd.is_integral_normal=1; + //} + + //-----如果是秒杀,团购,积分购,拼团----- + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + return false; + } + } + //---判断商品是否超出活动限购--- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + return false; + } + } + + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + this.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); + + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: th.data.stoid, + goods_price: o.shop_price, + member_goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + }; + + //---是不是从收藏夹出来的--- + if(th.data.c_guide_id){ + newd['guide_id'] = th.data.c_guide_id; + newd['guide_type']=2; + if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; + }else{ + if(getApp().globalData.guide_id){ + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type']=0; + if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; + } + } + + //让商品带上房间号 + //让商品带上房间号 + if(th.data.sys_switch.is_skuroom_id==1){ + if(th.data.data.goods_id==getApp().globalData.room_goods_id){ + newd.room_id=getApp().globalData.room_id; + } + }else{ + if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id; + } + + //如果是积分够,is_integral_normal就要有积分购普通购买字段 + if(o.prom_type==4){ + newd.is_integral_normal=1; + } + + //如果有线下取价 + if(o.offline_price){ + newd.offline_price=o.offline_price; + newd.pricing_type=o.pricing_type; + } + + //-----如果是秒杀,团购,积分购,拼团----- + if (th.data.prom_type == 1) { + newd.goods_price = th.data.prom_price; + newd.member_goods_price = th.data.prom_price, + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count 0){ + var CanOutQty=res.data.data.pageData[0].CanOutQty; + if(CanOutQty0){ + + var lock=0; + for(var i in res_data.data.data.pageData){ + lock+=res_data.data.data.pageData[i].outQty; + } + + if(CanOutQty<=lock){ + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); + }else{ + th.add_cart_next(e,t,a,o,newd,CanOutQty); + } + } + }) + }else{ + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + }else{ + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count 0){ + var CanOutQty=res.data.data.pageData[0].CanOutQty; + if(CanOutQty0){ + + var lock=0; + for(var i in res_data.data.data.pageData){ + lock+=res_data.data.data.pageData[i].outQty; + } + + if(CanOutQty<=lock){ + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); + }else{ + th.add_cart_next(e,t,a,o,newd,CanOutQty); + } + } + }) + }else{ + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + }else{ + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count now){ + var card_price=o[getApp().globalData.userInfo['card_field']]; + //如果会员有等级价 + if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null + && getApp().globalData.userInfo['card_field']!="" && card_price>0){ + newd.goods_price=card_price; + newd.member_goods_price=card_price; + } + } + } + } + + //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); + if ("add" == t.currentTarget.dataset.action) { + + if(th.data.prom_goods){ + newd.prom_type = 3; + newd.prom_id = th.data.prom_goods[0].prom_id; + } + + //----先看会员在购物车中是否加入了该商品----- + i.get("/api/weshop/cart/page", { + data: { + store_id: e.data.stoid, + user_id: oo.user_id, + goods_id: a, + pick_id: e.data.sto_sele_id, + }, + success: function(re) { + + //-------如果购物车中有相关的数据--------- + if (re.data.data.total > 0) { + + var item = re.data.data.pageData[0]; + + //判断数量,要看下购物车中有没有该商品 + if(CanOutQty){ + if(item.goods_num+ th.data.goodsInputNum>CanOutQty){ + return s.my_warnning("库存不足!", 0, th); + } + }else{ + if(item.goods_num+ th.data.goodsInputNum>o.store_count){ + return s.my_warnning("库存不足!", 0, th); + } + } + + var updata = { + id: item.id, + goods_num: e.data.goodsInputNum + item.goods_num, + goods_price: newd.goods_price, + member_goods_price:newd.goods_price, + store_id: th.data.stoid, + }; + + //---是不是从收藏夹出来的--- + if(th.data.c_guide_id){ + updata['guide_id'] = th.data.c_guide_id; + updata['guide_type']=3; //加入购物车之后就变成了3 + }else { + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 0; + } + } + + i.put("/api/weshop/cart/update", { + data: updata, + success: function(t) { + getApp().my_warnning('加入购物车成功', 1, th, 450); + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; + th.setData({ + cartGoodsNum: c_num + }); + th.closeSpecModal(); + } + }); + } else { + + + i.post("/api/weshop/cart/save", { + data: newd, + success: function(t) { + getApp().my_warnning('加入购物车成功', 1, th, 450); + var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; + th.setData({ + cartGoodsNum: c_num + }); + th.closeSpecModal(); + } + }); + } + } + }); + + } + //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); + else { + + if(th.data.prom_goods){ + var prom_d=th.data.prom_goods; + for(var i in prom_d){ + //判断活动有俩种条件,0元 1件 + var condition_t=prom_d[i].prom_type; + switch(condition_t) { + case 0: //按钱 + if(newd.goods_price>=condition_t){ + newd.prom_type = 3; + newd.prom_id = prom_d[i].prom_id; + } + break + case 1://按购买数量 + if(newd.goods_num>=condition_t){ + newd.prom_type = 3; + newd.prom_id = prom_d[i].prom_id; + } + break; + } + } + + } + + newd['pick_name'] = th.data.sto_sele_name; + newd['pick_dis'] = th.data.sto_sele_distr; + th.buyNow(newd); + } + }, + + + //----------购买虚拟商品------ + buyVirtualGoods: function(e) { + Object.assign(e, { + goods_name: this.data.data.goods.goods_name, + spec_name: this.data.select.specName, + price: this.data.select.price + }), wx.navigateTo({ + url: "/pages/virtual/buy_step/buy_step?" + t.Obj2Str(e) + }); + }, + //----------积分兑换--------- + exchange: function(e) { + this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({ + url: "/pages/cart/integral/integral?" + t.Obj2Str(e) + }); + }, + + + //----------立即购买----------- + buyNow: function(e) { + // this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, { + // action: "buy_now" + // }), + this.setData({ + openSpecModal:0, + openSpecModal_inte:0, + openSpecModal_inte_normal:0, + openSpecModal_pt:0, + }) + + if(e.prom_type==4){ + s.set_b_now(e); + var url="/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id; + getApp().goto(url); + }else{ + //要判断积分购的普通购买有没有参加优惠活动 + if(e.is_integral_normal==1){ + this.check_nor_promgood(e.goods_id,function(res){ + if(res && res.cat_id){ + e.prom_type=3; + e.prom_id=res.cat_id + } + s.set_b_now(e); + /*-- + wx.redirectTo({ + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + });--*/ + getApp().goto("/packageC/pages/presell/cart/cart?is_bnow=1&goods_id=" + e.goods_id) + + }) + }else{ + s.set_b_now(e); + /*-- + wx.redirectTo({ + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + });--*/ + getApp().goto("/packageC/pages/presell/cart/cart?is_bnow=1&goods_id=" + e.goods_id) + } + + } + }, + + //----------增加购买数量----------- + addCartNum: function(t) { + this.checkCartNum(this.data.goodsInputNum + 1); + }, + //----------减少购买数量----------- + subCartNum: function(t) { + this.checkCartNum(this.data.goodsInputNum - 1); + }, + //----------输入框输入购买数量----------- + inputCartNum: function(t) { + this.checkCartNum(Number(t.detail.value)); + }, + + //----------增加购买数量----------- + addCartNum_inte: function(t) { + this.checkCartNum_inte(this.data.goodsInputNum + 1); + }, + //----------减少购买数量----------- + subCartNum_inte: function(t) { + this.checkCartNum_inte(this.data.goodsInputNum - 1); + }, + //----------输入框输入购买数量----------- + inputCartNum_inte: function(t) { + this.checkCartNum_inte(Number(t.detail.value)); + }, + + + //------检查数量是不是超出限购------ + checkCartNum: function(t) { + var th = this; + this.get_buy_num(this.data.sele_g, async function() { + + //--判断商品是否超出限购-- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + + var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); + + if (t + gd_buy_num > th.data.sele_g.viplimited) { + wx.showModal({ + title: '超出商品限购', + }); + + var num= th.data.sele_g.viplimited-gd_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + + //--判断商品是否超出活动限购-- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) { + if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '超出商品活动限购', + }); + + var num=th.data.prom_buy_limit- th.data.prom_buy_num ; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + + if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { + var redis_num = 0; + //------判断活动是否抢光----- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + + os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + + if (t > redis_num) { + wx.showModal({ + title: '超出商品活动库存', + }); + th.setData({goodsInputNum:redis_num}) + return false; + } + } + var e = th.data.sele_g.store_count; + var p_type=th.data.prom_type; //&& p_type!=1 && p_type!=4 + if(th.data.sales_rules==2 && (p_type!=1 && p_type!=4 && p_type!=6 || th.data.openSpecModal_inte_normal==1 || th.data.is_normal== 1) ){ + if(!th.data.def_pick_store){ + wx.showModal({ title: '请选择门店', }); + return false; + }else{ + e=th.data.def_pick_store.CanOutQty; + } + } + if(!e) e=0; + //库存不足,不增加 + if(e e || 0 == e ? t = e : t < 1 && (t = 1); + th.setData({ goodsInputNum: t }); + th.is_show_more_buy(); + + }) + }, + + //----- 检查一下积分购的限购之类的问题 ----- + checkCartNum_inte: function(t) { + var th = this; + this.get_buy_num(this.data.data, async function() { + + //--判断商品是否超出限购-- + if (th.data.g_buy_num != null && th.data.data.viplimited > 0) { + + var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); + + if (t + gd_buy_num > th.data.sele_g.viplimited) { + wx.showModal({ + title: '超出商品限购', + }); + + var num= th.data.sele_g.viplimited-gd_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + + //--判断商品是否超出活动限购-- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { + if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '超出商品活动限购', + }); + + var num=th.data.prom_buy_limit- th.data.prom_buy_num ; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + + if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { + var redis_num = 0; + //------判断活动是否抢光----- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + + os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + + if (t > redis_num) { + wx.showModal({ + title: '超出商品活动库存', + }); + th.setData({goodsInputNum:redis_num}) + return false; + } + + } + + var e = th.data.sele_g.store_count; + var p_type=th.data.prom_type; //&& p_type!=1 && p_type!=4 + if(th.data.sales_rules==2 && (p_type!=1 && p_type!=4 && p_type!=6 || th.data.openSpecModal_inte_normal==1 || th.data.is_normal== 1) ){ + if(!th.data.def_pick_store){ + wx.showModal({ title: '请选择门店', }); + return false; + }else{ + e=th.data.def_pick_store.CanOutQty; + } + } + if(!e) e=0; + //库存不足,不增加 + if(e e || 0 == e ? t = e : t < 1 && (t = 1); + th.setData({ goodsInputNum: t }); + }) + }, + + + closeSpecModal: function() { + if(this.data.openSpecModal_pt && this.data.is_normal){ + this.get_sto(); + this.setData({ + sele_g:this.data.data, + gid:this.data.data.goods_id + }) + + this.sele_spec_chech_activity(); + + } + + this.setData({ + openSpecModal: !1, + openSpecModal_pt: !1 + }); + }, + + openSpecModel: function(t) { + var th=this; + var open_store = t.currentTarget.dataset.ind; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + open_ind_store: open_store, + }) + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } + + var ind = t.currentTarget.dataset.ind; + + //回调。判断是不是优惠促销 + th.check_is_prom_goods(function (){ + th.setData({ + openSpecModal: !0, + openSpecModal_ind: ind, + }); + //var is_open=th.data.config + th.get_off_price(); + }) + }, + + //判断是不是优惠促销 + check_is_prom_goods:function(callback){ + var th=this; + var usr=getApp().globalData.userInfo; + if(this.data.sele_g.prom_type!=0 && this.data.sele_g.prom_type!=3){ + callback(); + }else{ + //-- 判断有没有优惠活动 -- + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+th.data.sele_g.goods_id+"/0", {}).then(res => { + if(res.data.code==0){ + var r_data=res.data.data; + th.data.prom_goods=r_data.promGoodsLists; + if(!th.data.prom_goods){ + callback(); + return false; + } + + ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1 + getApp().promiseGet("/api/weshop/order/getWPayOrder",{ + data:{store_id:os.stoid,user_id:usr.user_id,goods_id:th.data.sele_g.goods_id,prom_id:th.data.prom_goods[0].prom_id} + }).then(res=>{ + if(res.data.code==0){ + wx.showToast({ + title: "您已经购买了该商品待支付中", + icon: 'none', + duration: 2000 + }) + setTimeout(function (){ + getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + },1000) + } + //未找到相关记录 + else{ + callback(); + } + }) + } + + }) + + } + }, + + + + //----获取线下价格------- + get_off_price(){ + var th=this; + //没有开启就返回 + if(!th.data.is_open_offline) return false; + //先看下购买的功能有没有到期 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ + //未购买 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ + return false; + }else{ + //已经过期 + var item=res.data.data.pageData[0]; + if(item.end_time0){ + cur_price=cur_goods[th.data.card_field]; + } + + var user_info = getApp().globalData.userInfo; + //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行 + if(cur_goods.prom_type==0 && !this.data.prom_goods){ + cur_goods.offline_price=null; + //如果没有门店,不用计算线下价格 + var def_pick_store=this.data.def_pick_store; + if(!def_pick_store) return false; + getApp().request.get("/api/weshop/goods/listWarePrice", { + data:{VIPId:encodeURIComponent(user_info.erpvipid), + store_id:os.stoid, + PickupId:def_pick_store.pickup_id, + WareIds:encodeURIComponent(cur_goods.erpwareid)}, + success:function(res){ + if(res.data.code==0 && res.data.data && res.data.data.length>0){ + var datalist=res.data.data; + if(datalist[0].WarePrice{ + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + t.setData({cartGoodsNum:num}); + }) + } + }); + }, + + previewCommentImgs: function(t) { + var e = this.data.comments[t.currentTarget.dataset.cidx].img; + var b = e.slice() + for(var i in b){ + b[i] = this.data.iurl + e[i]; + } + this.data.show_prew_img=1; + + wx.previewImage({ + current: b[t.currentTarget.dataset.id], + urls: b + }); + }, + + previewCommentImgs_w: function(t) { + var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img; + var b = e.slice() + for (var i in b) { + b[i] = this.data.iurl + e[i]; + } + this.data.show_prew_img=1; + wx.previewImage({ + current: b[t.currentTarget.dataset.id], + urls: b + }); + }, + + previewGoodsCommentImgs: function(t) { + var e = this, + a = this.data.data.comment[t.currentTarget.dataset.cidx].img; + a = a.map(function(t) { + return e.data.url + t; + }), wx.previewImage({ + current: a[t.currentTarget.dataset.id], + urls: a + }); + this.data.show_prew_img=1; + }, + closePromModal: function() { + this.setData({ + openPromModal: !1 + }); + }, + openPromModal: function() { + this.setData({ + openPromModal: !0 + }); + }, + + //--点击分享事件--- + onShareAppMessage: function(t) { + + var th = this; + var price = th.data.data.shop_price; + if (th.data.prom_act) { + price = th.data.prom_act.price; + + } + var title= th.data.data.goods_name; + var img=th.data.data.original_img; + if(th.data.prom_type==6 || th.data.prom_type==1 || th.data.prom_type==4){ + title=th.data.prom_act.share_title; + if(!title) title=th.data.prom_act.title; + if(th.data.prom_type==4) title=th.data.prom_act.name; + + if(th.data.prom_act.share_imgurl) + img=th.data.iurl+th.data.prom_act.share_imgurl; + } + + + var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; + if(getApp().globalData.user_id){ + url+="&first_leader="+getApp().globalData.user_id; + } + + //-- 如果房间分享,且不是会员分享的 -- + if(getApp().globalData.room_id && + th.data.data.goods_id==getApp().globalData.room_goods_id && + !getApp().globalData.room_user_share + ){ + url+="&room_id="+getApp().globalData.room_id+"&room_user_share=1"; + } + + var ob={ + title: price + "元 " +title, + path:url, + imageUrl: img, + }; + if(th.data.prom_type==6){ + title+='\n'+th.data.prom_act.share_remark; + ob.title=title; + ob.desc=th.data.prom_act.share_remark; + } + + //如果是积分购的时候 + if(th.data.prom_type==4){ + var name = th.data.prom_act.name; + //-- 积分购的 -- + var pri0 = th.data.prom_act.addmoney; + var integral=th.data.prom_act.integral; + var text=""; + if(integral){text=integral+"积分"; } + if(pri0 && integral){ text+="+";} + if(pri0){ text+="¥"+pri0;} + + ob.title= text+" "+name; + } + + return ob; + + }, + + //-----图片失败,默认图片----- + bind_bnerr: function(e) { + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif"; + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, + + //-----图片失败,默认图片----- + bind_bnerr2: function(e) { + + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png" + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, + + //----------装载同一条形码的商品---------- + async get_sku(stoid, gd, g_id, is_normal, func) { + var tt = this,arrdata=null; + var now=ut.gettimestamp(); + await getApp().request.promiseGet("/api/weshop/goods/page", { + data: { + store_id: o.stoid, + sku: gd.sku, + more_spec:gd.more_spec, + isonsale: 1, + is_on_sale: 1, + pageSize:500, + orderField: 'sort' + } + }).then(res => { + var e = res; + if (e.data.code == 0) arrdata = e.data.data.pageData; + }) + if(!arrdata) return false; + + var arrsku = new Array(); + var gitem = null; + var gb = 1,gg = ""; + for (var i = 0; i < arrdata.length; i++) { + var goodsinfo=arrdata[i],prom=null; + if (goodsinfo.goods_id != g_id) { + + switch(goodsinfo.prom_type){ + case 1: + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0) prom=res.data.data; + }) + + break; + case 6: + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0) prom=res.data.data; + }) + + break; + case 2: + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0) prom=res.data.data; + }) + break; + case 4: + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0) prom=res.data.data; + }) + break + + } + + + } + //---如果有活动,不算在一起--- + if(prom){ + if(goodsinfo.prom_type==1 || goodsinfo.prom_type==6){ + if(prom.is_end==0 && prom.end_time>now && prom.start_time{ + 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 + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} + }) + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + if(plist && plist.CanOutQty-lock>0){ + that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock; + }else{ + that.data.def_pick_store.CanOutQty=0; + } + //--给门店赋值线下库存-- + th.setData({def_pick_store:that.data.def_pick_store}); + }) + } + + + this.sele_spec_chech_activity(); + }, + + //选择了不同的规格的时候要判断是不是有活动正在进行中 + async sele_spec_chech_activity(){ + //---如果是活动的时候--- + var prom=null,goodsinfo=this.data.sele_g,th=this; + if(goodsinfo.prom_type==1){ + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0){ + prom=res.data.data; + } + }) + } + if(goodsinfo.prom_type==6){ + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0){ + prom=res.data.data; + } + }) + } + + if(goodsinfo.prom_type==4){ + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ + }).then(res=>{ + if(res.data.code==0){ + prom=res.data.data; + } + }) + } + + //----------如果有活动,并且在进行中,就不计算线下库存--------------- + var now=ut.gettimestamp(); + if(prom){ + if(prom.is_end==0 && prom.end_time>now && prom.start_time { + var e = res; + + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + if(dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store)=='{}') && th.data.bconfig && th.data.bconfig.is_sort_storage){ + th.setData({ + def_pick_store:e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }); + th.data.fir_def_store=e.data.data.pageData[0]; + } + + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ + for (var k = 0; k < e.data.data.pageData.length; k++) { + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { + e.data.data.pageData.splice(k, 1); //删除 + break; + } + } + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 + } + + + th.setData({all_pick_list:e.data.data.pageData}); + + //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- + if(th.data.sales_rules==2 && !th.data.is_newsales_rules && ((th.data.prom_type!=1 && th.data.prom_type!=6 && th.data.prom_type!=4) || is_normal==1)){ + setTimeout(function(){ + th.deal_pickup_dline(e); + },800) + }else{ + setTimeout(function(){ + th.deal_pickup(e); //--普通门店排版-- + },800) + } + } + }) + }, 200) + + }, + + + //------------处理门店--------------- + deal_pickup(e){ + var th=this; + if(!th.data.sele_g) return false + + var g_distr_type=th.data.sele_g.distr_type; + wx.hideLoading(); + + //单总量超出5个的时候 + if (e.data.data.total > 5) { + getApp().request.get("/api/weshop/storagecategory/page", { + data: { + store_id: o.stoid, + is_show: 1, + pageSize: 1000, + orderField:"sort", + orderType:'asc', + }, + success: function(ee) { + if (ee.data.code == 0) { + + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { + var def_arr = new Array(); + var ishas = 0; + //-- 开始就看5个门店 -- + for (var k = 0; k < 5; k++) { + if (k == e.data.data.pageData.length) break; + def_arr.push(e.data.data.pageData[k]); + } + + th.setData({ + def_pickpu_list: def_arr, + pickpu_list: ee.data.data.pageData + }); + var sto_cate = ee.data.data.pageData; + var sto_arr = e.data.data.pageData; + var newarr = new Array(); + var qita = new Array(); + + //----要进行门店分组-------- + for (var i = 0; i < sto_arr.length; i++) { + //找一下这个门店有没有在分类数组内 + var find2 = 0, find2name = "",sort=0; + for (var m = 0; m < sto_cate.length; m++) { + if (sto_arr[i].category_id == sto_cate[m].cat_id) { + find2 = sto_cate[m].cat_id; + find2name = sto_cate[m].cat_name; + sort = sto_cate[m].sort; + break; + } + } + + if (newarr.length > 0) { + var find = 0; + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 + if (find2 != 0) { + for (var ii = 0; ii < newarr.length; ii++) { + if (sto_arr[i].category_id == newarr[ii].cat_id) { + newarr[ii].s_arr.push(sto_arr[i]); + find = 1; + break; + } + } + if (find == 0) { + var arr0 = new Array(); + arr0.push(sto_arr[i]); + var item = { + cat_id: find2, + name: find2name, + sort:sort, + s_arr: arr0 + }; + newarr.push(item); + } + } else { + qita.push(sto_arr[i]); + } + } else { + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 + if (find2 != 0) { + var arr0 = new Array(); + arr0.push(sto_arr[i]); + var item = { + cat_id: find2, + name: find2name, + sort:sort, + s_arr: arr0 + }; + newarr.push(item); + } else { + qita.push(sto_arr[i]); + } + } + } + + //门店分类要排序下 + function compare(property){ + return function(a,b){ + var value1 = a[property]; + var value2 = b[property]; + return value1 - value2; + } + } + if(newarr.length>0) + newarr.sort(compare("sort")); + + + //----安排其他的分类----- + if (qita.length > 0) { + var item = { + cat_id: -1, + name: "其他", + s_arr: qita + }; + newarr.push(item); + } + + th.setData({ + is_show_sto_cat: 1, + all_sto: newarr + }); + + } else { + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({def_pick_store:e.data.data.pageData[0]}) + } + } + } else { + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({def_pick_store:e.data.data.pageData[0]}) + } + + } + } + }); + } else { + th.setData({ + is_show_sto_cat: 0, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店------ + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { + th.setData({ + def_pick_store:e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }) + } + } + }, + + //------------处理线下门店库存-------- + deal_pickup_dline(e){ + var pkno=[],th=this; + if(!th.data.sele_g) return false; + + if(this.data.def_pick_store){ + pkno.push(this.data.def_pick_store.pickup_no); + } + for(var i in e.data.data.pageData){ + var item=e.data.data.pageData[i]; + if(pkno.indexOf(item.pickup_no)<0) + pkno.push(item.pickup_no); + } + pkno.sort(); + var pkno_str=pkno.join(","); + var o_plist=e.data.data.pageData; + var new_list=[]; + var is_find_def_store=0; + + + var g_distr_type=th.data.sele_g.distr_type; + var lock=[]; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,pageSize:1000} + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + lock=res.data.data.pageData + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid,pageSize:2000} + }) + }).then(res=>{ + + wx.hideLoading(); + if(res.data.code==0){ + if(res.data.data.pageData && res.data.data.pageData.length>0){ + var plist=res.data.data.pageData; + var def_pick_store=th.data.def_pick_store; + //以原来的数组为外循环,保证距离的顺序 + for(var kk in o_plist){ + for(var ii in plist){ + //线下的门店小心 + var n_item=plist[ii]; + if(n_item.StorageNo==o_plist[kk].pickup_no){ + + //拿到锁库的数量 + var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); + //可出库数大于预出库库存的数量,可以判断为有库存 + if(n_item.CanOutQty>lock_num){ + o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; + new_list.push(o_plist[kk]); + //--如果找到默认门店,同时也应该判断配送方式对不对-- + if(th.data.fir_def_store && n_item.StorageNo==th.data.fir_def_store.pickup_no && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ + th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; + if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) + th.setData({def_pick_store:th.data.fir_def_store}) + is_find_def_store=1; + } + } + break; + } + } + } + + //数据组装下 + var em={};em.data={};em.data.data={}; + em.data.data.total=new_list.length; + em.data.data.pageData=new_list; + + //--如果找到默认门店,同时也应该判断配送方式对不对-- + if(th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ + th.data.fir_def_store.CanOutQty=0; + //--当选择的门店是客户默认的门店的时候-- + if(th.data.def_pick_store && th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { + th.setData({def_pick_store:th.data.fir_def_store}); + em.data.data.pageData.unshift(th.data.def_pick_store); + }else{ + em.data.data.pageData.splice(1,0,th.data.fir_def_store); + } + } + + //---把数组组装进去--- + th.deal_pickup(em); + }else{ + th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) + } + }else{ + th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) + } + }) + }, + + find_lock_num(pick_id,lock){ + var lock_num=0; + if(!lock) return 0; + if(lock.length<0) return 0; + for(var i in lock){ + if(pick_id==lock[i].pickupId){ + lock_num+=lock[i].outQty; + } + } + return lock_num; + }, + + //----------取货门店被点击的效果------ + getmendian: function(t) { + this.setData({ + ismend: 1, + }); + }, + + //----------隐藏取货门店,选取门店---------- + hidemend: function(e) { + var pid = e.target.dataset.p_id; + var pname = e.target.dataset.p_name; + var p_distr_t = e.target.dataset.p_dis; + this.setData({ + ismend: 0, + is_sec_mend: 0, + sto_sele_id: pid, + sto_sele_name: pname, + sto_sele_distr: p_distr_t + }); + }, + + //------显示取货2级---------- + show_sec: function(t) { + var index = t.target.dataset.index; + var item = this.data.all_sto[index]; + this.setData({ + is_sec_mend: 1, + sec_sto: item + }); + }, + + //------隐藏取货门店2级---- + hide_sec_mend: function() { + this.setData({ + is_sec_mend: 0, + }); + }, + + //评论的调用 + requestComments_new: async function(){ + var e = this, th = e,ee=e; var tp = e.data.activeCategoryId3; + var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p; + + wx.showLoading(); + var req_where = { + store_id: o.stoid, pageSize: 5,is_show:1, + parent_id: 0, goods_id: th.data.gid, commenttype: tp, + } + if (getApp().globalData.userInfo) { + req_where.userId = getApp().globalData.userInfo.user_id; + } + + var rs_data=null; + await getApp().request.promiseGet(t, { data: req_where}).then(res=>{ + var tot = res.data.data.total; + e.data.c_curr_p++; + e.setData({ + com_num: tot, //已经有加载 + }); + if (res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + rs_data=res.data.data.pageData; + }else{ + th.setData({comments_no_more:1,auto:1}); + } + }) + + if (rs_data){ + //var cda = th.data.comments; + var cda = rs_data,com_data=th.data.comments; + for (var ind in cda) { + var ep = cda[ind]; + if (cda[ind].head_pic == '') { + cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png"; + } + if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) { + cda[ind].weapp_img = JSON.parse(ep.weapp_img); + } + if (ep.img != "" && ut.isString(ep.img)) { + cda[ind].img = ut.unserialize(ep.img); + } + + //--测量多有字的宽带,计算有多少行-- + var widh=ut.measureText(ep.content,30); + var lines=widh/712; + cda[ind].seeMore=false; + if(lines>3) cda[ind].seeMore=true; + + await getApp().request.promiseGet("/api/weshop/comment/pageComment", { + data: {store_id: o.stoid, parent_id: ep.comment_id } + }).then(res => { + if (res.data.data.pageData && res.data.data.pageData.length > 0) { + cda[ind].replay_list = res.data.data.pageData; + } + }) + } + + if (!com_data) com_data = cda; + else com_data = com_data.concat(cda); + + th.setData({ comments: com_data}); + } + th.setData({get_c: 1}); + wx.hideLoading(); + }, + + //加载更多是靠这个函数 + onReachBottom: function() { + if (this.data.activeCategoryId == 2){ + if(!this.data.comments_no_more) this.requestComments_new(); + } + + var goods_list = this.selectComponent("#goods_list"); //组件的id + if (goods_list) goods_list.get_list(); + }, + + //--------检查是否活动,活动是否开始,或者是否结束------- + async check_prom(gid, prom_type, prom_id) { + var ee = this, + th = ee; + if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7) { + this.setData({ + prom_type: 0, + isshow: 1, + }); + return false; + } + + + + //if (prom_type != 3 && prom_type!=0){ + //---判断秒杀---- + if (prom_type == 1) { + //-------判断活动是否抢光--------- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { + 1: 1 + }).then(res => { + var em = res; + if (em.data.code == 0) { + + if (em.data.data <= 0) ee.setData({ + prom_r_null: 1 + }); + //拿取价格并且判断时间-- + getApp().request.get("/api/ms/flash_sale/get/" + + os.stoid + "/" + prom_id, { + success: function(t) { + if (t.data.code != 0) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + return false; + } + //----已经结束----- + if (t.data.data.is_end == 1) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + //----已经过期----- + var now = ut.gettimestamp(); + if (t.data.data.end_time < now) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + return false; + } + + /*-- 还没有开始预热的也不显示 --*/ + if (t.data.data.show_time > now) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + + var t_gd = ee.data.data; + var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss"); + var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); + + ee.setData({ + prom_price: t.data.data.price, + prom_type: 1, + prom_id: prom_id, + prom_buy_limit: t.data.data.buy_limit, + prom_act: t.data.data, + prom_end_time: prom_end_time, + prom_start_time: prom_start_time, + isshow: 1, + }); + + ee.get_sto(); + + + var newTime = ut.gettimestamp(); + var endTime2 = t.data.data.end_time; + var endTime1 = t.data.data.start_time; + + //---苹果机不兼容--- + /*---- + var endTime2 = new Date(prom_end_time).getTime(); + var endTime1 = new Date(prom_start_time).getTime();----*/ + + if (endTime1 > newTime) { + ee.setData({ + prom_time_text: '距秒杀开始还有' + }) + ee.countDown(endTime1, 0); + } else { + if (endTime2 > newTime) { + ee.setData({ + prom_time_text: '距秒杀结束还有', + prom_st: 1 + }) + ee.countDown(endTime2); + } + } + } + }); + } + }) + } + + if(prom_type==4){ + //th.setData({is_integral_normal:1}); + var rdata={ + store_id:o.stoid,stype:1,stypeup:1,goods_id:gid + } + + var integrals=0; + var get_datas= { + user_id:getApp().globalData.user_id, store_id:o.stoid, + }; + await getApp().request.promiseGet("/api/weshop/users/getAllPoints", { + data: get_datas + }).then(res => { + if(res.data.code==0){ + integrals=res.data.data.Integral; + } + }) + + //获取一下积分活动 + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", { + data: rdata + }).then(res => { + //调用接口有数据的时候 + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { + var inte_data=res.data.data.pageData[0]; + var can_integral=(parseFloat(integrals)>=parseFloat(inte_data.integral)); + ee.setData({ + prom_price:parseFloat(inte_data.addmoney), + prom_integral:parseFloat(inte_data.integral), + prom_type: 4, + prom_id: inte_data.id, + prom_buy_limit: inte_data.limitvipqty, + prom_act: inte_data, + isshow: 1, + can_integral:can_integral, + is_shopbuy: parseInt(inte_data.is_shopbuy?inte_data.is_shopbuy:0) + }); + ee.get_sto(); + + }else{ + ee.setData({prom_type: 0, isshow: 1,}); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + }) + + } + + + //---判断拼单---- + if (prom_type == 6) { + //-------判断活动是否抢光--------- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { + 1: 1 + }).then(res => { + var em = res; + if (em.data.code == 0) { + + + if (em.data.data <= 0) ee.setData({ + prom_r_null: 1 + }); + //拿取价格并且判断时间-- + getApp().request.get("/api/weshop/teamlist/get/" + + os.stoid + "/" + prom_id, { + success: function(t) { + if (t.data.code != 0) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + //----已经结束----- + if (t.data.data.is_end == 1) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + return false; + } + //----已经过期----- + var now = ut.gettimestamp(); + if (t.data.data.end_time < now) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + + /*-- 还没有开始预热的也不显示 --*/ + if (t.data.data.show_time > now) { + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + + //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中------- + getApp().request.get("/api/weshop/order/page", { + data: { + pt_prom_id: prom_id, + user_id: oo.user_id, + store_id: os.stoid, + pageSize: 1, + page: 1 + }, + success: function(e) { + if (e.data.code == 0 && e.data.data.pageData.length > 0) { + var odr = e.data.data.pageData[0]; + th.data.buy_order = odr; + if (odr.pt_status == 0 && odr.order_status == 1) { + th.setData({ + user_order_pt_state: 1 + }); + } + if (odr.pt_status == 1 && odr.order_status == 1) { + if (odr.is_zsorder == 4) { + getApp().request.promiseGet("/api/weshop/teamgroup/page/", { + data: { + store_id: os.stoid, + team_id: odr.pt_prom_id, + listno: odr.pt_listno + } + }).then(res => { + var now = ut.gettimestamp(); + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + var tgr = res.data.data.pageData[0]; + //如果团的时间已经到了 + if (now >= tgr.kt_end_time) { + th.update_jiti(tgr.id); + } else { + th.setData({ + user_order_pt_state: 2 + }); + } + } + }) + + } else { + th.setData({ + user_order_pt_state: 2 + }); + } + } + + if (odr.pt_status == 2 && odr.is_zsorder == 4) { + th.setData({ + user_order_pt_state: 3, + }); + th.data.wk_order_id = odr.order_id; + } + } + }, + }); + + //----------查看阶梯团------------ + if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { + t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); + var max_num = 0; + t.data.data.ct_rylist.forEach(function(val, ind) { + if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); + }) + t.data.data.max_ct_num = max_num; + } + + var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss"); + var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); + ee.setData({ + prom_price: t.data.data.price, + prom_type: 6, + prom_id: prom_id, + prom_buy_limit: t.data.data.buy_limit, + prom_act: t.data.data, + prom_end_time: prom_end_time, + prom_start_time: prom_start_time, + isshow: 1, + }); + + ee.get_sto(); + + var newTime = now; + var endTime2 = t.data.data.end_time; + var endTime1 = t.data.data.start_time; + + if (endTime1 > newTime) { + ee.setData({ + prom_time_text: '距拼单开始还剩:' + }) + ee.countDown(endTime1, 0); + } else { + if (endTime2 > newTime) { + ee.setData({ + prom_time_text: '距拼单结束还剩:', + prom_st: 1 + }) + ee.countDown(endTime2); + } + } + //-------查看有多少人在开这个团------- + th.get_team_group(prom_id); + } + }); + } + }) + } + + }, + + //--获取有多少人在开团-- + async get_team_group(prom_id) { + var teamgroup = [], + th = this, + grounp_tatal = 0; + //如果活动是开团不是商家团 + if (this.data.prom_act.kttype > 1) { + + var req_data={ + store_id: os.stoid, + pageSize: 3, + page: 1, + state: 2, + team_id: prom_id, + ordernum:1 + }; + + if(this.data.prom_act.kttype==3 && this.data.prom_act.max_ct_num ){ + req_data.max_num=this.data.prom_act.max_ct_num; + } + + //获取活动从表信息team_id + await getApp().request.promiseGet("/api/weshop/teamgroup/page", { + data: req_data + }).then(res => { + teamgroup = res.data.data.pageData; + grounp_tatal = res.data.data.total; + }) + //获取订单的总数这个接口不能用 + for (i = 0; i < teamgroup.length; i++) { + await getApp().request.promiseGet("/api/weshop/order/page", { + data: { + store_id: os.stoid, + pt_status: 1, + pt_listno: teamgroup[i].listno + } + }).then(res => { + var order = res.data.data.pageData; + teamgroup[i].open_num = order.length; + }) + await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => { + var user = res.data.data; + teamgroup[i].user = user; + }) + } + + if (teamgroup.length > 0) { + th.setData({ + teamgroup: teamgroup, + grounp_tatal: grounp_tatal + }); + th.countDown2(); + } + } + }, + + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; + }, + + //----倒计时函数----- + countDown(time, prom_st) { + if (!this.data.is_timer) return false; + var th = this; + // 获取当前时间,同时得到活动结束时间数组 + var endTime = time; + var newTime = ut.gettimestamp(); + // 对结束时间进行处理渲染到页面 + var obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0) { + var time = (endTime - newTime); + // 获取天、时、分、秒 + var day = parseInt(time / (60 * 60 * 24)); + var hou = parseInt(time % (60 * 60 * 24) / 3600); + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + } else { + if (th.data.prom_st == 0) { + //var endTime2 = new Date(th.data.prom_end_time).getTime(); + var endTime2 = th.data.prom_act.end_time; + th.setData({ + prom_time_text: '距结束还剩:', + prom_st: 1 + }) + setTimeout(function() { + th.countDown(endTime2) + }, 1000); + return false; + + } else { + //活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + th.setData({ + prom_time_text: '活动已经结束:', + prom_st: 3 + }) + th.setData({ + djs: obj + }); + return false; + } + } + + th.setData({ + djs: obj + }); + setTimeout(function() { + th.countDown(endTime) + }, 1000); + }, + + + //-------------获取购买数量的总函数---------------- + get_buy_num: function(gd, func) { + var map = this.data.g_buy_num, + th = this, + user_id = getApp().globalData.user_id; + if (user_id == null) { + map.set(gd.goods_id, 0); + th.setData({ + g_buy_num: map, + prom_buy_num: 0, + }); + "function" == typeof func && func(); + return false; + } + + if (map.has(gd.goods_id)) { + "function" == typeof func && func(); + } else { + //----获取商品购买数---- + getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: gd.goods_id + }, + success: function(t) { + if (t.data.code == 0) { + var g_buy_num = t.data.data.goodsbuynum; + if (gd.prom_type == 1 || gd.prom_type == 2 || gd.prom_type == 4 || gd.prom_type == 6) { + //----获取活动购买数---- + getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: gd.goods_id, + prom_type: gd.prom_type, + prom_id: gd.prom_id + }, + //-----获取----- + success: function(tt) { + if (tt.data.code == 0) { + map.set(gd.goods_id, g_buy_num); + th.setData({ + g_buy_num: map, + prom_buy_num: tt.data.data.goodsbuynum, + }); + "function" == typeof func && func(); + } + } + }); + } else { + map.set(gd.goods_id, g_buy_num); + th.setData({ + g_buy_num: map + }); + "function" == typeof func && func(); + } + } + } + }); + } + }, + + //--拼单推荐的显示--- + tj_Click: function(e) { + var ind = parseInt(e.target.dataset.ind); + this.setData({ + is_show_gz: ind + }); + }, + + //--------拼团玩法显示详情-------- + show_pt_xx: function(e) { + this.setData({ + pd_xx: 1, + }) + }, + close_pt_xx: function() { + this.setData({ + pd_xx: 0, + }) + }, + + //--点击弹起拼单-- + openSpecModel_pt: function(e) { + + + this.setData({ open_ind_store: 4,goodsInputNum:1});//拼团直接给4 + + + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } + + var th = this; + var ind = parseInt(e.currentTarget.dataset.it); + //如果是拼单活动的普通购买 + if (ind == 1) { + //如果拼单的sku data是空的,就要先获取一下 + if (th.data.sku_g_pt) { + th.get_sto(1); + th.setData({ + is_normal: ind, + openSpecModal_pt: 1 + }); + } else { + th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function() { + th.setData({ + is_normal: ind, + openSpecModal_pt: 1 + }); + }); + } + th.check_is_youhui(th.data.gid,1); + } else { + + //拼单商品从这里进,先判断有没有买过商品, + getApp().request.get("/api/weshop/order/page", { + data: { + pt_prom_id: th.data.prom_act.id, + user_id: oo.user_id, + store_id: os.stoid, + pageSize: 1, + page: 1 + }, + success: function(e) { + //--跳转到已经购买的情况-- + if (e.data.data.pageData.length > 0) { + var odr = e.data.data.pageData[0]; + //还未支付 + if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { + wx.showModal({ + title: "您已经购买了该商品待支付中", + success: function(a) { + if (a.confirm) { + wx.navigateTo({ + url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + }); + } + } + }); + } else if (odr.pt_status == 1 && odr.order_status == 1) { + + if(this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show=1; + wx.showLoading(); + + /*--- + wx.redirectTo({ + url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, + });--*/ + getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); + + } else { + th.setData({ + is_normal: ind, + openSpecModal_pt: 1 + }); + } + + } else { + th.setData({ + is_normal: ind, + openSpecModal_pt: 1 + }); + } + } + }); + } + }, + + //-----------------拼单生成方法--------------------- + addCart_pt: function() { + var th = this; + if (this.data.is_normal == 0) { + //看一下有没有起购数,如果有起购数,要计算起购数 + var qnum = parseFloat(th.data.prom_act.minbuynum); + if (qnum > 0 && th.data.goodsInputNum < qnum) { + getApp().confirmBox("拼团商品至少要买" + qnum + "件!"); + return false; + } + + th.addcart_pt_func(); + } else { + th.addcart_pt_func(); + } + }, + + addcart_pt_func: function() { + if (oo.user_id == null) { + s.my_warnning("还未登录!", 0, this); + return; + } + var e = this, + th = e, + o = this.data.sele_g; + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + + //----------添加到购物车时,要判断限购数量,-------- + e.get_buy_num(o, async function(ee) { + + //---判断商品是否超出限购--- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + + var num=th.data.prom_buy_limit-th.data.prom_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购--- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal!=1) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + + var num=th.data.prom_buy_limit-th.data.prom_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) + return false; + } + } + + var redis_num = 0 + //不是普通购买的时候 + if(th.data.is_normal!=1){ + //-------判断活动是否抢光--------- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.sele_g.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }) + + if (th.data.goodsInputNum > redis_num) { + wx.showModal({ + title: '提示', + content: '超出商品活动库存' + }); + + th.setData({goodsInputNum:redis_num}) + + return false; + } + } + + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); + if (th.data.goodsInputNum > o.store_count) { + th.setData({goodsInputNum:o.store_count}) + return s.my_warnning("超出商品库存", 0, th); + } + + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + this.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: th.data.stoid, + goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + }; + + //---是不是从收藏夹出来的--- + if(th.data.c_guide_id){ + newd['guide_id'] = th.data.c_guide_id; + newd['guide_type']=2; + + }else{ + if(getApp().globalData.guide_id){ + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type']=0; + + } + } + + //让商品带上房间号 + if(th.data.sys_switch.is_skuroom_id==1){ + if(th.data.data.goods_id==getApp().globalData.room_goods_id){ + newd.room_id=getApp().globalData.room_id; + } + }else{ + if(newd.goods_id==getApp().globalData.room_goods_id){ + newd.room_id=getApp().globalData.room_id; + } + } + + //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ + + if(th.data.is_normal == 1){ + var conf=th.data.bconfig; + if(conf.switch_list){ + var s_list=JSON.parse(conf.switch_list); + //如果后台有开启等级价的功能 + if(parseInt(s_list.rank_switch)==2){ + var card_price=o[getApp().globalData.userInfo['card_field']]; + //如果会员有等级价 + if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null + && getApp().globalData.userInfo['card_field']!="" && card_price>0){ + newd.goods_price=card_price; + } + } + } + } + + + //-----如果是秒杀,团购,积分购,拼团,且不是普通购买----- + if (th.data.prom_type == 6 && th.data.is_normal!= 1) { + newd.goods_price = th.data.prom_price; + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + newd.kt_type = th.data.prom_act.kttype; //开团类型 + newd.is_pt_tz = 0; + //th.data.sto_sele_distr=1; //直接用自提的方式提交 + if (newd.kt_type > 1) { + newd.is_pt_tz = 1; //开团类型 + } + if (newd.kt_type == 3) { + th.data.sto_sele_distr = 1; + } + + } else if (th.data.prom_type == 3) { + newd.prom_type = 0; + newd.prom_id = 0; + } + + newd['pick_name'] = th.data.sto_sele_name; + newd['pick_dis'] = th.data.sto_sele_distr; + newd['is_normal'] = th.data.is_normal; + + if(newd['is_normal']){ + newd['is_pd_normal']=1; + //判断一下有没有全局优惠活动 + th.check_nor_promgood(newd.goods_id,function(e){ + if(e && e.act_id){ + newd['prom_type']=3; + newd['prom_id']=e.act_id; + } + th.buyNow(newd) + }) + } + else th.buyNow_pt(newd); + }) + }, + //----------立即购买_pt----------- + buyNow_pt: function(e) { + s.set_b_now(e); + wx.navigateTo({ + url: "/pages/cart/cart2_pt/cart2_pt?is_bnow=1&goods_id=" + e.goods_id, + }); + }, + + //-------跳转pt商品------- + go_to_nopay: function() { + var th = this; + url="/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; + getApp().goto(url); + + }, + //-------跳转pt teamshow------- + go_to_team_show: function() { + + if(this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show=1; + wx.showLoading(); + + var th = this; + var url="/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn; + /*-- + wx.redirectTo({ + url:url, + })--*/ + getApp().goto(url); + + }, + + //---拼团倒计时--- + countDown2() { + if (!this.data.is_timer) return false; + var th = this; + // 获取当前时间,同时得到活动结束时间数组 + var newTime = ut.gettimestamp(); + var List = th.data.teamgroup; + for (var j = 0; j < List.length; j++) { + // 对结束时间进行处理渲染到页面 + var endTime = List[j].kt_end_time; + let obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0) { + let time = (endTime - newTime); + // 获取天、时、分、秒 + let day = parseInt(time / (60 * 60 * 24)); + let hou = parseInt(time % (60 * 60 * 24) / 3600); + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + } else { + //活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + } + var txt = "timer[" + j + "]"; + th.setData({ + [txt]: obj + }); + } + setTimeout(th.countDown2, 1000); + }, + //跳转参加团 + go_cj_team: function(e) { + var ind = e.currentTarget.dataset.ind; + var item = this.data.teamgroup[ind]; + var id = item.id; + var th = this; + + getApp().request.get("/api/weshop/order/page", { + data: { + pt_prom_id: item.team_id, + user_id: oo.user_id, + store_id: os.stoid, + pageSize: 1, + page: 1 + }, + success: function(e) { + if (e.data.code != 0) { + getApp().my_warnning("读取订单失败", 0, th); + return fasle; + } + //--跳转到已经购买的情况-- + if (e.data.data.pageData.length > 0) { + var odr = e.data.data.pageData[0]; + //还未支付 + if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { + wx.showModal({ + title: "您已经购买了该商品待支付中", + success: function(a) { + if (a.confirm) { + wx.navigateTo({ + url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + }); + } + } + }); + } else if (odr.pt_status == 1 && odr.order_status == 1) { + + if(this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show=1; + wx.showLoading(); + /*-- + wx.redirectTo({ + url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, + });--*/ + + getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); + + } else { + wx.navigateTo({ + url: "/pages/team/team_show/team_show?tg_id=" + id, + }); + } + } + //--跳转到参团-- + else { + wx.navigateTo({ + url: "/pages/team/team_show/team_show?tg_id=" + id, + }); + } + } + }) + + }, + + //跳到团更多 + go_t_more: function() { + var team_id = this.data.prom_id; + wx.navigateTo({ + url: "/pages/team/team_more/team_more?team_id=" + team_id, + }); + }, + + //--点赞功能-- + click_zan: function(e) { + var com_id = e.currentTarget.dataset.com_id; + var item_id = e.currentTarget.dataset.item_id; + var app = getApp(), + th = this; + + if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) { + app.confirmBox("您还未登录"); + return false; + } + + var iszan = th.data.comments[item_id].userZanNum; + if (this.data.iszaning) return false; + this.data.iszaning = 1; + + + app.request.post("/api/weshop/commentZan/save", { + data: { + store_id: o.stoid, + user_id: app.globalData.user_id, + goods_id: th.data.gid, + comment_id: com_id + }, + success: function(ee) { + + if (ee.data.code == "-1") { + app.my_warnning("不能给自己点赞", 0, th); + th.data.iszaning = 0; + return; + } + + if (ee.data.code == 0 && iszan != 1) { + var num = th.data.comments[item_id].zan_num; + num++; + var text = "comments[" + item_id + "].zan_num"; + var text1 = "comments[" + item_id + "].userZanNum"; + var _errObj = {}; + _errObj[text] = num; + _errObj[text1] = 1; + th.setData(_errObj); + + } else { + var num = th.data.comments[item_id].zan_num; + num--; + var text = "comments[" + item_id + "].zan_num"; + var text1 = "comments[" + item_id + "].userZanNum"; + var _errObj = {}; + _errObj[text] = num; + _errObj[text1] = 0; + th.setData(_errObj); + } + + setTimeout(function() { + th.data.iszaning = 0; + }, 500) + + } + }) + }, + + /*----券的开关---*/ + switchCoupon: async function(event) { + var coupon = event.currentTarget.dataset.coupon; + var app = getApp(); + var url = "/api/weshop/prom/coupon/pageCouponList"; + var quan_list = this.data.quan_list; + var th = this; + + //当开启,且列表为空的情况下要 + if (!quan_list && coupon == "1") { + wx.showLoading(); + await app.request.promiseGet(url, { + data: { + store_id: os.stoid, + type: 1, + pageSize: 100, + page: 1, + user_id: app.globalData.user_id, + is_share:0 + } + }).then(res => { + wx.hideLoading(); + quan_list = res.data.data.pageData; + }) + + if (quan_list) { + for (var ind in quan_list) { + var ep = quan_list[ind]; + var start = ut.formatTime(ep.use_start_time, "yyyy-MM-dd"); + var end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd"); + start = start.replace("00:00:00", ""); + end = end.replace("00:00:00", ""); + quan_list[ind].start = start; + quan_list[ind].end = end; + } + } + + th.setData({ + coupon: coupon, + quan_list: quan_list + }); + } else { + th.setData({ + coupon: coupon + }); + } + }, + + //--查看评价-- + look_pj: function() { + this.tabComment(); + this.doScrollTop(); + }, + + //-----领取券----- + get_quan: function(e) { + var cid = e.currentTarget.dataset.cid; + var index = e.currentTarget.dataset.ind; + var item = this.data.quan_list[index]; + + + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } + + + //如果券还在领取中,不能再点 + if (item.linging == 1) { + getApp().my_warnning('领取中..', 0, this); + return false; + } + + //如果领取的次数到了 + if (item.everyone_num > 0 && item.lqnum >= item.everyone_num) { + getApp().my_warnning('领取失败,您已领完该券', 0, this); + return false; + } + + var lq_num = item.lqnum; + + var pdata = { + 'uid': oo.user_id, + 'cid': cid, + 'store_id': os.stoid, + 'type': 5 + }; + + //-- 导购ID -- + if(getApp().globalData.guide_id){ + pdata.guide_id=getApp().globalData.guide_id; + } + + var app = getApp(), + th = this; + app.request.post("/api/weshop/couponList/saveCouponList", { + data: pdata, + success: function(res) { + if (res.data.code == 0) { + app.my_warnning("领取成功", 1, th); + lq_num++; + var text = "quan_list[" + index + "].lqnum"; + var text2 = "quan_list[" + index + "].linging"; + var obj = {}; + obj[text] = lq_num; + obj[text2] = 0; + th.setData(obj); + } else { + app.confirmBox(res.data.msg); + var text2 = "quan_list[" + index + "].linging"; + var obj = {}; + obj[text2] = 0; + th.setData(obj); + } + } + }) + }, + + //--定义的保存图片方法,分享团--- + saveImageToPhotosAlbum: function() { + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + //getApp().my_warnning("请先登录",0,this); + wx.navigateTo({ url: '/pages/togoin/togoin', }) + return false; + } + + if(this.data.share_hidden) { + this.setData({ + share_hidden: false, + }); + }; + + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 + var type = this.data.prom_type; + if (type == 6) type = 2; + if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; + + wx.showLoading({ + title: '生成中...', + }) + var that = this, + th = that; + //设置画板显示,才能开始绘图 + that.setData({ + canvasHidden: false + }) + + var app = getApp(); + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, + var path2 = that.data.data.original_img; + var scene = th.data.gid+""; + var user_id = getApp().globalData.user_id?getApp().globalData.user_id:0; + if(user_id>0) { + scene+="_"+user_id; + } + //-- 如果不是会员分享过来的要分享给别人 -- + if(getApp().globalData.room_id && th.data.data.goods_id==getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) { + //固定房间是第3个字符 + if(!user_id) scene+="_0"; + scene+="_"+getApp().globalData.room_id ; + } + ///二微码 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; + + console.log(path3); + + //读取文件成功则OK-- + wx.getImageInfo({ + src: path3, + success: function(res) { + //回调写法 + th.get_head_temp(th.get_goods_temp, function() { + var vpath = res.path; + var context = wx.createCanvasContext('share'); + //先画背景 + var pg_path = "../../../../images/share/share_bg.png"; + + // context.fillStyle="#FFFFFF"; + // context.fillRect(0,0,554 * unit, 899 * unit); + + //-- 如果有自定义海报的时候,判断背景的图片 -- + if(th.data.share_b_img){ + pg_path=th.data.share_b_img; + } + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); + + //-- 是自定义海报的情况下 -- + if(th.data.poster && parseInt(th.data.poster.style)==2) { + //在线上分享人的情况下 + if(parseInt(th.data.poster.show_headpic)){ + //获取坐标 + var x=parseFloat(th.data.poster.head_x)*2; + var y=parseFloat(th.data.poster.head_y)*2; + var x1=(x+90) *unit; + var y1=(y+50) *unit; + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, x1, y1); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; + //强烈推荐 改许程 + var tj_path = "../../../../images/share/q_tj.png"; + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit) + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white") + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); + + //context.setFillStyle("black") + //context.setFontSize(24 * unit) + //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit); + } + } else { + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; + //强烈推荐 改许程 + var tj_path = "../../../../images/share/q_tj.png"; + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit); + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white"); + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit); + } + + var share_title=th.data.data.goods_name; + if(th.data.prom_type==1 || th.data.prom_type==6 || th.data.prom_type==4){ + share_title=th.data.prom_act.share_title; + if(!share_title) share_title=th.data.prom_act.title; + if(th.data.prom_type==4) share_title=th.data.prom_act.name; + } + + //---产品名称--- + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 + if(type!=4){ + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); + + //------产品的价格------- + context.setFontSize(23 * unit) + context.setFillStyle("red") + + + var pri0 = th.data.data.shop_price; + if (th.data.prom_act) + pri0 = th.data.prom_act.price; + pri0 = parseFloat(pri0).toFixed(2); + var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25; + context.fillText("¥", wd1-15, 185 * unit); + context.setFontSize(31 * unit) + context.fillText(pri0, wd1, 185 * unit); + + //---市场价划掉--- + context.setFillStyle("gray") + context.setFontSize(22 * unit) + pri0="¥" + th.data.data.market_price.toFixed(2); + var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25; + context.fillText(pri0, wd2, 213 * unit); + + context.setStrokeStyle('gray'); + context.setLineWidth(1 * unit); + context.moveTo(wd2-5, 206 * unit); + context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 206 * unit); + context.stroke(); + + }else{ + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 38 * unit, 170 * unit, 20 * unit, 300*unit, unit); + //------ 产品的价格 ----- + var pri0 = th.data.prom_act.addmoney; + var integral=th.data.prom_act.integral; + var text= ""; + if(integral){text=integral+"积分"; } + if(pri0 && integral){ text+="+";} + if(pri0){ text+="¥"+pri0;} + + if(!pri0 && !integral){ text="0积分";} + context.setFillStyle("red"); + context.fillText(text, 38 * unit, 235 * unit); + + } + + //---中间大图--- + context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); + //-------大图后面就不一样了----------- + switch (type) { + case 0: //普通商品的展示 + case 4: + //中间的几个字 + if(th.data.poster && parseInt(th.data.poster.style)==2 ){ + if(parseInt(th.data.poster.show_quality)){ + var g_path = "../../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); + + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); + + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } + + }else{ + var g_path = "../../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); + + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); + + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } + + + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 710 * unit) + context.lineTo(520 * unit, 710 * unit) + context.stroke(); + + //---文字--- + context.setFillStyle("black") + context.setFontSize(22 * unit) + + if(type==0){ + // 原来start ---> + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); + + context.setFontSize(22 * unit) + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit); + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); + + }else{ + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); + context.setFontSize(22 * unit) + context.fillText("长按识别二维码", 40 * unit, 806 * unit); + context.fillText("立即开始兑换", 40 * unit, 846 * unit); + + + } + + //---二维吗图--- + //-- 自定义海报 -- + if(th.data.poster){ + var erm_x= parseFloat(th.data.poster.ewm_x)*2; + var erm_y= parseFloat(th.data.poster.ewm_y)*2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } + + break; + case 1: //秒杀商品的展示 + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 670 * unit) + context.lineTo(520 * unit, 670 * unit) + context.stroke(); + + //画秒杀的图片 + var miaos_path = '../../../../images/share/miao_share.png'; + context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit); + //---文字--- + context.setFontSize(22 * unit) + context.setFillStyle("black") + context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit); + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); + + + //---二维吗图--- + //-- 自定义海报 -- + if(th.data.poster){ + var erm_x= parseFloat(th.data.poster.ewm_x)*2; + var erm_y= parseFloat(th.data.poster.ewm_y)*2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit); + } + break; + + case 2: //会员团和商家团的展示 + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 670 * unit) + context.lineTo(520 * unit, 670 * unit) + context.stroke(); + //---文字--- + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); + + //绘制成团图片 + var ct_img = "../../../../images/share/ct_num.png"; + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); + var ct_num = th.data.prom_act.ct_num; + context.setFontSize(14 * unit) + context.font = 'normal'; + context.setFillStyle("red") + if (ct_num < 10) { + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); + } else { + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); + } + context.setFontSize(22 * unit) + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); + + context.setFillStyle("gray") + context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit); + context.setFillStyle("black") + context.font = 'normal bold 18px sans-serif'; + context.setFontSize(21.3 * unit) + context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit); + + + //---二维吗图--- + //-- 自定义海报 -- + if(th.data.poster){ + var erm_x= parseFloat(th.data.poster.ewm_x)*2; + var erm_y= parseFloat(th.data.poster.ewm_y)*2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } + break + case 3: //阶梯团的展示 + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 670 * unit) + context.lineTo(520 * unit, 670 * unit) + context.stroke(); + //---文字--- + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); + + //---绘制中间阶梯的价格--- + var list = th.data.prom_act.ct_rylist; + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var wi = i * 90 * unit; + context.font = 'normal'; + context.setFontSize(16 * unit) + context.setFillStyle("red") + context.fillText("¥", 40 * unit + wi, 756 * unit); + context.setFontSize(22 * unit) + var pri = parseFloat(item.price).toFixed(2); + context.fillText(pri, 56 * unit + wi, 756 * unit); + context.setFillStyle("gray") + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); + } + //----------------下面部分---------------- + // context.setFillStyle("gray") + // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); + // context.setFillStyle("black") + // context.font = 'normal bold 18px sans-serif'; + // context.setFontSize(22 * unit) + // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); + //context.setFillStyle("gray") + context.setFillStyle("black") + context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit); + //context.font = 'normal bold 18px sans-serif'; + context.setFontSize(21 * unit) + context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit); + + + //-- 自定义海报 -- + if(th.data.poster){ + var erm_x= parseFloat(th.data.poster.ewm_x)*2; + var erm_y= parseFloat(th.data.poster.ewm_y)*2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } + break + + + } + + + //--- 如果是自定义海报的时候 --- + if(th.data.poster && parseInt(th.data.poster.style)==2){ + + //如果显示会员信息的话 + if(parseInt(th.data.poster.show_headpic)){ + //获取坐标 + var x= parseFloat(th.data.poster.head_x)*2; + var y=parseFloat(th.data.poster.head_y)*2; + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = x* unit; + var h_y = y * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); + } + + }else{ + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = 60 * unit; + var h_y = 24 * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); + } + + + //把画板内容绘制成图片,并回调 画板图片路径 + context.draw(false, function() { + setTimeout(function() { + wx.canvasToTempFilePath({ + x: 0, + y: 0, + width: 750, + height: 1217, + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, + canvasId: 'share', + success: function (res) { + + that.setData({ + shareImgPath: res.tempFilePath, + canvasHidden: true + }) + + if (!res.tempFilePath) { + wx.showModal({ + title: '提示', + content: '图片绘制中,请稍后重试', + showCancel: false + }) + return false; + } + + // wx.previewImage({ + // //将图片预览出来 + // urls: [that.data.shareImgPath] + // }); + that.setData({ + showPoster: true, + }); + wx.hideLoading(); + } + }) + }, 500) + + }); + }); + }, + fail: function(res) { + console.log(res); + wx.hideLoading(); + + } + }); + }, + + + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 + draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { + var lineWidth = 0; + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 + var han = 0; + for (let i = 0; i < str.length; i++) { + if (han == 2) return; + //lineWidth += ctx.measureText(str[i]).width; + lineWidth += ut.measureText(str[i], 21.3 * unit); + if (lineWidth > canvasWidth) { + han++; + + if (han == 2) + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 + else + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); + + initHeight += 22; //22为字体的高度 + lineWidth = 0; + lastSubStrIndex = i; + titleHeight += 20; + } + if (i == str.length - 1) { //绘制剩余部分 + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); + } + } + }, + + // ----视频图片---- + // 图片计数器 + swiperChange: function(e) { + var that = this; + if (e.detail.current > 0) { + that.setData({ + hiddenn: 1, + videopicture: 1, + }) + } else { + that.setData({ + hiddenn: 0, + videopicture: 0, + }) + } + if (e.detail.source == 'touch') { + that.setData({ + current: e.detail.current + }) + } + }, + + /*---视频相关--*/ + videopicture: function(e) { + var vipi = e.currentTarget.dataset.vipi; + this.setData({ + videopicture: vipi, + swiperCurrent: vipi, + noon: 0, + current: 1 + }); + }, + + videoPlay: function(e) { + var _index = e.currentTarget.id + this.setData({ + _index: _index, + noon: 1 + }) + + setTimeout(function() { + //将点击视频进行播放 + var videoContext = wx.createVideoContext(_index) + videoContext.play(); + }, 500) + }, + + + + //--获取头像的本地缓存,回调写法-- + get_head_temp: function(tt, func) { + var ee = this; + if (ee.data.share_head) { + tt(func); + return false; + } + //---获取分享图片的本地地址,头像和商品图片---- + var path2 = getApp().globalData.userInfo.head_pic; + if (path2 == "") { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; + tt(func); + } else { + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + wx.getImageInfo({ + src: path2, + success: function(res) { + //res.path是网络图片的本地地址 + ee.data.share_head = res.path; + tt(func); + }, + fail: function(res) { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 + tt(func); + } + }); + } + }, + //--获取商品图片的本地缓存,回调写法-- + get_goods_temp: function(tt) { + var ee = this; + if (ee.data.share_goods_img) { + tt(); + return false; + } + + var img_url=ee.data.data.original_img; + if((this.data.prom_type==1 || this.data.prom_type==6) && this.data.prom_act.share_imgurl){ + img_url=this.data.iurl+this.data.prom_act.share_imgurl; + } + + //获取商品是分享图信息 + wx.getImageInfo({ + src: img_url, + success: function(res) { + //res.path是网络图片的本地地址 + ee.data.share_goods_img = res.path; + tt(); + }, + fail: function(res) { + ee.data.share_goods_img = "../../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 + tt(); + } + }); + }, + + //--外侧评价的点击效果--- + clik_evaluate: function(e) { + var val = e.currentTarget.dataset.val; + this.setData({ + activeCategoryId: 2, + activeCategoryId3: val, + comments: null + }); + this.requestComments_new(); + }, + + //--跳转到商品详情页面-- + go_goods: function(e) { + var gid = e.currentTarget.dataset.gid; + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid; + getApp().goto(url); + }, + + //--跳转到支付尾款界面-- + go_pay_wk: function() { + var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.wk_order_id; + getApp().goto(url); + }, + + pop_err_img: function(e) { + var txt = e.currentTarget.dataset.errorimg; + var ob = {}; + ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif"; + this.setData(ob); + }, + + //--调用更新阶梯团的接口-- + update_jiti: function(id) { + var th = this; + //--更新阶梯团-- + getApp().request.put("/api/weshop/teamgroup/updateTeamOrder/" + os.stoid + "/" + id, { + success: function(ee) { + //--等于0是要去支付尾款,接口调用失败,就要去查看参团详情-- + if (ee.data.code == 0) { + th.setData({ + user_order_pt_state: 3, + }); + } else if (ee.data.code == -1) { + th.setData({ + user_order_pt_state: 2, + }); + } + } + }) + }, + // 选择门店 + choice_store: function(ee) { + var th = this; + var ind=ee.currentTarget.dataset.ind; + var bconfig = th.data.bconfig; + + if(!th.data.only_pk && !th.data.def_pickpu_list){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + if(th.data.only_pk && !th.data.only_pk.length){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + if(th.data.def_pickpu_list && !th.data.def_pickpu_list.length){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + + if (bconfig && bconfig.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function(res) { + + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + th.setData({ + is_gps: 1 + }); + //th.onShow(); + th.get_sto(th.data.is_normal); + }, + fail: function(res) { + //th.onShow(); + th.data.is_get_local_ok = 1; + th.get_sto(th.data.is_normal); + if (res.errCode == 2) { + th.setData({ + is_gps: 0 + }); + if (th.data.is_gps == 0) { + getApp().confirmBox("请开启GPS定位", null, 25000, !1); + } + } else { + th.setData({ + is_gps: "3" + }); + } + + } + }) + }else{ + th.data.is_get_local_ok = 1; + th.get_sto(th.data.is_normal); + } + + if(ind!=undefined && ind!=null ){ + this.setData({ + open_ind_store: ind, + store: 1, + openSpecModal: !1, + openSpecModal_pt: !1 + }) + }else{ + this.setData({ + store: 1, + openSpecModal: !1, + openSpecModal_pt: !1 + }) + } + }, + //关闭选择门店 + close_popup: function(e) { + var th=this; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + fir_pick_index:0, + sec_pick_index:0 + }) + + var openindstore=this.data.open_ind_store; + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0 + }) + } + + + }, + + //选择更多门店 + more_store: function() { + this.setData({ + sort_store: 1 + }); + }, + sort_store: function() { + + }, + // 返回按钮 + returns: function() { + this.setData({ + sort_store: 0, + choice_sort_store: 0 + }); + }, + //---选择分类门店--- + choice_sort_store: function(e) { + var index = e.currentTarget.dataset.index; + var region_name = e.currentTarget.dataset.region; + var item = this.data.all_sto[index]; + this.setData({ + region_name: region_name, + sort_store: 0, + choice_sort_store: 1, + sec_sto: item, + sec_pick_index: 0 + }); + }, + + choose_for_store_fir: function(e) { + var index_c = e.currentTarget.dataset.ind; + var th=this; + th.setData({ + fir_pick_index: index_c + }) + + }, + + //如果开启线下库存,已经急速库存才会使用 + async check_the_pick(item,func){ + var th=this; + var goodsinfo=th.data.sele_g; + var erpwareid=goodsinfo.erpwareid; + var plist=null; + var lock=0; + + //---如果是活动的时候,同时不是普通购买--- + if((th.data.prom_type==1 || th.data.prom_type==6 || th.data.prom_type==4) && !th.data.is_normal ) { + func(); return false; + } + + if(this.data.sales_rules!=2){ + func(); + }else{ + + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,pageSize:1000} + }).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; + } + }) + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + }) + + if(plist && plist.CanOutQty-lock>0){ + item.CanOutQty=plist.CanOutQty-lock; + func(); + return false; + } + getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); + + } + }, + + + //确定def_pick为选择的门店 + sure_pick: function(e) { + var th = this; + var item = null; + var openindstore = th.data.open_ind_store; + + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk[index]; //当没有门店分类的时候 + } + + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + + if(!th.data.sele_g) return false; + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){ + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } + + //--回调函数的用法-- + th.check_the_pick(item,function(){ + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0, + fir_pick_index: 0 + }); + + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0 + }) + } + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + }) + }, + //---点击二级之后的选择--- + choose_for_store: function(e) { + var index_c = e.currentTarget.dataset.ind; + var th=this; + th.setData({ + sec_pick_index: index_c, + fir_pick_index: index_c + }) + + }, + //把选择的门店设置成默认的门店def_pick + set_def_pick: function(e) { + var th = this; + var item = null; + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk[index]; //当没有门店分类的时候 + } + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){ + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } + + //先设置之前,要判断是不是有库存 + th.check_the_pick(item,function(){ + var store_id = o.stoid; + var user_id = getApp().globalData.user_id; + var def_pickup_id = item.pickup_id; + + getApp().request.put('/api/weshop/users/update', { + data: { + user_id:user_id, + def_pickup_id:def_pickup_id + }, + success: function(res) { + if (res.data.code == 0) { + if (th.data.choice_sort_store == 0) th.setData({ + fir_pick_index: 0 + }); + getApp().globalData.pk_store = item; + } else { + //s.showWarning("设置默认门店地址失败", null, 500, !1); + getApp().my_warnning("设置默认门店地址失败",0,th) + } + + } + }); + + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0 + }); + + var openindstore = th.data.open_ind_store; + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + store: 0, + choice_sort_store: 0, + sort_store: 0, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + store: 0, + choice_sort_store: 0, + sort_store: 0, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + }) + } + + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + + }) + }, + + wait_for_store_config: function() { + var th = this; + var t_time = setInterval(function() { + if (th.data.bconfig == null) false; + var e = th.data.bconfig; + if (e && e.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function(res) { + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + }, + fail: function(res) { + if (res.errCode == 2) { + th.setData({ + is_gps: 0 + }); + if (th.data.is_gps == 0) { + getApp().confirmBox("请开启GPS定位", null, 10000, !1); + } + + } else { + th.setData({ + is_gps: "3" + }); + } + + th.data.is_get_local_ok = 1; + } + }) + } else { + th.data.is_get_local_ok = 1; + } + clearInterval(t_time); + }, 500) + }, + //显示全部 + toggleHandler: function(e) { + var that = this, + index = e.currentTarget.dataset.index; + for (var i = 0; i < that.data.comments.length; i++) { + if (index == i) { + for (var i = 0; i < that.data.comments.length; i++) { + that.data.comments[index].auto = true; + that.data.comments[index].seeMore = false; + } + } + } + that.setData({ + comments: that.data.comments + }) + }, + + //收起更多 + toggleContent: function(e) { + var that = this, + index = e.currentTarget.dataset.index; + for (var i = 0; i < that.data.comments.length; i++) { + if (index == i) { + that.data.comments[index].auto = true; + that.data.comments[index].seeMore = true; + } + } + that.setData({ + comments: that.data.comments + }) + }, + + //--- 获取卡类列表 --- + getPlusCardType: function (func) { + var storid = os.stoid; + var th = this; + var user=getApp().globalData.userInfo; + if(!user) return false; + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { + var plusCard = res.data.data; + var arr = [1219, 2089, 3031]; + var new_arr = new Array(); + var card_name_map=new Map(); + + var list=[]; + for (var i = 0; i < plusCard.length; i++) { + if((!user || user.card_field==null || user.card_field=="") && plusCard[i].IsStopBuy==true) continue; + var name="card"+plusCard[i].CorrPrice.toLowerCase(); + card_name_map.set(name,plusCard[i].CardName); + list.push(plusCard[i]); + } + + var ob={"card_list":list,"name_map":card_name_map}; + func(ob); + }) + }, + + go_plus:function(){ + getApp().goto("/pages/user/plus/plus"); + }, + go_card_info:function(){ + getApp().goto("/pages/user/cardinfo/cardinfo"); + }, + //-- 根据ID拿出门店 -- + get_pick_from_list(pid){ + var all_pick_list=this.data.all_pick_list; + for(var i in all_pick_list){ + var item=all_pick_list[i]; + if(item.pickup_id==pid){ + return item; + } + } + }, + //-----显示优惠券的时候情况----- + show_more_cx:function () { + if(this.data.is_more_cx){ + this.setData({is_more_cx:0}); + }else{ + this.setData({is_more_cx:1}); + } + }, + + //----跳转到搭配购买---- + go_prom_list:function () { + + var url= "../../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid; + var room_id= getApp().globalData.room_id; + if(room_id && this.data.gid==getApp().globalData.room_goods_id){ + url+="&room_id="+room_id; + } + wx.navigateTo({ url: url,}) + }, + + //---检查有没有优惠活动--- + check_is_youhui:function(gid,is_nor){ + var th=this; + //如果是普通购买的时候,要进行调用 + if(is_nor){ + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid+"/"+gid, { + success:function(res){ + if(res.data.code==0){ + var r_data=res.data.data; + th.setData({ + prom_goods:r_data.promGoodsLists, + }) + th.is_show_more_buy(); + } + }, + }) + + }else{ + //调用接口判断订单优惠, + getApp().request.get("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", { + success:function(res){ + if(res.data.code==0){ + var r_data=res.data.data; + var max=0,min=0; + if(r_data.collocationList){ + for(var i in r_data.collocationList){ + if(max==0) max=r_data.collocationList[i].price; + if(min==0) min=r_data.collocationList[i].price; + + if(maxparseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price; + } + r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2); + r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2); + } + th.setData({ + order_prom:r_data.promOrder, + collocationGoods:r_data.collocationPromList, + prom_goods:r_data.promGoodsLists, + }) + th.is_show_more_buy(); + } + } + + }) + } + + + }, + + closePoster() { + this.setData({ + showPoster: false, + }); + }, + + // 保存图片到手机 + savePic() { + console.log('保存图片'); + var self = this; + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 + this.getSetting().then((res) => { + // 判断用户是否授权了保存到相册的权限,如果没有发起授权 + if (!res.authSetting['scope.writePhotosAlbum']) { + this.authorize().then(() => { + // 同意授权后保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + }) + } else { + // 如果已经授权,保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + } + + }) + }, + + // 获取用户已经授予了哪些权限 + getSetting() { + return new Promise((resolve, reject) => { + wx.getSetting({ + success: res => { + resolve(res) + } + }) + }) + }, + + // 发起首次授权请求 + authorize() { + // isFirst 用来记录是否为首次发起授权, + // 如果首次授权拒绝后,isFirst赋值为1 + let isFirst = wx.getStorageSync('isFirst') || 0; + return new Promise((resolve, reject) => { + wx.authorize({ + scope: 'scope.writePhotosAlbum', + // 同意授权 + success: () => { + resolve(); + }, + // 拒绝授权,这里是用户拒绝授权后的回调 + fail: res => { + if(isFirst === 0) { + wx.setStorageSync('isFirst', 1); + wx.showToast({ + title: '保存失败', + icon: 'none', + duration: 1000 + }) + } else { + this.showModal(); + } + console.log('拒绝授权'); + reject(); + } + }) + }) + }, + + + // 保存图片到系统相册 + saveImage(saveUrl) { + var self = this; + return new Promise((resolve, reject) => { + wx.saveImageToPhotosAlbum({ + filePath: saveUrl, + success: (res) => { + wx.showToast({ + title: '保存成功', + duration: 1000, + }); + self.setData({ + showPlaybill: 'true' + }); + resolve(); + }, + fail: () => { + wx.showToast({ + title: '保存失败', + duration: 1000, + }); + } + }) + }) + }, + + previewImage() { + this.data.show_prew_img=1; + wx.previewImage({ + //将图片预览出来 + urls: [this.data.shareImgPath] + }); + }, + + is_show_more_buy:function(){ + var prom_goods=this.data.prom_goods; + var per_price=this.data.sele_g.shop_price + if(this.data.card_field && this.data.sele_g[this.data.card_field]>0){ + per_price=this.data.sele_g[this.data.card_field]; + } + var all_price=per_price*this.data.goodsInputNum; + var con=null; + for(var i in prom_goods){ + var item=prom_goods[i]; + if(item.prom_type==1){ + if(item.condition>this.data.goodsInputNum) { + con=item; + con.need=(item.condition-this.data.goodsInputNum).toFixed(2)+"件"; + break; + } + }else{ + if(item.condition>all_price){ + con=item; + con.need=(item.condition-all_price).toFixed(2)+"元"; + break; + } + } + } + + this.setData({hui_condition:con}); + + }, + + //-- 积分购 -- + go_pay_integral:function(){ + this.get_sto(0) + this.setData({openSpecModal_inte:1,goodsInputNum:1}); + }, + //-- 积分购普通购买 -- + go_pay_integral_normal:function(){ + var th=this; + if (th.data.sku_g_pt) { + this.get_sto(1) + this.setData({openSpecModal_inte_normal:1}); + }else{ + th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function() { + th.setData({ + is_normal: 1, + openSpecModal_inte_normal:1 + }); + }); + } + this.check_is_youhui(th.data.gid,1); + }, + + closeSpecModal_inte:function(){ + this.setData({openSpecModal_inte:0}); + } , + closeSpecModal_inte_normal:function(){ + this.setData({openSpecModal_inte_normal:0}); + //要进行还原 + this.get_sto(); + this.setData({ + sele_g:this.data.data, + gid:this.data.data.goods_id + }) + + this.sele_spec_chech_activity(); + }, + + addCart_inte:function(t){ + this.add_cart_func_inte(t); + }, + + + + + onShareTimeline() { + var store_name=getApp().globalData.config?getApp().globalData.config.store_name:''; + if(!store_name) + store_name=getApp().globalData.setting.appName; + return { + title:this.data.data.goods_name + '-' + store_name, + imageUrl:this.data.gallery[0].image_url, + } + }, + + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) + }, + + clickShare() { + this.setData({ + share_hidden: true, + }); + }, + + send() { + this.setData({ + share_hidden:false, + }); + }, + + cancel() { + this.setData({ + share_hidden:false, + }); + }, + + //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 + check_nor_promgood(goods_id,back){ + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/"+os.stoid+"/"+goods_id,{ + success:function(res){ + if(res.data.code==0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length>0){ + var obj={ + act_id:res.data.data.promGoodsLists[0].prom_id, + } + back(obj); + }else{ + back(0) + } + } + }) + }, + + go_zh:function (e) { + var id=e.currentTarget.dataset.id; + getApp().goto("/packageB/pages/zuhegou/index/index?id="+id); + }, + + check_zh_acting:function (func) { + var isok = 1,item=this.data.sele_g; + //如果有组合购 + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+item.prom_id+"/"+getApp().globalData.userInfo.user_id; + getApp().request.promiseGet(url, {}).then(res => { + if(res.data.code==0 && res.data.data){ + if(res.data.data.is_show!=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() + + + + + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + + + + + + + + 客服 + + + + + + 收藏 + + + + + {{cartGoodsNum}} + 购物车 + + + 立即购买 + + + + + + + 加入购物车 + 立即购买 + + + 库存不足 + + + + + + + + + 08.30 23:59:59 预售结束 + + 付款3天后发货 + + + 支付定金 + 定金9.9 + + + + + + + + + + + + {{filters.toFix(sele_g[card_field],2)}} + + + {{filters.toFix(sele_g.shop_price,2)}} + + + 单独购买 + + + + + + ¥{{prom_act.price}} + 去参团 + + + + + + 一键开团 + 佣金{{filters.toFix(prom_act.tz_yyhjg,2)}} + 团长免单 + + + ¥{{ filters.toFix(prom_act.price,2)}} + 一键开团 + + + + + + ¥{{filters.toFix(prom_act.yf_price,2)}} + 支付定金 + + + 即将开始 + 已抢光 + 活动已经结束 + + + 您还未支付 + 查看支付详情 + 支付尾款 + + + + + + + + + + + + {{filters.toFix(sele_g[card_field],2)}} + + + {{filters.toFix(sele_g.shop_price,2)}} + + + 单独购买 + + 立即兑换 + 积分不足 + + + + 立即兑换 + 积分不足 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 拼团玩法介绍 + + + 1.开团: + 选择心仪商品,点击“发起X人团”按钮,付款后即为开团成功; + + 2.参团: + 进入朋友分享的页面,点击“立即参团”按钮,付款后即为参团成功,若多人同时支付,支付成功时间较早的人获得参团资格; + + 3.成团: + 在开团或参团成功后,点击“邀请小伙伴参团”将页面分享给好友,在有效时间内凑齐人数即为成团,此时商家会开始发货; + + 4.组团失败: + 在有效时间内未凑齐人数,即为组团失败,此时付款项会原路退回到支付账户; + + 5. + 组团有效期间内,拼购商品订单不允许取消。 + + + + + + + + + + + 优惠券领取 + + + + + + + + + + + + + {{item.money}} + + + 满{{item.condition}}元可用 + + + + + 订单金额满{{item.condition}}元可用 + {{filters.replace_time2(item.start)}} 至 {{filters.replace_time2(item.end)}} + + + {{ item.linging==1?'领取中':'领取'}} + + + + + + + + + + 关闭 + + + + + + + + + + + + {{choice_sort_store==0?'附近的门店':region_name}} + + + + + + {{choice_sort_store==0?'更多门店':'返回'}} + + + + + + + + + + + + + + + Г + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}} + + + 地址:{{item.fulladdress}} + + + + + + + + + + Г + + + + + + + + + {{item.pickup_name}} + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + + Г + + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + 地址:{{item.fulladdress}} + + + + + + + + + + + 确定 + 设为默认 + + + + + + + + + 门店分类选择 + + + + + + 返回 + + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.wxss b/packageC/pages/presell/goodsInfo/goodsInfo.wxss new file mode 100644 index 0000000..e4f17f6 --- /dev/null +++ b/packageC/pages/presell/goodsInfo/goodsInfo.wxss @@ -0,0 +1,2895 @@ +@import "../../../../utils/wxParse/wxParse.wxss"; +.container { margin-bottom: 100rpx; overflow: hidden;padding-top: 80rpx;} +image { + vertical-align: top; +} +.goods-detail{overflow: hidden} + +.type-navbar { + display: flex; + justify-content: center; + width: 100%; + position: fixed; + top: 0; + z-index: 999; + /* height: 80rpx; */ + /* margin-bottom: 20rpx; */ + background-color: #fff; + border-top: 2rpx solid #ebedf0; + /* border-bottom: 1rpx #fafafa solid; */ +} +.type-box { + width: 25%; + box-sizing: border-box; + font-size: 32rpx; + line-height: 76rpx; + padding: 0 20rpx; + text-align: center; + display: inline-block; + overflow: hidden; +} +.type-navbar-item { + /* border-bottom: 4rpx solid #fff; */ + display: flex; + justify-content: center; + width: 100%; + font-size: 26rpx; +} +.type-item-on { + color: #F95D74; + font-weight: bold; + /* border-bottom: 4rpx solid #F95D74; */ + position: relative; + font-size: 30rpx; +} +.type-item-on:after { + content: ''; + position: absolute; + width: 50%; + height: 4rpx; + background-color: #F95D74; + left: 0; + right: 0; + bottom: 0; + margin: 0 auto; +} +.swiper_box { + width: 100%; + height: 750rpx; +} +.goods-title { + display: flex; + justify-content: space-between; + /* overflow: hidden; */ + /* height: 108rpx; */ +} +.goods-name { + /* width: 560rpx; */ + /* line-height: 46rpx; */ + font-size: 32rpx; + font-weight: bold; + color: #333; + /* margin-top: 30rpx; + margin-bottom:30rpx; */ + flex: 1; + text-align: justify; + margin: 10rpx 0 20rpx; +} + +.goods-collect { + width: 112rpx; + padding-top: 30rpx; +} + +.collect-img { + width: 50rpx; + height: 44rpx; + margin: 0 auto; + overflow: hidden; +} + +.collect-des { + text-align: center; + font-size: 24rpx; + color: #333; +} + +.goods-price { + font-size: 60rpx; + /* padding: 20rpx 34rpx; */ + /* padding:0rpx 34rpx; */ + /* line-height: 60rpx; */ + color: #999; + padding: 20rpx; + /* margin-top: 46rpx; */ + /* margin-top:26rpx; + padding-bottom:20rpx; */ +} + +.prom-info { + margin: 10rpx 0; + color: #f23030; +} + +.prom-info>.prom-type { + color: white; + background-color: #f23030; + margin-right: 14rpx; + padding: 2rpx 8rpx; + border-radius: 4rpx; +} +.market-price { + /* display: flex; + margin-left: -5rpx; */ +} + +.market-price .yuan{ + /* top:24rpx; */ + font-size: 30rpx +} + +.market-price>view>text { + text-decoration: line-through; +} + +.market-price>.yj{ + color: #999999; font-size: 24rpx;/* margin-left: 16rpx;position: relative;top:30rpx; */ + display: inline-block; +} + +.goods-price>.tm{ color: #999999; font-size: 26rpx;margin-top: 10rpx;} + +.goods-num { + display: flex; + font-size: 24rpx; + justify-content: space-between; +} + +.goods-detail .twen{ + background: #fff;height: 60rpx; line-height: 60rpx; font-size: 30rpx;padding-left: 30rpx;display: flex; +} +.goods-detail .twen .img{ width: 32rpx; height: 32rpx; margin-left: 200rpx; background: #fff} +.goods-detail .twen image.img{vertical-align:auto;} + + +.logistics-item { + display: flex; + justify-content: space-between; + align-items: center; + height: 90rpx; + /*border-bottom: 1px solid #f5f5f5;*/ + font-size: 32rpx; + color: #666; +} +.logistics-item .small{color: #999; font-size: 24rpx;} + +.item-title { width: 180rpx;} +.item-mes { + color: #333; width: 420rpx; + height: 90rpx; line-height: 90rpx; +} +.item-img { width: 32rpx; height: 32rpx;} +.prom-item { + color: #f23030; + border: 1px solid #f23030; + border-radius: 18rpx; + line-height: 40rpx; + height: 40rpx; + padding: 2rpx 8rpx; +} + +.guarantee { + justify-content: space-around; +} + +.ico-item { + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; +} + +.guarantee>view { + display: flex; + align-items: center; + height: 32rpx; + color: #666; +} + +.user-comment { + margin: 10rpx 0; + font-size: 28rpx; +} + +.good-comment,.comment-num { + display: flex; +} + +.recommend { + background-color: #fff; + border-bottom: 1px solid #ddd; + padding-bottom: 20rpx; +} + +.recommend-title { + height: 70rpx; + line-height: 70rpx; + font-size: 28rpx; + padding: 0 30rpx; +} + +.recommend-ul { + display: flex; + justify-content: flex-start; +} + +.recommend-ul .li { + width: 25%; + box-sizing: border-box; + text-align: center; + font-size: 28rpx; + color: #333; +} + +.li-img { + width: 120rpx; + height: 120rpx; + margin: 0 auto; +} + +.li-title { + height: 58rpx; + line-height: 30rpx; + margin: 10rpx 0; +} + +.comment-item { + background-color: #fff; + font-size: 28rpx; +} + +.comment-title { + display: flex; + justify-content: space-between; + align-items: center; + height: 102rpx; + margin: 0 30rpx; + color: #333; + border-bottom: 1px solid #eee; +} + +.user-name { + display: flex; + align-items: center; +} + +.user-pic { + width: 54rpx; + height: 54rpx; + margin-right: 10rpx; + border-radius: 50%; + overflow: hidden; +} + +.stars { + float: left; + display: flex; + height: 42rpx; + line-height: 42rpx; + margin: 15rpx 0; + width: 200rpx; +} + +.star { + width: 26rpx; + height: 26rpx; + margin-right: 5rpx; +} + +.state-spec { + margin: 15rpx 0; + float: right; + font-size: 24rpx; + color: #666; + width: 460rpx; + text-align: right; +} + +.comment-cont { + padding: 0 30rpx 30rpx; + border-bottom: 1px solid #eee; +} + +.comment-mes { + line-height: 42rpx; +} + +.img-ul { + display: flex; + flex-wrap: wrap; +} + +.img-li { + width: 150rpx; + height: 150rpx; + margin-top: 8rpx; + margin-right: 10rpx; +} + +.comment-btn { + height: 60rpx; + padding: 20rpx 30rpx; +} + +.comment-btn .btn { + display: flex; + justify-content: center; + align-items: center; + height: 60rpx; + width: 45%; + border: 1px solid #eee; +} + +.comment-btn .btn-img { + width: 30rpx; + height: 28rpx; + margin: 0 10rpx; +} + +.reply-ul { + margin-top: 20rpx; +} + +.reply-li { + color: #aaa; +} + +.join-cart { + position: fixed; + left: 0; + bottom: 0; + display: flex; + width: 100%; + height: 100rpx; + background-color: #fff; + z-index: 9; + border-top: 4rpx solid #eee; + +} + +.join-cart>view { + width: 29%; +} + +.join-cart>.new_split { + width: 13%; + text-align: center; + padding: 0; + margin: 0; +} + +.cart-ico { + font-size: 24rpx; + color: #333; +} + +.shopping-cart { + position: relative; +} + +.cs-img { + width: 45rpx; + height: 40rpx; + margin-top: 15rpx; +} + +.sc-img { + width: 42rpx; + height: 40rpx; + margin-top: 15rpx; +} + +.cart-num { + position: absolute; + left: 50%; + top: 1rpx; + width: 40rpx; + height: 40rpx; + line-height: 40rpx; + text-align: center; + border-radius: 50%; + color: #fff; + background-color: rgba(217,81,99,0.9); +} + +.cart-btn { + font-size: 28rpx; + color: #fff; + line-height: 70rpx; + margin-top: 16rpx; + text-align: center; + + +} + +.join-btn { + background-color: #ffb03f; + height: 70rpx; +border-radius: 55rpx 0rpx 0rpx 55rpx; +margin-top: 16rpx; + + +} + +view.cart-btn-lg { + width: 50%; +} + +.buy-btn { + background-color: #f23030; + height: 70rpx; +border-radius: 0 56rpx 55rpx 0; + +} + +.buy-btn-all{ + background-color: #f23030; + height: 70rpx; + border-radius: 56rpx; +} + + +.toTop { + position: fixed; + z-index: 3; + right: 20rpx; + bottom: 160rpx; + width: 68rpx; + height: 68rpx; + border: 1px solid #ddd; + border-radius: 50%; + overflow: hidden; + cursor: pointer; +} + +.comment-more { + height: 56rpx; + line-height: 56rpx; + font-size: 26rpx; + color: #999; + text-align: center; + background-color: #eee; +} + +.goods-more { + background-color: #fff; +} + +.goods-norms { + background-color: #fff; +} + +.type-navbar2 { + display: flex; + height: 72rpx; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; +} + +.type-box2 { + width: 50%; + font-size: 26rpx; + line-height: 72rpx; + text-align: center; + overflow: hidden; +} + +.type-item2-on { + color: #f23030; +} + +.parameter { + padding: 40rpx 0; +} + +.table { + width: 698rpx; + margin: 0 auto; + border: 1px solid #ddd; + border-bottom: none; +} + +.tb { + width: 100%; + min-height: 69rpx; + line-height: 69rpx; + border-bottom: 1px solid #ddd; + font-size: 28rpx; + text-align: center; + color: #333; +} + +.th-thitle { + font-weight: bold; + background-color: #f5fafe; +} + +.td-cont { + display: flex; +} + +.td-title { + width: 259rpx; + background-color: #f5fafe; + border-right: 1px solid #ddd; +} + +.td-text { + width: 439rpx; +} + +.goods-comment { + background-color: #fff; +} + +.type-navbar3 { + display: flex; + height: 88rpx; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + padding: 10rpx 0; +} + +.type-box3 { + width: 20%; + font-size: 30rpx; + line-height: 44rpx; + text-align: center; + overflow: hidden; +} + +.type-item3-on { + color: #f23030; +} + +.spec-model { + position: fixed; + bottom: 0; + z-index: 20; + background: white; + width: 100%; + /* padding: 0 30rpx; */ + font-size: 32rpx; + box-sizing: border-box; + border-radius: 20rpx 20rpx 0 0; + /* height: 72%; */ +} + +.spec-model .pding{padding: 0 20rpx;} + +.spec-goods { + padding: 30rpx 0 20rpx; + /* float: left; */ + width: 100%; + /* border-bottom:2rpx solid #eee; */ +} + +.spec-img { + float: left; + height: 186rpx; + width: 186rpx; + border: 4rpx solid #eee +} + +.spec-goods-info { + float: left; + padding: 0 25rpx; + width: 400rpx; +} + +.spec-goods-name { + font-size: 30rpx; + line-height: 35rpx; + height: 70rpx; + margin: 15rpx 20rpx 25rpx 0; + overflow: hidden; + text-overflow: ellipsis;color: #333; +} + +.spec-goods-price { + color: #d60021; + font-size: 33rpx; + font-weight: bold; + +} + +.spec-goods-price.tag { + position: relative; +} + +.spec-goods-price.tag::before { + content: '预售'; + color: white; + background-color: #FF4732; + font-size: 24rpx; + border-radius: 4rpx; + padding: 0 6rpx; +} + +.spec-goods-stock { + margin-top: 3rpx; + font-size: 24rpx; + color: #999999; + margin-right: 15rpx; +} + +.spec-name { + clear: both; + padding: 20rpx 0; + font-size: 30rpx;color: #333; +} + +.quhuo{font-size: 30rpx; color: #000} +.b_num{ + display: flex;font-size: 30rpx; color: #333; + justify-content: space-between; + align-items: center; + padding: 20rpx 0; +} + +.count { + /* position: fixed; */ + display: flex; + height: 50rpx; + /* border: 1rpx solid #000; */ + font-size: 28rpx; + right: 30rpx; +} + + +.count>view,.count>input { + width: 60rpx; + height: 50rpx; + line-height: 50rpx; + text-align: center; +} +.spec_bt{ + background: fff;color: #333; margin-left: 10rpx;padding: 4rpx 15rpx 4rpx; display: inline-block; + border-radius:30rpx;font-size: 24rpx;border: 1rpx solid #ccc; margin: 10rpx; height: 40rpx; line-height: 40rpx; +} +.spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} +.sub, .add, .count>input { + /* border-right: 1px solid #000; */ + background-color: #f8f8f8; + border-radius: 8rpx; +} +.sub.active { + /* background-color: #ddd; */ + color: #ccc; +} +.count>input { + margin: 0 10rpx; +} + +.add { + /* background-color: #f8f8f8; */ + /* border-left: 1px solid #000; */ +} + +.spec-btn { + color: black; + background-color: white; + padding: 10rpx 10rpx; + font-size: 26rpx; + line-height: 28rpx; + float: left; + border: 1rpx solid #dedede; + margin: 4rpx 10rpx 4rpx 0; + border-radius: 4rpx; +} + +.spec-btn-click { + color: white; + background-color: #f23030; + border: 1rpx solid #f23030; +} + +.spec-cart-btns { + /* width: 92%; */ + line-height: 70rpx; + /* margin: 0rpx auto; + margin-top: 160rpx; */ + /* border-radius: 20rpx; */ +/* position: fixed; */ +/* bottom: 50rpx; */ +/* left: 4%; */ + padding: 20rpx; +} + +.spec-cart-btn { + + width:100%; + font-size: 30rpx; + text-align: center; + color: white; + border-radius: 40rpx; +} + +.spec-cart-btn.w40 { + width: 46%; +} + +.spec-add-cart { + background-color: #ffb03f; +} + +.spec-buy { + background-color: #f23030; + /* margin-left: 34rpx; */ +} + +.spec-cart-disable { + background: #bbbbbb; +} + +.spec-cart-btn-lg { + width: 614rpx; +} + +.prom-model { + position: fixed; + bottom: 0; + z-index: 20; + background: white; + width: 100%; + padding: 0 30rpx 30rpx; + font-size: 32rpx; + box-sizing: border-box; + overflow-x: hidden; +} + +.prom-model .prom-title {text-align: center;margin: 30rpx 0;} +.prom-model .logistics-item {border: 0;} +.prom-model .item-mes {width: 500rpx;} +.integral-btn {width: 100%; padding: 0rpx;margin: 0rpx;} +.clear{clear: both;} +.sto_v .title,.sto_v .stitle{ border-top: 1rpx solid #dedede;border-bottom: 1rpx solid #dedede; height: 78rpx; line-height: 78rpx;} +.sto_v .title .tubiao,.sto_v .stitle .tubiao{width: 32rpx; height: 32rpx; margin-top: 23rpx;} +.itemlists .item{border-bottom: 1rpx solid #dedede; height: 72rpx; line-height: 72rpx;font-size: 28rpx; margin: 0 10rpx;} + +.cshu{margin-bottom: 30rpx; margin-top: 20rpx;} +.cshu view{color: #999; font-size: 30rpx; margin-left: 26rpx;} + + +/*---活动特殊显示---*/ +.prom_show{height: 120rpx; display: flex;} +.prom_show .secondkill-img{width: 100%; height: 100%;} +.prom_show .spike-img{width: 283rpx; height: 57rpx; top:35rpx; +left:31rpx;} +.prom_show .stop{ color:#d81731;top: 17rpx;right:65rpx; font-weight:600;} +.prom_show .start{ color:#009ae2;top: 17rpx;right:65rpx; font-weight:600;} +.prom_show .timeac { font-size: 32rpx; height: 120rpx; color: #333; } +.prom_show .timeac.left{width: 66%; color: #fff;background:#f23030;} +.prom_show .timeac.right{width: 34%;background-color: #d7d7d7; text-align: center} + +.prom_show .secview .day{padding-right:10rpx;} +.prom_show .secview .time-val{width:36rpx;height:36rpx;border-radius:7rpx; line-height: 36rpx;} +.prom_show .secview .time{margin-right:10rpx; margin-left:10rpx;} + + +.prom_show .timeac.left view{ margin-left: 20rpx} +.prom_show .timeac.left view.firview{margin-top: 10rpx} +.prom_show .timeac.left view .tr_line{ text-decoration: line-through; font-size: 28rpx;} +.prom_show .timeac.left view .bprice{ font-size: 50rpx; } + +.prom_show .timeac.right view.firview{margin-top:12rpx; margin-bottom: 10rpx} +.prom_show .timeac.right view.secview{display: flex; text-align: center; justify-content:center; flex-direction: row;} +.prom_show .timeac.right view .tui-conutdown-box{ + /* background: #6b6b6b; */ + width: auto; + /* min-width: 45rpx; */ + height: 45rpx; color: #c4182e; font-size: 27rpx; text-align: center; line-height: 46rpx;} + +.huise{ background:gray} +.lanse{background:#0199e2} + + +/*------拼单------*/ +.pt_view{ text-align: center; width: 100%; height: 100rpx; line-height: 100rpx; font-size: 26rpx} +.pt_view .secondkill-img{width: 100%;height: 100%;} +.pt_fir{ background: #fff;/* margin-bottom: 10rpx; */} +.pt_fir .pt_fir_title{display: flex; align-items: center; /* margin-left: 10rpx; margin-top: 20rpx; */ font-size: 28rpx; position: relative;} +.pt_fir .pt_fir_title .kt_type{ color: #fff;background:#e9030d; width: 100rpx; line-height: 40rpx; border-radius: 6rpx; margin: 0 10rpx; + height: 40rpx; font-size: 24rpx; text-align: center;} +.pt_fir .pt_fir_title .price{color: #e9030d;font-size: 26rpx;} +.pt_fir .pt_fir_title .bigw{font-size: 36rpx;} +.pt_fir .pt_fir_title .tprice{text-decoration: line-through;color: #949494} +.pt_fir .pt_fir_title .tprice.ml50{margin-left: 50rpx} + +.pt_fir .pt_fir_title .js{padding: 0 15rpx;height: 40rpx;background:#e9030d; text-align: center; border-radius: 8rpx; color: #fff; margin-left: 10rpx;} +.pt_fir .pt_fir_title .tuannum{color: #e9030d; position: absolute; right: 20rpx; font-size: 26rpx;} +.pding{padding-top: 20rpx;padding-left: 20rpx;height: 81%; + padding-right: 20rpx;font-size: 26rpx;color: #ea120f} +.pdres{margin-left: 10rpx;color: #8f8f94} +.ptgz{position: relative;font-size: 30rpx;padding-left: 20rpx;margin-top: 10rpx; overflow: hidden } +.shuxian{width: 6rpx;height: 28rpx; background: #ea120f; display: inline-block;top: 5rpx;position: relative; margin-right: 5rpx} +.ptgz_an{position: absolute;top:5rpx; right: 6rpx} +.ptgz_an .arrow-two{width:18rpx;height:18rpx;border-color:#da0b31; margin-top:30rpx;} + +.pt_fir.se{height: auto; margin-bottom: 10rpx} +.t_gz{padding: 10rpx 20rpx; font-size:28rpx } + +.pt_fir.se1{height: auto; margin: 0} +.pt_fir.se2{height: auto; margin: 0;/* border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee; */} + +.pt_hb{height:78rpx; line-height: 75rpx; position: relative; font-size: 32rpx;overflow: hidden;width:695rpx;margin-left:28rpx; + border-bottom: 1rpx solid #E5E5E5 } +.ptgz_an.xq{font-size: 32rpx; color:#d40024} +.wf{display: flex; padding: 20rpx 0;} +.wf .item{width: 24.5%; text-align: center; font-size: 26rpx; color: #666} +.wf .item .item_txy{position: relative;width: 60rpx; height: 60rpx; background: #ea120f; border-radius: 50%;left: 50%;margin-left: -30rpx; + border: 3px #dfdfdf solid; text-align: center;line-height: 60rpx; color: #fff; margin-bottom: 10rpx;} +.wf .item .item_txy.hs{ background: #cbcbcb;} +.po{margin-bottom: 20rpx;} + +.cart-btn.line-h{ line-height: 26rpx;} +.cart-btn .fir-v{ margin-top: 10rpx;} + +.hyt{ padding: 0 20rpx; font-size: 30rpx; display: flex; align-items:center; margin-top: 10rpx;} +.hyt .r_f{color: #e9120f;font-size: 26rpx;position: relative;top:3rpx} +.hyt .byj{color: #e9120f;font-size: 32rpx;position: relative;top:5rpx} + +.pt_fir .pt_fir_title.no-mar-b{margin-bottom: 0;padding-bottom: 10rpx; margin-left: 20rpx} +.pt_fir .pt_fir_title.boder-1{border-bottom: 1rpx #e7e7e7 solid} + +.jie_price{/* padding: 10rpx 30rpx; */} +.jie_price_title{font-size: 30rpx; color: #a26270; margin-bottom: 10rpx} +.price_list{display: flex; width: 100%;} +.price_item{width: 25%;font-size: 28rpx; color: #4c336c} + +.pt_fir.se2 .zzk-1{/* margin-top: 23rpx; */ font-size: 30rpx;position: relative; /* margin-bottom: 30rpx; */ border-left:4rpx solid red;/* margin-left:14rpx; */height:30rpx;line-height:30rpx;/* padding-left:5rpx; */} +.ckgd{/* position: absolute;top:0;right:57rpx; */ color:#d70025; font-size: 26rpx;} +.ckgd .arrow-one{width:14rpx;height:14rpx;border-color:#da0b31;/* margin-top:5rpx; */ margin:auto;} +.bview{ + position: fixed; top:0; left:0; width: 100%; height: 100%; + background-color: rgba(0, 0, 0, 0.5); +} +.juzhong{ + position: fixed; top:0; left:0; width: 100%; height: 100%; + display: flex; + flex-direction:row; + justify-content: center; + align-items: center; +} + +.juzhong .xq{ padding: 0 20rpx; background: #fff; font-size: 30rpx; padding-bottom: 20rpx;} +.juzhong .xq .title{text-align: center; margin: 20rpx 0; position: relative; height: 50rpx;} +.juzhong .xq .hs1{font-size: 28rpx; color: #ab8f9e} +.juzhong .xq .title .close{position: absolute;top: 0; right: 0; width: 45rpx; height: 45rpx;} + +.pt_qd{/* margin-top: 40rpx; height: auto; */padding: 20rpx;} +.spec-cart-btn.w100{width: 95%; margin-left: 0; height: 75rpx; line-height:75rpx;margin: auto; } + +.sto_v{color: #333;} +.ellipsis{overflow: hidden; white-space: nowrap; text-overflow: ellipsis;} + + +/*---多少人参加团--*/ +.group { + padding-top:20rpx; + padding-bottom:20rpx; + width: 100%; + /* min-height: 92rpx; */ + border-bottom: 2rpx solid #ebedf0; + +} + +.group .group-list { + display: flex; + align-items: center; + justify-content: space-around; + /* height: 90rpx; */ + /* padding: 0 130rpx 0 100rpx; */ + /* width: 470rpx; + + position: absolute; */ +} + +.group .group-list .gtou { + width: 70rpx; + height: 70rpx; + /* float: left; + position: relative; + top: 6rpx; + left: -96rpx; */ +} + +.group .group-list .gtou image { + display: block; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #f0f0f0; +} + +.group .group-list .gdn { + width: 140rpx; + text-align: center; + /* float: left; */ + font-size: 26rpx; + /* padding-left: 20rpx; */ + /* line-height: 48rpx; + height: 48rpx; + width: 168rpx; + position: relative; + left: -80rpx; + top:20rpx; */ + font-weight:bold; +} + +.group .group-list .ghaicha { + /* width:300rpx; */ + font-size: 27rpx; + /* margin-left:180rpx; + top:13rpx; + left:-3rpx; */ + font-weight: bold; + + +} + +.group .group-list .ghaicha .gred { + /* height: 48rpx; + width: 300rpx; */ +} + +.gsj { + float: left; + color: #8f8f94; +} + +.group .group-list .cjt { + height:42rpx; + width: 137rpx; + /* position: absolute; + right: 4rpx; + top:25rpx; */ + line-height: 42rpx; + font-size: 24rpx; + color: #fff; + border:2rpx solid #d60024; + background-color:#d60024; + border-radius:25rpx; + +} + +.gbody { + background-color: white; +} +.t_show{/* overflow: hidden; */ display: flex; /* width: 300rpx; */ color: #292929; /* line-height: 36rpx; */font-size:26rpx; +} +.join-cart>view.set_width { + width:58%; +} + +/*秒杀样式zwp*/ +#zwpMs{ + width: 31%; + color: #fff; + background: url(https://mshopimg.yolipai.net/miniapp/images/user/bgred.png) no-repeat; + background-size: 100% 60px; +} + + +/*--------- 修改后的样式 -----------*/ +.elli{ + overflow : hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.one_elli{ + overflow : hidden; + text-overflow: ellipsis; + white-space:nowrap; +} + +.tuwen_title{ /* height: 86rpx; */ background-color:#eeeeee; /* margin-bottom: 32rpx; */ position: relative; + display: flex; justify-content: center;align-items: center; padding: 20rpx;} + +.tuwen_title .g_line{ + width:496rpx; + height:1rpx; + border-bottom:#ababab 1rpx solid; +} +.tuwen_title .center_s{ + width: 124rpx; position: absolute; height: 34rpx; background-color:#eeeeee; font-size: 32rpx; display: flex; + overflow: hidden; justify-content: center;align-items: center; +} +.tuwen_title .center_s image{ width: 34rpx; height: 26rpx; margin-right: 10rpx} +.t_g_info{ /* margin: 0 34rpx;margin-bottom: 20rpx; */ display: flex; align-items: center;padding: 20rpx; } +.red_shu{ width: 10rpx; height: 36rpx; background-color:#da0035; margin-right: 8rpx; } + +.tb-l{ /* line-height: 96rpx; */} +.table_s{ border:#e4e4e4 1rpx solid; box-sizing: border-box;font-size: 26rpx;} +.tb_item{display: flex; /* height: 96rpx; */ border-bottom: 1rpx solid #e4e4e4 } +.item_left{width: 210rpx; height: 100%; box-sizing:border-box; text-align: center;padding: 20rpx; background: #f9f9f9 ;border-right:2rpx solid #e4e4e4} .item_left text{ /* margin-left: 44rpx; */} +.item_right{flex:1; height: 100%; overflow : hidden;white-space:nowrap;text-overflow: ellipsis; padding: 20rpx;} +.item_right text{ /* margin-left: 66rpx; */} + +.table_s .tb-l:last-child {border-bottom: none;} + +.bzfu_img{ width: 164rpx; height:34rpx; /* margin-right: 18rpx; margin-left: 12rpx */ } + .bz_view{ /* height:100rpx; padding: 0 34rpx 0 13rpx; */ color: #333; font-size: 28rpx; padding: 20rpx 20rpx 20rpx 10rpx; + /* border-bottom: 3rpx solid #eee; */ + /* border-top: 3rpx solid #eee; */} + .bz_view view{ width: 460rpx; /* max-height: 70rpx; */ /* overflow: hidden; */} + +.bb_view{ display: flex;align-items: center;justify-content: space-between; padding: 20rpx; color: #333; + font-size: 30rpx; /* height: 104rpx; line-height: 104rpx; overflow: hidden; padding-right:26rpx */ } +.red_bb{ color: #d70026; /* min-width:158rpx;width: auto; */} +.bg_jj{ width: 14rpx; height:14rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; +} +.bg_jj.down1{transform: rotate(135deg);} + +.bz-content { + flex-grow: 1; + text-align: justify; + padding: 0 30rpx 0 20rpx; +} + +/* 顶部边框 */ +.topframe{ + width: 100%; + height: 172rpx; + flex-direction: row; + justify-content: space-between; + border-bottom: 6rpx solid #eeeeee; + overflow: hidden; +} +/* 评价人边框*/ +.topframe .topframe-top{ + display: flex; + margin-top: 40rpx; + margin-bottom: 36rpx; + color: #7d7d7d; + padding-left: 20rpx; + font-size: 32rpx; +} +/*评价人数量*/ +.topframe .topframe-top .topframe-top-val{ + margin-left: 15rpx; + +} +.topframe-top-content{ + display: flex; + width: 36%; +} +/* 好评 */ +.topframe-praise{ + width: 61%; + text-align: right; + color: #dc4355; + font-size: 28rpx; +} +/* 按钮列表 */ +.buttem-list{ + width: 100%; + display: flex; + font-size: 20rpx; + overflow: hidden; +} + +.buttem-list .item{ + min-width: 17%; + font-size: 24rpx; + border-radius: 20rpx; + background:#ffe3e2; + height:38rpx; + text-align: center; + line-height: 38rpx; + margin-left: 20rpx; +} + +.buttem-list .item.red{ + color: #fff; + background: #d60022; +} + +/* 用户评价 */ +.middle{ + width: 95%; + margin:0 auto; +} +.middle-img-frame{ + height:65rpx; + display: flex; + margin-top: 32rpx; + +} +/* 评价的用户图片 */ +.middle-img{ + width:60rpx; + height:60rpx; + border-radius: 50%; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + margin-right: 15rpx; +} +/* 评价的用户边框 */ +.middle-user-frame{ + height: 65rpx; + overflow: hidden; +} +.middle-user{ + height: 25; + font-size: 28rpx; +} +/* 评价图片 */ +.middle-img-two{ + width: 115rpx; + height: 25rpx; + text-align: center; + margin-bottom:20rpx; + margin-left:5rpx; +} +.xc-pirces{ + margin-top: 14rpx; +} +/* 评价文字 */ +.middle-font{ + font-size: 30rpx; + +} +.iddle-goods-img{ + width: 100%; + display: flex; + margin-top:22rpx; +} +/* 商品图片 */ +.goods-img{ + width: 156rpx; + height: 156rpx; + margin-left: 22rpx; + height: 100%; +} +.parameter-frame{ + margin-top:14rxp; + margin-bottom: 14rpx; + width:50%; + height: 30rpx; +} +.z_parameter{ + width:98%; + height: 45rpx; + display:flex; + line-height: 45rpx; + margin-top: 20rpx; + margin-bottom: 14rpx; + justify-content : space-between; +} +.parameter-font{ + font-size: 26rpx; + +} +/* 规格 */ +.parameter-state{ + width: 100rpx; + font-size: 24rpx; + color: #c4c4c4; +} +.parameter-dian{ + display: flex; + width: 94rpx; + height: 33rpx; + font-size: 20rpx; + border-radius: 20rpx; + line-height:33rpx; + padding-left: 25rpx; + border:4rpx solid #eeeeee; + +} +/* 点赞图片 */ +.parameter-img{ + width: 27rpx; + height: 27rpx; + margin-top: 3rpx; +} +.parameter-val{ + margin-left:25rpx; + font-size: 26rpx; + color: #999; +} +/* 回复 */ +.reply{ + width: 95%; + height: 120rpx; + padding-top: 14rpx; + border-top:3rpx solid #eeeeee; + margin:0 auto; + +} +.shop-reply{ + height: 30rpx; + color:#d60022; + font-size:24rpx; + overflow: hidden; +} +.shop-font{ + width: 94%; + font-size: 24rpx; + padding-top: 10rpx; + +} +.line_bulge{ + width: 17rpx; + height: 17rpx; + border-top: 1rpx solid #eeeeee; + border-left: 1rpx solid #eeeeee; + transform:rotate(45deg); + position: absolute; + top: -12rpx; + left:50rpx; + background:#fff; +} + + +.xc_comment{ + display: flex; + justify-content: space-around; + width: 100%; + box-sizing: border-box; + padding: 10rpx 20rpx; + /* height: 42rpx; + padding-left: 34rpx; */ + color: #333; + +} +.xc_comment-have-pictures{ + width: 153rpx; + /* height: 42rpx; */ + line-height: 42rpx; + text-align: center; + background: #ffe3e2; + color: 28rpx; + border-radius:21rpx; + font-size: 24rpx; +} +.xc_comment-discuss{ + width: 152rpx; + height: 42rpx; + line-height: 42rpx; + text-align: center; + background: #ffe3e2; + color: 28rpx; + border-radius:20rpx; + font-size: 24rpx; + margin-left: 28rpx +} + +.xc_comment-detail{ + display: flex; + /* margin-top: 40rpx; */ + /* width: 524rpx; */ + /* margin-left: 34rpx; */ + border-radius: 24rpx; + border: 2rpx solid #ebedf0; + margin-left: 20rpx; + box-sizing: border-box; + /* overflow: hidden; */ +} + +.xc_user-img{ + border-radius:50%; + margin: auto 0; +} + +.xc_comment-user{ + display: flex; + /* margin-top: 22rpx; + margin-left: 22rpx; */ +} +.xc_user{ + width: 170rpx; + height: 60rpx; + margin-left: 6rpx; + overflow: hidden; +} +.xc_user-name{ /* height: 25rpx; */} +.xc_comment-img{ + width: 22rpx; + height: 22rpx; + /* margin-top: 14rpx; */ + margin-right: 5rpx +} +.xc_comment-font{ + /* height: 75rpx; */ + /* margin-left: 22rpx; */ + white-space:normal; + overflow: hidden; + /* margin-top: 8rpx; + line-height: 38rpx; */ + +} +.xc_comment-val{ + /* width: 88%; + height: 30rpx; + margin-left: 22rpx; + display: flex; + margin-top: 15rpx; + margin-bottom:15rpx; */ +} + +.xc_comment-time{ + /* height: 30rpx; */ + font-size: 22rpx; + color: #a5a5a5; + overflow: hidden; +} + +.xc_goods-img{ + width: 180rpx;height: 180rpx; +} +.xc_comment-left{ + display:inline-block; + width: 312rpx; + padding: 20rpx; +} +.xc_goods-img-frame{ + border-radius: 0 22rpx 22rpx 0; + overflow: hidden; + /* display:inline-block; */ + /* width: 40%; + height: 90%; + text-align: center; + padding-top: 30rpx; + vertical-align: top; */ +} +.xc_imgs{ + width: 50rpx; + height:50rpx; + border-radius:50%; + margin-right: 5rpx; +} + +.pj_word_size{ font-size: 28rpx} +.pj_scroll{ + /* white-space: nowrap; */ + /* height: 324rpx; */ + /* margin-bottom: 50rpx; */ + display: flex; + align-items: center; + padding: 20rpx 0; + /* box-sizing: border-box; */ + /* box-shadow: 0 8px 12px #e7e9eb; */ +} + + +/*领券*/ +.three-level-word{ + font-size: 25rpx; +} +.four-level-word{ + font-size: 23rpx; +} +.cx-frame{ + /* border-top:3rpx solid #eee; */ + /* width:99%; + height: 95rpx; + line-height: 95rpx; + padding-left:24rpx; */ + padding: 20rpx; +} +.cx-frame .cx-sizs{ + /* width: 68rpx; */ + /* height: 100%; */ + /* line-height: 100rpx; */ + /* overflow: hidden; */ + /* margin-left: 10rpx; */ +} +.xc-coupon-fram{ + position: relative; + margin-right: 16rpx; + /* width:200rpx; */ + /* padding-top:30rpx; */ + +} +.xc-coupon-fram .xc-coupon{ + /* width:175rpx ; + height: 40rpx; + line-height: 40rpx; */ + background-color:#d60021 ; + /* margin:0 auto; */ + color:#fff; + padding: 6rpx 20rpx; + +} +.xc-coupon-fram .xc-circular{ + width: 16rpx; + height:16rpx; + background-color: white; + position:absolute; + top: 50%; + /* left: -10rpx; */ + transform: translateY(-50%); +} +.xc-coupon-fram .xc-one{ + left: -8rpx; +} +.xc-coupon-fram .xc-two{ + right: -8rpx; +} + +.cx-obtain-coupon{ + /* width: 65rpx; + height: 100%; + padding-left:15rpx; */ + color: #d70025; + display: flex; + align-items: center; + /* position: absolute; + right: 5rpx; */ +} + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + background: #fff; + z-index: 35; + border-top-left-radius: 25rpx; + border-top-right-radius: 25rpx; + position:fixed; + bottom:0; +} + +.cx-popup .top{ + /* width: 90%; + height:85rpx; */ + font-size: 32rpx; + padding: 20rpx 0; + border-bottom: 2rpx solid #ebedf0; + /* padding-top: 50rpx; + font-weight:600; */ + +} +.cx-popup .top-frame{ + /* width: 100%; + display: flex; + justify-content: center; + overflow: hidden; */ +} +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame{ + position: relative; +} +.xc-coupon-frame { + width: 100%; + max-height: 560rpx; + overflow: auto; + +} +.xc-coupon-frame .rel:not(:first-child) { + margin-top: 20rpx; +} +.xc-coupon-frame .coupon { + width:100%; + height: 168rpx; + border-radius: 25rpx; + border:2rpx solid #ffdcdc; + overflow: hidden; + /* margin-top:16rpx; */ + box-sizing: border-box; + +} +/* .xc-coupon-frame .coupon ~ .coupon { + margin-top:16rpx; +} */ +.xc-coupon-left{ + width: 216rpx; + /* height: 100%; */ + background-color: #ffeeef; + border-right: 4rpx dashed #ffdbd9; + overflow: hidden; + /* line-height: 100%; */ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + flex-shrink: 0; +} +.xc-money{ + color: #f30026; + text-align:center; +} +.xc-rmb{ + /* width:44rpx; + padding-top:7rpx; */ +} +.xc-money-frame{ + /* margin-left:35rpx; + margin-top:48rpx; */ + +} +.xc-spacing{ + letter-spacing:4rpx; +} +.xc-circular-one{ + position: absolute; + top:-15rpx; + left:205rpx; + width: 30rpx; + height: 30rpx; + background: #fff; + overflow: hidden; +} +.xc-circular-two{ + position: absolute; + bottom: -15rpx; + /* top:150rpx; */ + left:205rpx; + width: 30rpx; + height:30rpx; + background: #fff; +} +.xc-detail-coupon{ + /* margin-left: 22rpx; + overflow: hidden; + padding-top: 43rpx; */ + /* display: flex; + align-items: center; */ +} +.xc-coupon-right{ + /* width: 455rpx; + height: 100%; */ + background: #fffaf9; + padding: 20rpx; + box-sizing: border-box; + width: 100%; + justify-content: space-between; + align-items: center; +} +.xc-below{ + margin-top:20rpx; + +} +.xc-get{ + + width: 140rpx; + /* height: 48rpx; */ + color: #fff; + text-align: center; + border-radius:27rpx; + line-height:54rpx; + /* margin-left:20rpx; */ +} + +.background{ + background:#f40028; +} +/*--不可使用--*/ +.background.nouse{ + background:gainsboro; +} + +.xc-background{ + background:#b9b9b9; +} + + +.cx-confirm{ + width: 100%; + padding: 20rpx; + box-sizing: border-box; + /* height: 160rpx; */ + +} +.cx-confirm .confirm{ + /* width: 372rpx; + height: 60rpx; */ + background-color: #f40026; + color: #fff; + border-radius:10rpx; + line-height: 80rpx; + font-size: 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); } } + + +/* 分享 */ +.icon-share { + font-size: 46rpx; + color: #d60021; +} +.xc-share-frame{ + /* width: 129rpx; + height: 48rpx; + border-top-left-radius: 18rpx; + border-bottom-left-radius: 18rpx; */ + /* background: #d60021; */ + /* position:absolute; + left:622rpx; + top:-37rpx; + line-height:50rpx; + margin-top:52rpx; */ +} +.xc-share-frame-jieti{ + width: 129rpx; + height: 48rpx; + border-top-left-radius: 18rpx; + border-bottom-left-radius: 18rpx; + background: #d60021; + line-height:50rpx; +} + +.xc-share-frame .share-font,.xc-share-frame-jieti .share-font{ + font-size: 32rpx; + color:#fff; + margin-left:10rpx; + +} + + +.xc-share-frame .share-frame,.xc-share-frame-jieti .share-frame{ + width: 30rpx; + height: 30rpx; + margin-top:9rpx; + margin-left: 10rpx; + +} +.xc-share { + width:90%; + height:800rpx; + background:#fff; + z-index:35; +} +.img-frame{ + position: absolute; + top: 175rpx; + left:100rpx; + z-index: 55; + overflow:hidden; + +} +.img-frame .img{ + width: 100rpx; + height: 100rpx; + +} +.xc-share .top{ + height: 85rpx; + width: 100%; + border-bottom: 4rpx dashed #f5f5f5; + overflow:hidden; + +} +.xc-share .name{ + font-size: 25rpx; + margin-left:180rpx; + color:#000; + +} + +.xc-share .recommend{ + width: 110rpx; + height: 12rpx; + color: #fff; + background: #d60021; + font-size: 20rpx; + border-radius:25rpx; + margin-left:10rpx; + line-height:37rpx; +} +.xc-left-circle{ + width: 40rpx; + height: 25rpx; + position: absolute; + top:280rpx; + left:29rpx; + z-index: 55; + background:#727272; + border-radius:50rpx 50rpx 0 0; + transform:rotate(90deg); + +} +.xc-right-circle{ + width: 40rpx; + height: 25rpx; + position: absolute; + top: 280rpx; + left:683rpx; + z-index: 55; + background:#727272; + border-radius:50rpx 50rpx 0 0; + transform:rotate(270deg); + +} +.xc-circle-frame{ + width: 25rpx; + height: 40rpx; + overflow: hidden; +} +.xc-goods-name{ + width: 95%; + font-size: 35rpx; + padding-left: 75rpx; + height: 50rpx; + padding-top: 10rpx; + color:#000; + +} +.xc-good-img{ + width: 100%; + height: 381rpx; + margin-top:5rpx; + +} +.xc-good-img .img{ + width: 90%; + height: 381rpx; +} +.xc-ensure-frame{ + width: 90%; + height: 60rpx; + border-bottom: 2rpx solid #d8d6d7; +} +.xc-ensure{ + width: 30%; + height: 60rpx; + line-height: 60rpx; +} +xc-ensure-div{ + width: 100%; + height: 60rpx; +} +.xc-ensure .word{ + font-size: 25rpx; + color: #d30025; + margin-left:9rpx; + +} +.xc-ensure .img{ + width: 25rpx; + height: 25rpx; + margin-top:18rpx; + +} + +.xc-bottmon{ + width: 100%; +} +.xc-bottmon .xc-left{ + width: 55%; + margin-top:30rpx; + padding-left:20rpx; + +} +.xc-left .xc-top{ + font-size: 25rpx; + height:40rpx; + line-height:40rpx; + color:#000; +} +.xc-left .xc-middle{ + font-size: 25rpx; + color: #b2b2b2; + height:30rpx; + line-height:30rpx; +} +.xc-left .xc-buttem{ + font-size: 25rpx; + height:100rpx; + line-height:100rpx; + color:#000; +} +.xc-ensure-right{ + width: 30%; +} +.xc-qrcode{ + width:120rpx; + height: 120rpx; + margin-top:43rpx; + margin-left:80rpx; + +} +.xc-close{ + width:50rpx; + height:50rpx; + border-radius:50%; + border:3rpx solid #fff; + text-align:center; + line-height: 41rpx; + font-size:50rpx; + color:#fff; + font-weight: lighter; + font-family:MingLiU; + transform:rotate(270deg); + overflow:auto; + margin-top:6rpx; + margin-bottom:1rpx; + +} +.xc-close-frame{ + position:absolute; + margin-top:30rpx; + width:90%; + display:flex; + justify-content:center; + overflow: auto; + +} +.xc-guanbi{ + width: 100%; + height: 80rpx; + overflow: hidden; +} + + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + background: #fff; + z-index: 35; + border-top-left-radius: 10rpx; + border-top-right-radius: 10rpx; + position:fixed; + bottom:0; +} + +.xc-top-content{ + width: 88%; + height:85rpx; + padding-top: 50rpx; + font-size: 36rpx; +} + + +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame { + /* width: 100%; + margin-top:20rpx; */ + padding: 20rpx; +} + +.xc-frame .list-frame{ + width: 90%; + height: 100%; + overflow-y:scroll; + + margin-top:20rpx; + +} +.xc-close-frame{ + margin-top:30rpx; + width:15%; + display:flex; +} + +.xc-close{ + width:70rpx; + height:70rpx; + border-radius:50%; + border:5rpx solid #a5a5a7; + text-align:center; + line-height: 55rpx; + font-size:80rpx; + color:#a5a5a7; + font-family:"微软正黑体"; + margin-top:8rpx; + +} +.xc-money{ + color: #ff0013; +} + +.xc-money-frame{ + /* margin-left:35rpx; */ + +} +.xc-coupon-effect{ + width: 99%; + height: 128rpx; + border-bottom:3rpx solid #ddd; + + +} +.xc-goods-coupon{ + width: 80%; + height:100%; + +} +.xc-title{ + width:50%; + margin-left:222rpx; + +} +.xc-coupon-money{ + color: #c91e31; + font-size: 35rpx; + margin-top:20rpx; + +} +.xc-coupon-time{ + height: 50rpx; + font-size: 27rpx; + color: #a4a4a4; +} +.xc-coupon-time .time{ + margin-left: 15rpx; + font-size: 27rpx; +} +.xc-coupon-selection{ + width:99%; + height:100%; + + +} +.xc-confirm { + width: 90%; + height: 75rpx; + margin:0 auto; + background:#c41830; + color:#fff; + border-radius:10rpx; + font-size:30rpx; + margin-top: 50rpx; +} +.xc-not-Selection{ + width: 60rpx; + height: 60rpx; + background: #eeeeee; +} + +/*---------------视频图片---------------*/ +.xc-imageCount { + width:95rpx; + height:50rpx; + background-color: rgba(0, 0, 0, 0.3); + border-radius:40rpx; + line-height:50rpx; + color:#fff; + text-align:center; + font-size:26rpx; + position:absolute; + + right:23rpx; + bottom:21rpx; +} + + +/* 视频图片的边框 */ +.xc-videos-picture{ + width: 100%; + height: 750rpx; +} +/* 视频 */ +.xc-videos{ + width: 100%; + height:544rpx; + + +} +/* 点击视频或图片 */ +.xc-video-picture{ + + bottom: 20rpx; + left: 0rpx; + display: flex; + align-items: center; + justify-content:center; + width: 45%; + height: 60rpx; + margin-left: 215rpx; + +} +.xc-video-button:before{ + content: ""; + position: absolute; + left: 48%; + top: 40%; + width: 0; + height: 0; + margin-left: -36rpx; + margin-top: -10rpx; + border-width:13rpx; + border-style: dashed; + border-color: transparent transparent transparent #fff; + font-size: 0; + line-height: 0; + z-index: 2; + -webkit-backface-visibility: hidden; +} +.xc-video-buttons:before{ + content: ""; + position: absolute; + left: 50%; + top:41%; + width: 0; + height: 0; + margin-left: -36rpx; + margin-top: -10rpx; + border-width:13rpx; + border-style: dashed; + border-color: transparent transparent transparent #000; + font-size: 0; + line-height: 0; + z-index: 2; + -webkit-backface-visibility: hidden; +} + +.xc-video{ + /* width:100rpx; */ + /* height: 50rpx; + line-height: 50rpx; */ + text-align: center; + /* margin-left:-30rpx; */ + + +} +/* 图片 */ +.xc-picture{ + color: #000; + background: #dcdcdc; + width: 94rpx; + height: 45rpx; + font-size: 25rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + text-align: center; + line-height: 45rpx; + margin-left:53rpx + +} +/* 点击视频 */ +.xc-video-button{ + position: relative; + color: #000; + background: #dcdcdc; + width: 85rpx; + height: 45rpx; + line-height: 45rpx; + font-size: 30rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + padding-left: 11rpx; +} + + +.xc-sn{ + color: #fff; + background: #c7161e; + border-color: transparent transparent transparent #fff; +} +/* 图片 */ +.xc-pictures{ + width: 100%; + height:529rpx; + +} +/*视频封面的图片 */ +.xc-picturess{ + position: relative; + width: 100%; + height:529rpx; +} +/* 播放 */ +.xc-play{ + width: 130rpx; + height: 130rpx; + position: absolute; + top:207rpx; + left:309rpx; +} + +.xc-video-buttons{ + position: relative; + color: #000; + background: #dcdcdc; + width: 85rpx; + height: 45rpx; + line-height: 45rpx; + font-size: 30rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + padding-left: 11rpx; +} + + +.wsize{font-size: 32rpx} +.five-level-word{font-size: 24rpx;} + + +/*-- 推荐商品 --*/ +.xc-goods{ + height: auto; + background: #f2f2f2; + padding: 0 20rpx; + margin-top: -25rpx; + padding-bottom: 20rpx +} + +.xc-goods-recommend { + border-radius: 20rpx; + width:345rpx; + height: 450rpx; + margin-top: 25rpx; + display: inline-block; + +} + +.xc-goods-recommend.ml{ margin-left: 22rpx} + +.xc-goods-recommend .xc-goods-imgs{ + width: 100%; + height: 325rpx; + border-radius:20rpx 20rpx 0 0; +} + +.xc-goods-bottom{ + width: 345rpx; + height: 134rpx; + background: #fff; + border-radius:0 0 20rpx 20rpx; + bottom:-8rpx; + left:0rpx; +} +.xc-goods-bottom .monry-frame{ + width:283rpx; +height:52rpx; +padding-left:24rpx; + +} +.xc-good-explain{ + width: 283rpx; + height:60rpx; + word-break: normal; + margin-left:30rpx; + font-size: 26rpx; + line-height: 30rpx; + margin-top: 5rpx; +} +.money-color-val{ + color: #c6172f; +} +.rmb-symbol{ + line-height:81rpx; + height:53rpx; + font-size: 28rpx; +} +.xc-original-price{ + color: #c0c0c0; +} +/* 文字中间加线条 */ +.word-lines{ + text-decoration:line-through; + line-height:90rpx; + margin-left:10rpx; + font-size: 20rpx; +} + + .xc-linellae-frame{ + width: 100%; + height: 70rpx; + background: #f2f2f2; +} +.xc-linellae-frame .xc-linellae{ + width: 386rpx; + height: 1rpx; + border-bottom: 1rpx solid #ebedf0; +} +.xc-recommend-frame{ +background:#f2f2f2; +width:97rpx; +height:100%; +padding-left: 10rpx; +} +.xc-recommend-frame .xc-recommend{ + width: 35rpx; + height: 27rpx; +} +.xc-recommend-frame .xc-recommend-word{ + width:58rpx; +font-size:24rpx; +color: #a9a9a9; +margin-left: 5rpx; +margin-bottom: 5rpx; +margin-top: 1rpx; + +} +.xc-price-frame{ + color: #ec0022; + align-items: baseline; +/* height:44rpx; */ +} +.xc-price-frame .sign{ +margin-top:19rpx; +margin-left:-4px; +} +.xc-val-price{ +margin-left:24rpx; +color: #ec0022; +padding-top:13rpx; +} +.xc-val-price .save{ + border-radius:10rpx; + margin-top:5rpx; + background:#fed2d9; + min-width:230rpx; + height:40rpx; + line-height:40rpx; + width: auto; + padding-left:12rpx; + padding-right:12rpx; + +} +.xc-unit-price{ + margin-top:25rpx; +padding-left:-4rpx; + +} +.xc-explain{ + color:#292929; + width:542rpx; + margin: 10rpx 0 20rpx; + width: 100%; + font-weight: bold; +} +.xc-item{width: 16%; font-size: 26rpx; color: #666;margin-right:5rpx;} +.xc-item .yuan{ + width: 38rpx; + height: 38rpx; + line-height: 38rpx; + border:1rpx solid #f3f1f2; +margin-left:33rpx; + +} +.xc-item .word{ + width:104rpx; + margin-top:16rpx; + color:#363636; + font-weight:600; + +} +.xc-item .circle-color{ + background: #d60024; + color: #fff; +} +.xc-item .circle-color1{ + background: #fefefe; + color: #666666; +} +.link{ +height:6rpx; +width:180rpx; +top:54rpx; +left:32px; +} +.link1{ +height:6rpx; +width:166rpx; +top:54rpx; +left:264rpx; +} +.link2{ + height:6rpx; +width:157rpx; +top:54rpx; +right:87rpx; +} +.link-color-red{ + background: #d60024;} +.link-color{ + background: #e5e5e5; +} +.xc-qt-price{ + top:-15rpx; +left:25rpx; + color: #fff; +} +.xc-qt-price .xc-qtunit-price{ + margin-left:6rpx; +margin-top:-4rpx; +} +.xc-nanber{ + top:-25rpx; +left:289rpx; + +} +.xc-qtsign{ +margin-top:5rpx; + +} +.xc-people-img{ + height: 36rpx; + width: 36rpx; + background: #fff; + border-radius: 7rpx; + +} +.xc-people-img .imgs{ + width: 28rpx; + height: 28rpx; + margin-top:4rpx; + +} +.xc-people-val{ + + height: 32rpx; + border-top: 1rpx solid #fff; + border-bottom: 1rpx solid #fff; + border-right: 1rpx solid #fff; + border-radius:0 7rpx 7rpx 0; + line-height:32rpx; + margin-left:-6rpx; + padding: 0 12rpx; +} +.word-color{ + color:#d70024; +} +.word-color-lan{ + color:#0393e1; +} +.pt_view .hy-stop{ + top: -23rpx; + right: 56rpx; +} +.xc-time-val{width:36rpx;height:36rpx;border-radius:7rpx; line-height: 36rpx;} +.xc-time{margin-right:10rpx; margin-left:10rpx; margin-top:-32rpx; +} +.xc-goods-explain{ + width:100%; + /* padding-left:30rpx; + margin-left:-9rpx; + height: 150rpx */ +} +.xc-partner-frame{ +border-bottom:2rpx solid #eee; +width:100%; +padding:20rpx; +/* height:56rpx; */ +box-sizing: border-box; +} +.xc-person-number{ + width:120rpx; + color: #999999; + padding-left:8rpx; + text-align: left +} + +.xc-miaosha-time{ +right:17rpx; top:55rpx; +} +.pd_top1{padding-top: 10rpx} +.s_ms_bth{margin-top: 85rpx} + + +.no_pj_list{text-align: center; width: 100%; color: #999; margin: 30rpx 0; display: inline-block; font-size: 28rpx} +/* 门店地址 */ +.xc-address_frame{ + /* border-top:1rpx solid #eee; */ + width: 100%; + height: auto; + padding: 20rpx; + box-sizing: border-box; +} +.on_height{ +height: 90rpx; +} +.sn_height{ + /* min-height: 170rpx; height: auto;padding: 10rpx 0; */ +} +.xc-address_frame .address_frame{ + width: 100%; +/* padding-left: 10rpx; +margin: auto; */ + +} +.shop_name{ + +} +.stores-img{ + width: 28rpx; + height: 28rpx; + margin-right: 10rpx; +} +.shop_name{ + margin-right: 10rpx; +} +.address{ + /* width: 100%; + margin-top: 5rpx; + margin-bottom: 5rpx; */ +} +.distance{ + padding-left: 20rpx; + padding-right: 20rpx; + background: #eee; + border-radius: 20rpx; + /* margin-right: 5rpx; */ + color: #999; + height: 38rpx; +line-height: 38rpx; + +} +/* 选择门店的弹窗 */ +.mongolia-layer{ + position: fixed; +left: 0; +top: 0; +right: 0; +bottom: 0; +z-index: 11; +background: rgba(0,0,0,0.4); +width: 100%; +height: 91.9%; + +} + +.popup-frame{ +position: fixed; +z-index: 20; +background: white; +width: 100%; +border-radius: 20rpx 20rpx 0 0; +height: auto; +bottom: 0; +} +.popup-top{ + border-bottom: 1rpx solid #eee; + height: 155rpx; + width: 95%; + margin: auto; + line-height: 155rpx; + +} +.bg_rights{ + border-top: 2rpx solid ; + border-right: 2rpx solid ; + transform: rotate(45deg); + display:inline-block; + width:15rpx;height:15rpx; + border-color:#da0b31; +} +.modal-closes { + position: absolute; + right: 30rpx; + top: -15rpx; + height: 25rpx; + +} +.choose_more{ + margin-top: 40rpx; + margin-right: 20rpx; + +} +.choose_mores{ + margin-top: 30rpx; + margin-right: 15rpx; + +} +.store-list{ + width: 95%; + min-height: 300rpx; + overflow-y: scroll; + margin: auto; + max-height: 610rpx; +} +.store-list .store_choose{ + width: 100%; + height: 120rpx; + line-height: 125rpx; + border-bottom: 1rpx solid #eee; + +} +.store-list .store_choose .store{ +width: 100%; +margin: auto; +line-height: 37rpx; +padding-left: 20rpx; + +} +.xc-hook{ + width: 35rpx; + height: 35rpx; + transform: rotate(-145deg); +line-height: 37rpx; +text-align: center; +} + .xc-hooks{ + width: 30rpx; + height: 30rpx; + border: 1rpx solid #999; + } + .address-frame{ + width: 93%; +margin-left: 7rpx; + + } + .nearby_store{ +margin-left: 17rpx; + } + .address_name{ + margin-right: 10rpx; + + } + .address-val{ + height: 38rpx; +line-height: 38rpx; + + } + .store-bottom{ + width: 85%; + margin: auto; + height: 90rpx; + } + .determine{ + width: 260rpx; + height: 55rpx; + border-radius: 50rpx; + line-height: 55rpx; + } + .default{ + width: 260rpx; + height: 55rpx; + border:3rpx solid #c8c8c8; + border-radius: 50rpx; + line-height: 55rpx; + } + .store-bottom-frame{ + width: 95%; + margin: auto; + + } + /* 门店分类列表 */ +.sort_store_list{ + height: 82%; + overflow: hidden; + overflow-y: scroll; + width: 95%; + margin: auto; +} +.sort_store_list .sort-store-frame{ + width: 100%; +height: 100rpx; +line-height:100rpx; +border-bottom: 1rpx solid #eee; + +} +.sort_store_list .sort-store-frame .sort-store{ + width: 94.5%; + margin: auto; +} +.black_rights-frame{ +width: 50%; +} +.black_rights-frame .black_rights{ + border-top: 3rpx solid; +border-right: 3rpx solid; +transform: rotate(45deg); +display: inline-block; +width: 20rpx; +height: 20rpx; +} +.xc-val-money{ + height:55rpx; +} + +.xc-distance-bottom{ + margin-bottom: 40rpx; +} +.xc-distance-top{ +margin-top: 10rpx; +} +.xc-width{ + width: 100%; +} +.right-arrow{ width: 15rpx; height:15rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; +} +.xc-goods-attribute{ + border-bottom: 1px solid #eee; +padding-bottom: 20rpx; +/* margin-bottom:40rpx; */ +} +.xc-val-fream{ + width: 105rpx; +} +.is_stock{ +width: 58%; +height: 70rpx; +border-radius: 55rpx; +} +.select_store_height{ + height: 50rpx; +} +.butttem5{ + margin-bottom: 5rpx; +} + +.no_pj_list{text-align: center; width: 100%; color: #999; margin-top: 30rpx; display: inline-block; font-size: 28rpx} + + +.join-cart>view.no_store { + width: 58%; background-color: #adadad; +} + +.s_btn{ margin-top: 25rpx; } +/* 美妆价的样式 */ +.beauty-makeup-frame{ + /* width: 101.5%; + margin: auto; */ + height: 120rpx; + border-radius: 15rpx; + margin-top: 10px; + +} +.beauty-makeup-frame .left{ + width: 80%; + height: 100%; + background:#f7f7f7; + border-radius: 20rpx 0rpx 0rpx 20rpx; + /* padding: 0 10rpx; */ +} + .card-frame{ + margin-top: 0rpx; + /* padding-right: 23rpx; + margin-right: 15rpx; */ +} +.advert-card{ + margin-top: 0rpx!important; + +} +.beauty-makeup-frame .right{ + width: 20%; + height: 100%; + background:#f3efe3; + border-radius: 0rpx 20rpx 20rpx 0rpx; + } +.grade-card-frame{ + + /* height:45rpx ; */ + background: #3c300a; + border-radius: 20rpx; + /* margin-top: 10px; + margin-left: 7rpx; */ + justify-content: center; + padding: 4rpx 12rpx; +} +.grade-card-frame .img{ + width: 24rpx; + height: 24rpx; + margin-top: 2px; + +} +.grade-card-frame .card-name{ + margin-left: 8rpx; + /* max-width: 120rpx; */ + max-width: 165rpx; +} +.card-effect{ + /* margin-left: 15rpx; */ +} +.at_once_carde{ + width:65rpx; + height: 75rpx; + line-height:38rpx; +} +.bg_right{ width: 18rpx; height:18rpx; + border-top: 2rpx solid #333; + border-right: 2rpx solid #333; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; + +} +.carde_frame{ + height: 50rpx; + line-height: 18rpx +} + +button.custom-service { line-height: normal; border: 0;} +button.custom-service::after{ + border: 0; +} +.no_store{color:#d60021; font-size: 26rpx;} +.cx_show_view{ width: 580rpx; /* line-height: 30rpx; margin-bottom: 6rpx; */ } +.cx_show_view .word{ width: 400rpx} +.prom_condition { + color: #d60021; + /* width: 180rpx; */ + /* height: 30rpx; */ + font-size: 20rpx; + /* padding-top: 0.01rpx; */ + /* display: flex; + justify-content: center; + align-items: center; */ + border: 2rpx solid #d60021; + border-radius: 10rpx; + margin-right:10rpx ; + /* margin-left: 10rpx; */ + font-size: 24rpx; + padding: 0 10rpx; +} +.hui_img{ width: 44rpx; height: 44rpx; margin-right: 8rpx} +.order_hui{color: #444; width: 420rpx} +.order_hui view{ height: 34rpx; line-height: 34rpx;} +.dp_img{width: 240rpx; height: 240rpx; margin: 0 40rpx} +.dp_cx_view{border-bottom: 0.02rpx solid #eee; padding-bottom: 40rpx} +.act_content{ margin-top: 40rpx} +.act_content view{ margin-bottom: 12rpx} +.color_b{color: #ff9c00} + +.poster-container { + box-sizing: border-box; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: calc(100% - 120rpx); + z-index: 1000; +} +.mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999; + background-color: rgba(0,0,0,.4); +} +.poster-wrapper { + width: 100%; +} + +.poster { + box-sizing: border-box; + width: 100%; + height: 1055rpx; + border-radius: 20rpx; + /* box-shadow: 0 8px 12px #666; */ + position: relative; + z-index: 999; + overflow: hidden; +} +.poster-img { + display: block; + width: 100%; + height: 100%; +} +.btn-container { + display: flex; + justify-content: space-around; +} +.btn-share { + display: block; + background-color: #FE6867; + color: white; + border-radius: 8rpx; + line-height: 80rpx; + margin-top: 28rpx; + padding: 0 60rpx; +} +/* .btn-close { + background-color: rgba(0,0,0,.5); + color: white; + width: 40rpx; + height: 40rpx; + line-height: 40rpx; + text-align: center; + border-radius: 50%; + position: absolute; + right: 20rpx; + top: 10rpx; +} */ + +.goods-price .rel_txt{ + /* position: relative; top: 32rpx; */ + font-size: 30rpx; +} +.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 8rpx;} + +.btn-close { + /* background-color: rgba(0,0,0,.5); */ + color: #ccc; + width: 50rpx; + height: 50rpx; + line-height: 50rpx; + text-align: center; + border-radius: 50%; + position: absolute; + right: 20rpx; + top: 20rpx; +} + +.icon-close { + font-size: 48rpx; +} +.quan_price{ + background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx; +} + +/*--闪白屏--*/ +.g_img_box{ + background-position: center center; + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; +} + + + +.arrow { + width: auto !important; + position: absolute; + right: 0; + top: 10rpx; +} + + + + + + + +/* 支付预售定金 */ +.price-container { + top: 50%; + padding-left: 40rpx; + transform: translateY(-50%); + color: white; + font-weight: bold; +} + +.rmb { + display: relative; +} + +.rmb::before { + content: '¥'; + font-size: 24rpx; +} + +.no-bold { + font-weight: normal; +} + +.bg-FF4732 { + background-color: #FF4732; +} + +.line { + position: relative; +} + +.line::before { + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + content: ''; + width: 2rpx; + height: 60%; + background-color: rgba(255,255,255,.4); +} + diff --git a/packageC/pages/presell/list/g_filter.wxs b/packageC/pages/presell/list/g_filter.wxs new file mode 100644 index 0000000..9719e7d --- /dev/null +++ b/packageC/pages/presell/list/g_filter.wxs @@ -0,0 +1,29 @@ +var g_filters = { + has_char:function(url,key){ + if(!url) return -1; + return url.indexOf(key); + }, + beg_time:function(beg_date){ + var fmt1 = beg_date.substring(0, 19); + var reg = getRegExp("-", "g"); + var fmt2 = fmt1.replace(reg, '/'); + var t1 = getDate(fmt2); + var tnow=getDate(); + if(t1<=tnow) return 1; + return 0; + }, + end_time:function(end_date){ + var fmt1 = end_date.substring(0, 19); + var reg = getRegExp("-", "g"); + var fmt2 = fmt1.replace(reg, '/'); + var t1 = getDate(fmt2); + var tnow=getDate(); + if(t1>=tnow) return 1; + return 0; + } +} +module.exports = { + has_char: g_filters.has_char, + beg_time: g_filters.beg_time, + end_time: g_filters.end_time, +} \ No newline at end of file diff --git a/packageC/pages/presell/list/list.js b/packageC/pages/presell/list/list.js new file mode 100644 index 0000000..abdf9d4 --- /dev/null +++ b/packageC/pages/presell/list/list.js @@ -0,0 +1,243 @@ +var e = getApp(), i = e.request, a = e.globalData.setting,os=a,ut = require("../../../../utils/util.js"); +var regeneratorRuntime = require('../../../../utils/runtime.js'); + +Page({ + data: { + url: a.imghost, + killtime: null, + currentPage: 1, + goodlist: null, + type:1, + timer:null, + ismore:1, //是否可以加载更多 + isshow:0, + ad_data:null, + max_sw_height:200, + }, + + //------初始化加载---------- + onLoad: function(t) { + // wx.setNavigationBarTitle({ title: "商品秒杀",}) + var first_leader = t.first_leader; + var type=t.type; + if(type!=undefined){ + this.setData({type:type}); + } + + var th=this; + + console.log("------------"); + console.log(first_leader); + getApp().getConfig(); + + if (first_leader) { + getApp().globalData.first_leader = first_leader; + //调用接口判断是不是会员 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { + if (res.data.code == 0) { + getApp().globalData.guide_id = res.data.data.id; + } + }) + } + + getApp().request.promiseGet("/api/weshop/ad/page?pid=701&store_id=" + os.stoid, { + data: { + enabled: 1 + } + }).then(res => { + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + var a = res.data.data.pageData; + var narr=[]; + for(var i in a){ + var tt = { + 'ad_code': os.imghost + a[i].ad_code, + 'media_link': '', + 'ad_weapplink':a[i].ad_weapplink + }; + narr.push(tt); + } + th.setData({ad_data:narr}); + } + }) + + }, + + + onShow: function(t) { + this.data.ismore=1; + this.data.is_timer=1; + this.data.currentPage=1; + var th=this;th.setData({goodlist:null,}) + this.requestSalelist(); + //设置全局定时器 + th.data.timer=setInterval(function () { + th.countDown(); + },1000); + }, + onHide:function(){ + //--清理定时器-- + clearInterval(this.timer); + this.setData({isshow:0}); + }, + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; + }, + + //----倒计时函数----- + countDown() { + if(!this.data.is_timer) return false; + var th=this; + // 获取当前时间,同时得到活动结束时间数组 + let newTime =ut.gettimestamp(); + var endTimeList = this.data.goodlist; + if(endTimeList==null) return null + // 对结束时间进行处理渲染到页面 + for (var i = 0; i < endTimeList.length;i++){ + var o = endTimeList[i]; + var endTime = o.end_time; + if(th.data.type==0) endTime = o.start_time; + let obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0){ + let time = (endTime - newTime); + // 获取天、时、分、秒 + let day = parseInt(time / (60 * 60 * 24)); + let hou = parseInt(time % (60 * 60 * 24) / 3600); + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec), hide: 1 + } + }else{ + //活动已结束,全部设置为'00' + obj = { day: '00', hou: '00', min: '00', sec: '00' } + } + var txt ="goodlist["+i+"].djs"; + th.setData({ [txt]: obj}); + } + }, + + async requestSalelist() { + //--没有更多就不调用-- + if(!this.data.ismore) return false; + var e = this,th=e, i = "/api/ms/flash_sale/spikepage?page=" + e.data.currentPage; + var plist=null,alllist=th.data.goodlist; + if(!alllist) alllist=[]; + + await getApp().request.promiseGet(i, + {isShowLoading:1,data:{store_id:os.stoid,timetype:th.data.type,is_end:0,is_show:1}} + ).then(res=>{ + plist=res.data.data.pageData; + console.log("是什么即将开始",plist); + }); + + if(plist.length<=0){ + + getApp().showWarning("没有更多数据"); + th.data.ismore=0; + if(e.data.currentPage==1 && this.data.type==1){ + setTimeout(function () { + th.data.ismore=1; + th.setData({type:0}); + th.requestSalelist(); + },1000); + } + return false; + } + + //--循环读取接口--- + for(var i=0;i{ + if(res.data.code==0){ + plist[i].status=1; + if(res.data.data<=0) plist[i].status=3; + } + }) + alllist.push(plist[i]); + } + e.data.currentPage++; + console.log("秒杀商品列表", alllist); + th.setData({goodlist:alllist,isshow:1}); + + }, + onPullDownRefresh: function() { + this.reloadGoodList(); + }, + reloadGoodList: function() { + this.data.goodlist = null, this.data.currentPage = 1, this.requestSalelist(); + }, + + onReachBottom: function() { + this.requestSalelist(); + }, + + //点击tab事件 + tip:function(e){ + var a=e.currentTarget.dataset.ty,th=this;th.data.ismore=1; + this.setData({type:a,goodlist:null}); + this.reloadGoodList(); + }, + + + //---------分享配置-------- + onShareAppMessage: function (e) { + var curPage=this; + var pagePath = curPage.route; //当前页面url + if (pagePath.indexOf('/') != 0) { + pagePath = '/' + pagePath; + } + if(getApp().globalData.user_id){ + + if(pagePath.indexOf("?")>0){ + pagePath+="&first_leader="+getApp().globalData.user_id; + }else{ + pagePath+="?first_leader="+getApp().globalData.user_id; + } + } + + console.log("11"+pagePath); + return { + title: "限时秒杀", + path:pagePath, + } + }, + + //图片失败,默认图片 + bind_bnerr2: function (e) { + var _errImg = e.target.dataset.errorimg; + var val = e.target.dataset.val; + if(val!=undefined && val!=null && val!='null' ){ + var _errObj = {}; + _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + } + }, + + onShareTimeline() { + var store_name=getApp().globalData.config?getApp().globalData.config.store_name:''; + if(!store_name) + store_name=getApp().globalData.setting.appName; + return { + title: '秒杀活动-' + store_name, + } + }, + + imageLoad:function(e){ + var imgwidth = e.detail.width; + var imgheight = e.detail.height; + //宽高比 + var ratio = imgwidth / imgheight; + //计算的高度值 + var viewHeight = 750 / ratio; + var hei=this.data.max_sw_height; + + if (hei< viewHeight) { + this.setData({ max_sw_height: viewHeight }); + } + } + +}); diff --git a/packageC/pages/presell/list/list.json b/packageC/pages/presell/list/list.json new file mode 100644 index 0000000..fccb8ce --- /dev/null +++ b/packageC/pages/presell/list/list.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "预售活动列表", + "enablePullDownRefresh": false, + "usingComponents": { + "share_box": "/components/share_box/share_box" + } +} \ No newline at end of file diff --git a/packageC/pages/presell/list/list.wxml b/packageC/pages/presell/list/list.wxml new file mode 100644 index 0000000..928a340 --- /dev/null +++ b/packageC/pages/presell/list/list.wxml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.title}} + + + + + + + 已预售{{type==1?filters.toFix(100-(item.buy_num+item.virtual)/(item.goods_num+item.virtual)*100,0):'100'}}% + + + + 库存还剩{{item.buy_num+item.virtual}}件 + + + + + + + + + + + + {{item.price}} + 零售价¥{{item.market_price}} + + + + 去抢购 + + + + + + + + + + +没有相关内容 + + + + + diff --git a/packageC/pages/presell/list/list.wxss b/packageC/pages/presell/list/list.wxss new file mode 100644 index 0000000..84af0b5 --- /dev/null +++ b/packageC/pages/presell/list/list.wxss @@ -0,0 +1,194 @@ + page{ + background: #eee; + color: #333; + } + .body_frame{ + width: 100%; + height: 100%; + + } +.xc-top-img{ + width: 100%; + height: 333rpx; + display: block; + /* margin-top: 5rpx; */ +} +.kill-list{ + /* height: 807rpx; */ + /* overflow-y: scroll; */ + padding: 0 20rpx; +} +.seckill_list{ +/* margin-top: -10rpx; +left: 2%; */ +} +.seckill{ + width: 100%; +margin: auto; + +} +.kill-time { + text-align: center; + justify-content: space-around; + align-items: center; + /* height: 101rpx; */ + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; + background-color: #f6f6f6; +} +.kill-time .theader{ + display: flex; margin: 0 auto; align-items: center; + height: 100rpx; + +} +.kill-time .theader .timeac { + font-size: 32rpx; height:100%; width: 50%; + color: #333; background-color: #fff; + +} +/* .kill-time .theader .timeac.left{border-top-left-radius: 86rpx; border-bottom-left-radius: 86rpx;} +.kill-time .theader .timeac.right{border-top-right-radius: 86rpx; border-bottom-right-radius: 86rpx;} */ +.kill-time .theader .timeac.active{color: #c4182e} + +.kill-item { + display: flex; + justify-content: space-between; + background-color: #fff; + padding: 20rpx; + /* margin-bottom: 10rpx; */ + border-radius: 10rpx; + /* height: 249rpx; */ + align-items: center; + margin-top: 20rpx; +} + +.kill-pic { + width: 215rpx; + height: 215rpx; +} + +.kill-pic::before { + position: absolute; + content: '预售'; + left: 0; + top: 0; + background-color: #e23245; + color: white; + font-size: 22rpx; + padding: 0 10rpx; + border-radius: 4rpx 4rpx 4rpx 0; +} + +.kill-cont { + width: 465rpx; + margin-left:20rpx; + margin-right: 5rpx; +} + +.goods-name { + height: 60rpx; + font-size: 27rpx; + color: #555; + line-height: 30rpx; + +} + +.goods-num { + padding-top: 30rpx; + display: flex; + align-items: center; + justify-content: space-between; + line-height: 42rpx; + font-size: 24rpx; + color: #999; +} + +.goods-num .co-red { + font-size: 30rpx; + font-weight: bold; +} + +.underline { + text-decoration: line-through; + color:#999999; font-size: 20rpx; + margin-left: 10rpx; + line-height: 30rpx; +} + +.kill-btn { + text-align: right; + display: flex; +height: 100%; +align-items: flex-end; +padding-top: 4rpx; + +} + +.kill-btn>navigator { + padding: 0 20rpx; + background: #e23245; + color: #fff; + border-radius: 20rpx; + /* margin-top: 37px; */ + +} + +.kill-btn .gray { + background-color: #555; +} + +.no-more { + font-size: 30rpx; + line-height: 2; + text-align: center; + color: #333; +} + +.kill-btn>navigator.huise{background-color: #999;} +.xc-seckill-bottom{ + position: fixed; +bottom: 0rpx; +width: 100%; + +} +.xc-bottom{ + width: 45rpx; + height: 45rpx; + margin-right: 13rpx; +} +.xc-border-right{ + border-right: 4rpx solid #eee; + +} +.ml10{ +margin-left: 45rpx; +} +.total{ + width:215rpx;height:26rpx;border-radius:20rpx; + background: #ffe3e2; +} +.xc-buttom-money{ + align-items: baseline; +/* padding-top: 43rpx; */ +} + +.xc-miaosha{ +width: 68rpx; +height: 40rpx; + +} +.xc-strip-frame{ + width:440rpx;margin-top: 10rpx; +} +.xc-strip-blank{ + width:180rpx; +height: 26rpx; +} +.xc-fill{ +border-radius:20rpx;height:26rpx; +} +.xc-fill-text{ + left:34%; + line-height: 26rpx; + +} \ No newline at end of file diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 10213e3..afed94a 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -83,12 +83,6 @@ - @@ -184,6 +178,48 @@ --> + + + + + + + + + 惊喜预售 + + + 查看全部 + + + + + + + + + + + + {{aitem.title}} + + + {{aitem.price}} + ¥{{aitem.market_price}} + + 去抢购 + + + + + + + + + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index fb87eb7..cd0f2b9 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -2,6 +2,39 @@ background: #ff7295; } +.icon-presell { + color: #ED6064; + font-size: 18px; + margin-right: 4rpx; +} + +.presell { + position: relative; +} + +.presell::after { + position: absolute; + top: 0; + left: 0; + content: '预售'; + background-color: #E9030D; + color: white; + font-size: 22rpx; + padding: 2rpx 10rpx; + border-radius: 4rpx; +} + +.btn-buy { + width: reverse !important; + font-size: 22rpx !important; + background-color: #E9030D; + border-radius: 4rpx; + color: white; + padding: 0 6rpx; + /* line-height: 1; */ + text-align: center; +} + .top-bar { position: fixed; top: 0; @@ -289,7 +322,7 @@ line-height: 33rpx; */ overflow: hidden; font-size: 26rpx; - width: 200rpx; + /* width: 200rpx; */ word-break: break-all; }