diff --git a/components/diy_pingd_buy/diy_pingd_buy.wxml b/components/diy_pingd_buy/diy_pingd_buy.wxml index 4295455..26bd686 100644 --- a/components/diy_pingd_buy/diy_pingd_buy.wxml +++ b/components/diy_pingd_buy/diy_pingd_buy.wxml @@ -15,7 +15,7 @@ - + @@ -72,7 +72,7 @@ - + diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index 4c49867..22619cd 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -1,6726 +1,4363 @@ 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; - + 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; + let self = null; - + //评价加载更多 -var more = function (e) { - return e && e.__esModule ? e : { - default: e - }; -}(require("../../../../utils/LoadMore.js")), - n = new more.default(); +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'); -const { app } = require("../../../../utils/common.js"); Page({ - data: { - start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始) - color_type: 0, //线条控制 - color_type_one: 0, - color_type_two: 1, - is_no_plus: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 - }, - ], + 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: "", //商品详情 + + gallery: null, //图片滚动 + is_collect: 0, + collect_id: 0, + cartGoodsNum: 0, + specSelect: 0, + optionItemId: 0, + goodsInputNum: 1, + openSpecModal: !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, // 点击评价-全部、有图、好评、中评时对应的id + categories3: [{ + name: "全部", + id: 1, + num: 0 + }, + { + name: "有图", + id: 5, + num: 0 + }, - select: { - price: 0, - stock: 0, - specName: "", - activity: null - }, + { + name: "好评", + id: 2, + num: 0 + }, { + name: "中评", + id: 3, + num: 0 + }, { + name: "差评", + id: 4, + num: 0 + }, + ], + + select: { + price: 0, + stock: 0, + specName: "", + activity: null + }, + + + //门店相关 + ismend: 0, + is_sec_mend: 0, + sto_sele_name: "", //选中的门店名称 + sto_sele_id: "", //选中的门店id + sto_sele_keyid:'', //选中的门店线下 + 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,//所有的门店先记录起来 + + //联系电话 + mobile: '', + //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单 + timer: [], + + //商品的购买次数 + prom_buy_num: -1, + g_buy_num: null, + + //会员自己的购买的拼单商品的情况 + //购买的订单 + buy_order: null, + //1加入购物车 2立即购买 + openSpecModal_ind: 0, + + //---计时器开关---- + is_timer: 1, + isshow: 0, + bconfig: null, //基础配置 + + //会员分享的头像 + 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, + + + 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, + + is_collect_load:0, //是不是处理 + is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 + sales_rules:1, //默认是线上销售 + + wait_for_user_store:null, + poster:null, //自定义海报 + share_b_img:'', //自定义分享的背景 + showPoster: false, + hui_condition:null, + sto_sele_name_1:'',//分享的门店名称 + + // 秒杀 + prom_st: null, + prom_r_null: 0, + + hiddenCS: true, //控制客服操作菜单显示和控制 + + openSpecModal_flash_normal: 0, + }, - //已选的商品(属性) - 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, - all_activity_list: null, //所有活动的列表 + //------初始化加载---------- + onLoad: function(t) { + self = this; + + this.setData({ + options: t, + }); + + var ee = this, + that = ee, + th = ee, + gid = t.goods_id, + first_leader=t.first_leader; + + + //-- 自定义海报 -- + // 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}) + // } + // } + // }) + - hiddenCS: true, - }, - - //------初始化加载---------- - 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 - prom_type = t.prom_type, - prom_id = t.prom_id; //活动ID - - self = this; - - - console.log("gd onload"); - console.log(t); - - //-- 自定义海报 -- - 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) { + 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; + } + }) + } + + 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 + }); + } + // console.log(e); + 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 && now < end) { + // var card_name = ob.name_map.get(user.card_field); + // //if(card_name.length>6) 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 }) - - //---获取手机地址坐标-- - //--如果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.indexOf('.') != -1) { - var fir_arr = gid.split("."); - gid = fir_arr[0]; - prom_type = fir_arr[1]; - prom_id = fir_arr[2]; - this.data.prom_type = prom_type; - this.data.prom_id = prom_id; - } - - 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; - } - + } + }); + + //获取用户的默认门店 + 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.data) return false; + var ser_card=th.data.data; + //--如果默认门店不在等级卡的默认们店以内 + if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(ee.keyid)==-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, + sto_sele_keyid:e.keyid, + }) + }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, is_pos: 1}, + }).then(res=>{ + if(ut.ajax_ok(res)){ + 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, + sto_sele_keyid:e.keyid, + }) + } - //判断活动 - if (prom_type) { - this.data.prom_type = prom_type; - this.data.prom_id = prom_id; - } - ee.setData({gid: gid}); - - console.log("gd onload--2"); - console.log(first_leader); - - if(first_leader) { - console.log("gd onload--3"); - 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; } - }) - } + }) + } + + //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, + sto_sele_keyid:e.keyid, + }) + } + } + }, 500) + },700) - //-- 如果有房间号 -- - 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; - } + }); + + + }, + + + onReady() { + // 用于控制保障服务折叠图标的显示 + setTimeout(() => { + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { + + if(res.length != 0) { + this.setData({ + showFold: res[0].height < res[1].height, + }); + }; + + }).exec(); + }, 1000); + + }, - var c_guide_id = t.c_guide_id; - if (c_guide_id) { - th.data.c_guide_id = c_guide_id; - } + + //------------程序初始化入口------------- + 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; + // }) + + + // ----> 秒杀 + let prom_type = this.data.options.prom_type; + + let goods_id = this.data.options.goods_id; + if(!goods_id) goods_id = this.data.data.goods_id; + + if(prom_type) { // 进入商品详情页地址传参有带goods_id、prom_type、prom_id参数, 即从秒杀入口进入 + let prom_id = this.data.options.prom_id; + // 检查活动是否开始 + this.check_prom(goods_id, prom_type, prom_id); + + } else { // 从非秒杀入口进入,地址不带prom_type、prom_id参数 + getApp().request.promiseGet('/api/weshop/activitylist/listGoodActInfo2', { + data: { + store_id: os.stoid, + goods_id: goods_id, + goods_type: 1, + user_id: oo.user_id, + } + }).then(res => { + if (res.data.code == 0) { + let result = res.data.data; + let resLength = result.length; + if(resLength == 1) { // 如果数组长度为1,则直接显示当前活动 + let goods_id = this.data.options.goods_id; + let prom_type = result[0].prom_type; + let prom_id = result[0].act_id; + this.setData({ + 'options.prom_type': prom_type, + 'options.prom_id': prom_id, + }); + // 检查活动是否开始 + this.check_prom(goods_id, prom_type, prom_id); + } else if(resLength > 1) { //如果数组长度大于1,表示当前商品参加多个活动,以列表形式显示多活动 + this.setData({ + actList: res.data.data, + }); + }; + + }; + }); + }; + // <---- 秒杀 + + - //调用接口判断商家plus有没有过期 - getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=3", {}).then(res => { - if (res.data.code == 0) { - var arr = res.data.data.pageData; - if (arr.length > 0) { - var item = arr[0]; - if (item.is_sy == 0) { - var now = Date.parse(new Date()); now = now / 1000; - if (item.end_time < now) { - th.setData({ is_no_plus: 0 }) - } - } - } - } - }) + + + + - getApp().getConfig(function (e) { - ee.setData({sto_sele_name_1: e.store_name}) - }) + + + //------是否收藏---------- + 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 && data.length > 0) { + //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, }); + is_collect = 1; + collect_id = data[0].collect_id; + } + }) - //----获取系统参数----- - getApp().getConfig2(function (e) { - ee.setData({ - bconfig: e, - sales_rules: e.sales_rules, - }); + //------获取评价的统计数量---- + await getApp().request.promiseGet("/api/weshop/serviceComment/countlist/", { + data: { + store_id: os.stoid, + service_id: gid + }, + }).then(res => { + console.log('get评价统计数量', res.data.data); + 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; + } + }); - 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 - }); - } - console.log(e); - 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"); + //----获取详情页的评价---- + await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", { + data: { + store_id: os.stoid, + service_id: gid, + pageSize: 3, + parent_id: 0, + page: 1, + is_show: 1, + }, + }).then(res => { + console.log('get详情页评价', res.data.data); + 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); + } + }; + + this.getTaohe(); + + // if (th.data.is_closecoupon != 1 && (!th.data.fir_quan || th.data.fir_quan.length<=0)) { + // //----获取详情页的券的数量---- + // 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; + // }) + // } - th.requestCardNum(), wx.pageScrollTo && th.setData({ - supportPageScroll: !0 - }); + + //this.getHistoryBuy(); //获取历史购买 + ee.setData({ + is_collect: is_collect, + collect_id: collect_id, + categories3: categories3, + fir_quan: fir_quan, + fir_comments: fir_com, + // cardComments: fir_com, + }); - //计算等级价相关 - 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 && now < end) { - var card_name = ob.name_map.get(user.card_field); - //if(card_name.length>6) 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); + //---展示--- + // gid 在onload阶段已经保存在this.data中 + onShow: function() { - //获取用户设备信息,屏幕宽度 - wx.getSystemInfo({ - success: res => { - that.setData({ - screenWidth: res.screenWidth - }) - } - }); + getApp().check_can_share(); - //获取用户的默认门店 - 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) { - ee.is_no_dis = 1; - } + var that=this; + var ee = this,gid = this.data.gid, i = getApp().request; + this.data.is_timer = 1; + this.wait_for_store_config(); + - 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.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, - isstop: 0, - is_pos: 1 - }, - }).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.set_def_storage(e); - } - - } - }) - } - //e.distance = distance; - appd.lat = that.data.lat; - appd.lon = that.data.lon; - - } else { - if (e) { - e.distance = null; - that.set_def_storage(e); - } - } - }, 500) - }, 700) - }); + - //更新点击量 - getApp().request.put("/api/weshop/goods/updateClick", { - data: {store_id: os.stoid, goods_id: gid} - }); - + i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, { + failRollback: !0, + success: function(t) { + if (t.data.code == 0) { + // console.log('GET pic and video'); + if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) { + that.setData({ + mapurl: t.data.data.listServiceVideos[0].video_url, + }); + }; + if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) { + that.setData({ + mapurl_f_img: t.data.data.listServiceVideos[0].video_img, + }); + }; + if(t.data.data.listServiceImages) { + that.setData({ + gallery: t.data.data.listServiceImages, + }); + }; + if(t.data.data.listServiceItem) { + that.setData({ + listServiceItem: t.data.data.listServiceItem, + }); + }; + that.setData({ + 'data.goods_name': t.data.data.serviceName, + 'data.shop_price': t.data.data.money, + 'data.show_price': t.data.data.show_price, + 'data.validDays': t.data.data.validDays, + 'data.serviceContent': t.data.data.serviceContent, + 'data.image_url': t.data.data.imgUrl, + 'data.goods_id': t.data.data.id, + 'data.id': t.data.data.id, + 'data.sales_sum': t.data.data.sales_sum, + 'data.storageId':t.data.data.storageId, + 'data.service_sn':t.data.data.serviceSn, + 'data.listServiceVideos': t.data.data.listServiceVideos, + // gallery: t.data.data.listServiceImages, + // mapurl: t.data.data.listServiceVideos[0].video_url, + // mapurl_f_img: t.data.data.listServiceVideos[0].video_img, + //listServiceItem: t.data.data.listServiceItem, + }); + + // console.log('0xxxxx999999', t.data.data); + //-----商品详情--- + if(!t.data.data.serviceContent) t.data.data.serviceContent=" "; + a.wxParse("content", "html", t.data.data.serviceContent, ee, 6); + e.wxParseAddFullImageUrl(ee, "content"); + + //获取重表 + getApp().promiseGet("/api/weshop/serviceItem/list",{ + data:{store_id:o.stoid,service_id:t.data.data.id} + }).then(res=>{ + if(res.data.code==0){ + var list=res.data.data; + that.setData({service_list:list}) + } + }) + + + + } else { + wx.showModal({ + title: t.data.msg, + showCancel: !1, + complete: function() { + wx.navigateBack(); + } + }); + }; + } + }); + - }, + + this.data.enterAddressPage && (this.data.enterAddressPage = !1); + this.get_sto(); - //--- 设置一下默认库存的数量 ---- - 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]; - } else { - wx.showToast({ - title: '库存不足,请更换其他门店', - icon: 'none', - }); - } - ; - 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 - }) - } - }) + + }, + + 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(); + }, - //------------程序初始化入口------------- - 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; + //商品详情的时候调用 + tabGoodsContent: function() { + var th = this, + i = getApp().request; + this.setData({ + activeCategoryId: 1 + }); + }, + + + //------------加入购物车-------------- + addCart: async function(t) { + var th = this; + var ind = t.currentTarget.dataset.openSpecModal_ind; + var action= t.currentTarget.dataset.action; + if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; + + th.setData({ + open_ind_store: ind + }); + + if(!th.data.sto_sele_name) { + getApp().my_warnning('请选择门店', 1, th, 450); + return false; + }; + + // 库存 + var redisNums = 0; + // 限购数 + var limitNum = 0; + // 已购买数量 + var boughtNum = 0; + + // 秒杀活动 + if(this.data.prom_type == 1) { + // 如果是秒杀活动下的单独购买,is_normal为1 + if(this.data.openSpecModal_flash_normal) this.data.is_normal = 1; + + if(!this.data.is_normal) {// 秒杀购买 + + // 获取redis当前可以购买的数量 + // 如果数量为0,设置和显示已抢光 + // 否则,进一步判断是否超出限购或超出库存 + await this.getactLen().then(async function(res) { + redisNums = res; + let curNum = th.data.goodsInputNum; + // res: redis可购买数量 + console.log('当前可以购买的数量:', res); + if(res <= 0) { + // 可购买数量<=0, 设置和显示已抢光 + th.setData({ + prom_r_null: 1, + }); + // wx.showModal({ + // title: '超出活动库存', + // }); + getApp().my_warnning('超出活动库存', 0, self); + return false; + } else { + // 可购买数量>0 + // 计算自己还可以购买的数量 + // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b + // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存 + // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购 + let actInfo = th.data.sele_g; + await th.get_buy_num2().then(function (data) { + let limited = actInfo.buy_limit; // 限购数量a + let promcardbuynum = data.data.data.promcardbuynum; + let buyedNum = promcardbuynum; // 自己已经购买的数量b + let canBuyNum = limited - buyedNum; // 自己还可购买的数量c + limitNum = limited; + boughtNum = buyedNum; + + if(canBuyNum <= 0) { + canBuyNum = 0; + }; + + if(canBuyNum > res) { + if(curNum > res) { // t当前增减的数量 + // wx.showModal({ + // title: '超出活动库存', + // }); + getApp().my_warnning('超出活动库存', 0, self); + th.setData({ + goodsInputNum: res, + }); + return false; + }; + }; + + if(canBuyNum <= res) { + if(curNum > canBuyNum) { + // wx.showModal({ + // title: '超出限购数量', + // }); + getApp().my_warnning('超出限购数量', 0, self); + th.setData({ + goodsInputNum: canBuyNum, + }); + return false; + }; + }; + + + }); + + + + }; + }); + + }; + + + }; + - //------图片滚动---------- - await getApp().request.promiseGet("/api/weshop/goodsimages/page", { - data: { - store_id: os.stoid, - goods_id: gid, - }, - }).then(res => { + + if(action=="buy"){ + //--------------此时操作的数据------------ + var newd = { + id: th.data.data.id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + keyid: th.data.sto_sele_keyid, + }; + newd['pick_name'] = th.data.sto_sele_name; + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type']=0; + + if(this.data.prom_type && this.data.prom_type == 1) { + newd['prom_type'] = this.data.prom_type; + newd['prom_id'] = this.data.prom_id; + newd['prom_price'] = this.data.prom_price; + }; + + if(this.data.prom_type == 1 && this.data.openSpecModal_flash_normal) { + newd['prom_type'] = 0; + newd['prom_price'] = this.data.data.shop_price; + }; + + // console.log('newd++++++++', newd); + th.buyNow(newd); + } else { + + var newd = { + service_id: th.data.data.id, + service_sn:th.data.data.service_sn, + service_name:th.data.data.goods_name, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id:oo.user_id, + store_id:os.stoid, + money:th.data.data.shop_price, + }; + if(getApp().globalData.guide_id) { + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type']=0; + }; + // 秒杀:单独购买的情况下,加入购物车显示的是零售价,否则显示秒杀活动价 + if(th.data.options.prom_type == 1) { + newd['prom_type'] = th.data.options.prom_type; + newd['prom_id'] = th.data.options.prom_id; + if(th.data.openSpecModal_flash_normal) { + newd['money'] = th.data.data.shop_price; + newd['is_pd_normal'] = 1; + } else { + newd['money'] = th.data.prom_price; + }; + }; + - 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", { + //----先看会员在购物车中是否加入了该商品----- + getApp().request.get("/api/weshop/cartService/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 && 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, + service_id: th.data.data.id, }, - }).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 && (!th.data.fir_quan || th.data.fir_quan.length <= 0)) { - //----获取详情页的券的数量---- - 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; + success: function(re) { + //-------如果购物车中有相关的数据--------- + if (re.data.data.total > 0) { + var item = null; + // 多门店问题 + var cartGoodsNum = 0; + const tmpObj = re.data.data.pageData; + for (let i = 0; i < tmpObj.length; i++) { + if (th.data.sto_sele_id != tmpObj[i].pick_id) { + cartGoodsNum += parseInt(tmpObj[i].goods_num); + } else { + item = tmpObj[i]; + } + } + // 当前门店同类商品还没加入到购物车 但是有其他门店的同类商品 + if (th.data.prom_type == 1 && !th.data.is_normal && !item) { + + // 秒杀购物车购买 修正数量 + var snum = limitNum - boughtNum; + if (snum <= 0) { + // wx.showModal({ + // title: '超出限购数量', + // }); + getApp().my_warnning('超出限购数量', 0, self); + return false; + } + + var cSnum = snum- cartGoodsNum <= 0 ? 0 : snum- cartGoodsNum; + var cRedisNums = redisNums- cartGoodsNum <= 0 ? 0 : redisNums- cartGoodsNum; + + if (newd['goods_num'] >= redisNums){ + if (redisNums > snum) { + newd['goods_num'] = cSnum; + } else { + newd['goods_num'] = cRedisNums; + } + } else { + if (newd['goods_num'] > snum) newd['goods_num'] = cSnum; + } + + if (newd['goods_num'] <= 0) { + getApp().my_warnning('加入购物车成功', 1, th, 450); + th.closeSpecModal(); + return false; + } + getApp().request.post("/api/weshop/cartService/save", { + data: newd, + 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(); + } + }); + return false; + } + + // 以下为当前门店同类商品已经加入到购物车 + var totalNum = th.data.goodsInputNum + item.goods_num; + + // 秒杀购物车购买 修正数量 + if (th.data.prom_type == 1 && !th.data.is_normal) { + var snum = limitNum - boughtNum; + if (snum <= 0) { + // wx.showModal({ + // title: '超出限购数量', + // }); + getApp().my_warnning('超出限购数量', 0, self); + return false; + } + if (totalNum >= redisNums){ + if (redisNums > snum) { + totalNum = snum- cartGoodsNum; + } else { + totalNum = redisNums- cartGoodsNum; + } + } else { + if (totalNum > snum) + totalNum = snum- cartGoodsNum; + } + } + + var updata = { + id: item.id, + goods_num: totalNum, + money: th.data.data.shop_price, + store_id: os.stoid, + }; + + // 秒杀:单独购买的情况下,加入购物车显示的是零售价,否则显示秒杀活动价 + if(th.data.options.prom_type == 1) { + // updata['prom_type'] = th.data.options.prom_type; + // updata['prom_id'] = th.data.options.prom_id; + if(th.data.openSpecModal_flash_normal) { + updata['money'] = th.data.data.shop_price; + updata['is_pd_normal'] = 1; + } else { + updata['money'] = th.data.prom_price; + }; + }; + + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 1; + } + getApp().request.put("/api/weshop/cartService/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 { + getApp().request.post("/api/weshop/cartService/save", { + data: newd, + 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(); + } + }); + } } - }) - this.getHistoryBuy(); //获取历史购买 - 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 () { - - getApp().check_can_share(); - - 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; - } + }; + + + + + + + + }, + + //----------立即购买----------- + buyNow: function(e) { + getApp().globalData.service_now=e; + wx.redirectTo({ + url: "/packageA/pages/cart2_ser/cart2_ser", + }); + }, + //----------增加购买数量----------- + 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)); + }, - if(this.data.show_video) { - this.data.show_video=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(); - //先检验一下商品的活动情况 - this.check_gd_prom_new(function () { - i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { - failRollback: !0, - success: function (t) { - console.log(t); - if (t.data.code == 0) { - if (t.data.data.is_on_sale != 1) { - wx.showModal({ - title: '商品已经下架', - showCancel: !1, - complete: function () { - wx.navigateBack(); - } - }); - } + //------检查数量是不是超出限购------ + checkCartNum: async function(t) { + var th = this; + + if(!th.data.def_pick_store) { + wx.showModal({title: '请选择门店',}); + return false; + }; + + // 非秒杀活动 + if(this.data.prom_type != 1) { + this.setData({ + goodsInputNum: t, + }); + }; + + // 秒杀活动 + if(this.data.prom_type == 1) { + // 如果是秒杀活动下的单独购买,is_normal为1 + if(this.data.openSpecModal_flash_normal) this.data.is_normal = 1; + + if(this.data.is_normal) {// 单独购买 + this.setData({ + goodsInputNum: t, + }); + } else {// 秒杀购买 + + // 获取redis当前可以购买的数量 + // 如果数量为0,设置和显示已抢光 + // 否则,进一步判断是否超出限购或超出库存 + await this.getactLen().then(async function(res) { + // res: redis可购买数量 + // console.log('当前可以购买的数量:', res); + if(res <= 0) { + // 可购买数量<=0, 设置和显示已抢光 + th.setData({ + prom_r_null: 1, + }); + } else { + // 可购买数量>0 + // 计算自己还可以购买的数量 + // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b + // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存 + // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购 + let actInfo = th.data.sele_g; + await th.get_buy_num2().then(function (data) { + let limited = actInfo.buy_limit; // 限购数量a + let promcardbuynum = data.data.data.promcardbuynum; + let buyedNum = promcardbuynum; // 自己已经购买的数量b + let canBuyNum = limited - buyedNum; // 自己还可购买的数量c + + if(canBuyNum <= 0) { + canBuyNum = 0; + }; + + if(limited > res) { + if(t > res) { // t当前增减的数量 + // wx.showModal({ + // title: '超出活动库存', + // }); + getApp().my_warnning('超出活动库存', 0, self); + th.setData({ + goodsInputNum: res, + }); + return false; + }; + }; + + if(limited <= res) { + if(t>canBuyNum) { + // wx.showModal({ + // title: '超出限购数量', + // }); + getApp().my_warnning('超出限购数量', 0, self); + th.setData({ + goodsInputNum: canBuyNum, + }); + return false; + }; + }; + + th.setData({ + goodsInputNum: t, + }); + }); + }; + }); + + } + + + }; + + + + + + + + + + + + // var e = th.data.sele_g.goods_num; + // 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; + // } + // } + + + // th.setData({goodsInputNum: t}); + + // }); - 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.user_id; - getApp().request.get(url, { - success: function (e) { - if (e.data.code == 0 && e.data.data) { - if (ut.gettimestamp() < e.data.data.start_time) { - return false; - } - if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { - //-- 获取商品列表 -- - th.setData({zh_act: e.data.data}); - } - - } - } - }); - } + }, - //-- 把商品的赋值,同时给活动赋值 -- - ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); - if (t.data.data.prom_type && t.data.data.prom_id) { - ee.data.prom_type = t.data.data.prom_type; - ee.data.prom_id = t.data.data.prom_id; - } + closeSpecModal: function() { + this.setData({ + openSpecModal: !1, + openSpecModal_pt: !1, + openSpecModal_flash_normal: !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; + } - if (ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 2) { - ee.check_is_youhui(ee.data.gid); - } + var ind = t.currentTarget.dataset.ind; + this.setData({ + openSpecModal: !0, + openSpecModal_ind: ind, + }); - t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); + }, + + //---------点击收藏和不收藏------------ + collectGoods: function() { + var t = this,i = getApp().request; + var user_id = s.globalData.user_id; + if (user_id == '') { + getApp().getUserFir(function() {}); + getApp().showWarning("未登录"); + return false; + } else { + + if(t.data.is_collect_load) return false; + t.data.is_collect_load=1; + + if (t.data.is_collect == 1) { //删除收藏 + i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, { + success: function(e) { + t.data.is_collect_load=0; + if (e.data.code == 0) { + t.setData({ + is_collect: 0, + collect_id: 0, + }); + } + } + }); + } else { + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + var d = { + goods_id: t.data.data.goods_id, + user_id: s.globalData.user_id, + store_id: o.stoid, + add_time: timestamp, + type: 1, + }; + //加入收藏夹就是导购的ID + if(getApp().globalData.guide_id){ + d.guide_id=getApp().globalData.guide_id; + d.guide_type=2; + } - var cur_price = t.data.data.shop_price; - if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) { - var cfile = getApp().globalData.userInfo.card_field; - if (t.data.data[cfile]) { - cur_price = t.data.data[cfile]; - } - } - var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString(); - txt = parseFloat(txt); + i.post("/api/weshop/goodscollect/save", { //添加收藏 + data: d, + success: function(e) { + t.data.is_collect_load=0; + if (e.data.code == 0) { + t.setData({ + is_collect: 1, + collect_id: e.data.data.collect_id, + }); + } + } + }); + } + } + }, + //---------联系客服------------ + contactService: function () { + this.getTel() + .then(() => { + if(self.data.store_tel) { + wx.showModal({ + title: '联系客服', + content: '客服热线:' + self.data.store_tel, + confirmText: '拨打', + success(res) { + if(res.confirm) { + wx.makePhoneCall({ + phoneNumber: self.data.store_tel, + }) + }; + }, + }); + }; + }); + }, + // 获取客服电话 + getTel() { + return new Promise((resolve, reject) => { + s.getConfig(function (t) { + if (t.store_tel == undefined) { + getApp().request.get("/api/weshop/store/get/" + os.stoid, { + isShowLoading: 1, + data: {}, + success: function (rs) { + getApp().globalData.config = rs.data.data; + if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) { + getApp().my_warnning("商家未设置电话", 0, th); + return false; + } + self.setData({ + store_tel: rs.data.data.store_tel, + }); + // s.confirmBox("请联系客服:" + rs.data.data.store_tel); + } + }) + } else { + self.setData({ + store_tel: t.store_tel, + }); + // s.confirmBox("请联系客服:" + t.store_tel); + }; + resolve(); + }); + }); + }, + //-------获取购物车数量---------- + requestCardNum: function() { + var t = this; + getApp().request.get("/api/weshop/cart/page", { + data: { + store_id: o.stoid, + user_id: s.globalData.user_id, + state:0, + is_gift:0 + }, + success: function(e) { + var num = 0; + for (var i = 0; i < e.data.data.pageData.length; i++) { + num += e.data.data.pageData[i].goods_num; + } - t.data.data['disc'] = txt; + /*-- + t.setData({ + cartGoodsNum: num + });--*/ + + //-- 读取服务卡的数量 -- + getApp().promiseGet("/api/weshop/cartService/page",{ + data:{ + store_id: s.globalData.setting.stoid, + user_id: s.globalData.user_id, + } + }).then(res=>{ + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + t.setData({cartGoodsNum:num}); + }) - if (t.data.data.original_img.indexOf(o.imghost) == -1) - t.data.data.original_img = o.imghost + t.data.data.original_img; - if (t.data.data.goods_content == null) t.data.data.goods_content = ""; + } + }); + }, + + //--点击分享事件--- + onShareAppMessage: function(t) { + + var th = this; + var price = th.data.data.shop_price; + if (th.data.prom_act) { + price = th.data.prom_act.price; - //-----商品详情--- - if (!t.data.data.goods_content) t.data.data.goods_content = " "; - a.wxParse("content", "html", t.data.data.goods_content, ee, 6); - e.wxParseAddFullImageUrl(ee, "content"); + } + var title= th.data.data.goods_name; + var img=th.data.data.original_img; + if(th.data.prom_type==6){ + title=th.data.prom_act.share_title; + img=th.data.iurl+th.data.prom_act.share_imgurl; + } + + - if (ee.data.prom_type) { - t.data.data.prom_type = ee.data.prom_type; - t.data.data.prom_id = ee.data.prom_id; - } - ee.setData({ - data: t.data.data, - sele_g: t.data.data, - userInfo: getApp().globalData.userInfo - }); + + var url="/packageA/pages/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 == 1) { + if(th.data.sele_g && th.data.sele_g.share_title) { + title = th.data.sele_g.share_title; + ob.title = title; + }; + if(th.data.sele_g && th.data.sele_g.share_imgurl) { + img = th.data.iurl + th.data.sele_g.share_imgurl; + ob.imageUrl = img; + }; + }; + + 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) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, - //获取统一条形码,普通商品和优惠促销的商品 - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9 || ee.data.data.prom_type == 10) { - //默认门店要拿下门店库存 - if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { - //获取门店 - ee.get_sto(); + //-----图片失败,默认图片----- + bind_bnerr2: function(e) { - } else { - //获取门店 - ee.get_sto(); - } + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png" + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, - ee.get_sku(o.stoid, t.data.data, gid); - ee.check_has_flash(); + + //---------拿出门店分类和门店------------ + get_sto(e) { + var th = this,that=this; + var timer_get = setInterval(function() { + if (th.data.is_get_local_ok == 0) return false; + var i = getApp().request; + if (!th.data.data) return false; + var dd= { + store_id: o.stoid, + isstop: 0, + is_pos: 1, + pageSize: 2000 + } + //如果有距离的话 + if (th.data.lat != null) { + dd.lat = th.data.lat; + dd.lon = th.data.lon; + } + clearInterval(timer_get); + + //如果会员是有默认的门店话 + if(!th.data.def_pick_store && th.data.fir_def_store){ + th.setData({def_pick_store:th.data.fir_def_store}); + } + + wx.showLoading({ + title:'加载中.' + }); + //----------获取门店---------------- + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: dd, + }).then(res => { + var e = res; + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { + + var his_cate_num=0; + for(let i in e.data.data.pageData){ + let item=e.data.data.pageData[i]; + if(item.category_id>0){ + his_cate_num=1;break; + } + } + e.his_cate_num=his_cate_num; + + //--普通门店排版-- + setTimeout(function(){ + var sto_list=th.data.data.storageId; + if(sto_list){ + for (var k = 0; k < e.data.data.pageData.length; k++) { + var it=e.data.data.pageData[k]; + if (sto_list.indexOf(it.keyid)==-1) { + //删除 + e.data.data.pageData.splice(k--, 1); + } + } + } + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + 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}); + th.deal_pickup(e); + },800) + + } + }) + }, 200) + }, + + //------------处理门店--------------- + deal_pickup(e){ + var th=this; + if(!th.data.data) return false + wx.hideLoading(); + //单总量超出5个的时候 + if (e.data.data.total > 10 && e.his_cate_num) { + getApp().request.get("/api/weshop/storagecategory/page", { + data: { + store_id: o.stoid, + pageSize: 1000, + orderField:"sort", + orderType:'asc', + }, + success: function(ee) { + if (ee.data.code == 0) { + + var check_all_cate=0; + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0){ + for(let i in ee.data.data.pageData){ + let item=ee.data.data.pageData[i]; + if(item.is_show==1){ + check_all_cate=1;break + } + } + } + + if (check_all_cate) { + + + var sto_cate = ee.data.data.pageData; + var sto_arr = e.data.data.pageData; + var newarr = new Array(); + var qita = new Array(); + + var is_del_pk=0; + + //----要进行门店分组-------- + for (var i = 0; i < sto_arr.length; i++) { + //找一下这个门店有没有在分类数组内 + var find2 = 0, find2name = "",sort=0; + is_del_pk=0; + for (var m = 0; m < sto_cate.length; m++) { + if (sto_arr[i].category_id == sto_cate[m].cat_id) { + if (sto_cate[m].is_show != 1) { + is_del_pk = 1; + sto_arr.splice(i, 1); + i--; + } else { + find2 = sto_cate[m].cat_id; + find2name = sto_cate[m].cat_name; + sort = sto_cate[m].sort; + is_del_pk = 0; } - 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 - }); - } - } - }); - } - + break; + } + } + if(is_del_pk) continue; + + 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; + } } - else { - wx.showModal({ - title: t.data.msg, - showCancel: !1, - complete: function () { - wx.navigateBack(); - } - }); + 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]); + } } - }); - }) - - this.data.enterAddressPage && (this.data.enterAddressPage = !1); - - - - }, - - onReady() { - - setTimeout(()=>{ - wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => { - // console.log('node@@@@@@@', res); - if(res.length != 0) { - this.setData({ - showFold: res[0].height < res[1].height, - }); - }; - - }).exec(); - }, 1000); - - }, - - 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(); - }, + var def_arr = new Array(); + //-- 开始就看10个门店 -- + for (var k = 0; k < 10; k++) { + if (k == sto_arr.length) break; + def_arr.push(sto_arr[k]); + } - //商品详情的时候调用 - tabGoodsContent: function () { - var th = this, - i = getApp().request; - this.setData({ - activeCategoryId: 1 - }); + th.setData({ + def_pickpu_list: def_arr, + pickpu_list: ee.data.data.pageData + }); + + //门店分类要排序下 + 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); + } - 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 - }); - } + var sd={ + all_sto: newarr, + is_show_sto_cat:1 } - }); - //过去国别,分类,品牌的名称 - 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 - }); - } + if(!sto_arr || sto_arr.length<=10){ + sd.is_show_sto_cat=-1; + sd.only_pk=sto_arr; } - }); - } - }, + th.setData(sd); - //获取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; + } 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]}) } - }) - 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 - }); + } + } + }); + } 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) { + + if(e.data.data && e.data.data.pageData && e.data.data.pageData.length>0){ + 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 + }) + } + } + } + }, + + //加载更多是靠这个函数 + onReachBottom: function() { + if (this.data.activeCategoryId == 2){ + if(!this.data.comments_no_more) this.requestComments_new(); + } - //如果是秒杀的话,要看redis够不够 - if (this.data.prom_type == 1 || this.data.prom_type == 2) { + var goods_list = this.selectComponent("#goods_list"); //组件的id + if (goods_list) goods_list.get_list(); + }, - if (this.data.openSpecModal_flash_normal) { - this.data.is_normal=1; //是普通购买 - th.add_cart_func(t); - return false; - } + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; + }, - 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); - } - }, + + //--定义的保存图片方法,分享团--- + 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; + } - //-- 加入购物的函数 -- - 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); - } + //类型 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; - 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: '超出商品限购' - // }); - s.my_warnning('超出商品限购', 0, th); - 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: '超出商品活动限购' - // }); - s.my_warnning('超出商品活动限购', 0, th); + 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); + } + + + //---产品名称--- + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 + if(type!=4){ + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, th.data.data.goods_name, + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); + //------产品的价格------- + context.setFontSize(23 * unit) + context.setFillStyle("red") + context.fillText("¥", 416 * unit, 185 * unit); + context.setFontSize(31 * unit) + var pri0 = th.data.data.shop_price; + if (th.data.prom_act) + pri0 = th.data.prom_act.price; + pri0 = parseFloat(pri0).toFixed(2); + context.fillText(pri0, 438 * unit, 185 * unit); + //---市场价划掉--- + context.setFillStyle("gray") + context.setFontSize(22 * unit) + context.fillText("¥" + th.data.data.market_price, 426 * unit, 213 * unit); + context.setStrokeStyle('gray'); + context.setLineWidth(1 * unit); + context.moveTo(426 * unit, 206 * unit); + context.lineTo(510 * unit, 206 * unit); + context.stroke(); + + }else{ + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, th.data.data.goods_name, + 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, 120 * unit, 120 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 410 * unit, 726 * unit, 115 * unit, 125 * 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, 120 * unit, 120 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * 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, 120 * unit, 120 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * 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(22 * 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, 120 * unit, 120 * unit); + }else{ + //---二维吗图--- + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * 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) - 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 && 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; - } + //文本换行 参数: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); + } + } + }, - //如果是积分够,is_integral_normal就要有积分购普通购买字段 - //if(o.prom_type==4){ - //newd.is_integral_normal=1; - //} + // ----视频图片---- + // 图片计数器 + 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) + }, - //-----如果是秒杀,团购,积分购,拼团----- - 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + //--获取头像的本地缓存,回调写法-- + 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; + } + //获取商品是分享图信息 + wx.getImageInfo({ + src: ee.data.data.original_img, + success: function(res) { + //res.path是网络图片的本地地址 + ee.data.share_goods_img = res.path; + tt(); + }, + fail: function(res) { - var i_canbuy = th.data.prom_act.limitqty - th.data.prom_act.buy_num; - if (i_canbuy < e.data.goodsInputNum) { - return s.my_warnning("活动库存不足!", 0, th); - } - th.add_cart_next(e, t, a, o, newd); //立即购买下一步 + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 + tt(); + } + }); + }, - }) - }, - //-- 加入购物的函数 -- - add_cart_func: function (t) { - var i = getApp().request; - if (oo.user_id == null) { - return s.my_warnning("还未登录!", 0, this); - } + //--跳转到商品详情页面-- + go_goods: function(e) { + var gid = e.currentTarget.dataset.gid; + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid; + getApp().goto(url); + }, - if (!getApp().globalData.userInfo) { - return s.my_warnning("还未登录!", 0, this); - } - var e = this, - th = e, - a = 0, - o = this.data.sele_g; - 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: '超出商品限购' - // }); - s.my_warnning('超出商品限购', 0, th); - return false; - } - } - //---判断商品是否超出活动限购--- - if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) { - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { - // wx.showModal({ - // title: '提示', - // content: '超出商品活动限购' - // }); - s.my_warnning('超出商品活动限购', 0, th); - return false; - } - } + 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); + }, - 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); + // 选择门店 + choice_store: function(ee) { + var th = this; + var ind=ee.currentTarget.dataset.ind; + var bconfig = th.data.bconfig; - //--------------此时操作的数据------------ - 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, - prom_id: th.data.sele_g.prom_id, - prom_type: th.data.sele_g.prom_type, - }; - - //---是不是从收藏夹出来的--- - 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.only_pk && !th.data.def_pickpu_list){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } - //让商品带上房间号 - //让商品带上房间号 - if (!th.data.sys_switch.is_skuroom_id && 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.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; + } - //如果是积分够,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 || th.data.prom_type == 2) { - - if (th.data.openSpecModal_flash_normal) { - - newd.prom_type = 0; - newd.prom_id = 0; - - //---如果是线下门店销售的时候--- - if (th.data.sales_rules == 2) { - var pick = th.get_pick_from_list(th.data.sto_sele_id) - //---通过接口获取门店的线下库存信息-- - getApp().request.get("/api/weshop/goods/getWareStorages", { - data: { - storageNos: pick.pickup_no, - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), - storeId: os.stoid - }, - success: function (res) { - if (res.data.code == 0) { - if (res.data.data.pageData.length > 0) { - var CanOutQty = res.data.data.pageData[0].CanOutQty; - if (CanOutQty < e.data.goodsInputNum) { - return s.my_warnning("库存不足!", 0, th); - } - //在调一次接口,读取商品的预出库的数量,lock - getApp().request.get("/api/weshop/order/ware/lock/page", { - data: { - store_id: os.stoid, - wareId: th.data.sele_g.goods_id, - storageId: pick.pickup_id, - pageSize: 1000 - }, - success: function (res_data) { - if (res_data.data.code == 0 && res_data.data.data.total > 0) { - - 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - } + if (bconfig && bconfig.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function(res) { - return false; - } + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + th.setData({ is_gps: 1 }); + th.get_sto(th.data.is_normal); + }, + fail: function(res) { + + 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); + } - 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - - } else if (o.prom_type == 7) { - - //判断进行中的活动,是不是要判断线下库存 - th.check_zh_acting(function (ee) { - newd.prom_id = 0; - newd.prom_type = 0; - if (ee && th.data.sele_g.act) { - newd.prom_id = th.data.sele_g.act.id; - newd.prom_type = 7; - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - return false; - } else { - //---如果是线下门店销售的时候--- - if (th.data.sales_rules == 2) { - var pick = th.get_pick_from_list(th.data.sto_sele_id) - //---通过接口获取门店的线下库存信息-- - getApp().request.get("/api/weshop/goods/getWareStorages", { - data: { - storageNos: pick.pickup_no, - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), - storeId: os.stoid - }, - success: function (res) { - if (res.data.code == 0) { - if (res.data.data.pageData.length > 0) { - var CanOutQty = res.data.data.pageData[0].CanOutQty; - if (CanOutQty < e.data.goodsInputNum) { - return s.my_warnning("库存不足!", 0, th); - } - //在调一次接口,读取商品的预出库的数量,lock - getApp().request.get("/api/weshop/order/ware/lock/page", { - data: { - store_id: os.stoid, - wareId: th.data.sele_g.goods_id, - storageId: pick.pickup_id, - pageSize: 1000 - }, - success: function (res_data) { - if (res_data.data.code == 0 && res_data.data.data.total > 0) { - - 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - } - } - }) + 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 + }) - } - else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5 || th.data.prom_type == 10) { - newd.prom_type = 0; - newd.prom_id = 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 + }) + } + }, - if (th.data.prom_type == 10) { - newd.prom_type = th.data.prom_type; - newd.prom_id = th.data.prom_id; - } + //选择更多门店 + 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 + }); + }, - //---如果是线下门店销售的时候--- - if (th.data.sales_rules == 2) { - var pick = th.get_pick_from_list(th.data.sto_sele_id) - //---通过接口获取门店的线下库存信息-- - getApp().request.get("/api/weshop/goods/getWareStorages", { - data: { - storageNos: pick.pickup_no, - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), - storeId: os.stoid - }, - success: function (res) { - if (res.data.code == 0) { - if (res.data.data.pageData.length > 0) { - var CanOutQty = res.data.data.pageData[0].CanOutQty; - if (CanOutQty < e.data.goodsInputNum) { - return s.my_warnning("库存不足!", 0, th); - } - //在调一次接口,读取商品的预出库的数量,lock - getApp().request.get("/api/weshop/order/ware/lock/page", { - data: { - store_id: os.stoid, - wareId: th.data.sele_g.goods_id, - storageId: pick.pickup_id, - pageSize: 1000 - }, - success: function (res_data) { - if (res_data.data.code == 0 && res_data.data.data.total > 0) { - - 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - } - } - }) - }, + choose_for_store_fir: function(e) { + var index_c = e.currentTarget.dataset.ind; + var th=this; + th.setData({ + fir_pick_index: index_c + }) - //---加入购物车的最后一步--- - add_cart_next(e, t, a, o, newd, CanOutQty) { - var th = this, i = getApp().request; - //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ - if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4 && o.prom_type != 2 ) || th.data.is_normal)) { - var conf = th.data.bconfig; - if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { - var s_list = JSON.parse(conf.switch_list); - var now = ut.gettimestamp(); - - - var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); - var end = new Date(str); - end = Date.parse(end) / 1000; - - //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- - if (parseInt(s_list.rank_switch) == 2 && end > 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) { + //确定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]; //当没有门店分类的时候 + } - if (th.data.prom_goods) { - newd.prom_type = 3; - newd.prom_id = th.data.prom_goods[0].prom_id; - } + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } - //----先看会员在购物车中是否加入了该商品----- - 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, - state: 0 - }, - 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 ser_card=this.data.data; + //判断门店的配送方式是不是匹配 + if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(item.keyid)==-1){ + wx.showToast({ + title: "该门店无此服务项目,请重新选择!", + icon: 'none', + duration: 2000 + }); + return false; + } + + if(!item) return false; + + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_keyid: item.keyid, + 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 + }) + } + }, + + //---点击二级之后的选择--- + 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 + }) - 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; - } - } + }, + //把选择的门店设置成默认的门店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 ser_card=this.data.data; + //判断门店的配送方式是不是匹配 + if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(item.keyid)==-1){ + wx.showToast({ + title: "该门店无此服务项目,请重新选择!", + icon: 'none', + duration: 2000 + }); + return false; + } - 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(); - } - }); - } - } + + + 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) + } } - else { - - //这一步主要是要让立即购买 走 购物车的逻辑 参与活动 - if (newd.prom_type == 10 || newd.prom_type == 7) { - //----先看会员在购物车中是否加入了该商品,立即购买的----- - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: e.data.stoid, - user_id: oo.user_id, - state: 1 - }, - success: function (res) { - //-------如果购物车中有相关的数据--------- - if (res.data.code == 0 && res.data.data.total > 0) { - for (let j in res.data.data.pageData) { - let item_j = res.data.data.pageData[j]; - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; - getApp().request.delete(url, {}); - } - } - newd.state = 1; - getApp().request.post("/api/weshop/cart/save", { - data: newd, - success: function (t) { - th.closeSpecModal(); - getApp().goto("/pages/cart/cart2/cart2?state=1"); - } - }); - } - }) - return false; - } - - 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); - } - }, + if(!item) return false; + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_keyid: item.keyid, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0 + }); - //----------购买虚拟商品------ - 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) + 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, }); - }, - //----------积分兑换--------- - exchange: function (e) { - this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({ - url: "/pages/cart/integral/integral?" + t.Obj2Str(e) + } 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级 + }); + } - //----------立即购买----------- - 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, + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, }) + } + + }, + + 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); + } - 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("/pages/cart/cart2/cart2?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("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + th.setData({ + is_gps: "3" + }); } - } - }, - - //----------增加购买数量----------- - 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)); - }, + th.data.is_get_local_ok = 1; + } + }) + } else { + th.data.is_get_local_ok = 1; + } + clearInterval(t_time); + }, 500) + }, + + + //-- 根据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;} + } + }, + + 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() { + getApp().pre_img(this.data.shareImgPath); + }, + + onShareTimeline() { + getApp().globalData.no_clear=1 + 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, + }) + }, - //----------增加购买数量----------- - 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)); + //---------联系微信客服------------ + con_weixin:function () { + var url=this.data.sys_switch.weapp_customertype_url; + var id=this.data.sys_switch.weapp_customertype_appid; + wx.openCustomerServiceChat({ + extInfo: {url: url}, + corpId: id, + success(res) {} + }) }, + + //评论的调用 + requestComments_new: async function () { + var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3; + var t = '/api/weshop/serviceComment/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, + service_id: this.data.gid, + } + if (getApp().globalData.userInfo) { + req_where.userId = getApp().globalData.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/serviceComment/pageComment", { + data: { + store_id: o.stoid, + parent_id: ep.comment_id, + service_id: this.data.gid, + } + }).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(); + }, + + + + //--点赞功能-- + 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/serviceCommentZan/save", { + data: { + store_id: o.stoid, + user_id: app.globalData.user_id, + goods_id: th.data.gid, + service_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) + + } + }) + }, + + + //--外侧评价的点击效果--- + clik_evaluate: function (e) { + var val = e.currentTarget.dataset.val; + this.setData({ + activeCategoryId: 2, + activeCategoryId3: val, + comments: null + }); + this.requestComments_new(); + }, + + + //显示全部 + 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 + }) + }, + + //--查看评价-- + look_pj: function () { + this.tabComment(); + this.doScrollTop(); + }, + + 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 + }); + }, + + + // 判断是否开启美业,获取套盒列表 + getTaohe() { + // 判断是否开启美业 + getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => { + if(res.data.code == 0) { + let enableMeiye = res.data.data.EnableMeiye; + self.setData({ + enableMeiye, + }); + + if(enableMeiye) { // 开启美业 + // 获取套盒列表 + let url = '/api/weshop/serviceGoods/list' + let data = { + store_id: getApp().globalData.setting.stoid, + service_id: this.data.data.id, + }; + // 请求数据 + getApp().promiseGet(url, { + data: data, + }).then(res => { + if (res.data.code == 0) { + console.log('请求成功套盒列表', res); + self.setData({ + taoheList: res.data.data, + }); + } else { + throw (res); + }; + }).catch(err => {}); + + }; + }; + }); + }, + + + + + //---小于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_normal(gid) { + this.setData({ + prom_type: 0, + isshow: 1, + }); + // this.get_sku(os.stoid, this.data.data, gid); + this.get_sto(); + // this.check_is_youhui(gid, 1); + this.data.is_normal = 1; + }, + + + //获取redis中的数量 + async getactLen() { + let prom_type = this.data.options.prom_type; + let prom_id = this.data.options.prom_id; + return await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { + 1: 1 + }).then(res => { + if (res.data.code == 0) { + // 当前可以购买的数量 + let r_num = res.data.data; + return r_num; + }; + }) + }, + + + + + //--------检查是否活动,活动是否开始,或者是否结束------- + async check_prom(gid, prom_type, prom_id) { + var ee = this, th = ee; + var user_id = getApp().globalData.user_id; + if (!user_id) user_id = 0; + + if (prom_type == 1 && prom_id == 0) { + this.setData({ + prom_type: 0, isshow: 1, + }); + + //获取门店 + this.get_sto(); + // this.get_sku(o.stoid, this.data.data, gid); + this.check_has_flash(); + this.data.is_normal = 1; + // this.check_is_youhui(gid, 1); + return false; + } + + //---判断秒杀---- + if (prom_type == 1 && prom_id > 0) { + //-------判断活动是否抢光--------- + 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) { + th.setData({ + prom_r_null: 1, + goodsInputNum: res.data.data, + }); + + // th.setData({goodsInputNum: redis_num}) + }; + //拿取价格并且判断时间-- + getApp().request.get("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, { + success: function (t) { + th.setData({ + sele_g: t.data.data, + }); + + if (t.data.code != 0) { + ee.get_normal(gid); + return false; + } + //----已经结束----- + if (t.data.data.is_end == 1) { + ee.get_normal(gid); + return false; + } + //----已经过期----- + var now = ut.gettimestamp(); + if (t.data.data.end_time < now) { + ee.get_normal(gid); + return false; + } + /*-- 还没有开始预热的也不显示 --*/ + if (t.data.data.show_time > now) { + ee.get_normal(gid); + 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.user_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; + if (endTime1 > newTime) { + ee.setData({ + prom_time_text: '距秒杀开始还有', + prom_st: 0, + }) + ee.countDown(endTime1, 0); + } else { + if (endTime2 > newTime) { + ee.setData({ + prom_time_text: '距秒杀结束还有', + prom_st: 1 + }) + ee.countDown(endTime2); + } + } + + //如果是进行中的话 + if (endTime1 < newTime) { + //-- 获取秒杀活动的多少规格 -- + ee.get_more_flash(function (list) { + if (list && list.length > 1) { + + var n_item = list[0]; + var ind = list.findIndex(function (ele) { + return ele.goods_id == ee.data.data.goods_id; + }) + if (ind < 0) return false; + if (ind > 0) { + n_item = JSON.parse(JSON.stringify(list[ind])); + list.splice(ind, 1); + list.unshift(n_item); + } + + ee.data.sele_g.viplimited = n_item.viplimited; + ee.data.data.viplimited = n_item.viplimited; + + var gb = 1; + //-- 显示多规格 -- + for (let i in list) { + let item = list[i]; + var gg = ""; + 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 = "规格" + gb; + gb++; + } + item.gg = gg; + item.prom_id = item.prom_id; + item.prom_type = 1; + } + + ee.setData({ + sku_g: list, + }); + + } + }) + } + + } + }); + } + }) + } + + }, + + + + viewFlash(e) { + let prom_type = e.currentTarget.dataset.promtype; + let prom_id = e.currentTarget.dataset.promid; + let goods_id = this.data.data.goods_id; + let url = `/packageA/pages/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`;s + getApp().goto(url); + }, + + + + //获取更多秒杀 + get_more_flash: async function (func) { + var f_more = false; + var user_id = getApp().globalData.user_id; + if (!user_id) user_id = 0; + + var url = "/api/weshop/goods/listSkuFlash?store_id=" + os.stoid + "&goods_id=" + this.data.options.goods_id + "&user_id=" + user_id; + //获取秒杀的多规格 + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + f_more = res.data.data; + } + }) + if (!f_more) { + func(false); + return false; + } + //-- 秒杀的价格要更新 -- + for (let i in f_more) { + + let item = f_more[i]; + f_more[i].prom_id = item.act_id; + f_more[i].prom_type = 1; + if (item.goods_id == this.data.data.goods_id) { + continue; + } + var url = "/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + item.act_id; + await getApp().request.promiseGet(url, {}).then(rs => { + if (rs.data.code == 0) { + f_more[i].price = rs.data.data.user_price; + + } + }) + } + func(f_more); + + }, + + + + + + //-------------获取购买数量的总函数---------------- + get_buy_num: function (gd, func) { + // var map = this.data.g_buy_num, + var 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 { + //----获取商品购买数---- + if (th.data.prom_type == 1) { + //----获取活动购买数---- + getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + card_id: th.data.options.goods_id, + prom_type: th.data.options.prom_type, + prom_id: th.data.options.prom_id + }, + //-----获取----- + success: function (tt) { + if (tt.data.code == 0) { + // map.set(gd.goods_id, g_buy_num); + th.setData({ + // g_buy_num: map, + promcardbuynum: tt.data.data.promcardbuynum, + cardbuynum: tt.data.data.cardbuynum, + }); + "function" == typeof func && func(); + } + } + }); + } else { + "function" == typeof func && func(); + }; + + }, + + + get_buy_num2: async function () { + // var map = this.data.g_buy_num, + var 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; + // } + - //------检查数量是不是超出限购------ - 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); + //----获取商品购买数---- + + //----获取活动购买数---- + return await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + card_id: th.data.options.goods_id, + prom_type: th.data.options.prom_type, + prom_id: th.data.options.prom_id + }, + //-----获取----- + success: function (tt) { + if (tt.data.code == 0) { + // map.set(gd.goods_id, g_buy_num); + th.setData({ + // g_buy_num: map, + promcardbuynum: tt.data.data.promcardbuynum, + cardbuynum: tt.data.data.cardbuynum, + }); + } + } + }); - if (t + gd_buy_num > th.data.sele_g.viplimited) { - // wx.showModal({ - // title: '超出商品限购', - // }); - s.my_warnning('超出商品限购', 0, th); - var num = th.data.sele_g.viplimited - gd_buy_num; - if (num < 0) num = 0; - th.setData({goodsInputNum: num}) - return false; - } - } + + }, + + + + + + // 促销 -> 送礼包 -> 查看详情 + viewLbDetails(e) { + let id = e.currentTarget.dataset.id; // 获取礼包id + let url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮 + // console.log('myurl', url); + getApp().goto(url); + }, + + go_more_ladder: function (e) { + var prom_id = e.currentTarget.dataset.id; + getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id); + }, + + getHistoryBuy() { + let _this = this; + let req_data = { + store_id: os.stoid, + goods_id: this.data.gid, + pay_status: 1, + rndid: 1 + }; + getApp().request.promiseGet('/api/weshop/ordergoods/list', { + data: req_data, + }) + .then(res => { + if (t.ajax_ok(res)) { + _this.setData({ + historyBuyInfo: res.data.data.pageData, + }) + } + }) + }, + - //如果是普通购买的情况下 - if(th.data.openSpecModal_flash_normal) th.data.is_normal=1; - - //--判断商品是否超出活动限购-- - 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: '超出商品活动限购', - // }); - s.my_warnning('超出商品活动限购', 0, th); - var num = th.data.prom_buy_limit - th.data.prom_buy_num; - if (num < 0) num = 0; - th.setData({goodsInputNum: num}) - return false; - } - } + + //-- 秒杀的普通购买 -- + openSpecModel_Nor: function () { + + // 是否授权登陆 + 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 ((th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) && !th.data.is_normal) { - 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: '超出商品活动库存', - // }); - s.my_warnning('超出商品活动库存', 0, th); - 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 < t) { - wx.showModal({title: '库存不足',}); - if (e < 0) e = 0; - th.setData({goodsInputNum: e}); - return false; - } - t > 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: '超出商品限购', - // }); - s.my_warnning('超出商品限购', 0, th); - 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: '超出商品活动限购', - // }); - s.my_warnning('超出商品活动限购', 0, th); - 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: '超出商品活动库存', - // }); - s.my_warnning('超出商品活动库存', 0, th); - th.setData({goodsInputNum: redis_num}) - return false; - } - } - - - //判断积分购库存 - if (!th.data.is_normal && th.data.prom_type == 4) { - var i_canbuy = th.data.prom_act.limitqty - th.data.prom_act.buy_num; - if (t > i_canbuy) { - // wx.showModal({ - // title: '超出商品活动库存', - // }); - s.my_warnning('超出商品活动库存', 0, th); - 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 < t) { - wx.showModal({title: '库存不足',}); - if (e < 0) e = 0; - th.setData({goodsInputNum: e}); - return false; - } - t > 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 check_up = 0; - if (th.data.more_flash) { - for (var i in th.data.more_flash) { - var item = th.data.more_flash[i]; - if (item.prom_type == 1) { - check_up = 1; - break - } - } - } - - - if (check_up && open_store == 1) { - th.setData({is_pop_more: 1}); - } else { - 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(); - }) - //--先判断会员状态-- - 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 is_go_next = 1; - if (th.data.more_flash && th.data.more_flash.length > 1 && open_store == 1) { - is_go_next = 0; - } - if (is_go_next) { - 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(); - }) - } else { - th.setData({is_pop_more: 1}); - - } - } - }, - open_next(){ - var th = this; - //回调。判断是不是优惠促销 - th.check_is_prom_goods(function () { - th.setData({ - openSpecModal: !0, - openSpecModal_ind: 1, - is_pop_more: 0 - }); - 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"+"/"+usr.user_id, {}).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_time < ut.gettimestamp()) { - return false; - } - } - - - var cur_goods = this.data.sele_g; - var cur_price = cur_goods.shop_price; - if (th.data.card_field && cur_goods[th.data.card_field] > 0) { - 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 < cur_price) { - cur_goods.offline_price = datalist[0].WarePrice; //存储线下活动的价格 - cur_goods.pricing_type = datalist[0].PriceType; //存储线下活动的类型 - } - } - th.setData({sele_g: cur_goods}); - } - - }) - } - - }) - - - }, - - - //---------点击收藏和不收藏------------ - collectGoods: function () { - var t = this, - i = getApp().request; - var user_id = s.globalData.user_id; - if (user_id == '') { - getApp().getUserFir(function () { - }); - getApp().showWarning("未登录"); - return false; - } else { - - if (t.data.is_collect_load) return false; - t.data.is_collect_load = 1; - - if (t.data.is_collect == 1) { //删除收藏 - i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, { - success: function (e) { - t.data.is_collect_load = 0; - if (e.data.code == 0) { - t.setData({ - is_collect: 0, - collect_id: 0, - }); - } - } - }); - } else { - var timestamp = Date.parse(new Date()); - timestamp = timestamp / 1000; - var d = { - goods_id: t.data.data.goods_id, - user_id: s.globalData.user_id, - store_id: o.stoid, - add_time: timestamp, - }; - //加入收藏夹就是导购的ID - if (getApp().globalData.guide_id) { - d.guide_id = getApp().globalData.guide_id; - d.guide_type = 2; - } - - i.post("/api/weshop/goodscollect/save", { //添加收藏 - data: d, - success: function (e) { - t.data.is_collect_load = 0; - if (e.data.code == 0) { - t.setData({ - is_collect: 1, - collect_id: e.data.data.collect_id, - }); - } - } - }); - } - } - }, - - //---------联系客服------------ - contactService: function () { - getApp().com_call(this); - }, + this.data.g_buy_num = new Map(); + var th = this; + this.setData({open_ind_store: 5, goodsInputNum: 1});//拼团直接给4 + + this.setData({openSpecModal_flash_normal: 1}); + + + // if (th.data.sku_g_pt) { + // // this.get_sto(1) + // this.setData({openSpecModal_flash_normal: 1}); + // } else { + // th.get_sto(1); + // th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + // th.setData({ + // openSpecModal_flash_normal: 1 + // }); + // }); + // } + // this.check_is_youhui(th.data.gid, 1); + }, + + closeSpecModal_flash_normal: function () { + this.setData({openSpecModal_flash_normal: 0}); + }, + + + //打开客服操作菜单 + openCS() { + // 判断会员状态 + let 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; + }; + // csType/在线客服设置: + // 0关闭(如果有设置热线电话,则显示拨打热线电话)、 + // 1小程序客服、 + // 2企业微信客服 + if(this.data.sys_switch) { + let csType = this.data.sys_switch.weapp_customertype; + if(csType == 0) { + // 拨打电话号码 + this.contactService(); + } else { + this.getTel() + .then(() => { + self.setData({ + hiddenCS: false, + }); + }); + }; + }; - // 获取客服电话 - getTel() { - return new Promise((resolve, reject) => { - s.getConfig(function (t) { - if (t.store_tel == undefined) { - getApp().request.get("/api/weshop/store/get/" + os.stoid, { - isShowLoading: 1, - data: {}, - success: function (rs) { - getApp().globalData.config = rs.data.data; - if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) { - getApp().my_warnning("商家未设置电话", 0, th); - return false; - } - self.setData({ - store_tel: rs.data.data.store_tel, - }); - // s.confirmBox("请联系客服:" + rs.data.data.store_tel); - } - }) - } else { - self.setData({ - store_tel: t.store_tel, - }); - // s.confirmBox("请联系客服:" + t.store_tel); - }; - resolve(); + }, + + //关闭客服操作菜单 + closeCS() { + this.setData({ + hiddenCS: true, + }); + }, + + + + + + + + //-- 加入购物的函数 -- + add_cart_func: 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.sele_g; + 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: '超出活动限购数量' + // }); + getApp().my_warnning('超出活动限购数量', 0, self); + return false; + } + } + //---判断商品是否超出活动限购--- + if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + // wx.showModal({ + // title: '提示', + // content: '超出活动限购数量' + // }); + getApp().my_warnning('超出活动限购数量', 0, self); + 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, + prom_id: th.data.sele_g.prom_id, + prom_type: th.data.sele_g.prom_type, + }; + + //---是不是从收藏夹出来的--- + 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 || th.data.prom_type == 2) { + + if (th.data.openSpecModal_flash_normal) { + + newd.prom_type = 0; + newd.prom_id = 0; + + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + + return false; + } + + + 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + + } else if (o.prom_type == 7) { + + //判断进行中的活动,是不是要判断线下库存 + th.check_zh_acting(function (ee) { + newd.prom_id = 0; + newd.prom_type = 0; + if (ee && th.data.sele_g.act) { + newd.prom_id = th.data.sele_g.act.id; + newd.prom_type = 7; + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + return false; + } else { + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + } + }) + + } + else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5 || th.data.prom_type == 10) { + newd.prom_type = 0; + newd.prom_id = 0; + + if (th.data.prom_type == 10) { + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + } + + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + 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 < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + } + }) + }, + + //---加入购物车的最后一步--- + add_cart_next(e, t, a, o, newd, CanOutQty) { + var th = this, i = getApp().request; + //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ + if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4 && o.prom_type != 2 ) || th.data.is_normal)) { + var conf = th.data.bconfig; + if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { + var s_list = JSON.parse(conf.switch_list); + var now = ut.gettimestamp(); + + + var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + + //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- + if (parseInt(s_list.rank_switch) == 2 && end > 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, + state: 0 + }, + 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 { + + //这一步主要是要让立即购买 走 购物车的逻辑 参与活动 + if (newd.prom_type == 10 || newd.prom_type == 7) { + //----先看会员在购物车中是否加入了该商品,立即购买的----- + getApp().request.get("/api/weshop/cart/page", { + data: { + store_id: e.data.stoid, + user_id: oo.user_id, + state: 1 + }, + success: function (res) { + //-------如果购物车中有相关的数据--------- + if (res.data.code == 0 && res.data.data.total > 0) { + for (let j in res.data.data.pageData) { + let item_j = res.data.data.pageData[j]; + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; + getApp().request.delete(url, {}); + } + } + newd.state = 1; + getApp().request.post("/api/weshop/cart/save", { + data: newd, + success: function (t) { + th.closeSpecModal(); + getApp().goto("/pages/cart/cart2/cart2?state=1"); + } + }); + }, + }) + return false; + } + + 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); + } + }, + + + click_contact:function () { + getApp().globalData.no_clear=1; + }, + + //打开客服操作菜单 + openCS() { + // csType/在线客服设置: + // 0关闭(如果有设置热线电话,则显示拨打热线电话)、 + // 1小程序客服、 + // 2企业微信客服 + let csType = this.data.sys_switch.weapp_customertype; + if(csType == 0) { + // 获取电话号码 + this.contactService(); + } else { + this.getTel() + .then(() => { + self.setData({ + hiddenCS: false, }); }); - }, - - //-------获取购物车数量---------- - requestCardNum: function () { - var t = this; - getApp().request.get("/api/weshop/cart/page", { - data: { - store_id: o.stoid, - user_id: s.globalData.user_id, - state: 0, - is_gift: 0 - }, - success: function (e) { - var num = 0; - for (var i = 0; i < e.data.data.pageData.length; i++) { - num += e.data.data.pageData[i].goods_num; - } + + }; + }, + + //关闭客服操作菜单 + closeCS() { + this.setData({ + hiddenCS: true, + }); + }, + + + + //--点击弹起拼单-- + 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) { + + if (!th.data.is_normal) { + th.data.g_buy_num = new Map(); + } + + //如果拼单的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 { + + if (th.data.is_normal) { + th.data.g_buy_num = new Map(); + } + + //拼单商品从这里进,先判断有没有买过商品, + 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 + }); + } + } + }) + } + }, + + + + + + - //-- 读取服务卡的数量 -- - getApp().promiseGet("/api/weshop/cartService/page", { - data: { - store_id: s.globalData.setting.stoid, - user_id: s.globalData.user_id, - } - }).then(res => { - 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; - getApp().pre_img2(b,t) - }, + + + - 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; - getApp().pre_img2(b,t) - }, + +}); - 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; - }), getApp().pre_img2(a,t); - this.data.show_prew_img = 1; - }, - closePromModal: function () { - this.setData({ - openPromModal: !1 - }); - }, - openPromModal: function () { - this.setData({ - openPromModal: !0 - }); - }, - - //--点击分享事件--- - onShareAppMessage: function (t) { - getApp().globalData.no_clear=1; - - var th = this; - var price = th.data.sele_g.shop_price; - if (th.data.prom_act) { - price = th.data.prom_act.price; - - } - var title = th.data.sele_g.goods_name; - var img = th.data.sele_g.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.sele_g.goods_id + "&prom_type=" + th.data.sele_g.prom_type + "&prom_id=" + th.data.sele_g.prom_id; - if (getApp().globalData.user_id) { - url += "&first_leader=" + getApp().globalData.user_id; - } - - //-- 如果房间分享,且不是会员分享的 -- - if (getApp().globalData.room_id && - th.data.sele_g.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; - } - //-- 页面不能刷新 -- - this.data.show_prew_img=1; - - console.log("share.."); - console.log(ob); - 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) { - console.log('get_sku'); - 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: 'gg_ordid,goods_spec,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: - - if(goodsinfo.prom_id) { - 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 => { - console.log(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 - //预售和幸运购不参与 - case 8: - case 9: - continue; - } - - } - //---如果有活动,不算在一起--- - if (prom) { - if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) { - console.log(prom); - if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) continue; - } else { - continue; - } - } - - - var item = arrdata[i], gg = ""; - 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 = "规格" + gb; - gb++; - } - item.gg = gg; - - if (item.spec_img) - item.original_img = os.imghost + item.spec_img; - else - item.original_img = os.imghost + item.original_img; - - - if (item.goods_id == g_id) { - gitem = item; - } else { - arrsku.push(item); - } - } - //-----------排列在最前面------------- - arrsku.splice(0, 0, gitem); - if (is_normal == 1) { - tt.setData({ - sku_g_pt: arrsku, - sele_g: gitem - }); - func(); - } else { - tt.setData({ - sku_g: arrsku, - sele_g: gitem - }); - } - }, - - //-----------选择属性的按钮事件---------- - sele_spec: function (e) { - var that = this; - var gid = e.currentTarget.dataset.gid; - var nor = e.currentTarget.dataset.nor; - - var sku_g = this.data.sku_g; - if (nor) { - sku_g = this.data.sku_g_pt; - } - - var item = null; - for (var i in sku_g) { - if (sku_g[i].goods_id == gid) { - item = sku_g[i]; - if (item.original_img.indexOf(that.data.iurl) == -1) { - item.original_img = that.data.iurl + item.original_img; - } - break - } - } - console.log(item, 2000); - var cur_price = item.shop_price; - if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) { - var cfile = getApp().globalData.userInfo.card_field; - console.log('cfile', cfile); - if (item[cfile]) { - cur_price = item[cfile]; - } - } - var txt = (cur_price / item.market_price * 10).toFixed(2).toString(); - txt = parseFloat(txt); - item['disc'] = txt; - if (item) this.setData({ - sele_g: item, - gid: gid, - data: item, - }); - - - that.check_is_youhui(gid, that.data.is_normal); - - //默认门店要拿下门店库存 - if (that.data.sales_rules == 2 && that.data.def_pick_store) { - var lock = 0, plist = null; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { - data: { - store_id: os.stoid, - wareId: that.data.sele_g.goods_id, - storageId: that.data.def_pick_store.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: that.data.def_pick_store.pickup_no, - wareIds: encodeURIComponent(that.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; - } - //--给门店赋值线下库存-- - that.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; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - if (goodsinfo.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }) - } - 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) { - - var t1 = prom.start_time; - var prom_st = 1; - if (prom.show_time) { - t1 = prom.show_time; - if (prom.start_time > now) prom_st = 0; - } - if (prom.is_end == 0 && prom.end_time > now && t1 < now) { - th.setData({ - prom_type: goodsinfo.prom_type, - prom_price: prom.price, - prom_buy_limit: prom.buy_limit ? prom.buy_limit : (prom.limitvipqty ? prom.limitvipqty : 0), - prom_end_time: prom.end_time, - prom_start_time: prom.start_time, - prom_st: prom_st, - prom_act: prom, - prom_id: prom.id - }) - - //却换图片 - th.init(goodsinfo.goods_id); - var newTime = ut.gettimestamp(); - var endTime2 = prom.end_time; - var endTime1 = prom.start_time; - - this.data.is_timer = 0; - - setTimeout(function () { - th.data.is_timer = 1; - if (endTime1 > newTime) { - th.setData({ - prom_time_text: '距秒杀开始还有' - }) - th.countDown(endTime1, 0); - } else { - if (endTime2 > newTime) { - th.setData({ - prom_time_text: '距秒杀结束还有', - prom_st: 1 - }) - th.countDown(endTime2); - } - } - - }, 1000) - - return false; - } - } - //---设置普通商品--- - th.setData({ - prom_type: 0, - prom_price: null, - prom_buy_limit: null, - prom_end_time: null, - prom_start_time: null, - prom_st: null, - }) - - }, - - - //---------拿出门店分类和门店------------ - get_sto(e) { - console.log('get_sto') - var th = this, that = this; - var is_normal = e; - - if (e == 1) { - th.setData({is_normal: 1}) - } else { - th.setData({is_normal: 0}) - } - - var timer_get = setInterval(function () { - if (th.data.is_get_local_ok == 0) return false; - var dd = null, i = getApp().request; - if (!th.data.sele_g) return false; - - var g_distr_type = th.data.sele_g.distr_type; - if (g_distr_type != 0) { - dd = { - store_id: o.stoid, - distr_type: g_distr_type, - isstop: 0, - is_pos: 1, - pageSize: 2000 - } - } else { - dd = { - store_id: o.stoid, - isstop: 0, - is_pos: 1, - pageSize: 2000 - } - } - //如果有距离的话 - if (th.data.lat != null) { - dd.lat = th.data.lat; - dd.lon = th.data.lon; - } - clearInterval(timer_get); - - //如果会员是有默认的门店话 - if (!th.data.def_pick_store && th.data.fir_def_store) { - th.setData({def_pick_store: th.data.fir_def_store}); - } - wx.showLoading({ - title: '加载中.' - }); - //----------获取门店---------------- - getApp().request.promiseGet("/api/weshop/pickup/list", { - data: dd, - }).then(res => { - var e = res; - - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { - - var his_cate_num = 0; - for (let i in e.data.data.pageData) { - let item = e.data.data.pageData[i]; - if (item.category_id > 0) { - his_cate_num = 1; - break; - } - } - e.his_cate_num = his_cate_num; - - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - 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(); - - //单总量超出10个的时候,同时门店有分类 - if (e.data.data.total > 10 && e.his_cate_num) { - getApp().request.get("/api/weshop/storagecategory/page", { - data: { - store_id: o.stoid, - pageSize: 1000, - orderField: "sort", - orderType: 'asc', - }, - success: function (ee) { - if (ee.data.code == 0) { - var check_all_cate = 0; - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { - for (let i in ee.data.data.pageData) { - let item = ee.data.data.pageData[i]; - if (item.is_show == 1) { - check_all_cate = 1; - break - } - } - } - if (check_all_cate) { - var sto_cate = ee.data.data.pageData; - var sto_arr = e.data.data.pageData; - var newarr = new Array(); - var qita = new Array(); - - - var is_del_pk = 0; - //----要进行门店分组-------- - for (var i = 0; i < sto_arr.length; i++) { - //找一下这个门店有没有在分类数组内 - var find2 = 0, find2name = "", sort = 0; - is_del_pk = 0; - for (var m = 0; m < sto_cate.length; m++) { - if (sto_arr[i].category_id == sto_cate[m].cat_id) { - if (sto_cate[m].is_show != 1) { - is_del_pk = 1; - sto_arr.splice(i, 1); - i--; - } else { - find2 = sto_cate[m].cat_id; - find2name = sto_cate[m].cat_name; - sort = sto_cate[m].sort; - is_del_pk = 0; - } - break; - } - } - if (is_del_pk) continue; - - 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]); - } - } - } - - var def_arr = new Array(); - //-- 开始就看10个门店 -- - for (var k = 0; k < 10; k++) { - if (k == sto_arr.length) break; - def_arr.push(sto_arr[k]); - } - - th.setData({ - def_pickpu_list: def_arr, - pickpu_list: ee.data.data.pageData - }); - - - //门店分类要排序下 - 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); - } - - var sd = { - all_sto: newarr, - is_show_sto_cat: 1 - } - if (!sto_arr || sto_arr.length <= 10) { - sd.is_show_sto_cat = -1; - sd.only_pk = sto_arr; - } - th.setData(sd); - - } 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], - 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 - }) - } - } - } 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], - 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 - }) - } - - } - } - }); - } 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; - 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.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) { - console.log('check_prom'); - var ee = this, th = ee; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - - if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7 || prom_type == 9 || prom_type == 10) { - this.setData({ - prom_type: 0, isshow: 1, - }); - return false; - } - - if (prom_type == 2) { - //-------判断团购活动是否抢光--------- - 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/goods/groupBuy/getActInfo/" + os.stoid + "/" + gid + "/" + prom_id, { - success: function (t) { - if (t.data.code != 0) { - ee.get_normal(gid); - return false; - } - //----已经结束----- - if (t.data.data.is_end == 1) { - ee.get_normal(gid); - return false; - } - //----已经过期----- - var now = ut.gettimestamp(); - if (t.data.data.end_time < now || t.data.data.start_time > now) { - ee.get_normal(gid); - return false; - } - - /*-- 还没有开始预热的也不显示 --*/ - if (t.data.data.show_time > now) { - ee.get_normal(gid); - 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: 2, - 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, - prom_act: t.data.data - }); - - ee.get_sto(); - var newTime = ut.gettimestamp(); - 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); - } - } - - } - }); - } - }) - } - - if (prom_type == 1 && prom_id == 0) { - this.setData({ - prom_type: 0, isshow: 1, - }); - - //获取门店 - this.get_sto(); - this.get_sku(o.stoid, this.data.data, gid); - this.check_has_flash(); - this.data.is_normal = 1; - this.check_is_youhui(gid, 1); - return false; - } - - //if (prom_type != 3 && prom_type!=0){ - //---判断秒杀---- - if (prom_type == 1 && prom_id > 0) { - //-------判断活动是否抢光--------- - 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/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, { - success: function (t) { - if (t.data.code != 0) { - ee.get_normal(gid); - return false; - } - //----已经结束----- - if (t.data.data.is_end == 1) { - ee.get_normal(gid); - return false; - } - //----已经过期----- - var now = ut.gettimestamp(); - if (t.data.data.end_time < now) { - ee.get_normal(gid); - return false; - } - /*-- 还没有开始预热的也不显示 --*/ - if (t.data.data.show_time > now) { - ee.get_normal(gid); - 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.user_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; - 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 (endTime1 < newTime) { - //-- 获取秒杀活动的多少规格 -- - ee.get_more_flahs(function (list) { - if (list && list.length > 1) { - - var n_item = list[0]; - var ind = list.findIndex(function (ele) { - return ele.goods_id == ee.data.data.goods_id; - }) - if (ind < 0) return false; - if (ind > 0) { - n_item = JSON.parse(JSON.stringify(list[ind])); - list.splice(ind, 1); - list.unshift(n_item); - } - - ee.data.sele_g.viplimited = n_item.viplimited; - ee.data.data.viplimited = n_item.viplimited; - - var gb = 1; - //-- 显示多规格 -- - for (let i in list) { - let item = list[i]; - var gg = ""; - 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 = "规格" + gb; - gb++; - } - item.gg = gg; - item.prom_id = item.prom_id; - item.prom_type = 1; - } - - ee.setData({ - sku_g: list, - }); - - } - }) - } - - } - }); - } - }) - } - - 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.get_normal(gid); - 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; - var flag = null; - 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: async function (t) { - if (t.data.code != 0) { - ee.get_normal(gid); - return false; - } - //----已经结束----- - if (t.data.data.is_end == 1) { - ee.get_normal(gid); - return false; - } - //----已经过期----- - var now = ut.gettimestamp(); - if (t.data.data.end_time < now) { - ee.get_normal(gid); - return false; - } - - /*-- 还没有开始预热的也不显示 --*/ - if (t.data.data.show_time > now) { - ee.get_normal(gid); - return false; - } - - /*-- 判断拼单是否启用 --*/ - if (!t.data.data.is_show) { - console.log('没启用'); - wx.setNavigationBarTitle({ - title: '系统提示', - }); - wx.showToast({ - title: '此商品暂时没有拼单活动', - icon: 'none', - success(){ - setTimeout(() => { - wx.navigateBack() - }, 2000) - } - }); - return false - } - - //判断拼团的---会员身份-- - await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", { - data: { - store_id: os.stoid, - is_end: 0, - is_show: 1, - user_id: getApp().globalData.user_id, - pageSize: 1000 - } - }).then(res => { - let pd_list = res.data.data.pageData; - if (res.data.code == 0 && pd_list.length > 0) { - flag = pd_list.some(pd => { - return pd.goods_id == gid - }) - } - }) - if (!flag) { - ee.get_normal(gid); - return false; - - } - //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中------- - await getApp().request.promiseGet("/api/weshop/order/page", { - data: { - pt_prom_id: prom_id, - user_id: oo.user_id, - store_id: os.stoid, - pageSize: 1, - page: 1 - } - }).then(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; - }, - - // 显示拼单规则 - showRules: function() { - this.setData({ - showRules: true, - }); - }, - - // 关闭拼单规则 - closeRules: function() { - this.setData({ - showRules: false, - }); - }, - - //----倒计时函数----- - 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 (th.data.prom_type == 0 && gd.prom_type == 1) { - gd.prom_type = 0; - } - //如果全场优惠,商品做了秒杀 - if (th.data.prom_type == 3 && gd.prom_type == 1) { - gd.prom_type = 0; - } - //如果全场阶梯优惠,商品做了秒杀 - if (th.data.prom_type == 10 && gd.prom_type == 1) { - gd.prom_type = 0; - } - - - if (!th.data.is_normal && ( 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.promgoodsbuynum, - }); - "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) { - - if (!th.data.is_normal) { - th.data.g_buy_num = new Map(); - } - - //如果拼单的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 { - - if (th.data.is_normal) { - th.data.g_buy_num = new Map(); - } - - //拼单商品从这里进,先判断有没有买过商品, - 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: '超出商品限购' - // }); - s.my_warnning('超出商品限购', 0, th); - 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: '超出商品活动限购' - // }); - s.my_warnning('超出商品活动限购', 0, th); - 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: '超出商品活动库存' - // }); - s.my_warnning('超出商品活动库存', 0, th); - 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 && 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 goods_id = e.currentTarget.dataset.goodsid; - 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 { - console.log(222,goods_id) - wx.navigateTo({ - url: "/pages/team/team_show/team_show?tg_id=" + id +"&goods_id="+goods_id, - }); - } - } - //--跳转到参团-- - else { - console.log(1111,th.data.goods_id) - wx.navigateTo({ - url: "/pages/team/team_show/team_show?tg_id=" + id+"&goods_id="+goods_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 = ""; - var end = ""; - if(ep.endtype == 1){ - if(ep.starttype == 1) { - start = ut.formatTime(ut.gettimestamp()+3600*24*ep.startdays,"yyyy-MM-dd"); - }else{ - start = ut.formatTime(ut.gettimestamp(),"yyyy-MM-dd"); - } - if(ep.days > 0) { - end = ut.formatTime(ut.gettimestamp()+3600*24*ep.startdays+3600*24*ep.days,"yyyy-MM-dd"); - }else{ - end = "不限"; - } - }else { - if(ep.starttype == 1 ){ - start = ut.formatTime(ut.gettimestamp()+3600*24*ep.startdays,"yyyy-MM-dd"); - }else{ - if(ep.starttype == 0 && ep.use_start_time >0) { - start = ut.formatTime(ep.use_start_time ,"yyyy-MM-dd"); - }else{ - start = "不限" - } - } - - if(ep.use_end_time > 0 ) { - end = ut.formatTime(ep.use_end_time ,"yyyy-MM-dd"); - }else{ - end = "不限" - } - } - quan_list[ind].start = start; - quan_list[ind].end = end; - // 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); - } - } - }) - }, - - - drawPoster(context, unit, img, vpath) { - // 1.灰色背景 - context.setFillStyle('#f2f1f6'); - context.rect(0, 0, 554 * unit, 899 * unit); - context.fill(); - // 2.商城名称 - let shopName = this.data.sto_sele_name_1; - // let shopNameLen = context.measureText(shopName); - // let x_shopNameLen = (554 - shopNameLen.width)/2*unit; - // console.log('11111111111111',shopNameLen,x_shopNameLen); - context.setTextAlign('center'); - context.setFontSize(26 * unit); - context.setFillStyle('black'); - context.fillText(shopName, 277 * unit, 60 * unit); - // // 3.推荐来源 - let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; - // let fromTextLen = context.measureText(fromText); - // let x_fromText = (375 - fromTextLen.width)/2; - // console.log('222222',fromTextLen,x_fromText); - context.setTextAlign('center'); - context.setFontSize(22 * unit); - context.setFillStyle('#96959a'); - context.fillText(fromText, 277 * unit, 105 * unit); - // 4.海报背景 - // context.beginPath(); - // context.setStrokeStyle('#f2f1f6'); - context.setFillStyle('white'); - context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit); - // context.stroke(); - // context.fill(); - // 5.商品图片 - // 图片的x坐标 - let bg_x = 37 * unit - // 图片的y坐标 - let bg_y = 157 * unit - // 图片宽度 - let bg_w = 480 * unit - // 图片高度 - let bg_h = 474 * unit - // 图片圆角 - let bg_r = 4 - // 绘制海报背景图片圆角 - context.save() - context.beginPath() - context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5) - context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2) - context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5) - context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI) - context.clip() - context.drawImage(img, bg_x, bg_y, bg_w, bg_h); - context.restore() - // 6.强烈推荐 - // context.beginPath(); - let tj_path = "../../../images/share/q_tj.png"; - context.beginPath() - context.drawImage(tj_path, 54 * unit, 648 * unit, 85 * unit, 30 * unit); - context.setFontSize(16 * unit) - context.setLineJoin('round'); //交点设置成圆角 - context.setFillStyle("white") - context.setTextAlign('left'); - context.fillText('强烈推荐', 64 * unit, 668 * unit); - // 7.商品价格 - let price = '¥' + this.data.data.shop_price; - - if (this.data.card_field && this.data.data[this.data.card_field]) { - price = '¥' + this.data.data[this.data.card_field]; - } - - - // if (th.data.prom_act) - // pri0 = th.data.prom_act.price; - context.setFontSize(32 * unit); - context.setFillStyle('#DE1117'); - context.fillText(price, 54 * unit, 730 * unit); - // 8.商品标题 - context.setFontSize(20 * unit); - context.setFillStyle('#898989'); - this.draw_Text(context, this.data.data.goods_name, - 54 * unit, 770 * unit, 240 * unit, 240 * unit, unit); - // 9.小程序码 - context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit); - context.setFontSize(16 * unit); - context.setFillStyle('#777'); - context.fillText('长按识别二维码', 378 * unit, 810 * unit); - // 10.竖线 - context.beginPath(); - context.setFillStyle('#eee'); - context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit); - context.fill(); - - }, - - - //--定义的保存图片方法,分享团--- - 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 == 2) type = -1; - 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 + ""; - scene += "." + th.data.sele_g.prom_type + "." + th.data.sele_g.prom_id; - - 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"; - - - //-- 如果有自定义海报的时候,判断背景的图片 -- - if (th.data.share_b_img) { - pg_path = th.data.share_b_img; - } - // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); - - - if (type == 0) { // 如果是普通商品,绘制新海报 - th.drawPoster(context, unit, th.data.share_goods_img, vpath); - } else { - context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); - } - ; - - // th.drawPoster(context, unit, th.data.share_goods_img, vpath); - - - //-- 是自定义海报的情况下 -- - if (type != 0) { - - 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 == 2 || 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 && type != 0) { - 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.card_field && th.data.data[th.data.card_field]) { - pri0 = th.data.data[th.data.card_field]; - } - - if (th.data.prom_act) - pri0 = th.data.prom_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 if (type == 4 && type != 0) { - 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); - - } - - //---中间大图--- - if (type != 0) { - context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); - } - ; - - - //-------大图后面就不一样了----------- - switch (type) { - case 0: - break;//普通商品的展示 - 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 || type == -1) { - // 原来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 - - - case -1: //秒杀商品的展示 - //---画线--- - 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, 744 * unit); - //---文字--- - context.setFontSize(22 * unit) - context.setFillStyle("black") - context.fillText("长按识别二维码", 40 * unit, 800 * 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, 135 * unit, 135 * unit); - } else { - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit); - } - break; - - - } - - - //--- 如果是自定义海报的时候 --- - if (type != 0) { - - 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) - - }, - - //加载更多是靠这个函数 - 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(); - }, - - //--获取头像的本地缓存,回调写法-- - 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, - openSpecModal_flash_normal: !1, - }) - } else { - this.setData({ - store: 1, - openSpecModal: !1, - openSpecModal_pt: !1, - openSpecModal_flash_normal: !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 - }); - - switch (openindstore){ - case 1: - th.setData({ openSpecModal: !0,openSpecModal_ind: openindstore, }); - break; - case 2: - th.setData({openSpecModal: !0, openSpecModal_ind: openindstore, }); - break; - case 4: - th.setData({ - openSpecModal_pt: 1, //打开拼团购买界面 - store: 0, //关闭门店 - choice_sort_store: 0, //关闭门店2级 - sort_store: 0, //关闭门店2级 - }); - break; - case 5: - th.setData({ - openSpecModal_flash_normal: 1, //打开拼团购买界面 - store: 0, //关闭门店 - choice_sort_store: 0, //关闭门店2级 - sort_store: 0, //关闭门店2级 - }); - break; - default: - th.setData({ store: 0,choice_sort_store: 0, sort_store: 0}) - break - } - - /*-- - 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; - //----获取系统参数----- - getApp().getConfig2(function (e) { - th.setData({ - bconfig: e, - }); - }) - 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; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - //如果是普通购买的时候,要进行调用 - 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; - - if (r_data.ladderLists) { - var act_id = r_data.ladderLists[0].form_id; - //-- 判断会员能不能参与阶梯促销 -- - getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - var prom_content = ""; - for (let jj in r_data.ladderLists) { - if (r_data.ladderLists[jj].discount == 10) { - prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; - } else { - prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,"; - } - } - prom_content = ut.sub_last(prom_content); - th.data.prom_type = 10; - th.data.prom_id = act_id; - th.setData({ - jieti_prom: prom_content, - ladder_act_id: act_id - }) - } - }) - } - - th.setData({ - prom_goods: r_data.promGoodsLists, - }) - th.is_show_more_buy(); - } - }, - }) - - } else { - //调用接口判断订单优惠, - getApp().request.get("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + gid + "/0"+"/"+user_id, { - success: function (res) { - if (res.data.code == 0 && res.data.data) { - 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 (max < parseFloat(r_data.collocationList[i].price)) max = r_data.collocationList[i].price; - if (min > parseFloat(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); - } - - if (r_data.ladderLists) { - var act_id = r_data.ladderLists[0].form_id; - //-- 判断会员能不能参与阶梯促销 -- - getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - var prom_content = ""; - for (let jj in r_data.ladderLists) { - if (r_data.ladderLists[jj].discount == 10) { - prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; - } else { - prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,"; - } - } - prom_content = ut.sub_last(prom_content); - th.data.prom_type = 10; - th.data.prom_id = act_id; - th.setData({ - jieti_prom: prom_content, - ladder_act_id: act_id - }) - } - }) - } - - 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(e) { - this.data.show_prew_img = 1; - getApp().pre_img(this.data.sele_g.original_img); - }, - - 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.data.g_buy_num = new Map(); - this.get_sto(0) - this.setData({openSpecModal_inte: 1, goodsInputNum: 1}); - - - }, - //-- 积分购普通购买 -- - go_pay_integral_normal: function () { - - this.data.g_buy_num = new Map(); - 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() { - getApp().globalData.no_clear=1; - 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() { - if(!getApp().globalData.user_id){ - getApp().goto("/pages/togoin/togoin"); - return false; - } - 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.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() < res.data.data.start_time) { - isok = 0; - } - - } else { - //未找到商品的活动 - isok = 0; - } - item.act = res.data.data; - func(isok); - }) - }, - - //获取更多秒杀 - get_more_flahs: async function (func) { - var f_more = false; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - - var url = "/api/weshop/goods/listSkuFlash?store_id=" + os.stoid + "&goods_id=" + this.data.data.goods_id + "&user_id=" + user_id; - //获取秒杀的多规格 - await getApp().request.promiseGet(url, {}).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { - f_more = res.data.data; - } - }) - if (!f_more) { - func(false); - return false; - } - //-- 秒杀的价格要更新 -- - for (let i in f_more) { - - let item = f_more[i]; - f_more[i].prom_id = item.act_id; - f_more[i].prom_type = 1; - if (item.goods_id == this.data.data.goods_id) { - continue; - } - var url = "/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + item.act_id; - await getApp().request.promiseGet(url, {}).then(rs => { - if (rs.data.code == 0) { - f_more[i].price = rs.data.data.user_price; - - } - }) - } - func(f_more); - - }, - - //-- 判断是否有秒杀 -- - check_has_flash: function () { - var th = this; - var url = "/api/weshop/activitylist/getGoodActInfo"; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - - var req_data = { - store_id: os.stoid, goodsidlist: this.data.data.goods_id, is_detail: 1, user_id: user_id - }; - //获取秒杀的多规格 - getApp().request.promiseGet(url, {data: req_data}).then(async function (res) { - if (res.data.code == 0 && res.data.data && res.data.data.length) { - var arr_data = res.data.data; - var new_arr = []; - for (let i in arr_data) { - let item = arr_data[i]; - //找不到活动要剔除 - if (!item.act_name) continue; - if (item.prom_type != 1) continue; - new_arr.push(item); - } - - if (new_arr.length == 1) { - th.data.prom_id = new_arr[0].act_id; - th.data.prom_type = new_arr[0].prom_type; - } - - th.setData({more_flash: new_arr}); - } - }) - }, - - //-- 跳转到秒杀商品详情页 -- - go_more_flash: function (e) { - var prom_id = e.currentTarget.dataset.id; - var goods_id = this.data.data.goods_id; - var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + goods_id + "&prom_id=" + prom_id + "&prom_type=1"; - getApp().goto(url); - }, - - close_pop_more: function () { - this.setData({is_pop_more: 0}) - }, - - con_weixin: function () { - getApp().con_wx(this); - }, - - get_normal(gid){ - this.setData({ - prom_type: 0, - isshow: 1, - }); - this.get_sku(os.stoid, this.data.data, gid); - this.get_sto(); - this.check_is_youhui(gid, 1); - this.data.is_normal = 1; - }, - - - // 促销 -> 送礼包 -> 查看详情 - viewLbDetails(e) { - let id = e.currentTarget.dataset.id; // 获取礼包id - let flag = e.currentTarget.dataset.flag; - let url = ''; - if(flag == 1) { // flag =1 控制跳转到专享礼包 - url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`; - } else { - url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮 - }; - // console.log('myurl', url); - getApp().goto(url); - }, - - - - go_more_ladder: function (e) { - var prom_id = e.currentTarget.dataset.id; - getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id); - }, - - getHistoryBuy() { - let _this = this; - let req_data = { - store_id: os.stoid, - goods_id: this.data.gid, - pay_status: 1, - rndid: 1 - }; - getApp().request.promiseGet('/api/weshop/ordergoods/list', { - data: req_data, - }) - .then(res => { - if (t.ajax_ok(res)) { - _this.setData({ - historyBuyInfo: res.data.data.pageData, - }) - } - }) - }, - - //-- 检验商品的活动情况 -- - check_gd_prom_new: function (func) { - var th = this; - var user_id = getApp().globalData.user_id; - if (!user_id) user_id = 0; - - var url = '/api/weshop/activitylist/listGoodActInfo2'; - var req_d = { - "store_id": os.stoid, - "goods_id": this.data.gid, - "user_id": user_id, - } - getApp().request.get(url, { - data: req_d, - success: function (e) { - if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { - var arr = e.data.data; - var arr2 = arr.filter(function (e) { - return e.s_time < ut.gettimestamp(); - }) - //-- 如果只有一个活动的话 -- - if (arr.length == 1) { - th.data.prom_type = arr[0].prom_type; - th.data.prom_id = arr[0].act_id; - } - //-- 如果只有一个进行中的活动的话 -- - else if (arr2.length == 1) { - th.data.prom_type = arr2[0].prom_type; - th.data.prom_id = arr2[0].act_id; - } - } - //-- 调用回调 -- - func(); - } - }); - }, - - //-- 秒杀的普通购买 -- - openSpecModel_Nor: function () { - this.data.g_buy_num = new Map(); - var th = this; - this.setData({open_ind_store: 5, goodsInputNum: 1});//拼团直接给4 - if (th.data.sku_g_pt) { - this.get_sto(1) - this.setData({openSpecModal_flash_normal: 1}); - } else { - th.get_sto(1); - th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { - th.setData({ - openSpecModal_flash_normal: 1 - }); - }); - } - this.check_is_youhui(th.data.gid, 1); - }, - - closeSpecModal_flash_normal: function () { - this.setData({openSpecModal_flash_normal: 0}); - }, - - - // 预览海报 - previewPoster() { - getApp().globalData.no_clear=1; - wx.previewImage({ - current: this.data.shareImgPath, // 当前显示图片的http链接 - urls: [this.data.shareImgPath] ,// 需要预览的图片http链接列表 - }); - }, - - screenChange:function (e) { - let fullScreen = e.detail.fullScreen //值true为进入全屏,false为退出全屏 - if (fullScreen ){ //退出全屏 - getApp().globalData.no_clear=1; - this.data.show_video=1; - } - }, - - click_contact:function () { - getApp().globalData.no_clear=1; - }, - - //打开客服操作菜单 - openCS() { - // 判断会员状态 - let 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; - }; - // csType/在线客服设置: - // 0关闭(如果有设置热线电话,则显示拨打热线电话)、 - // 1小程序客服、 - // 2企业微信客服 - if(this.data.sys_switch) { - let csType = this.data.sys_switch.weapp_customertype; - if(csType == 0) { - // 拨打电话号码 - this.contactService(); - } else { - this.getTel() - .then(() => { - self.setData({ - hiddenCS: false, - }); - }); - }; - }; - - }, - - //关闭客服操作菜单 - closeCS() { - this.setData({ - hiddenCS: true, - }); - }, - - - - - - - -}) diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml index a82a69b..885811b 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml @@ -4,140 +4,95 @@ - - - - 规则 - - - {{item.name}} - - - - + + + + + + + 推荐 + + + + + + + + + + + + + + + + + + + + + + + + 客服 + + + + + + 收藏 + + + + + + {{cartGoodsNum}} + 购物车 + + + + - - - 客服 + + + + + + + 加入购物车 + 立即抢购 + + + + + + + + 单独购买 + 即将开始 + + + 即将开始 + + + + + + + 单独购买 + 已抢光 + + 已抢光 + + + + + + 单独购买 + 活动已经结束 + + 活动已经结束 + + + + + + + + + + + + + + + + + 加入购物车 + 立即购买 + + + + - - - - 收藏 - - - - - {{cartGoodsNum}} - 购物车 - - - - 立即购买 - - - - - - 加入购物车 - 立即购买 - - - 库存不足 - - - - - - 加入购物车 - 立即抢购 - - - - - - 单独购买 - 即将开始 - - - 即将开始 - - - - - - - - 单独购买 - 已抢光 - - 已抢光 - - - - 单独购买 - 活动已经结束 - - - 活动已经结束 - - - - - - - - - {{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)}} - - 单独购买 - - - 立即兑换 - - 积分不足 - - - - 立即兑换 - - - 积分不足 - - - - - - - + + - + + - + + + - - - - - - {{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}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + {{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.act_name}} {{tool.act_type(item.prom_type)}} 活动 - 去参与 - - - - - - - - - - - + + + + {{item.pickup_name}} + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + + + Г + + + + - - 规则详情 - - - - 活动时间 - {{filters.format_time(prom_act.start_time,1)}} 至 {{filters.format_time(prom_act.end_time,1)}} + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + 地址:{{item.fulladdress}} + - - 活动内容: - - {{prom_act.remark?prom_act.remark:'暂无'}} - + + + + + + + + 确定 + 设为默认 + + + + + + + + + 门店分类选择 + + + + + 返回 + + + + + + + {{item.name}} + + + + + - - 我知道了 + + + + + + + + + + + + + + + + + + + - + + + + + diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss index a362402..f70d545 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss @@ -1,112 +1,50 @@ @import "../../../../utils/wxParse/wxParse.wxss"; - -.container { - margin-bottom: 100rpx; - overflow: hidden; - padding-top: 80rpx; -} - +.container { margin-bottom: 100rpx; overflow: hidden;} image { - vertical-align: top; -} -.rules { - position: fixed; - background-color: rgba(0,0,0,.2); - color: white; - top: 22rpx; - right: 0; - z-index: 100; - font-size: 26rpx; - padding: 0 20rpx; - z-index: 99999; - border-radius: 20rpx 0 0 20rpx; -} - -.rule-pop-container { - position: fixed; - left: 0; - bottom: 0; - width: 100%; - background-color: white; - z-index: 99999; - border-radius: 16rpx 16rpx 0 0; - padding: 0 40rpx; - box-sizing: border-box; - font-size: 28rpx; - color: #444; -} - -.pop-title { - padding: 20rpx 0; - text-align: center; - font-size: 32rpx; - position: relative; -} -.icon-guan { - position: absolute; - right: 0; - font-size: 26rpx; - top: 50%; - transform: translateY(-50%); - color: #ccc; + vertical-align: top; } -.btn { - color: white; - padding: 20rpx 0; - text-align: center; - border-radius: 40rpx; - background: -webkit-linear-gradient(left,#ff5000,#ff2000) no-repeat; -} - -.goods-detail { - overflow: hidden -} -.popup-content { - max-height: 600rpx; - overflow-y: auto; +.goods-detail{ + /* overflow: hidden */ + padding-top: 78rpx; } .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; */ + 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; + 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; + /* 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; */ + /* border-bottom: 4rpx solid #F95D74; */ position: relative; font-size: 30rpx; } - .type-item-on:after { content: ''; position: absolute; @@ -118,724 +56,664 @@ image { bottom: 0; margin: 0 auto; } - .swiper_box { - width: 100%; - height: 750rpx; + width: 100%; + height: 750rpx; + background-color: #f2f2f2; } - .goods-title { - display: flex; - justify-content: space-between; - align-items: center; - vertical-align: middle; - /* overflow: hidden; */ - /* height: 108rpx; */ + 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; + /* 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; + flex: 1; + text-align: justify; + margin: 10rpx 0 20rpx; } .goods-collect { - width: 112rpx; - padding-top: 30rpx; + width: 112rpx; + padding-top: 30rpx; } .collect-img { - width: 50rpx; - height: 44rpx; - margin: 0 auto; - overflow: hidden; + width: 50rpx; + height: 44rpx; + margin: 0 auto; + overflow: hidden; } .collect-des { - text-align: center; - font-size: 24rpx; - color: #333; + 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; + 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; + margin: 10rpx 0; + color: #f23030; } .prom-info>.prom-type { - color: white; - background-color: #f23030; - margin-right: 14rpx; - padding: 2rpx 8rpx; - border-radius: 4rpx; + color: white; + background-color: #f23030; + margin-right: 14rpx; + padding: 2rpx 8rpx; + border-radius: 4rpx; } - .market-price { - /* display: flex; + /* display: flex; margin-left: -5rpx; */ } -.market-price .yuan { - /* top:24rpx; */ - font-size: 30rpx +.market-price .yuan{ + /* top:24rpx; */ + font-size: 30rpx } .market-price>view>text { - text-decoration: line-through; + text-decoration: line-through; } -.market-price>.yj { - color: #999999; - font-size: 24rpx; - /* margin-left: 16rpx;position: relative;top:30rpx; */ - display: inline-block; +.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-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 + display: flex; + font-size: 24rpx; + justify-content: space-between; + } -.goods-detail .twen image.img { - vertical-align: auto; +.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; + 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; + 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; + color: #f23030; + border: 1px solid #f23030; + border-radius: 18rpx; + line-height: 40rpx; + height: 40rpx; + padding: 2rpx 8rpx; } .guarantee { - justify-content: space-around; + justify-content: space-around; } .ico-item { - width: 32rpx; - height: 32rpx; - margin-right: 10rpx; + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; } .guarantee>view { - display: flex; - align-items: center; - height: 32rpx; - color: #666; + display: flex; + align-items: center; + height: 32rpx; + color: #666; } .user-comment { - margin: 10rpx 0; - font-size: 28rpx; + margin: 10rpx 0; + font-size: 28rpx; } -.good-comment, -.comment-num { - display: flex; +.good-comment,.comment-num { + display: flex; } .recommend { - background-color: #fff; - border-bottom: 1px solid #ddd; - padding-bottom: 20rpx; + background-color: #fff; + border-bottom: 1px solid #ddd; + padding-bottom: 20rpx; } .recommend-title { - height: 70rpx; - line-height: 70rpx; - font-size: 28rpx; - padding: 0 30rpx; + height: 70rpx; + line-height: 70rpx; + font-size: 28rpx; + padding: 0 30rpx; } .recommend-ul { - display: flex; - justify-content: flex-start; + display: flex; + justify-content: flex-start; } .recommend-ul .li { - width: 25%; - box-sizing: border-box; - text-align: center; - font-size: 28rpx; - color: #333; + width: 25%; + box-sizing: border-box; + text-align: center; + font-size: 28rpx; + color: #333; } .li-img { - width: 120rpx; - height: 120rpx; - margin: 0 auto; + width: 120rpx; + height: 120rpx; + margin: 0 auto; } .li-title { - height: 58rpx; - line-height: 30rpx; - margin: 10rpx 0; + height: 58rpx; + line-height: 30rpx; + margin: 10rpx 0; } .comment-item { - background-color: #fff; - font-size: 28rpx; + 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; + 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; + display: flex; + align-items: center; } .user-pic { - width: 54rpx; - height: 54rpx; - margin-right: 10rpx; - border-radius: 50%; - overflow: hidden; + 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; + float: left; + display: flex; + height: 42rpx; + line-height: 42rpx; + margin: 15rpx 0; + width: 200rpx; } .star { - width: 26rpx; - height: 26rpx; - margin-right: 5rpx; + width: 26rpx; + height: 26rpx; + margin-right: 5rpx; } .state-spec { - margin: 15rpx 0; - float: right; - font-size: 24rpx; - color: #666; - width: 460rpx; - text-align: right; + 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; + padding: 0 30rpx 30rpx; + border-bottom: 1px solid #eee; } .comment-mes { - line-height: 42rpx; + line-height: 42rpx; } .img-ul { - display: flex; - flex-wrap: wrap; + display: flex; + flex-wrap: wrap; } .img-li { - width: 150rpx; - height: 150rpx; - margin-top: 8rpx; - margin-right: 10rpx; + width: 150rpx; + height: 150rpx; + margin-top: 8rpx; + margin-right: 10rpx; } .comment-btn { - height: 60rpx; - padding: 20rpx 30rpx; + height: 60rpx; + padding: 20rpx 30rpx; } .comment-btn .btn { - display: flex; - justify-content: center; - align-items: center; - height: 60rpx; - width: 45%; - border: 1px solid #eee; + 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; + width: 30rpx; + height: 28rpx; + margin: 0 10rpx; } .reply-ul { - margin-top: 20rpx; + margin-top: 20rpx; } .reply-li { - color: #aaa; + 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; + 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 > view { + /* width: 29%; */ } -.join-cart>.new_split { - width: 13%; - text-align: center; - padding: 0; - margin: 0; +.join-cart .new_split { + /* width: 13%; */ + /* text-align: center; */ + /* padding: 20rpx; */ + /* box-sizing: border-box; */ + /* flex-shrink: 0; */ + /* padding: 0; + margin: 0; */ } .cart-ico { - font-size: 24rpx; - color: #333; + font-size: 24rpx; + color: #333; } .shopping-cart { - position: relative; + position: relative; } .cs-img { - width: 45rpx; - height: 40rpx; - margin-top: 15rpx; + width: 45rpx; + height: 40rpx; + /* margin-top: 15rpx; */ } .sc-img { - width: 42rpx; - height: 40rpx; - margin-top: 15rpx; + 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); + 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; + 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; + background-color: #ffb03f; + height: 70rpx; +/* border-radius: 55rpx 0rpx 0rpx 55rpx; +margin-top: 16rpx; */ } view.cart-btn-lg { - width: 50%; + width: 50%; } .buy-btn { - background-color: #f23030; - height: 70rpx; - border-radius: 0 56rpx 55rpx 0; + background-color: #f23030; + height: 70rpx; +/* border-radius: 0 56rpx 55rpx 0; */ } -.buy-btn-all { - background-color: #f23030; - height: 70rpx; - border-radius: 56rpx; +.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; + 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; + height: 56rpx; + line-height: 56rpx; + font-size: 26rpx; + color: #999; + text-align: center; + background-color: #eee; } .goods-more { - background-color: #fff; + background-color: #fff; } .goods-norms { - background-color: #fff; + background-color: #fff; } .type-navbar2 { - display: flex; - height: 72rpx; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; + 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; + width: 50%; + font-size: 26rpx; + line-height: 72rpx; + text-align: center; + overflow: hidden; } .type-item2-on { - color: #f23030; + color: #f23030; } .parameter { - padding: 40rpx 0; + padding: 40rpx 0; } .table { - width: 698rpx; - margin: 0 auto; - border: 1px solid #ddd; - border-bottom: none; + 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; + 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; + font-weight: bold; + background-color: #f5fafe; } .td-cont { - display: flex; + display: flex; } .td-title { - width: 259rpx; - background-color: #f5fafe; - border-right: 1px solid #ddd; + width: 259rpx; + background-color: #f5fafe; + border-right: 1px solid #ddd; } .td-text { - width: 439rpx; + width: 439rpx; } .goods-comment { - background-color: #fff; + background-color: #fff; } .type-navbar3 { - display: flex; - height: 88rpx; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - padding: 10rpx 0; + 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; + width: 20%; + font-size: 30rpx; + line-height: 44rpx; + text-align: center; + overflow: hidden; } .type-item3-on { - color: #f23030; + 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%; */ + position: fixed; + bottom: 0; + z-index: 19; + 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-model .pding{padding: 0 20rpx;} .spec-goods { - padding: 30rpx 0 20rpx; - /* float: left; */ - width: 100%; - /* border-bottom:2rpx solid #eee; */ + 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 + float: left; + height: 186rpx; + width: 186rpx; + border: 4rpx solid #eee } .spec-goods-info { - float: left; - padding: 0 25rpx; - width: 400rpx; + 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; + 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; - /* display: flex; */ + color: #d60021; + font-size: 33rpx; + font-weight: bold; } .spec-goods-stock { - margin-top: 3rpx; - font-size: 24rpx; - color: #999999; - margin-right: 15rpx; + 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 + clear: both; + padding: 20rpx 0; + font-size: 30rpx;color: #333; } -.b_num { - display: flex; - font-size: 30rpx; - color: #333; - justify-content: space-between; - align-items: center; - padding: 20rpx 0; +.quhuo{font-size: 30rpx; color: #000} +.b_num{ + display: flex;font-size: 30rpx; color: #333; + justify-content: space-between; + align-items: center; + padding: 20rpx; } .count { - /* position: fixed; */ - display: flex; - height: 50rpx; - /* border: 1rpx solid #000; */ - font-size: 28rpx; - right: 30rpx; + /* 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; +.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{ + 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; +.spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} +.sub { + /* border-right: 1px solid #000; */ +} +.sub.active { + /* background-color: #ddd; */ + color: #ccc; } -.sub, -.add, -.count>input { - /* border-right: 1px solid #000; */ +.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; + line-height: normal; } .add { - /* background-color: #f8f8f8; */ - /* border-left: 1px solid #000; */ + /* 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; + 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; + color: white; + background-color: #f23030; + border: 1rpx solid #f23030; } .spec-cart-btns { - /* width: 92%; */ - line-height: 70rpx; - /* margin: 0rpx auto; + /* width: 92%; */ + line-height: 70rpx; + /* margin: 0rpx auto; margin-top: 160rpx; */ - /* border-radius: 20rpx; */ - /* position: fixed; */ - /* bottom: 50rpx; */ - /* left: 4%; */ + /* 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; + + width:100%; + font-size: 30rpx; + text-align: center; + color: white; + border-radius: 40rpx; } .spec-cart-btn.w40 { @@ -843,2898 +721,2057 @@ view.cart-btn-lg { } .spec-add-cart { - background-color: #ffb03f; + background-color: #ffb03f; } .spec-buy { - background-color: #f23030; - /* margin-left: 34rpx; */ + background-color: #f23030; + /* margin-left: 34rpx; */ } .spec-cart-disable { - background: #bbbbbb; + background: #bbbbbb; } .spec-cart-btn-lg { - width: 614rpx; + 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; -} + 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-model .prom-title { - text-align: center; - margin: 30rpx 0; -} -.prom-model .logistics-item { - border: 0; -} +/*---活动特殊显示---*/ +.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} -.prom-model .item-mes { - width: 500rpx; -} -.integral-btn { - width: 100%; - padding: 0rpx; - margin: 0rpx; +/*------拼单------*/ +.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; } -.clear { - clear: both; -} +.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;} -.sto_v .title, -.sto_v .stitle { - border-top: 1rpx solid #dedede; - border-bottom: 1rpx solid #dedede; - height: 78rpx; - line-height: 78rpx; -} +.pt_qd{margin-top: 40rpx; height: auto;} +.spec-cart-btn.w100{width: 95%; margin-left: 0; height: 75rpx; line-height:75rpx;margin: auto; } -.sto_v .title .tubiao, -.sto_v .stitle .tubiao { - width: 32rpx; - height: 32rpx; - margin-top: 23rpx; -} +.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; -.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; +.group .group-list { + display: flex; + align-items: center; + justify-content: space-around; + /* height: 90rpx; */ + /* padding: 0 130rpx 0 100rpx; */ + /* width: 470rpx; + + position: absolute; */ } -.cshu view { - color: #999; - font-size: 30rpx; - margin-left: 26rpx; +.group .group-list .gtou { + width: 70rpx; + height: 70rpx; + /* float: left; + position: relative; + top: 6rpx; + left: -96rpx; */ } - -/*---活动特殊显示---*/ -.prom_show { - height: 120rpx; - display: flex; +.group .group-list .gtou image { + display: block; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #f0f0f0; } -.prom_show .secondkill-img { - width: 100%; - height: 100%; +.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; } -.prom_show .spike-img { - width: 283rpx; - height: 57rpx; - top: 35rpx; - left: 31rpx; -} +.group .group-list .ghaicha { + /* width:300rpx; */ + font-size: 27rpx; + /* margin-left:180rpx; + top:13rpx; + left:-3rpx; */ + font-weight: bold; -.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; +.group .group-list .ghaicha .gred { + /* height: 48rpx; + width: 300rpx; */ } -.prom_show .timeac.left { - width: 66%; - color: #fff; - background: #f23030; +.gsj { + float: left; + color: #8f8f94; } -.prom_show .timeac.right { - width: 34%; - background-color: #d7d7d7; - text-align: center -} +.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; -.prom_show .secview .day { - padding-right: 10rpx; } -.prom_show .secview .time-val { - width: 36rpx; - height: 36rpx; - border-radius: 7rpx; - line-height: 36rpx; +.gbody { + background-color: white; } - -.prom_show .secview .time { - margin-right: 10rpx; - margin-left: 10rpx; +.t_show{/* overflow: hidden; */ display: flex; /* width: 300rpx; */ color: #292929; /* line-height: 36rpx; */font-size:26rpx; } - - -.prom_show .timeac.left view { - margin-left: 20rpx +.join-cart>view.set_width { + width:58%; } -.prom_show .timeac.left view.firview { - margin-top: 10rpx +/*秒杀样式zwp*/ +#zwpMs{ + width: 31%; + color: #fff; + background: url(https://mshopimg.yolipai.net/miniapp/images/user/bgred.png) no-repeat; + background-size: 100% 60px; } -.prom_show .timeac.left view .tr_line { - text-decoration: line-through; - font-size: 28rpx; -} -.prom_show .timeac.left view .bprice { - font-size: 50rpx; -} +/*--------- 修改后的样式 -----------*/ +.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;border-right: none;} +.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;border-right:2rpx solid #e4e4e4;text-align: center;} +.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: 520rpx; /* 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; */} -.prom_show .timeac.right view.firview { - margin-top: 12rpx; - margin-bottom: 10rpx +.bg_jj { + width: 14rpx; + height: 14rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotateZ(45deg); + display: inline-block; + margin-bottom: 3rpx; } -.prom_show .timeac.right view.secview { - display: flex; - text-align: center; - justify-content: center; - flex-direction: row; +.bg_jj.down { + transform: rotateZ(135deg); } -.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; +.bg_jj.up { + transform: rotateZ(-45deg); + margin-top: 6rpx; } -.huise { - background: gray +.bz-content { + padding: 0 0 0 20rpx; } -.lanse { - background: #0199e2 -} -/*------拼单------*/ -.pt_view { - text-align: center; - width: 100%; - height: 100rpx; - line-height: 100rpx; - font-size: 26rpx +/* 顶部边框 */ +.topframe{ + width: 100%; + height: 172rpx; + flex-direction: row; + justify-content: space-between; + border-bottom: 6rpx solid #eeeeee; + overflow: hidden; } - -.pt_view .secondkill-img { - width: 100%; - height: 100%; +/* 评价人边框*/ +.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; -.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; +.topframe-top-content{ + display: flex; + width: 36%; } - -.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; +/* 好评 */ +.topframe-praise{ + width: 61%; + text-align: right; + color: #dc4355; + font-size: 28rpx; } - -.pt_fir .pt_fir_title .price { - color: #e9030d; - font-size: 26rpx; +/* 按钮列表 */ +.buttem-list{ + width: 100%; + display: flex; + font-size: 20rpx; + overflow: hidden; } -.pt_fir .pt_fir_title .bigw { - font-size: 36rpx; +.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; } -.pt_fir .pt_fir_title .tprice { - text-decoration: line-through; - color: #949494 +.buttem-list .item.red{ + color: #fff; + background: #d60022; } -.pt_fir .pt_fir_title .tprice.ml50 { - margin-left: 50rpx +/* 用户评价 */ +.middle{ + width: 95%; + margin:0 auto; } - -.pt_fir .pt_fir_title .js { - padding: 0 15rpx; - height: 40rpx; - background: #e9030d; - text-align: center; - border-radius: 8rpx; - color: #fff; - margin-left: 10rpx; +.middle-img-frame{ + height:65rpx; + display: flex; + margin-top: 32rpx; + } - -.pt_fir .pt_fir_title .tuannum { - color: #e9030d; - position: absolute; - right: 20rpx; - font-size: 26rpx; +/* 评价的用户图片 */ +.middle-img{ + width:60rpx; + height:60rpx; + border-radius: 50%; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + margin-right: 15rpx; } - -.pding { - padding-top: 20rpx; - padding-left: 20rpx; - height: 81%; - padding-right: 20rpx; - font-size: 26rpx; - color: #ea120f +/* 评价的用户边框 */ +.middle-user-frame{ + height: 65rpx; + overflow: hidden; } - -.pdres { - margin-left: 10rpx; - color: #8f8f94 +.middle-user{ + height: 25; + font-size: 28rpx; } - -.ptgz { - position: relative; - font-size: 30rpx; - padding-left: 20rpx; - margin-top: 10rpx; - overflow: hidden +/* 评价图片 */ +.middle-img-two{ + width: 115rpx; + height: 25rpx; + text-align: center; + margin-bottom:20rpx; + margin-left:5rpx; } - -.shuxian { - width: 6rpx; - height: 28rpx; - background: #ea120f; - display: inline-block; - top: 5rpx; - position: relative; - margin-right: 5rpx +.xc-pirces{ + margin-top: 14rpx; } - -.ptgz_an { - position: absolute; - top: 5rpx; - right: 6rpx +/* 评价文字 */ +.middle-font{ + font-size: 30rpx; + } - -.ptgz_an .arrow-two { - width: 18rpx; - height: 18rpx; - border-color: #da0b31; - margin-top: 30rpx; +.iddle-goods-img{ + width: 100%; + display: flex; + margin-top:22rpx; } - -.pt_fir.se { - height: auto; - margin-bottom: 10rpx +/* 商品图片 */ +.goods-img{ + width: 156rpx; + height: 156rpx; + margin-left: 22rpx; + height: 100%; } - -.t_gz { - padding: 10rpx 20rpx; - font-size: 28rpx +.parameter-frame{ + margin-top:14rxp; + margin-bottom: 14rpx; + width:50%; + height: 30rpx; } - -.pt_fir.se1 { - height: auto; - margin: 0 +.z_parameter{ + width:98%; + height: 45rpx; + display:flex; + line-height: 45rpx; + margin-top: 20rpx; + margin-bottom: 14rpx; + justify-content : space-between; } - -.pt_fir.se2 { - height: auto; - margin: 0; - /* border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee; */ +.parameter-font{ + font-size: 26rpx; + } - -.pt_hb { - height: 78rpx; - line-height: 75rpx; - position: relative; - font-size: 32rpx; - overflow: hidden; - width: 695rpx; - margin-left: 28rpx; - border-bottom: 1rpx solid #E5E5E5 +/* 规格 */ +.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; -.ptgz_an.xq { - font-size: 32rpx; - color: #d40024 } - -.wf { - display: flex; - padding: 20rpx 0; +/* 点赞图片 */ +.parameter-img{ + width: 27rpx; + height: 27rpx; + margin-top: 3rpx; } - -.wf .item { - width: 24.5%; - text-align: center; - font-size: 26rpx; - color: #666 +.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; -.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; +.shop-reply{ + height: 30rpx; + color:#d60022; + font-size:24rpx; + overflow: hidden; } - -.po { - margin-bottom: 20rpx; +.shop-font{ + width: 94%; + font-size: 24rpx; + padding-top: 10rpx; + } - -.cart-btn.line-h { - line-height: 26rpx; +.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; } -.cart-btn .fir-v { - margin-top: 10rpx; -} -.hyt { - padding: 0 20rpx; - font-size: 30rpx; - display: flex; - align-items: center; - margin-top: 10rpx; -} +.xc_comment{ + display: flex; + justify-content: space-around; + width: 100%; + box-sizing: border-box; + padding: 10rpx 20rpx; + /* height: 42rpx; + padding-left: 34rpx; */ + color: #333; -.hyt .r_f { - color: #e9120f; - font-size: 26rpx; - position: relative; - top: 3rpx } - -.hyt .byj { - color: #e9120f; - font-size: 32rpx; - position: relative; - top: 5rpx +.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 } -.pt_fir .pt_fir_title.no-mar-b { - margin-bottom: 0; - padding-bottom: 10rpx; - margin-left: 20rpx +.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; } -.pt_fir .pt_fir_title.boder-1 { - border-bottom: 1rpx #e7e7e7 solid +.xc_comment-user{ + display: flex; + /* margin-top: 22rpx; + margin-left: 22rpx; */ } - -.jie_price { - /* padding: 10rpx 30rpx; */ +.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; */ -.jie_price_title { - font-size: 30rpx; - color: #a26270; - margin-bottom: 10rpx } - -.price_list { - display: flex; - width: 100%; +.xc_comment-val{ + /* width: 88%; + height: 30rpx; + margin-left: 22rpx; + display: flex; + margin-top: 15rpx; + margin-bottom:15rpx; */ } -.price_item { - width: 25%; - font-size: 28rpx; - color: #4c336c +.xc_comment-time{ + /* height: 30rpx; */ + font-size: 22rpx; + color: #a5a5a5; + overflow: hidden; } -.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; */ +.xc_goods-img{ + width: 190rpx; + height: 190rpx; } - -.ckgd { - /* position: absolute;top:0;right:57rpx; */ - color: #d70025; - font-size: 26rpx; +.xc_comment-left{ + display:inline-block; + width: 312rpx; + padding: 20rpx; } - -.ckgd .arrow-one { - width: 14rpx; - height: 14rpx; - border-color: #da0b31; - /* margin-top:5rpx; */ - margin: auto; +.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; */ } - -.bview { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); +.xc_imgs{ + width: 50rpx; + height:50rpx; + border-radius:50%; + margin-right: 5rpx; } -.juzhong { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; +.pj_word_size{ font-size: 28rpx} +.pj_scroll{ + /* white-space: nowrap; */ + /* height: 324rpx; */ + /* margin-bottom: 50rpx; */ display: flex; - flex-direction: row; - justify-content: center; align-items: center; + padding: 20rpx 0; + /* box-sizing: border-box; */ + /* box-shadow: 0 8px 12px #e7e9eb; */ } -.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 +/*领券*/ +.three-level-word{ + font-size: 25rpx; } - -.juzhong .xq .title .close { - position: absolute; - top: 0; - right: 0; - width: 45rpx; - height: 45rpx; +.four-level-word{ + font-size: 23rpx; } - -.pt_qd { - /* margin-top: 40rpx; height: auto; */ +.cx-frame{ + /* border-top:3rpx solid #eee; */ + /* width:99%; + height: 95rpx; + line-height: 95rpx; + padding-left:24rpx; */ padding: 20rpx; } - -.spec-cart-btn.w100 { - width: 95%; - margin-left: 0; - height: 75rpx; - line-height: 75rpx; - margin: auto; +.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; */ -.sto_v { - color: #333; } +.xc-coupon-fram .xc-coupon{ + /* width:175rpx ; + height: 40rpx; + line-height: 40rpx; */ + background-color:#d60021 ; + /* margin:0 auto; */ + color:#fff; + padding: 6rpx 20rpx; -.ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; +} +.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; */ +} -/*---多少人参加团--*/ -.group { - padding-top: 20rpx; - padding-bottom: 20rpx; - width: 100%; - /* min-height: 92rpx; */ - border-bottom: 2rpx solid #ebedf0; +/* 自定义弹出窗口 */ +.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; */ } - -.group .group-list { - display: flex; - align-items: center; - justify-content: space-around; - /* height: 90rpx; */ - /* padding: 0 130rpx 0 100rpx; */ - /* width: 470rpx; - - position: absolute; */ +.cx-popup .top-frame{ + /* width: 100%; + display: flex; + justify-content: center; + overflow: hidden; */ } - -.group .group-list .gtou { - width: 70rpx; - height: 70rpx; - /* float: left; +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame{ 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: 520rpx; - /* 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: rotateZ(45deg); - display: inline-block; - margin-bottom: 3rpx; -} - -.bg_jj.down { - transform: rotateZ(135deg); -} - -.bg_jj.up { - transform: rotateZ(-45deg); - margin-top: 6rpx; -} - -.bz-content { - padding: 0 0 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; - justify-content: center; -} - -.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: 42rpx; - color: #d60021; - line-height: 1; -} - -.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-frame { + width: 100%; + max-height: 560rpx; + overflow: auto; + } - -.xc-coupon-money { - color: #c91e31; - font-size: 35rpx; +.xc-coupon-frame .rel:not(:first-child) { 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-coupon-frame .coupon { + width:100%; + height: 168rpx; + border-radius: 25rpx; + border:2rpx solid #ffdcdc; + overflow: hidden; + /* margin-top:16rpx; */ + box-sizing: border-box; -.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-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-price-frame { - color: #ec0022; - align-items: baseline; - /* height:44rpx; */ } - -.xc-price-frame .sign { - margin-top: 19rpx; - margin-left: -4px; +.xc-spacing{ + letter-spacing:4rpx; } - -.xc-val-price { - margin-left: 24rpx; - color: #ec0022; - padding-top: 13rpx; +.xc-circular-one{ + position: absolute; + top:-15rpx; + left:205rpx; + width: 30rpx; + height: 30rpx; + background: #fff; + overflow: hidden; } - -.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-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-unit-price { - margin-top: 25rpx; - padding-left: -4rpx; - +.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-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-get{ + + width: 140rpx; + /* height: 48rpx; */ + color: #fff; + text-align: center; + border-radius:27rpx; + line-height:54rpx; + /* margin-left:20rpx; */ } -.xc-item .yuan { - width: 38rpx; - height: 38rpx; - line-height: 38rpx; - border: 1rpx solid #f3f1f2; - margin-left: 33rpx; - +.background{ + background:#f40028; } - -.xc-item .word { - width: 104rpx; - margin-top: 16rpx; - color: #363636; - font-weight: 600; - +/*--不可使用--*/ +.background.nouse{ + background:gainsboro; } -.xc-item .circle-color { - background: #d60024; - color: #fff; +.xc-background{ + background:#b9b9b9; } -.xc-item .circle-color1 { - background: #fefefe; - color: #666666; -} -.link { - height: 6rpx; - width: 180rpx; - top: 54rpx; - left: 32px; +.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; -.link1 { - height: 6rpx; - width: 166rpx; - top: 54rpx; - left: 264rpx; } -.link2 { - height: 6rpx; - width: 157rpx; - top: 54rpx; - right: 87rpx; -} +.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); } } -.link-color-red { - background: #d60024; -} -.link-color { - background: #e5e5e5; +/* 分享 */ +.icon-share { + font-size: 46rpx; + color: #d60021; } - -.xc-qt-price { - top: -15rpx; - left: 25rpx; - color: #fff; +.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-qt-price .xc-qtunit-price { - margin-left: 6rpx; - margin-top: -4rpx; +.xc-share-frame-jieti{ + width: 129rpx; + height: 48rpx; + border-top-left-radius: 18rpx; + border-bottom-left-radius: 18rpx; + background: #d60021; + line-height:50rpx; } -.xc-nanber { - top: -25rpx; - left: 289rpx; +.xc-share-frame .share-font,.xc-share-frame-jieti .share-font{ + font-size: 32rpx; + color:#fff; + margin-left:10rpx; } -.xc-qtsign { - margin-top: 5rpx; - -} -.xc-people-img { - height: 36rpx; - width: 36rpx; - background: #fff; - border-radius: 7rpx; +.xc-share-frame .share-frame,.xc-share-frame-jieti .share-frame{ + width: 30rpx; + height: 30rpx; + margin-top:9rpx; + margin-left: 10rpx; } - -.xc-people-img .imgs { - width: 28rpx; - height: 28rpx; - margin-top: 4rpx; - +.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-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; +.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; -.word-color { - color: #d70024; +} +.xc-guanbi{ + width: 100%; + height: 80rpx; + overflow: hidden; } -.word-color-lan { - color: #0393e1; -} -.pt_view .hy-stop { - top: -23rpx; - right: 56rpx; +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + background: #fff; + z-index: 35; + border-top-left-radius: 10rpx; + border-top-right-radius: 10rpx; + position:fixed; + bottom:0; } -.xc-time-val { - width: 36rpx; - height: 36rpx; - border-radius: 7rpx; - line-height: 36rpx; +.xc-top-content{ + width: 88%; + height:85rpx; + padding-top: 50rpx; + font-size: 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-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; } - -.xc-partner-frame { - border-bottom: 2rpx solid #eee; - width: 100%; +.xc-frame { + /* width: 100%; + margin-top:20rpx; */ 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; -} +.xc-frame .list-frame{ + width: 90%; + height: 100%; + overflow-y:scroll; -.on_height { - height: 90rpx; -} + margin-top:20rpx; -.sn_height { - /* min-height: 170rpx; height: auto;padding: 10rpx 0; */ } - -.xc-address_frame .address_frame { - width: 100%; - /* padding-left: 10rpx; -margin: auto; */ - +.xc-close-frame{ + margin-top:30rpx; + width:15%; + display:flex; } -.shop_name {} +.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; -.stores-img { - width: 28rpx; - height: 28rpx; - margin-right: 10rpx; } - -.shop_name { - margin-right: 10rpx; +.xc-money{ + color: #ff0013; } -.address { - /* width: 100%; - margin-top: 5rpx; - margin-bottom: 5rpx; */ +.xc-money-frame{ + /* margin-left:35rpx; */ + } +.xc-coupon-effect{ + width: 99%; + height: 128rpx; + border-bottom:3rpx solid #ddd; -.distance { - padding-left: 20rpx; - padding-right: 20rpx; - background: #eee; - border-radius: 20rpx; - /* margin-right: 5rpx; */ - color: #999; - height: 38rpx; - line-height: 38rpx; } +.xc-goods-coupon{ + width: 80%; + height:100%; -/* 选择门店的弹窗 */ -.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%; +} +.xc-title{ + width:50%; + margin-left:222rpx; } +.xc-coupon-money{ + color: #c91e31; + font-size: 35rpx; + margin-top:20rpx; -.popup-frame { - position: fixed; - z-index: 20; - background: white; - width: 100%; - border-radius: 20rpx 20rpx 0 0; - height: auto; - bottom: 0; } +.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%; -.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; +.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; } -.modal-closes { - position: absolute; - right: 30rpx; - top: -15rpx; - height: 25rpx; +/*---------------视频图片---------------*/ +.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; } -.choose_more { - margin-top: 40rpx; - margin-right: 20rpx; +/* 视频图片的边框 */ +.xc-videos-picture{ + width: 100%; + height: 750rpx; } +/* 视频 */ +.xc-videos{ + width: 100%; + height:544rpx; -.choose_mores { - margin-top: 30rpx; - margin-right: 15rpx; } +/* 点击视频或图片 */ +.xc-video-picture{ -.store-list { - width: 95%; - min-height: 300rpx; - overflow-y: scroll; - margin: auto; - max-height: 610rpx; -} + 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; */ -.store-list .store_choose { - width: 100%; - height: 120rpx; - line-height: 125rpx; - border-bottom: 1rpx solid #eee; } +/* 图片 */ +.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; +} -.store-list .store_choose .store { - width: 100%; - margin: auto; - line-height: 37rpx; - padding-left: 20rpx; +.xc-sn{ + color: #fff; + background: #c7161e; + border-color: transparent transparent transparent #fff; } +/* 图片 */ +.xc-pictures{ + width: 100%; + height:529rpx; -.xc-hook { - width: 35rpx; - height: 35rpx; - transform: rotate(-145deg); - line-height: 37rpx; - text-align: center; +} +/*视频封面的图片 */ +.xc-picturess{ + position: relative; + width: 100%; + height:529rpx; +} +/* 播放 */ +.xc-play{ + width: 130rpx; + height: 130rpx; + position: absolute; + top:207rpx; + left:309rpx; } -.xc-hooks { - width: 30rpx; - height: 30rpx; - border: 1rpx solid #999; +.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; } -.address-frame { - width: 93%; - margin-left: 7rpx; -} +.wsize{font-size: 32rpx} +.five-level-word{font-size: 24rpx;} -.nearby_store { - margin-left: 17rpx; + +/*-- 推荐商品 --*/ +.xc-goods{ + height: auto; + background: #f2f2f2; + padding: 0 20rpx; + margin-top: -25rpx; + padding-bottom: 20rpx } -.address_name { - margin-right: 10rpx; +.xc-goods-recommend { + border-radius: 20rpx; + width:345rpx; + height: 450rpx; + margin-top: 25rpx; + display: inline-block; } -.address-val { - height: 38rpx; - line-height: 38rpx; +.xc-goods-recommend.ml{ margin-left: 22rpx} +.xc-goods-recommend .xc-goods-imgs{ + width: 100%; + height: 325rpx; + border-radius:20rpx 20rpx 0 0; } -.store-bottom { - width: 85%; - margin: auto; - height: 90rpx; +.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; -.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; +.xc-good-explain{ + width: 283rpx; + height:60rpx; + word-break: normal; + margin-left:30rpx; + font-size: 26rpx; + line-height: 30rpx; + margin-top: 5rpx; } - -.store-bottom-frame { - width: 95%; - margin: auto; - +.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: 80rpx; + 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; -/* 门店分类列表 */ -.sort_store_list { - height: 82%; - overflow: hidden; - overflow-y: scroll; - width: 95%; - margin: auto; } +.xc-unit-price{ + margin-top:25rpx; +padding-left:-4rpx; -.sort_store_list .sort-store-frame { +} +.xc-explain{ + color:#292929; + width:542rpx; + margin: 10rpx 0 20rpx; width: 100%; - height: 100rpx; - line-height: 100rpx; - border-bottom: 1rpx solid #eee; - + font-weight: bold; } - -.sort_store_list .sort-store-frame .sort-store { - width: 94.5%; - margin: auto; +.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 */ } - -.black_rights-frame { - width: 50%; +.xc-partner-frame{ +border-bottom:2rpx solid #eee; +width:100%; +padding:20rpx; +/* height:56rpx; */ +box-sizing: border-box; } - -.black_rights-frame .black_rights { - border-top: 3rpx solid; - border-right: 3rpx solid; - transform: rotate(45deg); - display: inline-block; - width: 20rpx; - height: 20rpx; +.xc-person-number{ + width:120rpx; + color: #999999; + padding-left:8rpx; + text-align: left } -.xc-val-money { - height: 55rpx; +.xc-miaosha-time{ +right:17rpx; top:55rpx; } +.pd_top1{padding-top: 10rpx} +.s_ms_bth{margin-top: 85rpx} -.xc-distance-bottom { - margin-bottom: 40rpx; -} -.xc-distance-top { - margin-top: 10rpx; +.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; } - -.xc-width { - width: 100%; +.on_height{ +height: 90rpx; } - -.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; +.sn_height{ + /* min-height: 170rpx; height: auto;padding: 10rpx 0; */ } +.xc-address_frame .address_frame{ + width: 100%; +/* padding-left: 10rpx; +margin: auto; */ -.xc-goods-attribute { - border-bottom: 1px solid #eee; - padding-bottom: 20rpx; - /* margin-bottom:40rpx; */ } +.shop_name{ -.xc-val-fream { - width: 105rpx; } - -.is_stock { - width: 58%; - height: 70rpx; - border-radius: 55rpx; +.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; -.select_store_height { - height: 50rpx; } +/* 选择门店的弹窗 */ +.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; +bottom:99rpx; +z-index: 20; +background: white; +width: 100%; +border-radius: 20rpx 20rpx 0 0; +height: 72%; +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%; + height: 72%; + overflow-y: scroll; + margin: auto; +} +.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: 70rpx; + } + .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; -.butttem5 { - margin-bottom: 5rpx; +} +.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; } -.no_pj_list { - text-align: center; - width: 100%; - color: #999; - margin-top: 30rpx; - display: inline-block; - font-size: 28rpx +.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; +.join-cart>view.no_store { + width: 58%; background-color: #adadad; } +.s_btn{ margin-top: 25rpx; } /* 美妆价的样式 */ -.beauty-makeup-frame { - /* width: 101.5%; +.beauty-makeup-frame{ + /* width: 101.5%; margin: auto; */ - height: 120rpx; - border-radius: 15rpx; - margin-top: 10px; + height: 120rpx; + border-radius: 15rpx; + margin-top: 10px; } - -.beauty-makeup-frame .left { +.beauty-makeup-frame .left{ width: 80%; height: 100%; - background: #f7f7f7; + background:#f7f7f7; border-radius: 20rpx 0rpx 0rpx 20rpx; /* padding: 0 10rpx; */ } - -.card-frame { - margin-top: 0rpx; + .card-frame{ + margin-top: 0rpx; /* padding-right: 23rpx; margin-right: 15rpx; */ } - -.advert-card { - margin-top: 0rpx !important; +.advert-card{ + margin-top: 0rpx!important; } - -.beauty-makeup-frame .right { +.beauty-makeup-frame .right{ width: 20%; height: 100%; - background: #f3efe3; + background:#f3efe3; border-radius: 0rpx 20rpx 20rpx 0rpx; -} - -.grade-card-frame { + } +.grade-card-frame{ /* height:45rpx ; */ background: #3c300a; border-radius: 20rpx; - /* margin-top: 10px; + /* margin-top: 10px; margin-left: 7rpx; */ - justify-content: center; - padding: 4rpx 12rpx; + justify-content: center; + padding: 4rpx 12rpx; } - -.grade-card-frame .img { +.grade-card-frame .img{ width: 24rpx; - height: 24rpx; - margin-top: 2px; + height: 24rpx; + margin-top: 2px; } - -.grade-card-frame .card-name { +.grade-card-frame .card-name{ margin-left: 8rpx; - /* max-width: 120rpx; */ + /* max-width: 120rpx; */ max-width: 165rpx; } - -.card-effect { - /* margin-left: 15rpx; */ -} - -.at_once_carde { - width: 65rpx; - height: 75rpx; - line-height: 38rpx; +.card-effect{ + /* margin-left: 15rpx; */ } - -.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; - +.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; +.carde_frame{ + height: 50rpx; + line-height: 18rpx } -button.custom-service::after { +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 -} - +.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: #f23030; - /* width: 180rpx; */ - /* height: 30rpx; */ - /* font-size: 20rpx; */ - /* padding-top: 0.01rpx; */ - /* display: flex; + color: #d60021; + /* width: 180rpx; */ + /* height: 30rpx; */ + font-size: 20rpx; + /* padding-top: 0.01rpx; */ + /* display: flex; justify-content: center; align-items: center; */ - border: 2rpx solid #f23030; - border-radius: 6rpx; - /* margin-right: 10rpx; */ - /* margin-left: 10rpx; */ - font-size: 24rpx; - padding-right: 6rpx; - /* 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 -} + 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% - 210rpx); - z-index: 1000; + 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, .6); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999; + background-color: rgba(0,0,0,.4); } - .poster-wrapper { width: 100%; } @@ -3742,25 +2779,22 @@ button.custom-service::after { .poster { box-sizing: border-box; width: 100%; - height: 940rpx; - border-radius: 16rpx; + 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; @@ -3770,7 +2804,6 @@ button.custom-service::after { margin-top: 28rpx; padding: 0 60rpx; } - /* .btn-close { background-color: rgba(0,0,0,.5); color: white; @@ -3784,50 +2817,38 @@ button.custom-service::after { 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; +.goods-price .rel_txt{ + position: relative; top: 32rpx; font-size: 30rpx; } +.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;} .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; + /* 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: 36rpx; -} - -.quan_price { - background-color: #ff4700; - color: #fff; - padding: 10rpx 25rpx; - margin-left: 10rpx; - border-radius: 30rpx; + 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; +.g_img_box{ + background-position: center center; background-repeat: no-repeat; -webkit-background-size: cover; -moz-background-size: cover; - background-size: cover; + background-size: cover; } @@ -3840,67 +2861,67 @@ button.custom-service::after { transform: translateY(-50%); } - -.logo-container { - -webkit-filter: brightness(80%); - filter: brightness(80%); +.stock { + flex: 1; } -.logo { - width: 132rpx; - height: 37rpx; - margin-right: 10rpx; -} +.gray{ background-color: #dcdcdc !important;} -.miao_lab { - width: 36rpx; - height: 36rpx; - border: 4rpx solid #e71f19; - color: #e71f19; - text-align: center; - margin-right: 10rpx; - line-height: 36rpx; - font-size: 22rpx; - font-weight: bolder; - border-radius: 50%; -} -.pop_more_act .content { - position: fixed; - background: #fff; - width: 100%; - left: 0; - bottom: 0; - z-index: 1000; +.card, +.taohe { + position: relative; + padding: 20rpx; + margin-bottom: 20rpx; + border-radius: 8rpx; + background: #ffdcdc; + overflow: hidden; + /* background: #ffdcdc url(https://mshopimg.yolipai.net/miniapp/images/fwk/crown_bg.png) no-repeat left top; + background-position: 10rpx 10rpx; + background-size: 206rpx 136rpx; */ } -.p_btn { - background-color: #f23030; - height: 70rpx; - line-height: 70rpx; - color: #fff; +.card::before { + position: absolute; + font-family: iconfont; + content: '\e62a'; + color: rgba(255,0,0,.1); + font-size: 260rpx; + /* transform: rotateZ(45deg); */ + top: -110rpx; + left: -70rpx; +} + +.taohe::before { + position: absolute; + font-family: iconfont; + content: '\e64e'; + color: rgba(255,0,0,.1); + font-size: 260rpx; + top: -20rpx; + left: -30rpx; +} + +.rmb::before { + content: '¥'; + font-size: 24rpx; } -.mt20 { - margin-top: 20rpx +.c-red { + color: #f23030; } -.group .group-list.luck { - padding: 0 20rpx; - justify-content: flex-start; +.btn-group { + border-radius: 70rpx; + overflow: hidden; + margin-right: 10rpx; } -.group-list.luck .gtou~.gtou { - margin-left: -16rpx; +.del { + text-decoration: line-through; } -.gtou.more { - background-color: #ddd; - text-align: center; - line-height: 70rpx; - border-radius: 50%; - color: #aaa; -} + .tick { @@ -3938,65 +2959,8 @@ button.custom-service::after { line-height: 2; } -.fill-box { - background-color: #f23030; - color: white; - padding: 0 6rpx; - border-radius: 0 0 10rpx 0; - margin-right: 4rpx; -} - -.jie_show{ display: inline-block; width: 40rpx; height: 40rpx; background-color:#ff0505;border-radius:50%;color: #fff;text-align: center; margin: 0 20rpx } - -.jie_show{ display: inline-block; width: 40rpx; height: 40rpx; background-color:#ff0505;border-radius:50%;color: #fff;text-align: center; margin: 0 20rpx } -/* 历史购买 */ -.swiper-container { - position: absolute; - top: 0; - left: 0; - padding: 20rpx 10rpx; - width: 100%; - box-sizing: border-box; - z-index: 98; -} - -.swiper { - height: 60rpx; - color: white; - font-size: 26rpx; -} - -.swiper-item { - /* width: auto !important; - background-color: rgba(0,0,0,.4); - border-radius: 60rpx; */ - position: relative; -} - -.swiper-item .item { - position: absolute; -} - -.item { - /* position: absolute; */ - display: flex; - align-items: center; - /* justify-content: center; */ - border-radius: 60rpx; - background-color: rgba(0,0,0,.4); - /* position: absolute; */ -} - -.avatar-container { - width: 60rpx; - height: 60rpx; - border-radius: 50%; - overflow: hidden; - flex-shrink: 0; -} -.avatar-container image { - width: 100%; - height: 100%; +.huise { + background: gray } .hideArea { @@ -4004,3 +2968,5 @@ button.custom-service::after { left: -1000px; top: -1000px; } + + diff --git a/pages/activity/pind_list/pind_list.wxml b/pages/activity/pind_list/pind_list.wxml index 388283d..ea3d322 100644 --- a/pages/activity/pind_list/pind_list.wxml +++ b/pages/activity/pind_list/pind_list.wxml @@ -29,13 +29,13 @@ - + - {{item.title}} + {{item.title}} @@ -74,15 +74,15 @@ - 即将开始 - 即将开始 - 即将开始 + 即将开始 + 即将开始 + 即将开始 - 去参团 - 去开团 - 去开团 + 去参团 + 去开团 + 去开团 - 已抢光 + 已抢光 diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 90a0652..839040e 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -312,14 +312,14 @@ - + - + {{aitem.title}} @@ -411,6 +411,7 @@ + @@ -529,11 +530,16 @@ + - - + + + + + + 提供技术支持