From cb60e62589c8483df13cfcb9fbbe462fdda52fb9 Mon Sep 17 00:00:00 2001 From: banche Date: Sat, 25 Dec 2021 16:26:52 +0800 Subject: [PATCH] OA预售预热商品页 --- packageC/pages/presell/pregoodsInfo/filter.wxs | 14 ++++++++++++++ packageC/pages/presell/pregoodsInfo/g_filter.wxs | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageC/pages/presell/pregoodsInfo/goodsInfo.js | 4023 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageC/pages/presell/pregoodsInfo/goodsInfo.json | 10 ++++++++++ packageC/pages/presell/pregoodsInfo/goodsInfo.wxml | 951 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageC/pages/presell/pregoodsInfo/goodsInfo.wxss | 2917 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 8035 insertions(+), 0 deletions(-) create mode 100644 packageC/pages/presell/pregoodsInfo/filter.wxs create mode 100644 packageC/pages/presell/pregoodsInfo/g_filter.wxs create mode 100644 packageC/pages/presell/pregoodsInfo/goodsInfo.js create mode 100644 packageC/pages/presell/pregoodsInfo/goodsInfo.json create mode 100644 packageC/pages/presell/pregoodsInfo/goodsInfo.wxml create mode 100644 packageC/pages/presell/pregoodsInfo/goodsInfo.wxss diff --git a/packageC/pages/presell/pregoodsInfo/filter.wxs b/packageC/pages/presell/pregoodsInfo/filter.wxs new file mode 100644 index 0000000..5c5f0a2 --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/filter.wxs @@ -0,0 +1,14 @@ +var is_has = function (text,val) { + if(text.indexOf(","+val+",")==-1) return false; + return true +} +function format_tt(ts) { + if(ts==null || ts==undefined || ts=='') return ""; + var d = getDate(ts*1000) + var fm=(d.getMonth()+1)+"月"+ d.getDate()+"日"; + return fm; +} +module.exports = { + is_has: is_has, + format_tt:format_tt +} diff --git a/packageC/pages/presell/pregoodsInfo/g_filter.wxs b/packageC/pages/presell/pregoodsInfo/g_filter.wxs new file mode 100644 index 0000000..4a5436a --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/g_filter.wxs @@ -0,0 +1,120 @@ +var g_filters = { + //-- 判断是不是有等级价 -- + is_has_rank:function(rank_switch,item){ + if(!rank_switch) return false; + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} + return false; + }, + + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- + get_card_price:function(goods,all_card,type){ + var price1=parseFloat(goods['cardprice1']); + var price2=parseFloat(goods['cardprice2']); + var price3=parseFloat(goods['cardprice3']); + if(!all_card){ + if(type==0) return 0; + return ""; + } + + var arr=[]; + var min_price= 0; + var min_name=""; + + var min_price=null; + var min_name=null; + //---设置对应的价格名字---- + for(var i=0;i<3;i++) { + var vl=all_card[i]; + if(!vl) continue; + if(vl['CorrPrice']=="Price1" && price1>0) + { + if(min_price==null) { + min_price=price1;min_name=vl['CardName']; + } + else if(price10) + { + if(min_price==null) { + min_price=price2;min_name=vl['CardName']; + } + else if(price20) + { + if(min_price==null) { + min_price=price3;min_name=vl['CardName']; + } + else if(price34) min_name=min_name.substring(0, 8); + return min_name; + }, + + toFix: function (val, count,set) { + if(val===undefined) return 0; + if(val===null) return 0; + if(val==='') return 0; + val = parseFloat(val); + if(set==1 && val==0) return val; + return val.toFixed(count) + }, + + //折扣数值处理,小数位数为1时,只显示1位;小数位数为2时,才显示2位; + num: function(value) { + if(value != 0) { + return parseFloat(value); + } else { + return value.toFixed(0); + }; + }, + + //跳转的接口 + get_goods_url:function(item){ + + console.log(item,111) + var url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id + if(item.prom_type==8){ + url1="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&pre_id="+item.id + } + return url1; + } + + +} +module.exports = { + is_has_rank:g_filters.is_has_rank, + get_card_price:g_filters.get_card_price, + num:g_filters.num, + get_goods_url:g_filters.get_goods_url, +} \ No newline at end of file diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.js b/packageC/pages/presell/pregoodsInfo/goodsInfo.js new file mode 100644 index 0000000..73cda1a --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.js @@ -0,0 +1,4023 @@ +var ut = require("../../../../utils/util.js"), + e = require("../../../../utils/common.js"), + a = require("../../../../utils/wxParse/wxParse.js"), + s = getApp(), app = s, + i = s.request, + rq = i, + oo = s.globalData, + o = s.globalData.setting, + os = o; +//评价加载更多 +var more = function (e) { + return e && e.__esModule ? e : { + default: e + }; +}(require("../../../../utils/LoadMore.js")), + n = new more.default(); +var utils = require('../../../../utils/util.js'); +var regeneratorRuntime = require('../../../../utils/runtime.js'); + +Page({ + data: { + start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始) + color_type: 0, //线条控制 + color_type_one: 0, + color_type_two: 1, + + gid: '', + stoid: o.stoid, + url: o.url, + resourceUrl: o.h5_url, //公众号那边的图片文件域名 + iurl: o.imghost, + defaultAvatar: o.resourceUrl + "/static/images/user68.jpg", + + data: null, + content: "", //商品详情 + comments: null, //商品评论 + c_curr_p: 1, //评论分页 + com_num: 0, //评论人数 + gallery: null, //图片滚动 + is_collect: 0, + collect_id: 0, + cartGoodsNum: 0, + specSelect: 0, + optionItemId: 0, + goodsInputNum: 1, + openSpecModal: !1, + openSpecModal_pt: !1, //拼单的弹起, + openPromModal: !1, + activeCategoryId: 0, + supportPageScroll: !1, + address: { + address: "", + district: 0 + }, + shipping: "", + shippingCost: 0, + enterAddressPage: !1, + categories: [{ + name: "商品", + id: 0 + }, { + name: "详情", + id: 1 + }, { + name: "评价", + id: 2 + }], + activeCategoryId2: 0, + categories2: [{ + name: "商品详情", + id: 0 + }, { + name: "规格参数", + id: 1 + }], + activeCategoryId3: 1, + categories3: [{ + name: "全部", + id: 1, + num: 0 + }, + { + name: "有图", + id: 5, + num: 0 + }, + + { + name: "好评", + id: 2, + num: 0 + }, { + name: "中评", + id: 3, + num: 0 + }, { + name: "差评", + id: 4, + num: 0 + }, + ], + + select: { + price: 0, + stock: 0, + specName: "", + activity: null + }, + + //已选的商品(属性) + sele_g_spec_name: '', + sele_g_id: '', + sele_g: null, + //门店相关 + ismend: 0, + is_sec_mend: 0, + sto_sele_name: "", //选中的门店名称 + sto_sele_id: "", //选中的门店id + sto_sele_distr: "", //选择的门店的配送方式 + is_show_sto_cat: 1, //是否显示门店分类 + only_pk: null, + all_sto: null, + sec_sto: null, //选择了的门店分类 + pickpu_list: null, //读出的所有门店list + def_pickpu_list: null, //一开始5个门店list + sec_pick_index: 0, //第二级门店选择ID + fir_pick_index: 0, //第一级门店选择ID + all_pick_list: null,//所有的门店先记录起来 + //同一条形码的所有商品 + sku_g: null, + sku_g_pt: null, //---拼单的普通购买--- + //联系电话 + mobile: '', + //分类,品牌,国别名称 + cat_name: '', + brand_name: '', + nation_name: '', + + //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单 8预售 + 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, + pre_arr: null, + }, + + //------初始化加载---------- + onLoad: function (t) { + var ee = this, that = ee, th = ee, + pre_id = t.pre_id, + gid = t.goods_id, + presell_id = t.prom_id, + first_leader = t.first_leader, + room_id = t.room_id, + room_user_share = t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id + + //-- 自定义海报 -- + getApp().request.promiseGet("/api/weshop/goods/poster/page", { + data: { store_id: os.stoid, type: 1, is_use: 1 } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]) { + + var poster_data = res.data.data.pageData[0]; + var json_str = poster_data.jsonStr; + + if (json_str) { + var json_data = JSON.parse(json_str); + if (json_data.bg_img) { + + //-- 把图片那到本地 -- + wx.getImageInfo({ + src: json_data.bg_img, + success: function (res) { + var path = res.path; + th.setData({ share_b_img: path }) + }, + fail: function (res) { } + }); + } + th.setData({ poster: json_data }) + + } + } + }) + + //---获取手机地址坐标-- + //--如果tg_id是空的话,分享回来-- + if (gid == undefined || gid == null || gid == "") { + var gid_str = decodeURIComponent(t.scene); + gid_str = gid_str.split("_"); + gid = gid_str[0]; + if (gid_str.length > 1) { + pre_id = gid_str[1]; + first_leader = gid_str[2]; + } + //-- 如果有room_id的获取 -- + if (gid_str.length > 2 && gid_str[3]) { + room_id = gid_str[2]; + room_user_share = 1; + } + } + + this.setData({ + gid:gid,pre_id:pre_id,presell_id:presell_id + }) + + if (first_leader) { + console.log("log---".first_leader); + getApp().globalData.first_leader = first_leader; + //调用接口判断是不是会员 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { + if (res.data.code == 0) { + getApp().globalData.guide_id = res.data.data.id; + } + }) + } + + //-- 如果有房间号 -- + if (room_id) { + getApp().globalData.room_id = room_id; + getApp().globalData.room_goods_id = gid; + //如果是会员分享过来的要记录 + if (room_user_share) + getApp().globalData.room_user_share = room_user_share; + } + + var c_guide_id = t.c_guide_id; + if (c_guide_id) { + th.data.c_guide_id = c_guide_id; + } + + getApp().getConfig(function (e) { + ee.setData({ sto_sele_name_1: e.store_name }) + }) + + //----获取系统参数----- + getApp().getConfig2(function (e) { + ee.setData({ + bconfig: e, + sales_rules: e.sales_rules, + }); + + if (e.categoryset.indexOf("," + 1 + ",") != -1) { + ee.setData({ + is_show_pl: 1 + }); + } + if (e.categoryset.indexOf("," + 3 + ",") != -1) { + ee.setData({ + is_show_pp: 1 + }); + } + if (e.categoryset.indexOf("," + 2 + ",") != -1) { + ee.setData({ + is_show_gb: 1 + }); + } + + var json_d = JSON.parse(e.switch_list); + ee.setData({ + store_config: e, + sys_switch: json_d, + is_closecoupon: json_d.is_closecoupon, + is_newsales_rules: json_d.is_newsales_rules + }); + ee.init(gid); + //------几人评价------- + //n.init(th, "", "comments"); + + th.requestCardNum(), wx.pageScrollTo && th.setData({ + supportPageScroll: !0 + }); + + //计算等级价相关 + var swithc_list = e.switch_list; + var sw_arr = JSON.parse(swithc_list); + //---如果后台又开等级卡的开关--- + if (sw_arr.rank_switch && sw_arr.rank_switch == "2") { + th.setData({ rank_switch: true }); + //---回调卡的列表--- + th.getPlusCardType(function (ob) { + th.setData({ card_list: ob.card_list }); + var ti = setInterval(function () { + var user = getApp().globalData.userInfo; + if (!user) return false; + clearInterval(ti); + + if (user.card_field && user['card_expiredate']) { + var str = user['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + var now = ut.gettimestamp(); + //--- 判断是等级会员,且在有效期范围内 --- + if (user.card_field && 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 + }) + } + }); + //更新点击量 + getApp().request.put("/api/weshop/goods/updateClick", { + data: { store_id: os.stoid, goods_id: gid } + }) + }, + + + //--- 设置一下默认库存的数量 ---- + set_def_storage(ee) { + var that = this, th = this; + that.data.fir_def_store = ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + }, + + + //------------程序初始化入口------------- + async init(gid) { + var ee = this, + th = ee, + gallery = null, + is_collect = 0, + collect_id = 0, + categories3 = ee.data.categories3, + fir_com = null, + fir_quan = null, + mapurl = null, + mapurl_f_img = null; + + this.get_sto(); + //------图片滚动---------- + await getApp().request.promiseGet("/api/weshop/goodsimages/page", { + data: { + store_id: os.stoid, + goods_id: gid, + }, + }).then(res => { + + var t = res; + var g = t.data.data.pageData; + if (g.length == 0) { + var ie = { + "image_url": o.imghost + "/public/images/default_goods_image_240.gif" + }; + g.push(ie); + gallery = g; + return; + } + for (var i = 0; i < g.length; i++) { + if (g[i].image_url.indexOf(o.imghost) == -1) + g[i].image_url = o.imghost + g[i].image_url; + } + gallery = g; + }) + //------是否收藏---------- + await getApp().request.promiseGet("/api/weshop/goodscollect/page", { + data: { + store_id: os.stoid, + goods_id: gid, + user_id: oo.user_id, + } + }).then(res => { + var t = res; + var data = t.data.data.pageData; + if (data.length > 0) { + //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, }); + is_collect = 1; + collect_id = data[0].collect_id; + } + }) + + //------获取评价的统计数量---- + await getApp().request.promiseGet("/api/weshop/comment/countlist/", { + data: { + store_id: os.stoid, + goods_id: gid + }, + //failRollback: !0, + + }).then(res => { + console.log(res); + var t = res; + var g = t.data.data[0]; + if (g != null && g != undefined) { + var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5; + var num2 = g.c4 + g.c5; + var num3 = g.c3; + var num4 = g.c0 + g.c1 + g.c2; + + var dd = ee.data.categories3; + dd[0].num = allnum; + dd[1].num = g.cimg; + dd[2].num = num2; + dd[3].num = num3; + dd[4].num = num4; + + categories3 = dd; + } + }) + + //----获取详情页的评价---- + await getApp().request.promiseGet("/api/weshop/comment/pageComment", { + data: { + store_id: os.stoid, + goods_id: gid, + pageSize: 3, + parent_id: 0, + page: 1, + is_show: 1, + }, + }).then(res => { + console.log(res); + fir_com = res.data.data.pageData; + }) + + if (fir_com) { + for (var ind in fir_com) { + if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png"; + if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img); + if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img); + } + } + + if (th.data.is_closecoupon != 1) { + //----获取详情页的券的数量---- + await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", { + data: { + store_id: os.stoid, + type: 1, + pageSize: 3, + page: 1, + is_share: 0, + }, + }).then(res1 => { + fir_quan = res1.data.data.pageData; + }) + } + + //--------获取视频图片--------- + await getApp().request.promiseGet("/api/weshop/goodsVideos/get/" + os.stoid + "/" + ee.data.gid, { + 1: 1 + }).then(res1 => { + if (res1.data.code == 0) { + mapurl = res1.data.data.video_url; + mapurl_f_img = res1.data.data.video_img; + } + }) + + ee.setData({ + gallery: gallery, + is_collect: is_collect, + collect_id: collect_id, + categories3: categories3, + fir_quan: fir_quan, + fir_comments: fir_com, + mapurl_f_img: mapurl_f_img, + mapurl: mapurl, + }); + + }, + + //---展示--- + onShow: function () { + var goods_list = null, th = this, that = this; + + //-- 如果是预览图片,页面不重新更新 -- + var show_prew_img = this.data.show_prew_img + if (show_prew_img) { + this.data.show_prew_img = 0; return false; + } + + /*-- + //优惠券要实时更新 + getApp().getConfig2(function (e) { + var json_d = JSON.parse(e.switch_list); + th.setData({ is_closecoupon: json_d.is_closecoupon }) + th.setData({ is_open_offline: json_d.is_pricing_open }) + }, 1)--*/ + clearInterval(ui); + 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.get_pre_prom(function () { + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { + failRollback: !0, + success: function (t) { + + if (t.data.code == 0) { + if (t.data.data.is_on_sale != 1) { + wx.showModal({ + title: '商品已经下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + if (t.data.data.on_time > timestamp) { + wx.showModal({ + title: '商品还未上架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + + if (t.data.data.down_time > 0) { + if (t.data.data.down_time < timestamp) { + wx.showModal({ + title: '商品已经到期下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } + //动态获取商品名称 + wx.setNavigationBarTitle({ + title: t.data.data.goods_name, + }); + + //-- 把商品的赋值 -- + ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); + ee.data.sele_g_id=t.data.data.goods_id; + ee.data.sele_g=t.data.data; + + //获取用户的默认门店 + getApp().get_user_store(function (e) { + if (!e) { + th.data.fir_def_store = {}; //赋值空对象 + return false; + } + var ee = JSON.parse(JSON.stringify(e)); + + 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 appd = getApp().globalData; + var w_time = setInterval(function () { + if (that.data.is_get_local_ok == 0) return false; + clearInterval(w_time); + 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, + is_pos: 1, + lat: th.data.lat, + lon: th.data.lon + }, + }).then(res => { + if (res.data.code == 0) { + e = res.data.data.pageData[0]; + if (e) { + e.is_no_dis = ee.is_no_dis; + appd.pk_store = e; + that.set_def_storage(e); + } + + } + }) + } + appd.lat = that.data.lat; + appd.lon = that.data.lon; + + } else { + if (e) { + e.distance = null; + that.set_def_storage(e); + } + } + }, 500) + }); + + + + t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); + + 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); + + t.data.data['disc'] = txt; + 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 = ""; + + //-----商品详情--- + 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"); + + ee.setData({ + data: t.data.data, + sele_g: t.data.data, + userInfo: getApp().globalData.userInfo, + }); + + //获取门店 + ee.get_sto(); + ee.get_sku(o.stoid, t.data.data, gid); + + ee.data.g_buy_num = new Map(); + + if (ee.data.cat_name == '') { + //过去国别,分类,品牌的名称 + i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + cat_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + brand_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + nation_name: dd.name + }); + } + } + }); + } + + } + else { + wx.showModal({ + title: t.data.msg, + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } + }); + ee.data.enterAddressPage && (this.data.enterAddressPage = !1); + }) + + + + }, + enterAddress: function () { + this.data.enterAddressPage = !0, wx.navigateTo({ + url: "/pages/user/address_list/address_list?operate=selectAddress" + }); + }, + onUnload: function () { + for (var i = 1; i < 100; i++) { + clearInterval(i); + } + }, + onHide: function () { + this.data.is_timer = 0; + for (var i = 1; i < 100; i++) { + clearInterval(i); + } + }, + //----------三个选项按钮----------- + tabClick: function (t) { + var e = t.currentTarget.id; + this.setData({ + activeCategoryId: e + }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment(); + }, + tabClick2: function (t) { + this.setData({ + activeCategoryId2: t.currentTarget.id + }); + }, + + tabClick3: function (t) { + var e = this; + if (t.currentTarget.id != this.data.activeCategoryId3) { + e.data.c_curr_p = 1; + this.setData({ + activeCategoryId3: t.currentTarget.id, + comments: null, comments_no_more: 0, get_c: 0, + }); + this.requestComments_new(); + } + }, + + doScrollTop: function () { + wx.pageScrollTo({ + scrollTop: 0 + }); + }, + + tabComment: function () { + this.setData({ + activeCategoryId: 2, comments_no_more: 0, get_c: 0 + }), this.data.comments || this.requestComments_new(); + }, + + //商品详情的时候调用 + tabGoodsContent: function () { + var th = this, + i = getApp().request; + this.setData({ + activeCategoryId: 1 + }); + + if (th.data.cat_name == '') { + //过去国别,分类,品牌的名称 + i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + cat_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + brand_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + nation_name: dd.name + }); + } + } + }); + } + }, + + //获取redis中的数量 + async getactLen(func) { + var r_num = 0, + prom_type = this.data.prom_type, + prom_id = this.data.prom_id; + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { + 1: 1 + }).then(res => { + var em = res; + if (em.data.code == 0) { + r_num = em.data.data; + } + }) + func(r_num); + }, + + //------------加入购物车-------------- + addCart: function (t) { + var th = this; + var ind = t.currentTarget.dataset.openSpecModal_ind; + if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; + th.setData({ + open_ind_store: ind + }); + + th.add_cart_func(t); + + }, + + + //-- 加入购物的函数 -- + 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, 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: '超出商品限购' + }); + return false; + } + } + //---判断商品是否超出活动限购--- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + return false; + } + } + + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + this.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); + + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: th.data.stoid, + goods_price: o.shop_price, + member_goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + presell_list_id: th.data.presellList.id, + }; + + //---是不是从收藏夹出来的--- + 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; + } + + + //如果有线下取价 + if (o.offline_price) { + newd.offline_price = o.offline_price; + newd.pricing_type = o.pricing_type; + } + + newd.goods_price = th.data.prom_price; + newd.member_goods_price = th.data.prom_price, + newd.prom_type = 8; + newd.prom_id = o.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); //加入购物车下一步 + + + }) + }, + + //---加入购物车的最后一步--- + add_cart_next(e, t, a, o, newd, CanOutQty) { + var th = this, i = getApp().request; + if ("add" == t.currentTarget.dataset.action) { + + if (th.data.prom_goods) { + newd.prom_type = 3; + newd.prom_id = th.data.prom_goods[0].prom_id; + } + + //----先看会员在购物车中是否加入了该商品----- + i.get("/api/weshop/cart/page", { + data: { + store_id: e.data.stoid, + user_id: oo.user_id, + goods_id: a, + pick_id: e.data.sto_sele_id, + }, + success: function (re) { + + //-------如果购物车中有相关的数据--------- + if (re.data.data.total > 0) { + + var item = re.data.data.pageData[0]; + if (item.goods_num + th.data.goodsInputNum > o.store_count) { + return s.my_warnning("库存不足!", 0, th); + } + + if (item.goods_num + th.data.goodsInputNum >th.data.pre_arr.presell_sumqty-th.data.pre_arr.buy_goodnum) { + 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 { + newd['pick_name'] = th.data.sto_sele_name; + newd['pick_dis'] = th.data.sto_sele_distr; + th.buyNow(newd); + } + }, + + //----------立即购买----------- + buyNow: function (e) { + + this.setData({ + openSpecModal: 0, + openSpecModal_inte: 0, + openSpecModal_inte_normal: 0, + openSpecModal_pt: 0, + }) + + app.set_b_now(e); + + //如果是全额付款的话 + if(this.data.presellForm.presell_type==1){ + getApp().goto("/packageC/pages/presell/cart/cart2") + }else{ + getApp().goto("/packageC/pages/presell/cart/cart2_pre"); + } + }, + + //----------增加购买数量----------- + 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)); + }, + + //------检查数量是不是超出限购------ + checkCartNum: function (t) { + var th = this; + this.get_buy_num(this.data.sele_g, async function () { + + //--判断商品是否超出限购-- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + + var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); + + if (t + gd_buy_num > th.data.sele_g.viplimited) { + wx.showModal({ + title: '超出商品限购', + }); + + var num = th.data.sele_g.viplimited - gd_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) + return false; + } + } + + //--判断商品是否超出活动限购-- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { + if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '超出商品活动限购', + }); + + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) + return false; + } + } + + var e = th.data.sele_g.store_count; + var e2=th.data.pre_arr.presell_sumqty-th.data.pre_arr.buy_goodnum; + if(e2 e || 0 == e ? t = e : t < 1 && (t = 1); + th.setData({ goodsInputNum: t }); + //th.is_show_more_buy(); + + }) + }, + + closeSpecModal: function () { + if (this.data.openSpecModal_pt && this.data.is_normal) { + this.get_sto(); + this.setData({ + sele_g: this.data.data, + gid: this.data.data.goods_id + }) + this.sele_spec_chech_activity(); + + } + + this.setData({ + openSpecModal: !1, + openSpecModal_pt: !1 + }); + }, + + openSpecModel: function (t) { + var th = this; + var open_store = t.currentTarget.dataset.ind; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + open_ind_store: open_store, + }) + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } + + var ind = t.currentTarget.dataset.ind; + + //回调。判断是不是优惠促销 + th.check_is_prom_goods(function () { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: ind, + }); + //var is_open=th.data.config + th.get_off_price(); + }) + }, + + //判断是不是优惠促销 + check_is_prom_goods: function (callback) { + if(!this.data.sele_g) return false; + var th = this; + var usr = getApp().globalData.userInfo; + if (this.data.sele_g.prom_type != 0 && this.data.sele_g.prom_type != 3) { + callback(); + } else { + //-- 判断有没有优惠活动 -- + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + th.data.prom_goods = r_data.promGoodsLists; + if (!th.data.prom_goods) { + callback(); + return false; + } + + ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1 + getApp().promiseGet("/api/weshop/order/getWPayOrder", { + data: { store_id: os.stoid, user_id: usr.user_id, goods_id: th.data.sele_g.goods_id, prom_id: th.data.prom_goods[0].prom_id } + }).then(res => { + if (res.data.code == 0) { + wx.showToast({ + title: "您已经购买了该商品待支付中", + icon: 'none', + duration: 2000 + }) + setTimeout(function () { + getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + }, 1000) + } + //未找到相关记录 + else { + callback(); + } + }) + } + + }) + + } + }, + + + + //----获取线下价格------- + get_off_price() { + var th = this; + //没有开启就返回 + if (!th.data.is_open_offline) return false; + //先看下购买的功能有没有到期 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=6", {}).then(res => { + //未购买 + if (res.data.code != 0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length) { + return false; + } else { + //已经过期 + var item = res.data.data.pageData[0]; + if (item.end_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 () { + 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; + } + s.confirmBox("请联系客服:" + rs.data.data.store_tel); + } + }) + } else { + s.confirmBox("请联系客服:" + t.store_tel); + } + }); + }, + //-------获取购物车数量---------- + 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; + } + + //-- 读取服务卡的数量 -- + 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; + + wx.previewImage({ + current: b[t.currentTarget.dataset.id], + urls: b + }); + }, + + previewCommentImgs_w: function (t) { + var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img; + var b = e.slice() + for (var i in b) { + b[i] = this.data.iurl + e[i]; + } + this.data.show_prew_img = 1; + wx.previewImage({ + current: b[t.currentTarget.dataset.id], + urls: b + }); + }, + + previewGoodsCommentImgs: function (t) { + var e = this, + a = this.data.data.comment[t.currentTarget.dataset.cidx].img; + a = a.map(function (t) { + return e.data.url + t; + }), wx.previewImage({ + current: a[t.currentTarget.dataset.id], + urls: a + }); + this.data.show_prew_img = 1; + }, + closePromModal: function () { + this.setData({ + openPromModal: !1 + }); + }, + openPromModal: function () { + this.setData({ + openPromModal: !0 + }); + }, + + //--点击分享事件--- + onShareAppMessage: function (t) { + + var th = this; + var price = th.data.pre_arr.presell_price; + var img = th.data.data.original_img; + var title = th.data.presellForm.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.presellForm.share_img) + img = th.data.iurl + th.data.presellForm.share_img; + + + + var url = "/packageC/pages/presell/goodsInfo/goodsInfo?goods_id=" + th.data.gid+"&pre_id="+th.data.pre_arr.id; + 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, + }; + + ob.title += '\n' + th.data.presellForm.share_remark; + + + console.log(ob,888); + + + return ob; + + }, + + //-----图片失败,默认图片----- + bind_bnerr: function (e) { + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif"; + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, + + //-----图片失败,默认图片----- + bind_bnerr2: function (e) { + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png" + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, + + //----------装载同一活动中的商品---------- + async get_sku(stoid, gd, g_id, is_normal, func) { + var tt = this, arrdata = null; + var now = ut.gettimestamp(); + var rq_data={ + store_id: o.stoid, + sku: gd.sku, + more_spec: gd.more_spec, + isonsale: 1, + is_on_sale: 1, + pageSize: 500, + orderField: 'sort', + prom_type: 8, + }; + + if(tt.data.presellForm && tt.data.presellForm.id){ + rq_data.prom_id=tt.data.presellForm.id; + } + + await getApp().request.promiseGet("/api/weshop/goods/page", { + data: rq_data + }).then(res => { + var e = res; + if (e.data.code == 0) arrdata = e.data.data.pageData; + }) + if (!arrdata) return false; + + var arrsku = new Array(); + var gitem = null; + var gb = 1, gg = ""; + for (var i = 0; i < arrdata.length; i++) { + var goodsinfo = arrdata[i], prom = null; + if (goodsinfo.goods_id != g_id) { + + switch (goodsinfo.prom_type) { + case 1: + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + + break; + case 6: + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + + break; + case 2: + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + break; + case 4: + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + break + } + + + } + //---如果有活动,不算在一起--- + if (prom) { + if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) { + if (prom.is_end == 0 && prom.end_time > now && prom.start_time < 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, ee = this, th = 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]; + break + } + } + if (item) this.setData({ + sele_g: item, + gid: gid + }); + + //that.check_is_youhui(gid, that.data.is_normal); + this.get_sto(); + + this.sele_spec_chech_activity(); + }, + + //选择了不同的规格的时候要判断是不是有活动正在进行中 + async sele_spec_chech_activity() { + var prom = null, goodsinfo = this.data.sele_g, th = this; + + var all_pre_goods=th.data.all_pre_goods; + if(all_pre_goods){ + var userInfo = getApp().globalData.userInfo; + var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: th.data.gid }; + if (userInfo) { + pre_data.user_id = userInfo.user_id; + } + await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", { + data: pre_data, + }).then(e => { + if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) { + all_pre_goods=e.data.data.pageData; + th.data.all_pre_goods=e.data.data.pageData; + } + }) + } + + var idx=all_pre_goods.findIndex(function (ele) { + return ele.goods_id==goodsinfo.goods_id; + }) + var pre_arr =all_pre_goods[idx]; + th.setData({ pre_arr: pre_arr }) + th.data.prom_buy_limit=pre_arr.vip_butyqty; + }, + + + //---------拿出门店分类和门店------------ + get_sto(e) { + var th = this, 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 }); + } + + /*--最新的,不用这里筛选配送方式 + if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){ + th.setData({def_pick_store:null}); + }--*/ + + + 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) { + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { + th.setData({ + def_pick_store: e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }); + th.data.fir_def_store = e.data.data.pageData[0]; + } + + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { + for (var k = 0; k < e.data.data.pageData.length; k++) { + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { + e.data.data.pageData.splice(k, 1); //删除 + break; + } + } + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 + } + + + th.setData({ all_pick_list: e.data.data.pageData }); + + //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- + if (th.data.sales_rules == 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4) || is_normal == 1)) { + setTimeout(function () { + th.deal_pickup_dline(e); + }, 800) + } else { + setTimeout(function () { + th.deal_pickup(e); //--普通门店排版-- + }, 800) + } + } + }) + }, 200) + + }, + + + //------------处理门店--------------- + deal_pickup(e) { + var th = this; + if (!th.data.sele_g) return false + + var g_distr_type = th.data.sele_g.distr_type; + wx.hideLoading(); + + //单总量超出5个的时候 + if (e.data.data.total > 5) { + getApp().request.get("/api/weshop/storagecategory/page", { + data: { + store_id: o.stoid, + 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] }) + } + } + } else { + th.setData({ + is_show_sto_cat: -1, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ + if (!th.data.def_pick_store) { + th.setData({ def_pick_store: e.data.data.pageData[0] }) + } + + } + } + }); + } else { + th.setData({ + is_show_sto_cat: 0, + only_pk: e.data.data.pageData + }); + //-----如果没有默认门店,要取第一个门店作为默认店------ + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { + th.setData({ + def_pick_store: e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }) + } + } + }, + + //------------处理线下门店库存-------- + deal_pickup_dline(e) { + var pkno = [], th = this; + if (!th.data.sele_g) return false; + + if (this.data.def_pick_store) { + pkno.push(this.data.def_pick_store.pickup_no); + } + for (var i in e.data.data.pageData) { + var item = e.data.data.pageData[i]; + if (pkno.indexOf(item.pickup_no) < 0) + pkno.push(item.pickup_no); + } + pkno.sort(); + var pkno_str = pkno.join(","); + var o_plist = e.data.data.pageData; + var new_list = []; + var is_find_def_store = 0; + + + var g_distr_type = th.data.sele_g.distr_type; + var lock = []; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, pageSize: 1000 } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + lock = res.data.data.pageData + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: pkno_str, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid, pageSize: 2000 } + }) + }).then(res => { + + wx.hideLoading(); + if (res.data.code == 0) { + if (res.data.data.pageData && res.data.data.pageData.length > 0) { + var plist = res.data.data.pageData; + var def_pick_store = th.data.def_pick_store; + //以原来的数组为外循环,保证距离的顺序 + for (var kk in o_plist) { + for (var ii in plist) { + //线下的门店小心 + var n_item = plist[ii]; + if (n_item.StorageNo == o_plist[kk].pickup_no) { + + //拿到锁库的数量 + var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); + //可出库数大于预出库库存的数量,可以判断为有库存 + if (n_item.CanOutQty > lock_num) { + o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; + new_list.push(o_plist[kk]); + //--如果找到默认门店,同时也应该判断配送方式对不对-- + if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { + th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; + if (def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) + th.setData({ def_pick_store: th.data.fir_def_store }) + is_find_def_store = 1; + } + } + break; + } + } + } + + //数据组装下 + var em = {}; em.data = {}; em.data.data = {}; + em.data.data.total = new_list.length; + em.data.data.pageData = new_list; + + //--如果找到默认门店,同时也应该判断配送方式对不对-- + if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { + th.data.fir_def_store.CanOutQty = 0; + //--当选择的门店是客户默认的门店的时候-- + if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { + th.setData({ def_pick_store: th.data.fir_def_store }); + em.data.data.pageData.unshift(th.data.def_pick_store); + } else { + em.data.data.pageData.splice(1, 0, th.data.fir_def_store); + } + } + + //---把数组组装进去--- + th.deal_pickup(em); + } else { + th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) + } + } else { + th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) + } + }) + }, + + find_lock_num(pick_id, lock) { + var lock_num = 0; + if (!lock) return 0; + if (lock.length < 0) return 0; + for (var i in lock) { + if (pick_id == lock[i].pickupId) { + lock_num += lock[i].outQty; + } + } + return lock_num; + }, + + //----------取货门店被点击的效果------ + getmendian: function (t) { + this.setData({ + ismend: 1, + }); + }, + + //----------隐藏取货门店,选取门店---------- + hidemend: function (e) { + var pid = e.target.dataset.p_id; + var pname = e.target.dataset.p_name; + var p_distr_t = e.target.dataset.p_dis; + this.setData({ + ismend: 0, + is_sec_mend: 0, + sto_sele_id: pid, + sto_sele_name: pname, + sto_sele_distr: p_distr_t + }); + }, + + //------显示取货2级---------- + show_sec: function (t) { + var index = t.target.dataset.index; + var item = this.data.all_sto[index]; + this.setData({ + is_sec_mend: 1, + sec_sto: item + }); + }, + + //------隐藏取货门店2级---- + hide_sec_mend: function () { + this.setData({ + is_sec_mend: 0, + }); + }, + + //评论的调用 + requestComments_new: async function () { + var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3; + var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p; + + //wx.showLoading(); + var req_where = { + store_id: o.stoid, pageSize: 5, is_show: 1, + parent_id: 0, goods_id: th.data.gid, commenttype: tp, + } + if (getApp().globalData.userInfo) { + req_where.userId = getApp().globalData.userInfo.user_id; + } + + var rs_data = null; + await getApp().request.promiseGet(t, { data: req_where }).then(res => { + var tot = res.data.data.total; + e.data.c_curr_p++; + e.setData({ + com_num: tot, //已经有加载 + }); + if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { + rs_data = res.data.data.pageData; + } else { + th.setData({ comments_no_more: 1, auto: 1 }); + } + }) + + if (rs_data) { + //var cda = th.data.comments; + var cda = rs_data, com_data = th.data.comments; + for (var ind in cda) { + var ep = cda[ind]; + if (cda[ind].head_pic == '') { + cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png"; + } + if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) { + cda[ind].weapp_img = JSON.parse(ep.weapp_img); + } + if (ep.img != "" && ut.isString(ep.img)) { + cda[ind].img = ut.unserialize(ep.img); + } + + //--测量多有字的宽带,计算有多少行-- + var widh = ut.measureText(ep.content, 30); + var lines = widh / 712; + cda[ind].seeMore = false; + if (lines > 3) cda[ind].seeMore = true; + + await getApp().request.promiseGet("/api/weshop/comment/pageComment", { + data: { store_id: o.stoid, parent_id: ep.comment_id } + }).then(res => { + if (res.data.data.pageData && res.data.data.pageData.length > 0) { + cda[ind].replay_list = res.data.data.pageData; + } + }) + } + + if (!com_data) com_data = cda; + else com_data = com_data.concat(cda); + + th.setData({ comments: com_data }); + } + th.setData({ get_c: 1 }); + //wx.hideLoading(); + }, + + //加载更多是靠这个函数 + onReachBottom: function () { + if (this.data.activeCategoryId == 2) { + if (!this.data.comments_no_more) this.requestComments_new(); + } + + var goods_list = this.selectComponent("#goods_list"); //组件的id + if (goods_list) goods_list.get_list(); + }, + + //--获取有多少人在开团-- + async get_team_group(prom_id) { + var teamgroup = [], + th = this, + grounp_tatal = 0; + //如果活动是开团不是商家团 + if (this.data.prom_act.kttype > 1) { + + var req_data = { + store_id: os.stoid, + pageSize: 3, + page: 1, + state: 2, + team_id: prom_id, + ordernum: 1 + }; + + if (this.data.prom_act.kttype == 3 && this.data.prom_act.max_ct_num) { + req_data.max_num = this.data.prom_act.max_ct_num; + } + + //获取活动从表信息team_id + await getApp().request.promiseGet("/api/weshop/teamgroup/page", { + data: req_data + }).then(res => { + teamgroup = res.data.data.pageData; + grounp_tatal = res.data.data.total; + }) + //获取订单的总数这个接口不能用 + for (i = 0; i < teamgroup.length; i++) { + await getApp().request.promiseGet("/api/weshop/order/page", { + data: { + store_id: os.stoid, + pt_status: 1, + pt_listno: teamgroup[i].listno + } + }).then(res => { + var order = res.data.data.pageData; + teamgroup[i].open_num = order.length; + }) + await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => { + var user = res.data.data; + teamgroup[i].user = user; + }) + } + + if (teamgroup.length > 0) { + th.setData({ + teamgroup: teamgroup, + grounp_tatal: grounp_tatal + }); + th.countDown2(); + } + } + }, + + //---小于10的格式化函数---- + timeFormat(param) { + return param < 10 ? '0' + param : param; + }, + + //----倒计时函数----- + countDown(time, prom_st) { + if (!this.data.is_timer) return false; + var th = this; + // 获取当前时间,同时得到活动结束时间数组 + var endTime = time; + var newTime = ut.gettimestamp(); + // 对结束时间进行处理渲染到页面 + var obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0) { + var time = (endTime - newTime); + // 获取天、时、分、秒 + var day = parseInt(time / (60 * 60 * 24)); + var hou = parseInt(time % (60 * 60 * 24) / 3600); + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + } else { + + //活动已结束,全部设置为'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; + map.set(gd.goods_id, g_buy_num); + th.setData({ + g_buy_num: map, + }); + getApp().request.get("/api/weshop/order/orderPresell/countBuyGoodsSum",{ + data: {store_id: os.stoid, user_id: user_id, goods_id: gd.goods_id, prom_id: gd.prom_id}, + success: function (e) { + if (e.data.code == 0) { + th.setData({prom_buy_num: e.data.data.sumgoodsnum}) + "function" == typeof func && func(); + } else { + th.setData({prom_buy_num: 0,}) + "function" == typeof func && func(); + } + + } + }); + + } + } + }); + } + }, + + //--拼单推荐的显示--- + tj_Click: function (e) { + var ind = parseInt(e.target.dataset.ind); + this.setData({ + is_show_gz: ind + }); + }, + + //-------跳转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; + 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); + }, + + //--点赞功能-- + click_zan: function (e) { + var com_id = e.currentTarget.dataset.com_id; + var item_id = e.currentTarget.dataset.item_id; + var app = getApp(), + th = this; + + if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) { + app.confirmBox("您还未登录"); + return false; + } + + var iszan = th.data.comments[item_id].userZanNum; + if (this.data.iszaning) return false; + this.data.iszaning = 1; + + + app.request.post("/api/weshop/commentZan/save", { + data: { + store_id: o.stoid, + user_id: app.globalData.user_id, + goods_id: th.data.gid, + comment_id: com_id + }, + success: function (ee) { + + if (ee.data.code == "-1") { + app.my_warnning("不能给自己点赞", 0, th); + th.data.iszaning = 0; + return; + } + + if (ee.data.code == 0 && iszan != 1) { + var num = th.data.comments[item_id].zan_num; + num++; + var text = "comments[" + item_id + "].zan_num"; + var text1 = "comments[" + item_id + "].userZanNum"; + var _errObj = {}; + _errObj[text] = num; + _errObj[text1] = 1; + th.setData(_errObj); + + } else { + var num = th.data.comments[item_id].zan_num; + num--; + var text = "comments[" + item_id + "].zan_num"; + var text1 = "comments[" + item_id + "].userZanNum"; + var _errObj = {}; + _errObj[text] = num; + _errObj[text1] = 0; + th.setData(_errObj); + } + + setTimeout(function () { + th.data.iszaning = 0; + }, 500) + + } + }) + }, + + /*----券的开关---*/ + switchCoupon: async function (event) { + var coupon = event.currentTarget.dataset.coupon; + var app = getApp(); + var url = "/api/weshop/prom/coupon/pageCouponList"; + var quan_list = this.data.quan_list; + var th = this; + + //当开启,且列表为空的情况下要 + if (!quan_list && coupon == "1") { + wx.showLoading(); + await app.request.promiseGet(url, { + data: { + store_id: os.stoid, + type: 1, + pageSize: 100, + page: 1, + user_id: app.globalData.user_id, + is_share: 0 + } + }).then(res => { + wx.hideLoading(); + quan_list = res.data.data.pageData; + }) + + if (quan_list) { + for (var ind in quan_list) { + var ep = quan_list[ind]; + var start = ut.formatTime(ep.use_start_time, "yyyy-MM-dd"); + var end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd"); + start = start.replace("00:00:00", ""); + end = end.replace("00:00:00", ""); + quan_list[ind].start = start; + quan_list[ind].end = end; + } + } + + th.setData({ + coupon: coupon, + quan_list: quan_list + }); + } else { + th.setData({ + coupon: coupon + }); + } + }, + + //--查看评价-- + look_pj: function () { + this.tabComment(); + this.doScrollTop(); + }, + + //-----领取券----- + get_quan: function (e) { + var cid = e.currentTarget.dataset.cid; + var index = e.currentTarget.dataset.ind; + var item = this.data.quan_list[index]; + + + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + wx.navigateTo({ + url: '/pages/togoin/togoin', + }) + return false; + } + + + //如果券还在领取中,不能再点 + if (item.linging == 1) { + getApp().my_warnning('领取中..', 0, this); + return false; + } + + //如果领取的次数到了 + if (item.everyone_num > 0 && item.lqnum >= item.everyone_num) { + getApp().my_warnning('领取失败,您已领完该券', 0, this); + return false; + } + + var lq_num = item.lqnum; + + var pdata = { + 'uid': oo.user_id, + 'cid': cid, + 'store_id': os.stoid, + 'type': 5 + }; + + //-- 导购ID -- + if (getApp().globalData.guide_id) { + pdata.guide_id = getApp().globalData.guide_id; + } + + var app = getApp(), + th = this; + app.request.post("/api/weshop/couponList/saveCouponList", { + data: pdata, + success: function (res) { + if (res.data.code == 0) { + app.my_warnning("领取成功", 1, th); + lq_num++; + var text = "quan_list[" + index + "].lqnum"; + var text2 = "quan_list[" + index + "].linging"; + var obj = {}; + obj[text] = lq_num; + obj[text2] = 0; + th.setData(obj); + } else { + app.confirmBox(res.data.msg); + var text2 = "quan_list[" + index + "].linging"; + var obj = {}; + obj[text2] = 0; + th.setData(obj); + } + } + }) + }, + + //--定义的保存图片方法,分享团--- + saveImageToPhotosAlbum: function () { + //--先判断会员状态-- + var user_info = getApp().globalData.userInfo; + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + //getApp().my_warnning("请先登录",0,this); + wx.navigateTo({ url: '/pages/togoin/togoin', }) + return false; + } + + if (this.data.share_hidden) { + this.setData({ + share_hidden: false, + }); + }; + + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 + var type = 8; + 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 + "_"+th.data.presellList.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=packageC/pages/presell/goodsInfo/goodsInfo"; + + + console.log(path3); + + //读取文件成功则OK-- + wx.getImageInfo({ + src: path3, + success: function (res) { + //回调写法 + th.get_head_temp(th.get_goods_temp, function () { + var vpath = res.path; + var context = wx.createCanvasContext('share'); + //先画背景 + var pg_path = "../../../../images/share/share_bg.png"; + + // context.fillStyle="#FFFFFF"; + // context.fillRect(0,0,554 * unit, 899 * unit); + + //-- 如果有自定义海报的时候,判断背景的图片 -- + if (th.data.share_b_img) { + pg_path = th.data.share_b_img; + } + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); + + //-- 是自定义海报的情况下 -- + if (th.data.poster && parseInt(th.data.poster.style) == 2) { + //在线上分享人的情况下 + if (parseInt(th.data.poster.show_headpic)) { + //获取坐标 + var x = parseFloat(th.data.poster.head_x) * 2; + var y = parseFloat(th.data.poster.head_y) * 2; + var x1 = (x + 90) * unit; + var y1 = (y + 50) * unit; + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, x1, y1); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; + //强烈推荐 改许程 + var tj_path = "../../../../images/share/q_tj.png"; + context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit) + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white") + context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit); + + //context.setFillStyle("black") + //context.setFontSize(24 * unit) + //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit); + } + } else { + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; + //强烈推荐 改许程 + var tj_path = "../../../../images/share/q_tj.png"; + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit); + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white"); + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit); + } + + var share_title = th.data.presellForm.share_title; + share_title ? share_title : th.data.data.goods_name; + + //---产品名称--- + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 + if (type != 4) { + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 80 * unit, 200 * unit, 200 * unit, 279 * unit, unit); + + //------产品的价格------- + context.setFontSize(22 * unit) + context.setFillStyle("red") + + + var pri0 = th.data.presellList.presell_money; + // if (th.data.prom_act) + // pri0 = th.data.prom_act.price; + pri0 = parseFloat(pri0).toFixed(2); + var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25; + context.fillText("¥", wd1 - 15, 185 * unit); + context.setFontSize(22 * unit) + context.fillText(pri0, wd1, 185 * unit); + + //---市场价划掉--- + context.setFillStyle("red") + context.setFontSize(22 * unit) + pri0 = "¥" + th.data.data.market_price.toFixed(2); + var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25; + + if(th.data.presellForm.presell_type==1){ + context.setStrokeStyle('gray'); + context.fillText(pri0, wd2, 213 * unit); + context.setLineWidth(1 * unit); + context.moveTo(wd2 - 5, 206 * unit); + context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); + context.stroke(); + }else{ + context.fillText('定金', wd2, 213 * unit); + } + + + + } else { + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit); + //------ 产品的价格 ----- + var pri0 = th.data.prom_act.addmoney; + var integral = th.data.prom_act.integral; + var text = ""; + if (integral) { text = integral + "积分"; } + if (pri0 && integral) { text += "+"; } + if (pri0) { text += "¥" + pri0; } + + if (!pri0 && !integral) { text = "0积分"; } + context.setFillStyle("red"); + context.fillText(text, 38 * unit, 235 * unit); + + } + + //console.log(th.data.share_goods_img); + //let share_goods_img=th.data.presellForm.share_img; + //share_goods_img?share_goods_img:th.data.data.share_goods_img; + //---中间大图--- + context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); + + + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 665 * unit) + context.lineTo(520 * unit, 665 * unit) + context.stroke(); + + //---文字--- + context.setFillStyle("black") + // context.setFontSize(22 * unit) + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 730 * unit); + context.setFillStyle("red") + context.setFontSize(20 * unit) + var presell_price = `预售价:${th.data.presellList.presell_price}` + context.fillText(presell_price, 40 * unit, 780 * unit); + context.setFillStyle("black") + context.setFontSize(22 * unit) + 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, 136 * unit, 136 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 746 * unit, 130 * unit, 116 * 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; + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = x * unit; + var h_y = y * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); + } + + } else { + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = 60 * unit; + var h_y = 24 * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); + } + + + //把画板内容绘制成图片,并回调 画板图片路径 + context.draw(false, function () { + setTimeout(function () { + wx.canvasToTempFilePath({ + x: 0, + y: 0, + width: 750, + height: 1217, + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, + canvasId: 'share', + success: function (res) { + + that.setData({ + shareImgPath: res.tempFilePath, + canvasHidden: true + }) + + if (!res.tempFilePath) { + wx.showModal({ + title: '提示', + content: '图片绘制中,请稍后重试', + showCancel: false + }) + return false; + } + + // wx.previewImage({ + // //将图片预览出来 + // urls: [that.data.shareImgPath] + // }); + that.setData({ + showPoster: true, + }); + wx.hideLoading(); + } + }) + }, 500) + + }); + }); + }, + fail: function (res) { + console.log(res); + wx.hideLoading(); + + } + }); + }, + + + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 + draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { + var lineWidth = 0; + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 + var han = 0; + for (let i = 0; i < str.length; i++) { + if (han == 2) return; + //lineWidth += ctx.measureText(str[i]).width; + lineWidth += ut.measureText(str[i], 21.3 * unit); + if (lineWidth > canvasWidth) { + han++; + + if (han == 2) + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 + else + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); + + initHeight += 22; //22为字体的高度 + lineWidth = 0; + lastSubStrIndex = i; + titleHeight += 20; + } + if (i == str.length - 1) { //绘制剩余部分 + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); + } + } + }, + + // ----视频图片---- + // 图片计数器 + swiperChange: function (e) { + var that = this; + if (e.detail.current > 0) { + that.setData({ + hiddenn: 1, + videopicture: 1, + }) + } else { + that.setData({ + hiddenn: 0, + videopicture: 0, + }) + } + if (e.detail.source == 'touch') { + that.setData({ + current: e.detail.current + }) + } + }, + + /*---视频相关--*/ + videopicture: function (e) { + var vipi = e.currentTarget.dataset.vipi; + this.setData({ + videopicture: vipi, + swiperCurrent: vipi, + noon: 0, + current: 1 + }); + }, + + videoPlay: function (e) { + var _index = e.currentTarget.id + this.setData({ + _index: _index, + noon: 1 + }) + + setTimeout(function () { + //将点击视频进行播放 + var videoContext = wx.createVideoContext(_index) + videoContext.play(); + }, 500) + }, + + + + //--获取头像的本地缓存,回调写法-- + get_head_temp: function (tt, func) { + var ee = this; + if (ee.data.share_head) { + tt(func); + return false; + } + //---获取分享图片的本地地址,头像和商品图片---- + var path2 = getApp().globalData.userInfo.head_pic; + if (path2 == "") { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; + tt(func); + } else { + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); + wx.getImageInfo({ + src: path2, + success: function (res) { + //res.path是网络图片的本地地址 + ee.data.share_head = res.path; + tt(func); + }, + fail: function (res) { + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 + tt(func); + } + }); + } + }, + //--获取商品图片的本地缓存,回调写法-- + get_goods_temp: function (tt) { + var ee = this; + if (ee.data.share_goods_img) { + tt(); + return false; + } + // var img_url = ee.data.data.original_img; + var img_url = ee.data.presellForm.share_img; + img_url?img_url:ee.data.data.original_img; + + if (img_url) { + img_url = this.data.iurl + img_url; + } + + //获取商品是分享图信息 + wx.getImageInfo({ + src: img_url, + success: function (res) { + //res.path是网络图片的本地地址 + ee.data.share_goods_img = res.path; + tt(); + }, + fail: function (res) { + ee.data.share_goods_img = "../../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 + tt(); + } + }); + }, + + //--外侧评价的点击效果--- + clik_evaluate: function (e) { + var val = e.currentTarget.dataset.val; + this.setData({ + activeCategoryId: 2, + activeCategoryId3: val, + comments: null + }); + this.requestComments_new(); + }, + + //--跳转到商品详情页面-- + go_goods: function (e) { + var gid = e.currentTarget.dataset.gid; + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid; + getApp().goto(url); + }, + + //--跳转到支付尾款界面-- + go_pay_wk: function () { + var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.wk_order_id; + getApp().goto(url); + }, + + pop_err_img: function (e) { + var txt = e.currentTarget.dataset.errorimg; + var ob = {}; + ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif"; + this.setData(ob); + }, + + //--调用更新阶梯团的接口-- + update_jiti: function (id) { + var th = this; + //--更新阶梯团-- + getApp().request.put("/api/weshop/teamgroup/updateTeamOrder/" + os.stoid + "/" + id, { + success: function (ee) { + //--等于0是要去支付尾款,接口调用失败,就要去查看参团详情-- + if (ee.data.code == 0) { + th.setData({ + user_order_pt_state: 3, + }); + } else if (ee.data.code == -1) { + th.setData({ + user_order_pt_state: 2, + }); + } + } + }) + }, + // 选择门店 + choice_store: function (ee) { + var th = this; + var ind = ee.currentTarget.dataset.ind; + var bconfig = th.data.bconfig; + + if (!th.data.only_pk && !th.data.def_pickpu_list) { + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + if (th.data.only_pk && !th.data.only_pk.length) { + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) { + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + + if (bconfig && bconfig.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function (res) { + + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + th.setData({ + is_gps: 1 + }); + //th.onShow(); + th.get_sto(th.data.is_normal); + }, + fail: function (res) { + //th.onShow(); + th.data.is_get_local_ok = 1; + th.get_sto(th.data.is_normal); + if (res.errCode == 2) { + th.setData({ + is_gps: 0 + }); + if (th.data.is_gps == 0) { + getApp().confirmBox("请开启GPS定位", null, 25000, !1); + } + } else { + th.setData({ + is_gps: "3" + }); + } + + } + }) + } else { + th.data.is_get_local_ok = 1; + th.get_sto(th.data.is_normal); + } + + if (ind != undefined && ind != null) { + this.setData({ + open_ind_store: ind, + store: 1, + openSpecModal: !1, + openSpecModal_pt: !1 + }) + } else { + this.setData({ + store: 1, + openSpecModal: !1, + openSpecModal_pt: !1 + }) + } + }, + //关闭选择门店 + close_popup: function (e) { + var th = this; + this.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + fir_pick_index: 0, + sec_pick_index: 0 + }) + + var openindstore = this.data.open_ind_store; + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0 + }) + } + + + }, + + //选择更多门店 + more_store: function () { + this.setData({ + sort_store: 1 + }); + }, + sort_store: function () { + + }, + // 返回按钮 + returns: function () { + this.setData({ + sort_store: 0, + choice_sort_store: 0 + }); + }, + //---选择分类门店--- + choice_sort_store: function (e) { + var index = e.currentTarget.dataset.index; + var region_name = e.currentTarget.dataset.region; + var item = this.data.all_sto[index]; + this.setData({ + region_name: region_name, + sort_store: 0, + choice_sort_store: 1, + sec_sto: item, + sec_pick_index: 0 + }); + }, + + choose_for_store_fir: function (e) { + var index_c = e.currentTarget.dataset.ind; + var th = this; + th.setData({ + fir_pick_index: index_c + }) + + }, + + //如果开启线下库存,已经急速库存才会使用 + async check_the_pick(item, func) { + var th = this; + var goodsinfo = th.data.sele_g; + var erpwareid = goodsinfo.erpwareid; + var plist = null; + var lock = 0; + + //---如果是活动的时候,同时不是普通购买--- + if ((th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) && !th.data.is_normal) { + func(); return false; + } + + if (this.data.sales_rules != 2) { + func(); + } else { + + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: goodsinfo.goods_id, storageId: item.pickup_id, pageSize: 1000 } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + for (var i in res.data.data.pageData) + lock += res.data.data.pageData[i].outQty; + } + }) + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: item.pickup_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; + } + }) + + if (plist && plist.CanOutQty - lock > 0) { + item.CanOutQty = plist.CanOutQty - lock; + func(); + return false; + } + getApp().my_warnning(item.pickup_name + "库存不足!", 0, th); + + } + }, + + + //确定def_pick为选择的门店 + sure_pick: function (e) { + var th = this; + var item = null; + var openindstore = th.data.open_ind_store; + + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk[index]; //当没有门店分类的时候 + } + + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + + if (!th.data.sele_g) return false; + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } + + //--回调函数的用法-- + th.check_the_pick(item, function () { + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0, + fir_pick_index: 0 + }); + + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0 + }) + } + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + }) + }, + //---点击二级之后的选择--- + choose_for_store: function (e) { + var index_c = e.currentTarget.dataset.ind; + var th = this; + th.setData({ + sec_pick_index: index_c, + fir_pick_index: index_c + }) + + }, + //把选择的门店设置成默认的门店def_pick + set_def_pick: function (e) { + var th = this; + var item = null; + if (th.data.choice_sort_store == 0) { + var index = th.data.fir_pick_index; + if (th.data.is_show_sto_cat == 1) { + item = th.data.def_pickpu_list[index]; + } else { + item = th.data.only_pk[index]; //当没有门店分类的时候 + } + } else { + var index = th.data.sec_pick_index; + item = th.data.sec_sto.s_arr[index]; + } + + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } + + //先设置之前,要判断是不是有库存 + th.check_the_pick(item, function () { + var store_id = o.stoid; + var user_id = getApp().globalData.user_id; + var def_pickup_id = item.pickup_id; + + getApp().request.put('/api/weshop/users/update', { + data: { + user_id: user_id, + def_pickup_id: def_pickup_id + }, + success: function (res) { + if (res.data.code == 0) { + if (th.data.choice_sort_store == 0) th.setData({ + fir_pick_index: 0 + }); + getApp().globalData.pk_store = item; + } else { + //s.showWarning("设置默认门店地址失败", null, 500, !1); + getApp().my_warnning("设置默认门店地址失败", 0, th) + } + } + }); + + th.setData({ + def_pick_store: item, + sto_sele_name: item.pickup_name, + sto_sele_id: item.pickup_id, + sto_sele_distr: item.distr_type, + store: 0, + choice_sort_store: 0 + }); + + var openindstore = th.data.open_ind_store; + if (openindstore == 1) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + store: 0, + choice_sort_store: 0, + sort_store: 0, + }); + } else if (openindstore == 2) { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: openindstore, + store: 0, + choice_sort_store: 0, + sort_store: 0, + }); + } + else if (openindstore == 4) { //4就是拼团 + th.setData({ + openSpecModal_pt: 1, //打开拼团购买界面 + store: 0, //关闭门店 + choice_sort_store: 0, //关闭门店2级 + sort_store: 0, //关闭门店2级 + }); + } + + else { + th.setData({ + store: 0, + choice_sort_store: 0, + sort_store: 0, + }) + } + + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + + }) + }, + + wait_for_store_config: function () { + var th = this; + var t_time = setInterval(function () { + if (th.data.bconfig == null) false; + var e = th.data.bconfig; + if (e && e.is_sort_storage) { + wx.getLocation({ + type: 'gcj02', + success: function (res) { + th.data.lat = res.latitude; + th.data.lon = res.longitude; + th.data.is_get_local_ok = 1; + }, + fail: function (res) { + if (res.errCode == 2) { + th.setData({ + is_gps: 0 + }); + if (th.data.is_gps == 0) { + getApp().confirmBox("请开启GPS定位", null, 10000, !1); + } + + } else { + th.setData({ + is_gps: "3" + }); + } + + th.data.is_get_local_ok = 1; + } + }) + } else { + th.data.is_get_local_ok = 1; + } + clearInterval(t_time); + }, 500) + }, + //显示全部 + toggleHandler: function (e) { + var that = this, + index = e.currentTarget.dataset.index; + for (var i = 0; i < that.data.comments.length; i++) { + if (index == i) { + for (var i = 0; i < that.data.comments.length; i++) { + that.data.comments[index].auto = true; + that.data.comments[index].seeMore = false; + } + } + } + that.setData({ + comments: that.data.comments + }) + }, + + //收起更多 + toggleContent: function (e) { + var that = this, + index = e.currentTarget.dataset.index; + for (var i = 0; i < that.data.comments.length; i++) { + if (index == i) { + that.data.comments[index].auto = true; + that.data.comments[index].seeMore = true; + } + } + that.setData({ + comments: that.data.comments + }) + }, + + //--- 获取卡类列表 --- + getPlusCardType: function (func) { + var storid = os.stoid; + var th = this; + var user = getApp().globalData.userInfo; + if (!user) return false; + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { + var plusCard = res.data.data; + var arr = [1219, 2089, 3031]; + var new_arr = new Array(); + var card_name_map = new Map(); + + var list = []; + for (var i = 0; i < plusCard.length; i++) { + if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue; + var name = "card" + plusCard[i].CorrPrice.toLowerCase(); + card_name_map.set(name, plusCard[i].CardName); + list.push(plusCard[i]); + } + + var ob = { "card_list": list, "name_map": card_name_map }; + func(ob); + }) + }, + + go_plus: function () { + getApp().goto("/pages/user/plus/plus"); + }, + go_card_info: function () { + getApp().goto("/pages/user/cardinfo/cardinfo"); + }, + //-- 根据ID拿出门店 -- + get_pick_from_list(pid) { + var all_pick_list = this.data.all_pick_list; + for (var i in all_pick_list) { + var item = all_pick_list[i]; + if (item.pickup_id == pid) { + return item; + } + } + }, + //-----显示优惠券的时候情况----- + show_more_cx: function () { + if (this.data.is_more_cx) { + this.setData({ is_more_cx: 0 }); + } else { + this.setData({ is_more_cx: 1 }); + } + }, + + //----跳转到搭配购买---- + go_prom_list: function () { + + var url = "../../../../packageA/pages/prom_list/prom_list?goods_id=" + this.data.gid; + var room_id = getApp().globalData.room_id; + if (room_id && this.data.gid == getApp().globalData.room_goods_id) { + url += "&room_id=" + room_id; + } + wx.navigateTo({ url: url, }) + }, + + closePoster() { + this.setData({ + showPoster: false, + }); + }, + + // 保存图片到手机 + savePic() { + console.log('保存图片'); + var self = this; + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 + this.getSetting().then((res) => { + // 判断用户是否授权了保存到相册的权限,如果没有发起授权 + if (!res.authSetting['scope.writePhotosAlbum']) { + this.authorize().then(() => { + // 同意授权后保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + }) + } else { + // 如果已经授权,保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + } + + }) + }, + + // 获取用户已经授予了哪些权限 + getSetting() { + return new Promise((resolve, reject) => { + wx.getSetting({ + success: res => { + resolve(res) + } + }) + }) + }, + + // 发起首次授权请求 + authorize() { + // isFirst 用来记录是否为首次发起授权, + // 如果首次授权拒绝后,isFirst赋值为1 + let isFirst = wx.getStorageSync('isFirst') || 0; + return new Promise((resolve, reject) => { + wx.authorize({ + scope: 'scope.writePhotosAlbum', + // 同意授权 + success: () => { + resolve(); + }, + // 拒绝授权,这里是用户拒绝授权后的回调 + fail: res => { + if (isFirst === 0) { + wx.setStorageSync('isFirst', 1); + wx.showToast({ + title: '保存失败', + icon: 'none', + duration: 1000 + }) + } else { + this.showModal(); + } + console.log('拒绝授权'); + reject(); + } + }) + }) + }, + + + // 保存图片到系统相册 + saveImage(saveUrl) { + var self = this; + return new Promise((resolve, reject) => { + wx.saveImageToPhotosAlbum({ + filePath: saveUrl, + success: (res) => { + wx.showToast({ + title: '保存成功', + duration: 1000, + }); + self.setData({ + showPlaybill: 'true' + }); + resolve(); + }, + fail: () => { + wx.showToast({ + title: '保存失败', + duration: 1000, + }); + } + }) + }) + }, + + previewImage() { + this.data.show_prew_img = 1; + wx.previewImage({ + //将图片预览出来 + urls: [this.data.shareImgPath] + }); + }, + + + onShareTimeline() { + var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; + if (!store_name) + store_name = getApp().globalData.setting.appName; + return { + title: this.data.data.goods_name + '-' + store_name, + imageUrl: this.data.gallery[0].image_url, + } + }, + + clickCollapse() { + this.setData({ flag: !this.data.flag, }) + }, + + clickShare() { + this.setData({ share_hidden: true, }); + }, + + send() { + this.setData({ share_hidden: false, }); + }, + + cancel() { + this.setData({ + share_hidden: false, + }); + }, + + //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 + check_nor_promgood(goods_id, back) { + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + goods_id, { + success: function (res) { + if (res.data.code == 0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length > 0) { + var obj = { + act_id: res.data.data.promGoodsLists[0].prom_id, + } + back(obj); + } else { + back(0) + } + } + }) + }, + + //获取预售的信息 + async get_pre_prom(func) { + var th = this; + var presell_id = null; + var pre_arr = null; + + if (!th.data.pre_id) { + var presell_id = th.data.presell_id; + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: presell_id, + goods_id: th.data.gid + } + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + presell_id = arr.presell_id; + th.setData({ + presellList: arr, + }) + } + }) + + } else { + //------获取预售从表---------- + await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/get/" + os.stoid + "/" + th.data.pre_id, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + var arr = res.data.data; + presell_id = arr.presell_id; + th.setData({ + presellList: arr, + }) + } + }) + } + + if (!presell_id) { + wx.showToast({title: "未找到活动商品", icon: 'none', duration: 3000}); + ut.wx_back(); + return false; + } + + var gnext=1; + //------获取预售主表---------- + await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + var act_data = res.data.data; + if (act_data.is_end) { + wx.showToast({title: "活动已经结束", icon: 'none', duration: 3000}); + setTimeout(function () { + ut.wx_back(); + }, 2000) + gnext=0; + return false; + } + if (act_data.isuse == 0) { + wx.showToast({title: "活动未启用", icon: 'none', duration: 3000}); + setTimeout(function () { + ut.wx_back(); + }, 2000) + gnext=0; + return false; + } + + var err_txt="活动定金时间已经结束"; + var end_time = act_data.end_time; + if (act_data.presell_type == 0) { + end_time = act_data.pay_enddate; + err_txt="活动尾款时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({title:err_txt, icon: 'none', duration: 3000}); + setTimeout(function () { + ut.wx_back(); + }, 2000) + gnext=0; + return false; + } + // 判断活动是否开始 + // if (act_data.start_time > ut.gettimestamp()) { + // wx.showToast({title:"活动还未开始", icon: 'none', duration: 3000}); + // setTimeout(function () { + // ut.wx_back(); + // }, 2000) + // gnext=0; + // return false; + // } + th.setData({ + presellForm: res.data.data, + }); + th.countDown(res.data.data.start_time) + } + + }) + + if(!gnext){ + return false; + } + + var userInfo = getApp().globalData.userInfo; + var pre_data = { + store_id: os.stoid, + is_end: 0, + timetype: 0, + isuse: 1, + prom_type: 8, + prom_id: + presell_id, + pageSize:1000 + }; + if (userInfo) { + pre_data.user_id = userInfo.user_id; + } + await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", { + data: pre_data, + }).then(e => { + if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) { + + th.data.all_pre_goods = e.data.data.pageData; + var idx = e.data.data.pageData.findIndex(function (ele) { + return ele.id == th.data.presellList.id; + }) + + pre_arr = e.data.data.pageData[idx]; + th.setData({pre_arr: pre_arr,show:1}) + th.data.prom_buy_limit = pre_arr.vip_butyqty; + } + }) + + + // if (!pre_arr) { + // wx.showToast({title: "当前会员身份不符或者时间已过期,无法参与", icon: 'none', duration: 3000}); + // setTimeout(function () { + // ut.wx_back(); + // }, 2000) + // return false; + // } + + + if (func) { + func(); + } + }, + + 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) {} + }) + } + +}); diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.json b/packageC/pages/presell/pregoodsInfo/goodsInfo.json new file mode 100644 index 0000000..feb03a7 --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "商品详情", + "enablePullDownRefresh": false, + "usingComponents": { + "nav_box": "/components/nav_box/nav_box", + "warn": "/components/long_warn/long_warn", + "goods_recommend": "/components/goods_list/goods_list", + "share": "/components/share/share" + } +} \ No newline at end of file diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.wxml b/packageC/pages/presell/pregoodsInfo/goodsInfo.wxml new file mode 100644 index 0000000..e449925 --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.wxml @@ -0,0 +1,951 @@ + + + + + + + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + + + + + + 客服 + + + + + 客服 + + + + + 收藏 + + + + + {{cartGoodsNum}} + 购物车 + + + + + + {{filters.format_time(presellForm.end_time,2)}} 预售结束 + + {{filters.format_time(presellForm.delivery_date,2)}} 开始发货 + 付款{{presellForm.delivery_daynum}} 天后发货 + + + + + 即将开始 + + 定金 + {{presellList.presell_money}} + + + + 支付金额 + + {{presellList.presell_price}} + + + + + + + + + + + + + + + + + + + + + + + + 优惠券领取 + + + + + + + + + + + + + {{item.money}} + + 满{{item.condition}}元可用 + + + + 订单金额满{{item.condition}}元可用 + + {{filters.replace_time2(item.start)}} 至 {{filters.replace_time2(item.end)}} + + + + + {{ item.linging==1?'领取中':'领取'}} + + + + + + + + + + + 关闭 + + + + + + + + + + + {{choice_sort_store==0?'附近的门店':region_name}} + + + + + + {{choice_sort_store==0?'更多门店':'返回'}} + + + + + + + + + + + + + + + Г + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + Г + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + + + Г + + + + + + + + {{item.pickup_name}} + + + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + + + 地址:{{item.fulladdress}} + + + + + + + + + + 确定 + + + 设为默认 + + + + + + + 门店分类选择 + + + + + + 返回 + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.wxss b/packageC/pages/presell/pregoodsInfo/goodsInfo.wxss new file mode 100644 index 0000000..bff91ce --- /dev/null +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.wxss @@ -0,0 +1,2917 @@ +@import "../../../../utils/wxParse/wxParse.wxss"; +.container { margin-bottom: 100rpx; overflow: hidden;padding-top: 80rpx;} +image { + vertical-align: top; +} +.goods-detail{overflow: hidden} + +.type-navbar { + display: flex; + justify-content: center; + width: 100%; + position: fixed; + top: 0; + z-index: 999; + /* height: 80rpx; */ + /* margin-bottom: 20rpx; */ + background-color: #fff; + border-top: 2rpx solid #ebedf0; + /* border-bottom: 1rpx #fafafa solid; */ +} +.type-box { + width: 25%; + box-sizing: border-box; + font-size: 32rpx; + line-height: 76rpx; + padding: 0 20rpx; + text-align: center; + display: inline-block; + overflow: hidden; +} +.type-navbar-item { + /* border-bottom: 4rpx solid #fff; */ + display: flex; + justify-content: center; + width: 100%; + font-size: 26rpx; +} +.type-item-on { + color: #F95D74; + font-weight: bold; + /* border-bottom: 4rpx solid #F95D74; */ + position: relative; + font-size: 30rpx; +} +.type-item-on:after { + content: ''; + position: absolute; + width: 50%; + height: 4rpx; + background-color: #F95D74; + left: 0; + right: 0; + bottom: 0; + margin: 0 auto; +} +.swiper_box { + width: 100%; + height: 750rpx; +} +.goods-title { + display: flex; + justify-content: space-between; + /* overflow: hidden; */ + /* height: 108rpx; */ +} +.goods-name { + /* width: 560rpx; */ + /* line-height: 46rpx; */ + font-size: 32rpx; + font-weight: bold; + color: #333; + /* margin-top: 30rpx; + margin-bottom:30rpx; */ + flex: 1; + text-align: justify; + margin: 10rpx 0 20rpx; +} + +.goods-collect { + width: 112rpx; + padding-top: 30rpx; +} + +.collect-img { + width: 50rpx; + height: 44rpx; + margin: 0 auto; + overflow: hidden; +} + +.collect-des { + text-align: center; + font-size: 24rpx; + color: #333; +} + +.goods-price { + font-size: 60rpx; + /* padding: 20rpx 34rpx; */ + /* padding:0rpx 34rpx; */ + /* line-height: 60rpx; */ + color: #999; + padding: 20rpx; + /* margin-top: 46rpx; */ + /* margin-top:26rpx; + padding-bottom:20rpx; */ +} + +.prom-info { + margin: 10rpx 0; + color: #f23030; +} + +.prom-info>.prom-type { + color: white; + background-color: #f23030; + margin-right: 14rpx; + padding: 2rpx 8rpx; + border-radius: 4rpx; +} +.market-price { + /* display: flex; + margin-left: -5rpx; */ +} + +.market-price .yuan{ + /* top:24rpx; */ + font-size: 30rpx +} + +.market-price>view>text { + text-decoration: line-through; +} + +.market-price>.yj{ + color: #999999; font-size: 24rpx;/* margin-left: 16rpx;position: relative;top:30rpx; */ + display: inline-block; +} + +.goods-price>.tm{ color: #999999; font-size: 26rpx;margin-top: 10rpx;} + +.goods-num { + color: #999; + display: flex; + font-size: 24rpx; + justify-content: space-between; +} + +.goods-detail .twen{ + background: #fff;height: 60rpx; line-height: 60rpx; font-size: 30rpx;padding-left: 30rpx;display: flex; +} +.goods-detail .twen .img{ width: 32rpx; height: 32rpx; margin-left: 200rpx; background: #fff} +.goods-detail .twen image.img{vertical-align:auto;} + + +.logistics-item { + display: flex; + justify-content: space-between; + align-items: center; + height: 90rpx; + /*border-bottom: 1px solid #f5f5f5;*/ + font-size: 32rpx; + color: #666; +} +.logistics-item .small{color: #999; font-size: 24rpx;} + +.item-title { width: 180rpx;} +.item-mes { + color: #333; width: 420rpx; + height: 90rpx; line-height: 90rpx; +} +.item-img { width: 32rpx; height: 32rpx;} +.prom-item { + color: #f23030; + border: 1px solid #f23030; + border-radius: 18rpx; + line-height: 40rpx; + height: 40rpx; + padding: 2rpx 8rpx; +} + +.guarantee { + justify-content: space-around; +} + +.ico-item { + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; +} + +.guarantee>view { + display: flex; + align-items: center; + height: 32rpx; + color: #666; +} + +.user-comment { + margin: 10rpx 0; + font-size: 28rpx; +} + +.good-comment,.comment-num { + display: flex; +} + +.recommend { + background-color: #fff; + border-bottom: 1px solid #ddd; + padding-bottom: 20rpx; +} + +.recommend-title { + height: 70rpx; + line-height: 70rpx; + font-size: 28rpx; + padding: 0 30rpx; +} + +.recommend-ul { + display: flex; + justify-content: flex-start; +} + +.recommend-ul .li { + width: 25%; + box-sizing: border-box; + text-align: center; + font-size: 28rpx; + color: #333; +} + +.li-img { + width: 120rpx; + height: 120rpx; + margin: 0 auto; +} + +.li-title { + height: 58rpx; + line-height: 30rpx; + margin: 10rpx 0; +} + +.comment-item { + background-color: #fff; + font-size: 28rpx; +} + +.comment-title { + display: flex; + justify-content: space-between; + align-items: center; + height: 102rpx; + margin: 0 30rpx; + color: #333; + border-bottom: 1px solid #eee; +} + +.user-name { + display: flex; + align-items: center; +} + +.user-pic { + width: 54rpx; + height: 54rpx; + margin-right: 10rpx; + border-radius: 50%; + overflow: hidden; +} + +.stars { + float: left; + display: flex; + height: 42rpx; + line-height: 42rpx; + margin: 15rpx 0; + width: 200rpx; +} + +.star { + width: 26rpx; + height: 26rpx; + margin-right: 5rpx; +} + +.state-spec { + margin: 15rpx 0; + float: right; + font-size: 24rpx; + color: #666; + width: 460rpx; + text-align: right; +} + +.comment-cont { + padding: 0 30rpx 30rpx; + border-bottom: 1px solid #eee; +} + +.comment-mes { + line-height: 42rpx; +} + +.img-ul { + display: flex; + flex-wrap: wrap; +} + +.img-li { + width: 150rpx; + height: 150rpx; + margin-top: 8rpx; + margin-right: 10rpx; +} + +.comment-btn { + height: 60rpx; + padding: 20rpx 30rpx; +} + +.comment-btn .btn { + display: flex; + justify-content: center; + align-items: center; + height: 60rpx; + width: 45%; + border: 1px solid #eee; +} + +.comment-btn .btn-img { + width: 30rpx; + height: 28rpx; + margin: 0 10rpx; +} + +.reply-ul { + margin-top: 20rpx; +} + +.reply-li { + color: #aaa; +} + +.join-cart { + position: fixed; + left: 0; + bottom: 0; + display: flex; + width: 100%; + height: 100rpx; + background-color: #fff; + z-index: 9; + border-top: 4rpx solid #eee; + +} + +.join-cart>view { + width: 29%; +} + +.join-cart>.new_split { + width: 13%; + text-align: center; + padding: 0; + margin: 0; +} + +.cart-ico { + font-size: 24rpx; + color: #333; +} + +.shopping-cart { + position: relative; +} + +.cs-img { + width: 45rpx; + height: 40rpx; + margin-top: 15rpx; +} + +.sc-img { + width: 42rpx; + height: 40rpx; + margin-top: 15rpx; +} + +.cart-num { + position: absolute; + left: 50%; + top: 1rpx; + width: 40rpx; + height: 40rpx; + line-height: 40rpx; + text-align: center; + border-radius: 50%; + color: #fff; + background-color: rgba(217,81,99,0.9); +} + +.cart-btn { + font-size: 28rpx; + color: #fff; + line-height: 70rpx; + margin-top: 16rpx; + text-align: center; + + +} + +.join-btn { + background-color: #ffb03f; + height: 70rpx; +border-radius: 55rpx 0rpx 0rpx 55rpx; +margin-top: 16rpx; + + +} + +view.cart-btn-lg { + width: 50%; +} + +.buy-btn { + background-color: #f23030; + height: 70rpx; +border-radius: 0 56rpx 55rpx 0; + +} + +.buy-btn-all{ + background-color: #f23030; + height: 70rpx; + border-radius: 56rpx; +} + + +.toTop { + position: fixed; + z-index: 3; + right: 20rpx; + bottom: 160rpx; + width: 68rpx; + height: 68rpx; + border: 1px solid #ddd; + border-radius: 50%; + overflow: hidden; + cursor: pointer; +} + +.comment-more { + height: 56rpx; + line-height: 56rpx; + font-size: 26rpx; + color: #999; + text-align: center; + background-color: #eee; +} + +.goods-more { + background-color: #fff; +} + +.goods-norms { + background-color: #fff; +} + +.type-navbar2 { + display: flex; + height: 72rpx; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; +} + +.type-box2 { + width: 50%; + font-size: 26rpx; + line-height: 72rpx; + text-align: center; + overflow: hidden; +} + +.type-item2-on { + color: #f23030; +} + +.parameter { + padding: 40rpx 0; +} + +.table { + width: 698rpx; + margin: 0 auto; + border: 1px solid #ddd; + border-bottom: none; +} + +.tb { + width: 100%; + min-height: 69rpx; + line-height: 69rpx; + border-bottom: 1px solid #ddd; + font-size: 28rpx; + text-align: center; + color: #333; +} + +.th-thitle { + font-weight: bold; + background-color: #f5fafe; +} + +.td-cont { + display: flex; +} + +.td-title { + width: 259rpx; + background-color: #f5fafe; + border-right: 1px solid #ddd; +} + +.td-text { + width: 439rpx; +} + +.goods-comment { + background-color: #fff; +} + +.type-navbar3 { + display: flex; + height: 88rpx; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + padding: 10rpx 0; +} + +.type-box3 { + width: 20%; + font-size: 30rpx; + line-height: 44rpx; + text-align: center; + overflow: hidden; +} + +.type-item3-on { + color: #f23030; +} + +.spec-model { + position: fixed; + bottom: 0; + z-index: 20; + background: white; + width: 100%; + /* padding: 0 30rpx; */ + font-size: 32rpx; + box-sizing: border-box; + border-radius: 20rpx 20rpx 0 0; + /* height: 72%; */ +} + +.spec-model .pding{padding: 0 20rpx;} + +.spec-goods { + padding: 30rpx 0 20rpx; + /* float: left; */ + width: 100%; + /* border-bottom:2rpx solid #eee; */ +} + +.spec-img { + float: left; + height: 186rpx; + width: 186rpx; + border: 4rpx solid #eee +} + +.spec-goods-info { + float: left; + padding: 0 25rpx; + width: 400rpx; +} + +.spec-goods-name { + font-size: 30rpx; + line-height: 35rpx; + height: 70rpx; + margin: 15rpx 20rpx 25rpx 0; + overflow: hidden; + text-overflow: ellipsis;color: #333; +} + +.spec-goods-price { + color: #d60021; + font-size: 33rpx; + font-weight: bold; + +} + +.spec-goods-price.tag { + position: relative; +} + +.spec-goods-price.tag::before { + content: '预售'; + color: white; + background-color: #FF4732; + font-size: 24rpx; + border-radius: 4rpx; + padding: 0 6rpx; +} + +.spec-goods-stock { + margin-top: 3rpx; + font-size: 24rpx; + color: #999999; + margin-right: 15rpx; +} + +.spec-name { + clear: both; + padding: 20rpx 0; + font-size: 30rpx;color: #333; +} + +.quhuo{font-size: 30rpx; color: #000} +.b_num{ + display: flex;font-size: 30rpx; color: #333; + justify-content: space-between; + align-items: center; + padding: 20rpx 0; +} + +.count { + /* position: fixed; */ + display: flex; + height: 50rpx; + /* border: 1rpx solid #000; */ + font-size: 28rpx; + right: 30rpx; +} + + +.count>view,.count>input { + width: 60rpx; + height: 50rpx; + line-height: 50rpx; + text-align: center; +} +.spec_bt{ + background: fff;color: #333; margin-left: 10rpx;padding: 4rpx 15rpx 4rpx; display: inline-block; + border-radius:30rpx;font-size: 24rpx;border: 1rpx solid #ccc; margin: 10rpx; height: 40rpx; line-height: 40rpx; +} +.spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} +.sub, .add, .count>input { + /* border-right: 1px solid #000; */ + background-color: #f8f8f8; + border-radius: 8rpx; +} +.sub.active { + /* background-color: #ddd; */ + color: #ccc; +} +.count>input { + margin: 0 10rpx; +} + +.add { + /* background-color: #f8f8f8; */ + /* border-left: 1px solid #000; */ +} + +.spec-btn { + color: black; + background-color: white; + padding: 10rpx 10rpx; + font-size: 26rpx; + line-height: 28rpx; + float: left; + border: 1rpx solid #dedede; + margin: 4rpx 10rpx 4rpx 0; + border-radius: 4rpx; +} + +.spec-btn-click { + color: white; + background-color: #f23030; + border: 1rpx solid #f23030; +} + +.spec-cart-btns { + /* width: 92%; */ + line-height: 70rpx; + /* margin: 0rpx auto; + margin-top: 160rpx; */ + /* border-radius: 20rpx; */ +/* position: fixed; */ +/* bottom: 50rpx; */ +/* left: 4%; */ + padding: 20rpx; +} + +.spec-cart-btn { + + width:100%; + font-size: 30rpx; + text-align: center; + color: white; + border-radius: 40rpx; +} + +.spec-cart-btn.w40 { + width: 46%; +} + +.spec-add-cart { + background-color: #ffb03f; +} + +.spec-buy { + background-color: #f23030; + /* margin-left: 34rpx; */ +} + +.spec-cart-disable { + background: #bbbbbb; +} + +.spec-cart-btn-lg { + width: 614rpx; +} + +.prom-model { + position: fixed; + bottom: 0; + z-index: 20; + background: white; + width: 100%; + padding: 0 30rpx 30rpx; + font-size: 32rpx; + box-sizing: border-box; + overflow-x: hidden; +} + +.prom-model .prom-title {text-align: center;margin: 30rpx 0;} +.prom-model .logistics-item {border: 0;} +.prom-model .item-mes {width: 500rpx;} +.integral-btn {width: 100%; padding: 0rpx;margin: 0rpx;} +.clear{clear: both;} +.sto_v .title,.sto_v .stitle{ border-top: 1rpx solid #dedede;border-bottom: 1rpx solid #dedede; height: 78rpx; line-height: 78rpx;} +.sto_v .title .tubiao,.sto_v .stitle .tubiao{width: 32rpx; height: 32rpx; margin-top: 23rpx;} +.itemlists .item{border-bottom: 1rpx solid #dedede; height: 72rpx; line-height: 72rpx;font-size: 28rpx; margin: 0 10rpx;} + +.cshu{margin-bottom: 30rpx; margin-top: 20rpx;} +.cshu view{color: #999; font-size: 30rpx; margin-left: 26rpx;} + + +/*---活动特殊显示---*/ +.prom_show{height: 120rpx; display: flex;} +.prom_show .secondkill-img{width: 100%; height: 100%;} +.prom_show .spike-img{width: 283rpx; height: 57rpx; top:35rpx; +left:31rpx;} +.prom_show .stop{ color:#d81731;top: 17rpx;right:65rpx; font-weight:600;} +.prom_show .start{ color:#009ae2;top: 17rpx;right:65rpx; font-weight:600;} +.prom_show .timeac { font-size: 32rpx; height: 120rpx; color: #333; } +.prom_show .timeac.left{width: 66%; color: #fff;background:#f23030;} +.prom_show .timeac.right{width: 34%;background-color: #d7d7d7; text-align: center} + +.prom_show .secview .day{padding-right:10rpx;} +.prom_show .secview .time-val{width:36rpx;height:36rpx;border-radius:7rpx; line-height: 36rpx;} +.prom_show .secview .time{margin-right:10rpx; margin-left:10rpx;} + + +.prom_show .timeac.left view{ margin-left: 20rpx} +.prom_show .timeac.left view.firview{margin-top: 10rpx} +.prom_show .timeac.left view .tr_line{ text-decoration: line-through; font-size: 28rpx;} +.prom_show .timeac.left view .bprice{ font-size: 50rpx; } + +.prom_show .timeac.right view.firview{margin-top:12rpx; margin-bottom: 10rpx} +.prom_show .timeac.right view.secview{display: flex; text-align: center; justify-content:center; flex-direction: row;} +.prom_show .timeac.right view .tui-conutdown-box{ + /* background: #6b6b6b; */ + width: auto; + /* min-width: 45rpx; */ + height: 45rpx; color: #c4182e; font-size: 27rpx; text-align: center; line-height: 46rpx;} + +.huise{ background:gray} +.lanse{background:#0199e2} + + +/*------拼单------*/ +.pt_view{ text-align: center; width: 100%; height: 100rpx; line-height: 100rpx; font-size: 26rpx} +.pt_view .secondkill-img{width: 100%;height: 100%;} +.pt_fir{ background: #fff;/* margin-bottom: 10rpx; */} +.pt_fir .pt_fir_title{display: flex; align-items: center; /* margin-left: 10rpx; margin-top: 20rpx; */ font-size: 28rpx; position: relative;} +.pt_fir .pt_fir_title .kt_type{ color: #fff;background:#e9030d; width: 100rpx; line-height: 40rpx; border-radius: 6rpx; margin: 0 10rpx; + height: 40rpx; font-size: 24rpx; text-align: center;} +.pt_fir .pt_fir_title .price{color: #e9030d;font-size: 26rpx;} +.pt_fir .pt_fir_title .bigw{font-size: 36rpx;} +.pt_fir .pt_fir_title .tprice{text-decoration: line-through;color: #949494} +.pt_fir .pt_fir_title .tprice.ml50{margin-left: 50rpx} + +.pt_fir .pt_fir_title .js{padding: 0 15rpx;height: 40rpx;background:#e9030d; text-align: center; border-radius: 8rpx; color: #fff; margin-left: 10rpx;} +.pt_fir .pt_fir_title .tuannum{color: #e9030d; position: absolute; right: 20rpx; font-size: 26rpx;} +.pding{padding-top: 20rpx;padding-left: 20rpx;height: 81%; + padding-right: 20rpx;font-size: 26rpx;color: #ea120f} +.pdres{margin-left: 10rpx;color: #8f8f94} +.ptgz{position: relative;font-size: 30rpx;padding-left: 20rpx;margin-top: 10rpx; overflow: hidden } +.shuxian{width: 6rpx;height: 28rpx; background: #ea120f; display: inline-block;top: 5rpx;position: relative; margin-right: 5rpx} +.ptgz_an{position: absolute;top:5rpx; right: 6rpx} +.ptgz_an .arrow-two{width:18rpx;height:18rpx;border-color:#da0b31; margin-top:30rpx;} + +.pt_fir.se{height: auto; margin-bottom: 10rpx} +.t_gz{padding: 10rpx 20rpx; font-size:28rpx } + +.pt_fir.se1{height: auto; margin: 0} +.pt_fir.se2{height: auto; margin: 0;/* border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee; */} + +.pt_hb{height:78rpx; line-height: 75rpx; position: relative; font-size: 32rpx;overflow: hidden;width:695rpx;margin-left:28rpx; + border-bottom: 1rpx solid #E5E5E5 } +.ptgz_an.xq{font-size: 32rpx; color:#d40024} +.wf{display: flex; padding: 20rpx 0;} +.wf .item{width: 24.5%; text-align: center; font-size: 26rpx; color: #666} +.wf .item .item_txy{position: relative;width: 60rpx; height: 60rpx; background: #ea120f; border-radius: 50%;left: 50%;margin-left: -30rpx; + border: 3px #dfdfdf solid; text-align: center;line-height: 60rpx; color: #fff; margin-bottom: 10rpx;} +.wf .item .item_txy.hs{ background: #cbcbcb;} +.po{margin-bottom: 20rpx;} + +.cart-btn.line-h{ line-height: 26rpx;} +.cart-btn .fir-v{ margin-top: 10rpx;} + +.hyt{ padding: 0 20rpx; font-size: 30rpx; display: flex; align-items:center; margin-top: 10rpx;} +.hyt .r_f{color: #e9120f;font-size: 26rpx;position: relative;top:3rpx} +.hyt .byj{color: #e9120f;font-size: 32rpx;position: relative;top:5rpx} + +.pt_fir .pt_fir_title.no-mar-b{margin-bottom: 0;padding-bottom: 10rpx; margin-left: 20rpx} +.pt_fir .pt_fir_title.boder-1{border-bottom: 1rpx #e7e7e7 solid} + +.jie_price{/* padding: 10rpx 30rpx; */} +.jie_price_title{font-size: 30rpx; color: #a26270; margin-bottom: 10rpx} +.price_list{display: flex; width: 100%;} +.price_item{width: 25%;font-size: 28rpx; color: #4c336c} + +.pt_fir.se2 .zzk-1{/* margin-top: 23rpx; */ font-size: 30rpx;position: relative; /* margin-bottom: 30rpx; */ border-left:4rpx solid red;/* margin-left:14rpx; */height:30rpx;line-height:30rpx;/* padding-left:5rpx; */} +.ckgd{/* position: absolute;top:0;right:57rpx; */ color:#d70025; font-size: 26rpx;} +.ckgd .arrow-one{width:14rpx;height:14rpx;border-color:#da0b31;/* margin-top:5rpx; */ margin:auto;} +.bview{ + position: fixed; top:0; left:0; width: 100%; height: 100%; + background-color: rgba(0, 0, 0, 0.5); +} +.juzhong{ + position: fixed; top:0; left:0; width: 100%; height: 100%; + display: flex; + flex-direction:row; + justify-content: center; + align-items: center; +} + +.juzhong .xq{ padding: 0 20rpx; background: #fff; font-size: 30rpx; padding-bottom: 20rpx;} +.juzhong .xq .title{text-align: center; margin: 20rpx 0; position: relative; height: 50rpx;} +.juzhong .xq .hs1{font-size: 28rpx; color: #ab8f9e} +.juzhong .xq .title .close{position: absolute;top: 0; right: 0; width: 45rpx; height: 45rpx;} + +.pt_qd{/* margin-top: 40rpx; height: auto; */padding: 20rpx;} +.spec-cart-btn.w100{width: 95%; margin-left: 0; height: 75rpx; line-height:75rpx;margin: auto; } + +.sto_v{color: #333;} +.ellipsis{overflow: hidden; white-space: nowrap; text-overflow: ellipsis;} + + +/*---多少人参加团--*/ +.group { + padding-top:20rpx; + padding-bottom:20rpx; + width: 100%; + /* min-height: 92rpx; */ + border-bottom: 2rpx solid #ebedf0; + +} + +.group .group-list { + display: flex; + align-items: center; + justify-content: space-around; + /* height: 90rpx; */ + /* padding: 0 130rpx 0 100rpx; */ + /* width: 470rpx; + + position: absolute; */ +} + +.group .group-list .gtou { + width: 70rpx; + height: 70rpx; + /* float: left; + position: relative; + top: 6rpx; + left: -96rpx; */ +} + +.group .group-list .gtou image { + display: block; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #f0f0f0; +} + +.group .group-list .gdn { + width: 140rpx; + text-align: center; + /* float: left; */ + font-size: 26rpx; + /* padding-left: 20rpx; */ + /* line-height: 48rpx; + height: 48rpx; + width: 168rpx; + position: relative; + left: -80rpx; + top:20rpx; */ + font-weight:bold; +} + +.group .group-list .ghaicha { + /* width:300rpx; */ + font-size: 27rpx; + /* margin-left:180rpx; + top:13rpx; + left:-3rpx; */ + font-weight: bold; + + +} + +.group .group-list .ghaicha .gred { + /* height: 48rpx; + width: 300rpx; */ +} + +.gsj { + float: left; + color: #8f8f94; +} + +.group .group-list .cjt { + height:42rpx; + width: 137rpx; + /* position: absolute; + right: 4rpx; + top:25rpx; */ + line-height: 42rpx; + font-size: 24rpx; + color: #fff; + border:2rpx solid #d60024; + background-color:#d60024; + border-radius:25rpx; + +} + +.gbody { + background-color: white; +} +.t_show{/* overflow: hidden; */ display: flex; /* width: 300rpx; */ color: #292929; /* line-height: 36rpx; */font-size:26rpx; +} +.join-cart>view.set_width { + width:58%; +} + +/*秒杀样式zwp*/ +#zwpMs{ + width: 31%; + color: #fff; + background: url(https://mshopimg.yolipai.net/miniapp/images/user/bgred.png) no-repeat; + background-size: 100% 60px; +} + + +/*--------- 修改后的样式 -----------*/ +.elli{ + overflow : hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.one_elli{ + overflow : hidden; + text-overflow: ellipsis; + white-space:nowrap; +} + +.tuwen_title{ /* height: 86rpx; */ background-color:#eeeeee; /* margin-bottom: 32rpx; */ position: relative; + display: flex; justify-content: center;align-items: center; padding: 20rpx;} + +.tuwen_title .g_line{ + width:496rpx; + height:1rpx; + border-bottom:#ababab 1rpx solid; +} +.tuwen_title .center_s{ + width: 124rpx; position: absolute; height: 34rpx; background-color:#eeeeee; font-size: 32rpx; display: flex; + overflow: hidden; justify-content: center;align-items: center; +} +.tuwen_title .center_s image{ width: 34rpx; height: 26rpx; margin-right: 10rpx} +.t_g_info{ /* margin: 0 34rpx;margin-bottom: 20rpx; */ display: flex; align-items: center;padding: 20rpx; } +.red_shu{ width: 10rpx; height: 36rpx; background-color:#da0035; margin-right: 8rpx; } + +.tb-l{ /* line-height: 96rpx; */} +.table_s{ border:#e4e4e4 1rpx solid; box-sizing: border-box;font-size: 26rpx;} +.tb_item{display: flex; /* height: 96rpx; */ border-bottom: 1rpx solid #e4e4e4 } +.item_left{width: 210rpx; height: 100%; box-sizing:border-box; text-align: center;padding: 20rpx; background: #f9f9f9 ;border-right:2rpx solid #e4e4e4} .item_left text{ /* margin-left: 44rpx; */} +.item_right{flex:1; height: 100%; overflow : hidden;white-space:nowrap;text-overflow: ellipsis; padding: 20rpx;} +.item_right text{ /* margin-left: 66rpx; */} + +.table_s .tb-l:last-child {border-bottom: none;} + +.bzfu_img{ width: 164rpx; height:34rpx; /* margin-right: 18rpx; margin-left: 12rpx */ } + .bz_view{ /* height:100rpx; padding: 0 34rpx 0 13rpx; */ color: #333; font-size: 28rpx; padding: 20rpx 20rpx 20rpx 10rpx; + /* border-bottom: 3rpx solid #eee; */ + /* border-top: 3rpx solid #eee; */} + .bz_view view{ width: 460rpx; /* max-height: 70rpx; */ /* overflow: hidden; */} + +.bb_view{ display: flex;align-items: center;justify-content: space-between; padding: 20rpx; color: #333; + font-size: 30rpx; /* height: 104rpx; line-height: 104rpx; overflow: hidden; padding-right:26rpx */ } +.red_bb{ color: #d70026; /* min-width:158rpx;width: auto; */} +.bg_jj{ width: 14rpx; height:14rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; +} +.bg_jj.down1{transform: rotate(135deg);} + +.bz-content { + flex-grow: 1; + text-align: justify; + padding: 0 30rpx 0 20rpx; +} + +/* 顶部边框 */ +.topframe{ + width: 100%; + height: 172rpx; + flex-direction: row; + justify-content: space-between; + border-bottom: 6rpx solid #eeeeee; + overflow: hidden; +} +/* 评价人边框*/ +.topframe .topframe-top{ + display: flex; + margin-top: 40rpx; + margin-bottom: 36rpx; + color: #7d7d7d; + padding-left: 20rpx; + font-size: 32rpx; +} +/*评价人数量*/ +.topframe .topframe-top .topframe-top-val{ + margin-left: 15rpx; + +} +.topframe-top-content{ + display: flex; + width: 36%; +} +/* 好评 */ +.topframe-praise{ + width: 61%; + text-align: right; + color: #dc4355; + font-size: 28rpx; +} +/* 按钮列表 */ +.buttem-list{ + width: 100%; + display: flex; + font-size: 20rpx; + overflow: hidden; +} + +.buttem-list .item{ + min-width: 17%; + font-size: 24rpx; + border-radius: 20rpx; + background:#ffe3e2; + height:38rpx; + text-align: center; + line-height: 38rpx; + margin-left: 20rpx; +} + +.buttem-list .item.red{ + color: #fff; + background: #d60022; +} + +/* 用户评价 */ +.middle{ + width: 95%; + margin:0 auto; +} +.middle-img-frame{ + height:65rpx; + display: flex; + margin-top: 32rpx; + +} +/* 评价的用户图片 */ +.middle-img{ + width:60rpx; + height:60rpx; + border-radius: 50%; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + margin-right: 15rpx; +} +/* 评价的用户边框 */ +.middle-user-frame{ + height: 65rpx; + overflow: hidden; +} +.middle-user{ + height: 25; + font-size: 28rpx; +} +/* 评价图片 */ +.middle-img-two{ + width: 115rpx; + height: 25rpx; + text-align: center; + margin-bottom:20rpx; + margin-left:5rpx; +} +.xc-pirces{ + margin-top: 14rpx; +} +/* 评价文字 */ +.middle-font{ + font-size: 30rpx; + +} +.iddle-goods-img{ + width: 100%; + display: flex; + margin-top:22rpx; +} +/* 商品图片 */ +.goods-img{ + width: 156rpx; + height: 156rpx; + margin-left: 22rpx; + height: 100%; +} +.parameter-frame{ + margin-top:14rxp; + margin-bottom: 14rpx; + width:50%; + height: 30rpx; +} +.z_parameter{ + width:98%; + height: 45rpx; + display:flex; + line-height: 45rpx; + margin-top: 20rpx; + margin-bottom: 14rpx; + justify-content : space-between; +} +.parameter-font{ + font-size: 26rpx; + +} +/* 规格 */ +.parameter-state{ + width: 100rpx; + font-size: 24rpx; + color: #c4c4c4; +} +.parameter-dian{ + display: flex; + width: 94rpx; + height: 33rpx; + font-size: 20rpx; + border-radius: 20rpx; + line-height:33rpx; + padding-left: 25rpx; + border:4rpx solid #eeeeee; + +} +/* 点赞图片 */ +.parameter-img{ + width: 27rpx; + height: 27rpx; + margin-top: 3rpx; +} +.parameter-val{ + margin-left:25rpx; + font-size: 26rpx; + color: #999; +} +/* 回复 */ +.reply{ + width: 95%; + height: 120rpx; + padding-top: 14rpx; + border-top:3rpx solid #eeeeee; + margin:0 auto; + +} +.shop-reply{ + height: 30rpx; + color:#d60022; + font-size:24rpx; + overflow: hidden; +} +.shop-font{ + width: 94%; + font-size: 24rpx; + padding-top: 10rpx; + +} +.line_bulge{ + width: 17rpx; + height: 17rpx; + border-top: 1rpx solid #eeeeee; + border-left: 1rpx solid #eeeeee; + transform:rotate(45deg); + position: absolute; + top: -12rpx; + left:50rpx; + background:#fff; +} + + +.xc_comment{ + display: flex; + justify-content: space-around; + width: 100%; + box-sizing: border-box; + padding: 10rpx 20rpx; + /* height: 42rpx; + padding-left: 34rpx; */ + color: #333; + +} +.xc_comment-have-pictures{ + width: 153rpx; + /* height: 42rpx; */ + line-height: 42rpx; + text-align: center; + background: #ffe3e2; + color: 28rpx; + border-radius:21rpx; + font-size: 24rpx; +} +.xc_comment-discuss{ + width: 152rpx; + height: 42rpx; + line-height: 42rpx; + text-align: center; + background: #ffe3e2; + color: 28rpx; + border-radius:20rpx; + font-size: 24rpx; + margin-left: 28rpx +} + +.xc_comment-detail{ + display: flex; + /* margin-top: 40rpx; */ + /* width: 524rpx; */ + /* margin-left: 34rpx; */ + border-radius: 24rpx; + border: 2rpx solid #ebedf0; + margin-left: 20rpx; + box-sizing: border-box; + /* overflow: hidden; */ +} + +.xc_user-img{ + border-radius:50%; + margin: auto 0; +} + +.xc_comment-user{ + display: flex; + /* margin-top: 22rpx; + margin-left: 22rpx; */ +} +.xc_user{ + width: 170rpx; + height: 60rpx; + margin-left: 6rpx; + overflow: hidden; +} +.xc_user-name{ /* height: 25rpx; */} +.xc_comment-img{ + width: 22rpx; + height: 22rpx; + /* margin-top: 14rpx; */ + margin-right: 5rpx +} +.xc_comment-font{ + /* height: 75rpx; */ + /* margin-left: 22rpx; */ + white-space:normal; + overflow: hidden; + /* margin-top: 8rpx; + line-height: 38rpx; */ + +} +.xc_comment-val{ + /* width: 88%; + height: 30rpx; + margin-left: 22rpx; + display: flex; + margin-top: 15rpx; + margin-bottom:15rpx; */ +} + +.xc_comment-time{ + /* height: 30rpx; */ + font-size: 22rpx; + color: #a5a5a5; + overflow: hidden; +} + +.xc_goods-img{ + width: 180rpx;height: 180rpx; +} +.xc_comment-left{ + display:inline-block; + width: 312rpx; + padding: 20rpx; +} +.xc_goods-img-frame{ + border-radius: 0 22rpx 22rpx 0; + overflow: hidden; + /* display:inline-block; */ + /* width: 40%; + height: 90%; + text-align: center; + padding-top: 30rpx; + vertical-align: top; */ +} +.xc_imgs{ + width: 50rpx; + height:50rpx; + border-radius:50%; + margin-right: 5rpx; +} + +.pj_word_size{ font-size: 28rpx} +.pj_scroll{ + /* white-space: nowrap; */ + /* height: 324rpx; */ + /* margin-bottom: 50rpx; */ + display: flex; + align-items: center; + padding: 20rpx 0; + /* box-sizing: border-box; */ + /* box-shadow: 0 8px 12px #e7e9eb; */ +} + + +/*领券*/ +.three-level-word{ + font-size: 25rpx; +} +.four-level-word{ + font-size: 23rpx; +} +.cx-frame{ + /* border-top:3rpx solid #eee; */ + /* width:99%; + height: 95rpx; + line-height: 95rpx; + padding-left:24rpx; */ + padding: 20rpx; +} +.cx-frame .cx-sizs{ + /* width: 68rpx; */ + /* height: 100%; */ + /* line-height: 100rpx; */ + /* overflow: hidden; */ + /* margin-left: 10rpx; */ +} +.xc-coupon-fram{ + position: relative; + margin-right: 16rpx; + /* width:200rpx; */ + /* padding-top:30rpx; */ + +} +.xc-coupon-fram .xc-coupon{ + /* width:175rpx ; + height: 40rpx; + line-height: 40rpx; */ + background-color:#d60021 ; + /* margin:0 auto; */ + color:#fff; + padding: 6rpx 20rpx; + +} +.xc-coupon-fram .xc-circular{ + width: 16rpx; + height:16rpx; + background-color: white; + position:absolute; + top: 50%; + /* left: -10rpx; */ + transform: translateY(-50%); +} +.xc-coupon-fram .xc-one{ + left: -8rpx; +} +.xc-coupon-fram .xc-two{ + right: -8rpx; +} + +.cx-obtain-coupon{ + /* width: 65rpx; + height: 100%; + padding-left:15rpx; */ + color: #d70025; + display: flex; + align-items: center; + /* position: absolute; + right: 5rpx; */ +} + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + background: #fff; + z-index: 35; + border-top-left-radius: 25rpx; + border-top-right-radius: 25rpx; + position:fixed; + bottom:0; +} + +.cx-popup .top{ + /* width: 90%; + height:85rpx; */ + font-size: 32rpx; + padding: 20rpx 0; + border-bottom: 2rpx solid #ebedf0; + /* padding-top: 50rpx; + font-weight:600; */ + +} +.cx-popup .top-frame{ + /* width: 100%; + display: flex; + justify-content: center; + overflow: hidden; */ +} +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame{ + position: relative; +} +.xc-coupon-frame { + width: 100%; + max-height: 560rpx; + overflow: auto; + +} +.xc-coupon-frame .rel:not(:first-child) { + margin-top: 20rpx; +} +.xc-coupon-frame .coupon { + width:100%; + height: 168rpx; + border-radius: 25rpx; + border:2rpx solid #ffdcdc; + overflow: hidden; + /* margin-top:16rpx; */ + box-sizing: border-box; + +} +/* .xc-coupon-frame .coupon ~ .coupon { + margin-top:16rpx; +} */ +.xc-coupon-left{ + width: 216rpx; + /* height: 100%; */ + background-color: #ffeeef; + border-right: 4rpx dashed #ffdbd9; + overflow: hidden; + /* line-height: 100%; */ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + flex-shrink: 0; +} +.xc-money{ + color: #f30026; + text-align:center; +} +.xc-rmb{ + /* width:44rpx; + padding-top:7rpx; */ +} +.xc-money-frame{ + /* margin-left:35rpx; + margin-top:48rpx; */ + +} +.xc-spacing{ + letter-spacing:4rpx; +} +.xc-circular-one{ + position: absolute; + top:-15rpx; + left:205rpx; + width: 30rpx; + height: 30rpx; + background: #fff; + overflow: hidden; +} +.xc-circular-two{ + position: absolute; + bottom: -15rpx; + /* top:150rpx; */ + left:205rpx; + width: 30rpx; + height:30rpx; + background: #fff; +} +.xc-detail-coupon{ + /* margin-left: 22rpx; + overflow: hidden; + padding-top: 43rpx; */ + /* display: flex; + align-items: center; */ +} +.xc-coupon-right{ + /* width: 455rpx; + height: 100%; */ + background: #fffaf9; + padding: 20rpx; + box-sizing: border-box; + width: 100%; + justify-content: space-between; + align-items: center; +} +.xc-below{ + margin-top:20rpx; + +} +.xc-get{ + + width: 140rpx; + /* height: 48rpx; */ + color: #fff; + text-align: center; + border-radius:27rpx; + line-height:54rpx; + /* margin-left:20rpx; */ +} + +.background{ + background:#f40028; +} +/*--不可使用--*/ +.background.nouse{ + background:gainsboro; +} + +.xc-background{ + background:#b9b9b9; +} + + +.cx-confirm{ + width: 100%; + padding: 20rpx; + box-sizing: border-box; + /* height: 160rpx; */ + +} +.cx-confirm .confirm{ + /* width: 372rpx; + height: 60rpx; */ + background-color: #f40026; + color: #fff; + border-radius:10rpx; + line-height: 80rpx; + font-size: 28rpx; + +} + +.up{ animation: up .7s; } +.down{ animation: down 1s; } +@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } } +@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } } + + +/* 分享 */ +.icon-share { + font-size: 46rpx; + color: #d60021; +} +.xc-share-frame{ + /* width: 129rpx; + height: 48rpx; + border-top-left-radius: 18rpx; + border-bottom-left-radius: 18rpx; */ + /* background: #d60021; */ + /* position:absolute; + left:622rpx; + top:-37rpx; + line-height:50rpx; + margin-top:52rpx; */ +} +.xc-share-frame-jieti{ + width: 129rpx; + height: 48rpx; + border-top-left-radius: 18rpx; + border-bottom-left-radius: 18rpx; + background: #d60021; + line-height:50rpx; +} + +.xc-share-frame .share-font,.xc-share-frame-jieti .share-font{ + font-size: 32rpx; + color:#fff; + margin-left:10rpx; + +} + + +.xc-share-frame .share-frame,.xc-share-frame-jieti .share-frame{ + width: 30rpx; + height: 30rpx; + margin-top:9rpx; + margin-left: 10rpx; + +} +.xc-share { + width:90%; + height:800rpx; + background:#fff; + z-index:35; +} +.img-frame{ + position: absolute; + top: 175rpx; + left:100rpx; + z-index: 55; + overflow:hidden; + +} +.img-frame .img{ + width: 100rpx; + height: 100rpx; + +} +.xc-share .top{ + height: 85rpx; + width: 100%; + border-bottom: 4rpx dashed #f5f5f5; + overflow:hidden; + +} +.xc-share .name{ + font-size: 25rpx; + margin-left:180rpx; + color:#000; + +} + +.xc-share .recommend{ + width: 110rpx; + height: 12rpx; + color: #fff; + background: #d60021; + font-size: 20rpx; + border-radius:25rpx; + margin-left:10rpx; + line-height:37rpx; +} +.xc-left-circle{ + width: 40rpx; + height: 25rpx; + position: absolute; + top:280rpx; + left:29rpx; + z-index: 55; + background:#727272; + border-radius:50rpx 50rpx 0 0; + transform:rotate(90deg); + +} +.xc-right-circle{ + width: 40rpx; + height: 25rpx; + position: absolute; + top: 280rpx; + left:683rpx; + z-index: 55; + background:#727272; + border-radius:50rpx 50rpx 0 0; + transform:rotate(270deg); + +} +.xc-circle-frame{ + width: 25rpx; + height: 40rpx; + overflow: hidden; +} +.xc-goods-name{ + width: 95%; + font-size: 35rpx; + padding-left: 75rpx; + height: 50rpx; + padding-top: 10rpx; + color:#000; + +} +.xc-good-img{ + width: 100%; + height: 381rpx; + margin-top:5rpx; + +} +.xc-good-img .img{ + width: 90%; + height: 381rpx; +} +.xc-ensure-frame{ + width: 90%; + height: 60rpx; + border-bottom: 2rpx solid #d8d6d7; +} +.xc-ensure{ + width: 30%; + height: 60rpx; + line-height: 60rpx; +} +xc-ensure-div{ + width: 100%; + height: 60rpx; +} +.xc-ensure .word{ + font-size: 25rpx; + color: #d30025; + margin-left:9rpx; + +} +.xc-ensure .img{ + width: 25rpx; + height: 25rpx; + margin-top:18rpx; + +} + +.xc-bottmon{ + width: 100%; +} +.xc-bottmon .xc-left{ + width: 55%; + margin-top:30rpx; + padding-left:20rpx; + +} +.xc-left .xc-top{ + font-size: 25rpx; + height:40rpx; + line-height:40rpx; + color:#000; +} +.xc-left .xc-middle{ + font-size: 25rpx; + color: #b2b2b2; + height:30rpx; + line-height:30rpx; +} +.xc-left .xc-buttem{ + font-size: 25rpx; + height:100rpx; + line-height:100rpx; + color:#000; +} +.xc-ensure-right{ + width: 30%; +} +.xc-qrcode{ + width:120rpx; + height: 120rpx; + margin-top:43rpx; + margin-left:80rpx; + +} +.xc-close{ + width:50rpx; + height:50rpx; + border-radius:50%; + border:3rpx solid #fff; + text-align:center; + line-height: 41rpx; + font-size:50rpx; + color:#fff; + font-weight: lighter; + font-family:MingLiU; + transform:rotate(270deg); + overflow:auto; + margin-top:6rpx; + margin-bottom:1rpx; + +} +.xc-close-frame{ + position:absolute; + margin-top:30rpx; + width:90%; + display:flex; + justify-content:center; + overflow: auto; + +} +.xc-guanbi{ + width: 100%; + height: 80rpx; + overflow: hidden; +} + + +/* 自定义弹出窗口 */ +.cx-popup{ + width:100%; + background: #fff; + z-index: 35; + border-top-left-radius: 10rpx; + border-top-right-radius: 10rpx; + position:fixed; + bottom:0; +} + +.xc-top-content{ + width: 88%; + height:85rpx; + padding-top: 50rpx; + font-size: 36rpx; +} + + +.xc-valid-coupon{ + width: 90%; + height:40rpx; + padding-top: 24rpx; + overflow: hidden; +} +.xc-frame { + /* width: 100%; + margin-top:20rpx; */ + padding: 20rpx; +} + +.xc-frame .list-frame{ + width: 90%; + height: 100%; + overflow-y:scroll; + + margin-top:20rpx; + +} +.xc-close-frame{ + margin-top:30rpx; + width:15%; + display:flex; +} + +.xc-close{ + width:70rpx; + height:70rpx; + border-radius:50%; + border:5rpx solid #a5a5a7; + text-align:center; + line-height: 55rpx; + font-size:80rpx; + color:#a5a5a7; + font-family:"微软正黑体"; + margin-top:8rpx; + +} +.xc-money{ + color: #ff0013; +} + +.xc-money-frame{ + /* margin-left:35rpx; */ + +} +.xc-coupon-effect{ + width: 99%; + height: 128rpx; + border-bottom:3rpx solid #ddd; + + +} +.xc-goods-coupon{ + width: 80%; + height:100%; + +} +.xc-title{ + width:50%; + margin-left:222rpx; + +} +.xc-coupon-money{ + color: #c91e31; + font-size: 35rpx; + margin-top:20rpx; + +} +.xc-coupon-time{ + height: 50rpx; + font-size: 27rpx; + color: #a4a4a4; +} +.xc-coupon-time .time{ + margin-left: 15rpx; + font-size: 27rpx; +} +.xc-coupon-selection{ + width:99%; + height:100%; + + +} +.xc-confirm { + width: 90%; + height: 75rpx; + margin:0 auto; + background:#c41830; + color:#fff; + border-radius:10rpx; + font-size:30rpx; + margin-top: 50rpx; +} +.xc-not-Selection{ + width: 60rpx; + height: 60rpx; + background: #eeeeee; +} + +/*---------------视频图片---------------*/ +.xc-imageCount { + width:95rpx; + height:50rpx; + background-color: rgba(0, 0, 0, 0.3); + border-radius:40rpx; + line-height:50rpx; + color:#fff; + text-align:center; + font-size:26rpx; + position:absolute; + + right:23rpx; + bottom:21rpx; +} + + +/* 视频图片的边框 */ +.xc-videos-picture{ + width: 100%; + height: 750rpx; +} +/* 视频 */ +.xc-videos{ + width: 100%; + height:544rpx; + + +} +/* 点击视频或图片 */ +.xc-video-picture{ + + bottom: 20rpx; + left: 0rpx; + display: flex; + align-items: center; + justify-content:center; + width: 45%; + height: 60rpx; + margin-left: 215rpx; + +} +.xc-video-button:before{ + content: ""; + position: absolute; + left: 48%; + top: 40%; + width: 0; + height: 0; + margin-left: -36rpx; + margin-top: -10rpx; + border-width:13rpx; + border-style: dashed; + border-color: transparent transparent transparent #fff; + font-size: 0; + line-height: 0; + z-index: 2; + -webkit-backface-visibility: hidden; +} +.xc-video-buttons:before{ + content: ""; + position: absolute; + left: 50%; + top:41%; + width: 0; + height: 0; + margin-left: -36rpx; + margin-top: -10rpx; + border-width:13rpx; + border-style: dashed; + border-color: transparent transparent transparent #000; + font-size: 0; + line-height: 0; + z-index: 2; + -webkit-backface-visibility: hidden; +} + +.xc-video{ + /* width:100rpx; */ + /* height: 50rpx; + line-height: 50rpx; */ + text-align: center; + /* margin-left:-30rpx; */ + + +} +/* 图片 */ +.xc-picture{ + color: #000; + background: #dcdcdc; + width: 94rpx; + height: 45rpx; + font-size: 25rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + text-align: center; + line-height: 45rpx; + margin-left:53rpx + +} +/* 点击视频 */ +.xc-video-button{ + position: relative; + color: #000; + background: #dcdcdc; + width: 85rpx; + height: 45rpx; + line-height: 45rpx; + font-size: 30rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + padding-left: 11rpx; +} + + +.xc-sn{ + color: #fff; + background: #c7161e; + border-color: transparent transparent transparent #fff; +} +/* 图片 */ +.xc-pictures{ + width: 100%; + height:529rpx; + +} +/*视频封面的图片 */ +.xc-picturess{ + position: relative; + width: 100%; + height:529rpx; +} +/* 播放 */ +.xc-play{ + width: 130rpx; + height: 130rpx; + position: absolute; + top:207rpx; + left:309rpx; +} + +.xc-video-buttons{ + position: relative; + color: #000; + background: #dcdcdc; + width: 85rpx; + height: 45rpx; + line-height: 45rpx; + font-size: 30rpx; + border-radius: 25rpx; + font-family: 'SimHei',Arial; + padding-left: 11rpx; +} + + +.wsize{font-size: 32rpx} +.five-level-word{font-size: 24rpx;} + + +/*-- 推荐商品 --*/ +.xc-goods{ + height: auto; + background: #f2f2f2; + padding: 0 20rpx; + margin-top: -25rpx; + padding-bottom: 20rpx +} + +.xc-goods-recommend { + border-radius: 20rpx; + width:345rpx; + height: 450rpx; + margin-top: 25rpx; + display: inline-block; + +} + +.xc-goods-recommend.ml{ margin-left: 22rpx} + +.xc-goods-recommend .xc-goods-imgs{ + width: 100%; + height: 325rpx; + border-radius:20rpx 20rpx 0 0; +} + +.xc-goods-bottom{ + width: 345rpx; + height: 134rpx; + background: #fff; + border-radius:0 0 20rpx 20rpx; + bottom:-8rpx; + left:0rpx; +} +.xc-goods-bottom .monry-frame{ + width:283rpx; +height:52rpx; +padding-left:24rpx; + +} +.xc-good-explain{ + width: 283rpx; + height:60rpx; + word-break: normal; + margin-left:30rpx; + font-size: 26rpx; + line-height: 30rpx; + margin-top: 5rpx; +} +.money-color-val{ + color: #c6172f; +} +.rmb-symbol{ + line-height:81rpx; + height:53rpx; + font-size: 28rpx; +} +.xc-original-price{ + color: #c0c0c0; +} +/* 文字中间加线条 */ +.word-lines{ + text-decoration:line-through; + line-height:90rpx; + margin-left:10rpx; + font-size: 20rpx; +} + + .xc-linellae-frame{ + width: 100%; + height: 70rpx; + background: #f2f2f2; +} +.xc-linellae-frame .xc-linellae{ + width: 386rpx; + height: 1rpx; + border-bottom: 1rpx solid #ebedf0; +} +.xc-recommend-frame{ +background:#f2f2f2; +width:97rpx; +height:100%; +padding-left: 10rpx; +} +.xc-recommend-frame .xc-recommend{ + width: 35rpx; + height: 27rpx; +} +.xc-recommend-frame .xc-recommend-word{ + width:58rpx; +font-size:24rpx; +color: #a9a9a9; +margin-left: 5rpx; +margin-bottom: 5rpx; +margin-top: 1rpx; + +} +.xc-price-frame{ + color: #ec0022; + align-items: baseline; +/* height:44rpx; */ +} +.xc-price-frame .sign{ +margin-top:19rpx; +margin-left:-4px; +} +.xc-val-price{ +margin-left:24rpx; +color: #ec0022; +padding-top:13rpx; +} +.xc-val-price .save{ + border-radius:10rpx; + margin-top:5rpx; + background:#fed2d9; + min-width:230rpx; + height:40rpx; + line-height:40rpx; + width: auto; + padding-left:12rpx; + padding-right:12rpx; + +} +.xc-unit-price{ + margin-top:25rpx; +padding-left:-4rpx; + +} +.xc-explain{ + color:#292929; + width:542rpx; + margin: 10rpx 0 20rpx; + width: 100%; + font-weight: bold; +} +.xc-item{width: 16%; font-size: 26rpx; color: #666;margin-right:5rpx;} +.xc-item .yuan{ + width: 38rpx; + height: 38rpx; + line-height: 38rpx; + border:1rpx solid #f3f1f2; +margin-left:33rpx; + +} +.xc-item .word{ + width:104rpx; + margin-top:16rpx; + color:#363636; + font-weight:600; + +} +.xc-item .circle-color{ + background: #d60024; + color: #fff; +} +.xc-item .circle-color1{ + background: #fefefe; + color: #666666; +} +.link{ +height:6rpx; +width:180rpx; +top:54rpx; +left:32px; +} +.link1{ +height:6rpx; +width:166rpx; +top:54rpx; +left:264rpx; +} +.link2{ + height:6rpx; +width:157rpx; +top:54rpx; +right:87rpx; +} +.link-color-red{ + background: #d60024;} +.link-color{ + background: #e5e5e5; +} +.xc-qt-price{ + /* font-style: italic; */ + top:-23rpx; +left:40rpx; + color: #fff; +} +.presell_price{ + /* font-style: italic; */ + + top: 23rpx; + left:40rpx; + color: #fff; + justify-content: space-between; +} +.xc-qt-price .xc-qtunit-price{ + margin-left:6rpx; +margin-top:-4rpx; +} +.xc-nanber{ + top:-25rpx; +left:289rpx; + +} +.xc-qtsign{ +margin-top:5rpx; + +} +.xc-people-img{ + height: 36rpx; + width: 36rpx; + background: #fff; + border-radius: 7rpx; + +} +.xc-people-img .imgs{ + width: 28rpx; + height: 28rpx; + margin-top:4rpx; + +} +.xc-people-val{ + + height: 32rpx; + border-top: 1rpx solid #fff; + border-bottom: 1rpx solid #fff; + border-right: 1rpx solid #fff; + border-radius:0 7rpx 7rpx 0; + line-height:32rpx; + margin-left:-6rpx; + padding: 0 12rpx; +} +.word-color{ + color:#d70024; +} +.word-color-lan{ + color:#0393e1; +} +.pt_view .hy-stop{ + top: -23rpx; + right: 56rpx; +} +.xc-time-val{width:36rpx;height:36rpx;border-radius:7rpx; line-height: 36rpx;} +.xc-time{margin-right:10rpx; margin-left:10rpx; margin-top:-32rpx; +} +.xc-goods-explain{ + width:100%; + /* padding-left:30rpx; + margin-left:-9rpx; + height: 150rpx */ +} +.xc-partner-frame{ +border-bottom:2rpx solid #eee; +width:100%; +padding:20rpx; +/* height:56rpx; */ +box-sizing: border-box; +} +.xc-person-number{ + width:120rpx; + color: #999999; + padding-left:8rpx; + text-align: left +} + +.xc-miaosha-time{ +right:17rpx; top:55rpx; +} +.pd_top1{padding-top: 10rpx} +.s_ms_bth{margin-top: 85rpx} + + +.no_pj_list{text-align: center; width: 100%; color: #999; margin: 30rpx 0; display: inline-block; font-size: 28rpx} +/* 门店地址 */ +.xc-address_frame{ + /* border-top:1rpx solid #eee; */ + width: 100%; + height: auto; + padding: 20rpx; + box-sizing: border-box; +} +.on_height{ +height: 90rpx; +} +.sn_height{ + /* min-height: 170rpx; height: auto;padding: 10rpx 0; */ +} +.xc-address_frame .address_frame{ + width: 100%; +/* padding-left: 10rpx; +margin: auto; */ + +} +.shop_name{ + +} +.stores-img{ + width: 28rpx; + height: 28rpx; + margin-right: 10rpx; +} +.shop_name{ + margin-right: 10rpx; +} +.address{ + /* width: 100%; + margin-top: 5rpx; + margin-bottom: 5rpx; */ +} +.distance{ + padding-left: 20rpx; + padding-right: 20rpx; + background: #eee; + border-radius: 20rpx; + /* margin-right: 5rpx; */ + color: #999; + height: 38rpx; +line-height: 38rpx; + +} +/* 选择门店的弹窗 */ +.mongolia-layer{ + position: fixed; +left: 0; +top: 0; +right: 0; +bottom: 0; +z-index: 11; +background: rgba(0,0,0,0.4); +width: 100%; +height: 91.9%; + +} + +.popup-frame{ +position: fixed; +z-index: 20; +background: white; +width: 100%; +border-radius: 20rpx 20rpx 0 0; +height: auto; +bottom: 0; +} +.popup-top{ + border-bottom: 1rpx solid #eee; + height: 155rpx; + width: 95%; + margin: auto; + line-height: 155rpx; + +} +.bg_rights{ + border-top: 2rpx solid ; + border-right: 2rpx solid ; + transform: rotate(45deg); + display:inline-block; + width:15rpx;height:15rpx; + border-color:#da0b31; +} +.modal-closes { + position: absolute; + right: 30rpx; + top: -15rpx; + height: 25rpx; + +} +.choose_more{ + margin-top: 40rpx; + margin-right: 20rpx; + +} +.choose_mores{ + margin-top: 30rpx; + margin-right: 15rpx; + +} +.store-list{ + width: 95%; + min-height: 300rpx; + overflow-y: scroll; + margin: auto; + max-height: 610rpx; +} +.store-list .store_choose{ + width: 100%; + height: 120rpx; + line-height: 125rpx; + border-bottom: 1rpx solid #eee; + +} +.store-list .store_choose .store{ +width: 100%; +margin: auto; +line-height: 37rpx; +padding-left: 20rpx; + +} +.xc-hook{ + width: 35rpx; + height: 35rpx; + transform: rotate(-145deg); +line-height: 37rpx; +text-align: center; +} + .xc-hooks{ + width: 30rpx; + height: 30rpx; + border: 1rpx solid #999; + } + .address-frame{ + width: 93%; +margin-left: 7rpx; + + } + .nearby_store{ +margin-left: 17rpx; + } + .address_name{ + margin-right: 10rpx; + + } + .address-val{ + height: 38rpx; +line-height: 38rpx; + + } + .store-bottom{ + width: 85%; + margin: auto; + height: 90rpx; + } + .determine{ + width: 260rpx; + height: 55rpx; + border-radius: 50rpx; + line-height: 55rpx; + } + .default{ + width: 260rpx; + height: 55rpx; + border:3rpx solid #c8c8c8; + border-radius: 50rpx; + line-height: 55rpx; + } + .store-bottom-frame{ + width: 95%; + margin: auto; + + } + /* 门店分类列表 */ +.sort_store_list{ + height: 82%; + overflow: hidden; + overflow-y: scroll; + width: 95%; + margin: auto; +} +.sort_store_list .sort-store-frame{ + width: 100%; +height: 100rpx; +line-height:100rpx; +border-bottom: 1rpx solid #eee; + +} +.sort_store_list .sort-store-frame .sort-store{ + width: 94.5%; + margin: auto; +} +.black_rights-frame{ +width: 50%; +} +.black_rights-frame .black_rights{ + border-top: 3rpx solid; +border-right: 3rpx solid; +transform: rotate(45deg); +display: inline-block; +width: 20rpx; +height: 20rpx; +} +.xc-val-money{ + height:55rpx; +} + +.xc-distance-bottom{ + margin-bottom: 40rpx; +} +.xc-distance-top{ +margin-top: 10rpx; +} +.xc-width{ + width: 100%; +} +.right-arrow{ width: 15rpx; height:15rpx; + border-top: 2rpx solid #d70026; + border-right: 2rpx solid #d70026; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; +} +.xc-goods-attribute{ + border-bottom: 1px solid #eee; +padding-bottom: 20rpx; +/* margin-bottom:40rpx; */ +} +.xc-val-fream{ + width: 105rpx; +} +.is_stock{ +width: 58%; +height: 70rpx; +border-radius: 55rpx; +} +.select_store_height{ + height: 50rpx; +} +.butttem5{ + margin-bottom: 5rpx; +} + +.no_pj_list{text-align: center; width: 100%; color: #999; margin-top: 30rpx; display: inline-block; font-size: 28rpx} + + +.join-cart>view.no_store { + width: 58%; background-color: #adadad; +} + +.s_btn{ margin-top: 25rpx; } +/* 美妆价的样式 */ +.beauty-makeup-frame{ + /* width: 101.5%; + margin: auto; */ + height: 120rpx; + border-radius: 15rpx; + margin-top: 10px; + +} +.beauty-makeup-frame .left{ + width: 80%; + height: 100%; + background:#f7f7f7; + border-radius: 20rpx 0rpx 0rpx 20rpx; + /* padding: 0 10rpx; */ +} + .card-frame{ + margin-top: 0rpx; + /* padding-right: 23rpx; + margin-right: 15rpx; */ +} +.advert-card{ + margin-top: 0rpx!important; + +} +.beauty-makeup-frame .right{ + width: 20%; + height: 100%; + background:#f3efe3; + border-radius: 0rpx 20rpx 20rpx 0rpx; + } +.grade-card-frame{ + + /* height:45rpx ; */ + background: #3c300a; + border-radius: 20rpx; + /* margin-top: 10px; + margin-left: 7rpx; */ + justify-content: center; + padding: 4rpx 12rpx; +} +.grade-card-frame .img{ + width: 24rpx; + height: 24rpx; + margin-top: 2px; + +} +.grade-card-frame .card-name{ + margin-left: 8rpx; + /* max-width: 120rpx; */ + max-width: 165rpx; +} +.card-effect{ + /* margin-left: 15rpx; */ +} +.at_once_carde{ + width:65rpx; + height: 75rpx; + line-height:38rpx; +} +.bg_right{ width: 18rpx; height:18rpx; + border-top: 2rpx solid #333; + border-right: 2rpx solid #333; + transform: rotate(45deg);display:inline-block; + margin-bottom:3rpx; + +} +.carde_frame{ + height: 50rpx; + line-height: 18rpx +} + +button.custom-service { line-height: normal; border: 0;} +button.custom-service::after{ + border: 0; +} +.no_store{color:#d60021; font-size: 26rpx;} +.cx_show_view{ width: 580rpx; /* line-height: 30rpx; margin-bottom: 6rpx; */ } +.cx_show_view .word{ width: 400rpx} +.prom_condition { + color: #d60021; + /* width: 180rpx; */ + /* height: 30rpx; */ + font-size: 20rpx; + /* padding-top: 0.01rpx; */ + /* display: flex; + justify-content: center; + align-items: center; */ + border: 2rpx solid #d60021; + border-radius: 10rpx; + margin-right:10rpx ; + /* margin-left: 10rpx; */ + font-size: 24rpx; + padding: 0 10rpx; +} +.hui_img{ width: 44rpx; height: 44rpx; margin-right: 8rpx} +.order_hui{color: #444; width: 420rpx} +.order_hui view{ height: 34rpx; line-height: 34rpx;} +.dp_img{width: 240rpx; height: 240rpx; margin: 0 40rpx} +.dp_cx_view{border-bottom: 0.02rpx solid #eee; padding-bottom: 40rpx} +.act_content{ margin-top: 40rpx} +.act_content view{ margin-bottom: 12rpx} +.color_b{color: #ff9c00} + +.poster-container { + box-sizing: border-box; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: calc(100% - 120rpx); + z-index: 1000; +} +.mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999; + background-color: rgba(0,0,0,.4); +} +.poster-wrapper { + width: 100%; +} + +.poster { + box-sizing: border-box; + width: 100%; + height: 1055rpx; + border-radius: 20rpx; + /* box-shadow: 0 8px 12px #666; */ + position: relative; + z-index: 999; + overflow: hidden; +} +.poster-img { + display: block; + width: 100%; + height: 100%; +} +.btn-container { + display: flex; + justify-content: space-around; +} +.btn-share { + display: block; + background-color: #FE6867; + color: white; + border-radius: 8rpx; + line-height: 80rpx; + margin-top: 28rpx; + padding: 0 60rpx; +} +/* .btn-close { + background-color: rgba(0,0,0,.5); + color: white; + width: 40rpx; + height: 40rpx; + line-height: 40rpx; + text-align: center; + border-radius: 50%; + position: absolute; + right: 20rpx; + top: 10rpx; +} */ + +.goods-price .rel_txt{ + /* position: relative; top: 32rpx; */ + font-size: 30rpx; +} +.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 8rpx;} + +.btn-close { + /* background-color: rgba(0,0,0,.5); */ + color: #ccc; + width: 50rpx; + height: 50rpx; + line-height: 50rpx; + text-align: center; + border-radius: 50%; + position: absolute; + right: 20rpx; + top: 20rpx; +} + +.icon-close { + font-size: 48rpx; +} +.quan_price{ + background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx; +} + +/*--闪白屏--*/ +.g_img_box{ + background-position: center center; + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; +} + + + +.arrow { + width: auto !important; + position: absolute; + right: 0; + top: 10rpx; +} + + + + + + + +/* 支付预售定金 */ +.price-container { + top: 50%; + padding-left: 40rpx; + transform: translateY(-50%); + color: white; + font-weight: bold; +} + +.rmb { + display: relative; +} + +.rmb::before { + content: '¥'; + font-size: 24rpx; +} + +.no-bold { + font-weight: normal; +} + +.bg-FF4732 { + background-color: #FF4732; +} + +.line { + position: relative; +} + +.line::before { + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + content: ''; + width: 2rpx; + height: 60%; + background-color: rgba(255,255,255,.4); +} + + +.logo-container { + -webkit-filter: brightness(80%); + filter: brightness(80%); +} + +.logo { + width: 132rpx; + height: 37rpx; + margin-right: 10rpx; +} + -- libgit2 0.21.4