diff --git a/packageA/pages/cardList/cardList.js b/packageA/pages/cardList/cardList.js
index 92823ee..00c2c47 100644
--- a/packageA/pages/cardList/cardList.js
+++ b/packageA/pages/cardList/cardList.js
@@ -26,6 +26,7 @@ Page({
app.isLogin().then(function(data) {//进入页面前已经授权登录成功
self.setData({
userInfo: data,
+ imghost: app.globalData.setting.imghost,
});
});
},
@@ -52,6 +53,41 @@ Page({
});
this.getData(true, url, currentQuery);
+
+ // app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, {
+ // data: {
+ // enabled: 1
+ // }
+ // }).then(res => {
+ // console.log('res==>1', res);
+ // });
+
+
+ app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, {
+ data: {
+ enabled: 1
+ }
+ }).then(res => {
+
+ if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){
+ var a = res.data.data.pageData;
+ var arr = new Array();
+ for (var i = 0; i < a.length; i++) {
+ var tt = {
+ 'ad_code': self.data.imghost + a[i].ad_code,
+ 'media_link': '',
+ 'ad_weapplink':a[i].ad_weapplink
+ };
+ arr.push(tt);
+ }
+ if (arr.length > 0) self.setData({
+ banner: arr,
+ });
+ console.log('banner==>', arr);
+ wx.stopPullDownRefresh();
+ }
+ })
+
};
};
},
@@ -81,7 +117,7 @@ Page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
-
+ this.scrollToLower('/api/weshop/serviceCard/page', this.data.currentQuery);
},
/**
@@ -172,4 +208,10 @@ Page({
});
};
},
+
+ go_goods: function(e) {
+ var gid = e.currentTarget.dataset.gid;
+ var url = "/packageA/pages/goodsInfo/goodsInfo?goods_id=" + gid;
+ app.goto(url);
+ },
})
\ No newline at end of file
diff --git a/packageA/pages/cardList/cardList.json b/packageA/pages/cardList/cardList.json
index 33d9a03..e05a1ed 100644
--- a/packageA/pages/cardList/cardList.json
+++ b/packageA/pages/cardList/cardList.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "卡项列表",
+ "enablePullDownRefresh": false,
"usingComponents": {
"nodata": "/components/nodata/nodata"
}
diff --git a/packageA/pages/cardList/cardList.wxml b/packageA/pages/cardList/cardList.wxml
index 800f045..d558238 100644
--- a/packageA/pages/cardList/cardList.wxml
+++ b/packageA/pages/cardList/cardList.wxml
@@ -1,8 +1,8 @@
- 123
- 234
- 345
+
+
@@ -18,14 +18,14 @@
{{item.money}}
- 卡项详情
+ 卡项详情
-
+
- - 已经到底了 -
+ - 已经到底了 -
diff --git a/packageA/pages/cardList/cardList.wxss b/packageA/pages/cardList/cardList.wxss
index 19b2ec4..4d4c4ae 100644
--- a/packageA/pages/cardList/cardList.wxss
+++ b/packageA/pages/cardList/cardList.wxss
@@ -13,7 +13,7 @@ page {
}
.swiper {
- background-color: white;
+ background-color: #f2f2f2;
}
.image {
@@ -59,4 +59,9 @@ page {
.ali-c {
align-items: center;
+}
+
+.swiper-img {
+ display: block;
+ margin: auto;
}
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/buy_integral.wxml b/packageA/pages/goodsInfo/buy_integral.wxml
new file mode 100644
index 0000000..be8b5ca
--- /dev/null
+++ b/packageA/pages/goodsInfo/buy_integral.wxml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ {{data.goods_name}}
+
+
+ {{prom_integral}}积分
+ +
+ {{prom_price}}元
+ 0积分
+
+
+
+
+
+ 已售:{{prom_act.buy_num}}
+ 可售:{{prom_act.limitqty-prom_act.buy_num}}
+
+
+
+
+
+
+
+
+ {{def_pick_store.pickup_name}}
+
+ 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
+
+
+
+
+
+
+
+ 选择门店
+
+
+
+ 更多门店
+
+
+
+ (库存不足)
+
+ (库存不足)
+
+ (配送不匹配)
+ (库存不足)
+
+
+
+ 地址:{{def_pick_store.fulladdress}}
+
+
+
+
+ 商品属性
+
+
+ {{item.gg}}
+
+
+
+
+
+ 购买数量
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+ 配送不匹配
+
+
+
+
+
+
+ 库存不足
+
+
+
+
+
+ 库存不足
+
+
+
+ 库存不足
+
+
+
+ 请先选择门店
+
+
+
+ 库存不足
+
+
+ 立即兑换
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/buy_integral_normal.wxml b/packageA/pages/goodsInfo/buy_integral_normal.wxml
new file mode 100644
index 0000000..82293cc
--- /dev/null
+++ b/packageA/pages/goodsInfo/buy_integral_normal.wxml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+ {{sele_g.goods_name}}
+
+ ¥
+
+ {{sele_g[card_field]}}
+ {{sele_g.shop_price}}
+
+
+
+ 已售:{{sele_g.sales_sum}}
+
+ 可售:{{def_pick_store.CanOutQty}}
+ 可售:0
+
+ 可售:{{sele_g.store_count}}
+
+
+
+
+
+
+
+
+
+ {{def_pick_store.pickup_name}}
+
+ 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
+
+
+
+
+
+
+
+ 选择门店
+
+
+
+ 更多门店
+
+
+
+ (库存不足)
+
+ (库存不足)
+
+ (配送不匹配)
+ (库存不足)
+
+
+ 地址:{{def_pick_store.fulladdress}}
+
+
+
+
+ 商品属性
+
+
+ {{item.gg}}
+
+
+
+
+
+ 购买数量
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+
+ 配送不匹配
+
+
+
+
+ 库存不足
+
+
+
+
+
+ 库存不足
+
+
+
+ 库存不足
+
+
+
+ 请先选择门店
+
+
+
+ 库存不足
+
+
+
+ 加入购物车
+ 立即购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/buy_pt.wxml b/packageA/pages/goodsInfo/buy_pt.wxml
new file mode 100644
index 0000000..cfeab1b
--- /dev/null
+++ b/packageA/pages/goodsInfo/buy_pt.wxml
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+ {{sele_g.goods_name}}
+
+
+
+
+ ¥ {{sele_g[card_field]}}
+
+
+ ¥ {{sele_g.shop_price}}
+
+
+ ¥ {{prom_price}}
+
+
+
+
+ 已售:{{sele_g.sales_sum}}
+
+ 可售:{{def_pick_store.CanOutQty}}
+ 可售:0
+
+ 可售:{{sele_g.store_count}}
+
+
+
+
+ 已售:{{prom_act.buy_num}}
+ 已售:{{prom_act.buy_num}}
+ 可售:{{prom_act.goods_num-prom_act.buy_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{def_pick_store.pickup_name}}
+
+
+
+ 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
+
+
+
+
+
+
+
+ 选择门店
+
+
+
+ 更多门店
+
+
+
+ (配送不匹配)
+ (库存不足)
+ 地址:{{def_pick_store.fulladdress}}
+
+
+
+ 商品属性
+
+
+ {{item.gg}}
+
+
+
+
+
+
+ {{item.gg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 购买数量
+
+ -
+
+ +
+
+
+
+
+
+
+
+ 选择门店
+
+
+
+
+ {{item.name}}
+
+
+ {{item.pickup_name}}
+
+
+
+
+
+ {{sec_sto.name}}
+
+ {{item.pickup_name}}
+
+
+
+
+
+
+
+
+
+
+
+ 配送不匹配
+
+
+
+
+
+ 库存不足
+
+
+
+
+
+ 库存不足
+
+
+
+ 库存不足
+
+
+
+ 请先选择门店
+
+
+
+ 库存不足
+
+
+ 立即购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 配送不匹配
+
+
+ 确定
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/filter.wxs b/packageA/pages/goodsInfo/filter.wxs
new file mode 100644
index 0000000..5c5f0a2
--- /dev/null
+++ b/packageA/pages/goodsInfo/filter.wxs
@@ -0,0 +1,14 @@
+var is_has = function (text,val) {
+ if(text.indexOf(","+val+",")==-1) return false;
+ return true
+}
+function format_tt(ts) {
+ if(ts==null || ts==undefined || ts=='') return "";
+ var d = getDate(ts*1000)
+ var fm=(d.getMonth()+1)+"月"+ d.getDate()+"日";
+ return fm;
+}
+module.exports = {
+ is_has: is_has,
+ format_tt:format_tt
+}
diff --git a/packageA/pages/goodsInfo/g_filter.wxs b/packageA/pages/goodsInfo/g_filter.wxs
new file mode 100644
index 0000000..e9033b0
--- /dev/null
+++ b/packageA/pages/goodsInfo/g_filter.wxs
@@ -0,0 +1,117 @@
+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) {
+ var val = value.toFixed(2).toString();
+ if(val.indexOf('.') != -1) {
+ var arrval = val.split('.');
+ if(arrval[1].length == 1 && arrval[1][0] == 0) {
+ val = val.slice(0,-2);
+ };
+
+ if(arrval[1].length == 2 && arrval[1][1] == 0) {
+ val = val.slice(0,-1);
+ };
+ };
+ return val;
+ } else {
+ return value.toFixed(0);
+ };
+ },
+}
+module.exports = {
+ is_has_rank:g_filters.is_has_rank,
+ get_card_price:g_filters.get_card_price,
+ num:g_filters.num,
+}
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/goodsInfo.js b/packageA/pages/goodsInfo/goodsInfo.js
new file mode 100644
index 0000000..708a1e2
--- /dev/null
+++ b/packageA/pages/goodsInfo/goodsInfo.js
@@ -0,0 +1,5130 @@
+var t = require("../../../utils/util.js"),
+ ut = t,
+ e = require("../../../utils/common.js"),
+ a = require("../../../utils/wxParse/wxParse.js"),
+ s = getApp(),
+ i = s.request,
+ rq = i,
+ oo = s.globalData,
+ o = s.globalData.setting,
+ os = o;
+//评价加载更多
+var more = function(e) {
+ return e && e.__esModule ? e : {
+ default: e
+ };
+ }(require("../../../utils/LoadMore.js")),
+ n = new more.default();
+var utils = require('../../../utils/util.js');
+var regeneratorRuntime = require('../../../utils/runtime.js');
+
+Page({
+ data: {
+ start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始)
+ color_type: 0, //线条控制
+ color_type_one: 0,
+ color_type_two: 1,
+
+ gid: "",
+ stoid: o.stoid,
+ url: o.url,
+ resourceUrl: o.h5_url, //公众号那边的图片文件域名
+ iurl: o.imghost,
+ defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",
+
+ data: null,
+ content: "", //商品详情
+ comments: null, //商品评论
+ c_curr_p: 1, //评论分页
+ com_num: 0, //评论人数
+ gallery: null, //图片滚动
+ is_collect: 0,
+ collect_id: 0,
+ cartGoodsNum: 0,
+ specSelect: 0,
+ optionItemId: 0,
+ goodsInputNum: 1,
+ openSpecModal: !1,
+ openSpecModal_pt: !1, //拼单的弹起,
+ openPromModal: !1,
+ activeCategoryId: 0,
+ supportPageScroll: !1,
+ address: {
+ address: "",
+ district: 0
+ },
+ shipping: "",
+ shippingCost: 0,
+ enterAddressPage: !1,
+ categories: [{
+ name: "商品",
+ id: 0
+ }, {
+ name: "详情",
+ id: 1
+ }, {
+ name: "评论",
+ id: 2
+ }],
+ activeCategoryId2: 0,
+ categories2: [{
+ name: "商品详情",
+ id: 0
+ }, {
+ name: "规格参数",
+ id: 1
+ }],
+ activeCategoryId3: 1,
+ categories3: [{
+ name: "全部",
+ id: 1,
+ num: 0
+ },
+ {
+ name: "有图",
+ id: 5,
+ num: 0
+ },
+
+ {
+ name: "好评",
+ id: 2,
+ num: 0
+ }, {
+ name: "中评",
+ id: 3,
+ num: 0
+ }, {
+ name: "差评",
+ id: 4,
+ num: 0
+ },
+ ],
+
+ select: {
+ price: 0,
+ stock: 0,
+ specName: "",
+ activity: null
+ },
+
+ //已选的商品(属性)
+ sele_g_spec_name: '',
+ sele_g_id: '',
+ sele_g: null,
+ //门店相关
+ ismend: 0,
+ is_sec_mend: 0,
+ sto_sele_name: "", //选中的门店名称
+ sto_sele_id: "", //选中的门店id
+ sto_sele_distr: "", //选择的门店的配送方式
+ is_show_sto_cat: 1, //是否显示门店分类
+ only_pk: null,
+ all_sto: null,
+ sec_sto: null, //选择了的门店分类
+ pickpu_list: null, //读出的所有门店list
+ def_pickpu_list: null, //一开始5个门店list
+ sec_pick_index: 0, //第二级门店选择ID
+ fir_pick_index: 0, //第一级门店选择ID
+ all_pick_list:null,//所有的门店先记录起来
+ //同一条形码的所有商品
+ sku_g: null,
+ sku_g_pt: null, //---拼单的普通购买---
+ //联系电话
+ mobile: '',
+ //分类,品牌,国别名称
+ cat_name: '',
+ brand_name: '',
+ nation_name: '',
+
+ //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单
+ prom_type: 0,
+ prom_time_text: "",
+ prom_price: null,
+ prom_buy_limit: 0,
+ djs: null,
+ prom_st: 0,
+ prom_r_null: 0,
+ prom_end_time: null,
+ prom_start_time: null,
+ prom_act: null,
+ pd_xx: 0,
+ is_normal: 0, //是否普通购买
+ teamgroup: null, //有多少人开团
+ grounp_tatal: 0, //有几个人开团
+ timer: [],
+
+ //商品的购买次数
+ prom_buy_num: -1,
+ g_buy_num: null,
+ prom_goods_num: 0, //活动商品数量
+ prom_buy_num: 0, //活动商品购买数量
+ prom_redis_num: 0, //活动商品redis数量
+
+ //拼单的规则显示
+ is_show_gz: 0,
+ //会员自己的购买的拼单商品的情况
+ user_order_pt_state: 0,
+ //购买的订单
+ buy_order: null,
+ //1加入购物车 2立即购买
+ openSpecModal_ind: 0,
+
+ //---计时器开关----
+ is_timer: 1,
+ isshow: 0,
+ bconfig: null, //基础配置
+
+ fir_comments: null, //详情页上的评价
+ fir_quan: null, //详情页上的券
+ quan_list: null, //券列表
+
+ coupon: 0,
+ //会员分享的头像
+ share_head: "",
+ share_goods_img: "",
+
+ //----------视频图片data参数---------
+ current: 0, //图片计数
+ swiperCurrent: 0, //轮播的下标
+ hiddenn: 0, //控制轮播计数显示
+
+ currentTab: 0, // 选择器控制参数
+ mapurl: "",
+ mapurl_f_img: "",
+ videopicture: 0, //视频图片的控制
+
+ video: 0, //视频图片切换器
+ index: 0,
+ noon: 0, //开始视频的隐藏
+
+ screenWidth: 0,
+ canvasHidden: 1,
+
+ //--推荐--
+ store_config: null,
+ is_show_pl: 0, //是否品类
+ is_show_pp: 0, //是否品牌
+ is_show_gb: 0, //是否国别
+ is_closecoupon: 0,
+
+ //是否点赞中
+ iszaning: 0,
+
+ select_store: 0, //选择更多
+ index: 1,
+ more_store: 0, //选择门店
+ sort_store: 0, //门店分类
+ choice_sort_store: 0, //选择分类门店
+ new_user: 0, //新用户
+
+ def_pick_store: null, // 默认的门店
+ fir_def_store:null, //客户默认的门店的
+ lat: null, //维度
+ lon: null, //经度
+
+ is_get_local_ok: 0, //获取坐标是否完成
+ region_name: "门店分类", //区域的名字
+ is_gps: 1,
+ open_ind_store: 0, //哪里打开的门店列表的控制属性
+ default_store: {}, //创建添加默认门店地址的对象
+
+ comments_no_more:0,
+ get_c:0, //获取评价是不是成
+ is_collect_load:0, //是不是处理
+ is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存
+ sales_rules:1, //默认是线上销售
+
+ wait_for_user_store:null,
+ prom_goods:null, //商品优惠列表
+ order_prom:null, //订单优惠
+ collocationGoods:null, //搭配购
+
+ poster:null, //自定义海报
+ share_b_img:'', //自定义分享的背景
+
+ showPoster: false,
+ hui_condition:null,
+ sto_sele_name_1:'',//分享的门店名称
+
+ },
+
+ //------初始化加载----------
+ onLoad: function(t) {
+ // wx.setNavigationBarTitle({
+ // title: "商品详情",
+ // })
+ var ee = this,
+ that = ee,
+ th = ee,
+ gid = t.goods_id,
+ first_leader=t.first_leader,
+ room_id=t.room_id,
+ room_user_share=t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id
+
+ //-- 自定义海报 --
+ getApp().request.promiseGet("/api/weshop/goods/poster/page", {
+ data:{store_id:os.stoid, type:1, is_use:1}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){
+
+ var poster_data=res.data.data.pageData[0];
+ var json_str=poster_data.jsonStr;
+
+ if(json_str){
+ var json_data=JSON.parse(json_str);
+ if(json_data.bg_img){
+
+ //-- 把图片那到本地 --
+ wx.getImageInfo({
+ src:json_data.bg_img,
+ success: function(res) {
+ var path= res.path;
+ th.setData({share_b_img:path})
+ },
+ fail: function(res) {}
+ });
+ }
+ th.setData({poster:json_data})
+
+ }
+ }
+ })
+
+ //---获取手机地址坐标--
+ //--如果tg_id是空的话,分享回来--
+ if (gid == undefined || gid == null || gid == "") {
+ var gid_str = decodeURIComponent(t.scene);
+ gid_str=gid_str.split("_");
+ gid=gid_str[0];
+ if(gid_str.length>1){
+ first_leader=gid_str[1];
+ }
+ //-- 如果有room_id的获取 --
+ if(gid_str.length>2 && gid_str[2]){
+ room_id=gid_str[2];
+ room_user_share=1;
+ }
+
+ }
+ ee.setData({ gid: gid});
+ if(first_leader){
+ console.log("log---".first_leader);
+
+ getApp().globalData.first_leader=first_leader;
+ //调用接口判断是不是会员
+ getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{
+ if(res.data.code==0){
+ getApp().globalData.guide_id=res.data.data.id;
+ }
+ })
+ }
+
+ //-- 如果有房间号 --
+ if(room_id){
+ getApp().globalData.room_id=room_id;
+ getApp().globalData.room_goods_id=gid;
+ //如果是会员分享过来的要记录
+ if(room_user_share)
+ getApp().globalData.room_user_share=room_user_share;
+ }
+
+ var c_guide_id=t.c_guide_id;
+ if(c_guide_id){
+ th.data.c_guide_id=c_guide_id;
+ }
+
+ getApp().getConfig(function(e) {
+ ee.setData({sto_sele_name_1:e.store_name})
+ })
+
+ //----获取系统参数-----
+ getApp().getConfig2(function(e) {
+ ee.setData({
+ bconfig: e,
+ sales_rules:e.sales_rules,
+ });
+
+ if (e.categoryset.indexOf("," + 1 + ",") != -1) {
+ ee.setData({
+ is_show_pl: 1
+ });
+ }
+ if (e.categoryset.indexOf("," + 3 + ",") != -1) {
+ ee.setData({
+ is_show_pp: 1
+ });
+ }
+ if (e.categoryset.indexOf("," + 2 + ",") != -1) {
+ ee.setData({
+ is_show_gb: 1
+ });
+ }
+
+ var json_d = JSON.parse(e.switch_list);
+ ee.setData({
+ store_config: e,
+ sys_switch:json_d,
+ is_closecoupon: json_d.is_closecoupon,
+ is_newsales_rules:json_d.is_newsales_rules
+ });
+ ee.init(gid);
+ //------几人评价-------
+ //n.init(th, "", "comments");
+
+ th.requestCardNum(), wx.pageScrollTo && th.setData({
+ supportPageScroll: !0
+ });
+
+ //计算等级价相关
+ var swithc_list=e.switch_list;
+ var sw_arr=JSON.parse(swithc_list);
+ //---如果后台又开等级卡的开关---
+ if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){
+ th.setData({rank_switch:true});
+ //---回调卡的列表---
+ th.getPlusCardType(function(ob){
+ th.setData({card_list:ob.card_list});
+ var ti = setInterval(function () {
+ var user = getApp().globalData.userInfo;
+ if (!user) return false;
+ clearInterval(ti);
+
+ if(user.card_field && user['card_expiredate']){
+ var str = user['card_expiredate'].replace(/-/g, '/');
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ var now = ut.gettimestamp();
+ //--- 判断是等级会员,且在有效期范围内 ---
+ if(user.card_field && now6) card_name=card_name.substring(0,6);
+
+ var is_near_date=0;
+ if(end-now<60*60*30*24) is_near_date=1; //如果小于30天
+ th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date});
+ }
+ }
+ }, 500)
+ })
+ }
+
+ },1);
+
+ //获取用户设备信息,屏幕宽度
+ wx.getSystemInfo({
+ success: res => {
+ that.setData({
+ screenWidth: res.screenWidth
+ })
+ }
+ });
+
+ //获取用户的默认门店
+ getApp().get_user_store(function(e) {
+ if(!e) {
+ th.data.fir_def_store={}; //赋值空对象
+ return false;
+ }
+ var ee=JSON.parse(JSON.stringify(e));
+ //--定时器推迟一下--
+ setTimeout(function () {
+ if(th.data.data) var g_distr_type=th.data.data.distr_type;
+ //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
+ if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
+ //th.data.fir_def_store={}; //赋值空对象
+ //return false;
+ //th.data.fir_def_store.is_no_dis=1;
+ ee.is_no_dis=1;
+ }
+
+ var appd=getApp().globalData;
+ var w_time = setInterval(function() {
+ if (that.data.is_get_local_ok == 0) return false;
+ clearInterval(w_time);
+ var distance = null;
+ var e=JSON.parse(JSON.stringify(ee));
+
+ //如果有开启近距离的话,同时距离优不一样了
+ if (that.data.lat != null) {
+ //如果经纬度有变化的话
+ if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){
+ that.data.fir_def_store=e;
+ that.setData({
+ def_pick_store: e,
+ sto_sele_name: e.pickup_name,
+ sto_sele_id: e.pickup_id,
+ sto_sele_distr: e.distr_type
+ })
+ }else{
+ //要用接口是获取距离,js的计算不准
+ getApp().request.promiseGet("/api/weshop/pickup/list",{
+ data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon},
+ }).then(res=>{
+ if(res.data.code==0){
+ e=res.data.data.pageData[0];
+ if (e){
+ e.is_no_dis=ee.is_no_dis;
+ appd.pk_store=e;
+ that.data.fir_def_store=e;
+ that.setData({
+ def_pick_store: e,
+ sto_sele_name: e.pickup_name,
+ sto_sele_id: e.pickup_id,
+ sto_sele_distr: e.distr_type
+ })
+ }
+
+ }
+ })
+ }
+
+ //e.distance = distance;
+ appd.lat=that.data.lat;
+ appd.lon=that.data.lon;
+
+ }else{
+ if (e) {
+ e.distance = null;
+ that.data.fir_def_store=e;
+ that.setData({
+ def_pick_store: e,
+ sto_sele_name: e.pickup_name,
+ sto_sele_id: e.pickup_id,
+ sto_sele_distr: e.distr_type
+ })
+ }
+ }
+ }, 500)
+ },700)
+
+ });
+
+ },
+
+ //------------程序初始化入口-------------
+ async init(gid) {
+ var ee = this,
+ th = ee,
+ gallery = null,
+ is_collect = 0,
+ collect_id = 0,
+ categories3 = ee.data.categories3,
+ fir_com = null,
+ fir_quan = null,
+ mapurl = null,
+ mapurl_f_img = null;
+
+
+ //------图片滚动----------
+ await getApp().request.promiseGet("/api/weshop/goodsimages/page", {
+ data: {
+ store_id: os.stoid,
+ goods_id: gid,
+ },
+ }).then(res => {
+
+ var t = res;
+ var g = t.data.data.pageData;
+ if (g.length == 0) {
+ var ie = {
+ "image_url": o.imghost + "/public/images/default_goods_image_240.gif"
+ };
+ g.push(ie);
+ gallery = g;
+ return;
+ }
+ for (var i = 0; i < g.length; i++) {
+ if (g[i].image_url.indexOf(o.imghost) == -1)
+ g[i].image_url = o.imghost + g[i].image_url;
+ }
+ gallery = g;
+ })
+ //------是否收藏----------
+ await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
+ data: {
+ store_id: os.stoid,
+ goods_id: gid,
+ user_id: oo.user_id,
+ }
+ }).then(res => {
+ var t = res;
+ var data = t.data.data.pageData;
+ if (data.length > 0) {
+ //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, });
+ is_collect = 1;
+ collect_id = data[0].collect_id;
+ }
+ })
+
+ //------获取评价的统计数量----
+ await getApp().request.promiseGet("/api/weshop/comment/countlist/", {
+ data: {
+ store_id: os.stoid,
+ goods_id: gid
+ },
+ //failRollback: !0,
+
+ }).then(res => {
+ var t = res;
+ var g = t.data.data[0];
+ if (g != null && g != undefined) {
+ var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5;
+ var num2 = g.c4 + g.c5;
+ var num3 = g.c3;
+ var num4 = g.c0 + g.c1 + g.c2;
+
+ var dd = ee.data.categories3;
+ dd[0].num = allnum;
+ dd[1].num = g.cimg;
+ dd[2].num = num2;
+ dd[3].num = num3;
+ dd[4].num = num4;
+
+ categories3 = dd;
+ }
+ })
+
+ //----获取详情页的评价----
+ await getApp().request.promiseGet("/api/weshop/comment/pageComment", {
+ data: {
+ store_id: os.stoid,
+ goods_id: gid,
+ pageSize: 3,
+ parent_id: 0,
+ page:1,
+ is_show:1,
+ },
+ }).then(res => {
+ fir_com = res.data.data.pageData;
+ })
+
+ if (fir_com) {
+ for (var ind in fir_com) {
+ if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png";
+ if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img);
+ if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img);
+ }
+ }
+
+ if (th.data.is_closecoupon != 1) {
+ //----获取详情页的券的数量----
+ await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", {
+ data: {
+ store_id: os.stoid,
+ type: 1,
+ pageSize: 3,
+ page: 1,
+ is_share:0,
+ },
+ }).then(res1 => {
+ fir_quan = res1.data.data.pageData;
+ })
+ }
+
+ //--------获取视频图片---------
+ // await getApp().request.promiseGet("/api/weshop/goodsVideos/get/" + os.stoid + "/" + ee.data.gid, {
+ // 1: 1
+ // }).then(res1 => {
+ // if (res1.data.code == 0) {
+ // mapurl = res1.data.data.video_url;
+ // mapurl_f_img = res1.data.data.video_img;
+ // }
+ // })
+
+ ee.setData({
+ gallery: gallery,
+ is_collect: is_collect,
+ collect_id: collect_id,
+ categories3: categories3,
+ fir_quan: fir_quan,
+ fir_comments: fir_com,
+ mapurl_f_img: mapurl_f_img,
+ mapurl: mapurl,
+ });
+
+ },
+
+ //---展示---
+ onShow: function() {
+ var goods_list = null,th = this,that=this;
+
+ //优惠券要实时更新
+ getApp().getConfig2(function(e) {
+ var json_d = JSON.parse(e.switch_list);
+ th.setData({is_closecoupon: json_d.is_closecoupon})
+ th.setData({is_open_offline: json_d.is_pricing_open})
+ },1)
+
+
+ var ui = setInterval(function () {
+ goods_list = th.selectComponent("#goods_list");
+ if (goods_list) {
+ clearInterval(ui);
+ goods_list.init();
+ return false
+ }
+ }, 300)
+
+ this.data.is_timer = 1;
+ var ee = this,
+ gid = this.data.gid,
+ i = getApp().request;
+
+ this.wait_for_store_config();
+
+ i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, {
+ failRollback: !0,
+ success: function(t) {
+ if (t.data.code == 0) {
+ console.log('xx==><==', t.data.data);
+ // let data = {
+ // goods_name: t.data.data.serviceName,
+ // };
+ that.setData({
+ 'data.goods_name': t.data.data.serviceName,
+ 'data.shop_price': t.data.data.money,
+ 'data.validDays': t.data.data.validDays,
+ 'data.serviceContent': t.data.data.serviceContent,
+ 'data.image_url': t.data.data.imgUrl,
+ 'data.goods_id': t.data.data.id,
+ });
+ // self.setData({
+ // details: t.data.data,
+ // data,
+ // });
+ // 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();
+ // }
+ // });
+ // }
+ // }
+
+ // ee.check_is_youhui(ee.data.gid);
+
+ // t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss');
+ // var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2).toString();
+
+
+ // if(txt != 0) {
+ // if(txt.indexOf('.') != -1) {
+ // var arrtxt = txt.split('.');
+ // if(arrtxt[1].length == 1 && arrtxt[1][0] == 0) {
+ // txt = txt.slice(0,-2);
+ // };
+
+ // if(arrtxt[1].length == 2 && arrtxt[1][1] == 0) {
+ // txt = txt.slice(0,-1);
+ // };
+ // };
+ // } else {
+ // txt = 0;
+ // }
+
+
+ // 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
+ // });
+
+
+ // //获取统一条形码,普通商品和优惠促销的商品
+ // if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5){
+ // //默认门店要拿下门店库存
+ // if(that.data.sales_rules==2 && that.data.is_newsales_rules){
+ // //获取门店
+ // ee.get_sto();
+ // //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存
+ // getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){
+ // if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){
+ // var lock=0,plist=null;
+ // //先读取门店的lock,采用链式写法,少用await
+ // getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
+ // data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000}
+ // }).then(res=>{
+ // if(res.data.code==0 && res.data.data.total>0){
+ // for(var i in res.data.data.pageData)
+ // lock+=res.data.data.pageData[i].outQty
+ // }
+ // //---通过接口获取门店的线下库存信息--
+ // return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
+ // data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid}
+ // })
+ // }).then(res=>{
+ // if(res.data.code==0 && res.data.data.total>0){
+ // plist=res.data.data.pageData[0];
+ // }
+ // if(plist && plist.CanOutQty-lock>0){
+ // that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock;
+ // }else{
+ // that.data.fir_def_store.CanOutQty=0;
+ // }
+ // //--给门店赋值线下库存--
+ // th.setData({def_pick_store:that.data.fir_def_store});
+ // })
+ // }
+ // })
+ // }else{
+ // //获取门店
+ // ee.get_sto();
+ // }
+
+ // ee.get_sku(o.stoid, t.data.data.sku, gid);
+ // }
+ // else {
+ // var gg = "", item = t.data.data;
+
+ // if(item.goods_spec=="null" || item.goods_spec==null ) item.goods_spec="";
+ // if(item.goods_color=="null" || item.goods_color==null) item.goods_color="";
+
+ // if (item.goods_spec != "" && item.goods_color != "") {
+ // gg = item.goods_spec + "/" + item.goods_color;
+ // } else if (item.goods_spec != "" || item.goods_color != "") {
+ // gg = item.goods_spec + item.goods_color;
+ // } else {
+ // gg = "规格1";
+ // }
+ // t.data.data.gg = gg;
+ // var uu = [];
+ // uu.push(t.data.data);
+ // ee.setData({
+ // sku_g: uu,
+ // });
+ // }
+ // ee.data.g_buy_num = new Map();
+ // ee.check_prom(gid, ee.data.data.prom_type, ee.data.data.prom_id);
+
+ // var th = ee;
+ // if (ee.data.cat_name == '') {
+ // //过去国别,分类,品牌的名称
+ // i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, {
+ // success: function(t) {
+ // var dd = t.data.data;
+ // if (t.data.code == 0) {
+ // th.setData({
+ // cat_name: dd.name
+ // });
+ // }
+ // }
+ // });
+ // //过去国别,分类,品牌的名称
+ // i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, {
+ // success: function(t) {
+ // var dd = t.data.data;
+ // if (t.data.code == 0) {
+ // th.setData({
+ // brand_name: dd.name
+ // });
+ // }
+ // }
+ // });
+ // //过去国别,分类,品牌的名称
+ // i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, {
+ // success: function(t) {
+ // var dd = t.data.data;
+ // if (t.data.code == 0) {
+ // th.setData({
+ // nation_name: dd.name
+ // });
+ // }
+ // }
+ // });
+ // }
+
+ } else {
+ wx.showModal({
+ title: t.data.msg,
+ showCancel: !1,
+ complete: function() {
+ wx.navigateBack();
+ }
+ });
+ };
+ }
+ });
+ this.data.enterAddressPage && (this.data.enterAddressPage = !1);
+
+ },
+ enterAddress: function() {
+ this.data.enterAddressPage = !0, wx.navigateTo({
+ url: "/pages/user/address_list/address_list?operate=selectAddress"
+ });
+ },
+ onUnload: function() {
+ for(var i = 1; i < 100; i++) {
+ clearInterval(i);
+ }
+ },
+ onHide: function() {
+ this.data.is_timer = 0;
+ for(var i = 1; i < 100; i++) {
+ clearInterval(i);
+ }
+ },
+ //----------三个选项按钮-----------
+ tabClick: function(t) {
+ var e = t.currentTarget.id;
+ this.setData({
+ activeCategoryId: e
+ }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();
+ },
+ tabClick2: function(t) {
+ this.setData({
+ activeCategoryId2: t.currentTarget.id
+ });
+ },
+
+ tabClick3: function(t) {
+ var e = this;
+ if (t.currentTarget.id != this.data.activeCategoryId3) {
+ e.data.c_curr_p = 1;
+ this.setData({
+ activeCategoryId3: t.currentTarget.id,
+ comments: null,comments_no_more:0,get_c:0,
+ });
+ this.requestComments_new();
+ }
+ },
+
+ doScrollTop: function() {
+ wx.pageScrollTo({
+ scrollTop: 0
+ });
+ },
+
+ tabComment: function() {
+ this.setData({
+ activeCategoryId: 2,comments_no_more:0,get_c:0
+ }), this.data.comments || this.requestComments_new();
+ },
+
+ //商品详情的时候调用
+ tabGoodsContent: function() {
+ var th = this,
+ i = getApp().request;
+ this.setData({
+ activeCategoryId: 1
+ });
+
+ if (th.data.cat_name == '') {
+ //过去国别,分类,品牌的名称
+ i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, {
+ success: function(t) {
+ var dd = t.data.data;
+ if (t.data.code == 0) {
+ th.setData({
+ cat_name: dd.name
+ });
+ }
+ }
+ });
+ //过去国别,分类,品牌的名称
+ i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, {
+ success: function(t) {
+ var dd = t.data.data;
+ if (t.data.code == 0) {
+ th.setData({
+ brand_name: dd.name
+ });
+ }
+ }
+ });
+ //过去国别,分类,品牌的名称
+ i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, {
+ success: function(t) {
+ var dd = t.data.data;
+ if (t.data.code == 0) {
+ th.setData({
+ nation_name: dd.name
+ });
+ }
+ }
+ });
+ }
+ },
+
+ //获取redis中的数量
+ async getactLen(func) {
+ var r_num = 0,
+ prom_type = this.data.prom_type,
+ prom_id = this.data.prom_id;
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
+ 1: 1
+ }).then(res => {
+ var em = res;
+ if (em.data.code == 0) {
+ r_num = em.data.data;
+ }
+ })
+ func(r_num);
+ },
+
+ //------------加入购物车--------------
+ addCart: function(t) {
+ var th = this;
+ var ind = t.currentTarget.dataset.openSpecModal_ind;
+ if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
+ th.setData({
+ open_ind_store: ind
+ });
+ //如果是秒杀的话,要看redis够不够
+ if (this.data.prom_type == 1) {
+ this.getactLen(function(num) {
+ if (num < th.data.goodsInputNum) {
+ getApp().my_warnning("秒杀库存不足!", 0, th);
+ return false;
+ } else {
+ th.add_cart_func(t);
+ }
+ });
+ } else {
+ th.add_cart_func(t);
+ }
+ },
+
+
+
+ //-- 加入购物的函数 --
+ add_cart_func_inte: function(t) {
+ var i = getApp().request;
+ if (oo.user_id == null) {
+ return s.my_warnning("还未登录!", 0, this);
+ }
+ if(!getApp().globalData.userInfo){
+ return s.my_warnning("还未登录!", 0, this);
+ }
+
+ var e = this,
+ th = e,
+ a = 0,
+ o = this.data.data;
+ a = o.goods_id;
+
+ //----------添加到购物车时,要判断限购数量,--------
+ e.get_buy_num(o, function(ee) {
+ //---判断商品是否超出限购---
+ if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
+ if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品限购'
+ });
+ return false;
+ }
+ }
+ //---判断商品是否超出活动限购---
+ if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
+ if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品活动限购'
+ });
+ return false;
+ }
+ }
+
+ if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
+ if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
+ this.setData({
+ sto_sele_name: ""
+ });
+ if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);
+
+ //--------------此时操作的数据------------
+ var newd = {
+ goods_id: o.goods_id,
+ goods_num: th.data.goodsInputNum,
+ pick_id: th.data.sto_sele_id,
+ user_id: oo.user_id,
+ store_id: th.data.stoid,
+ goods_price: th.data.prom_price,
+ integral:th.data.prom_integral,
+ member_goods_price: o.shop_price,
+ goods_name: o.goods_name,
+ goods_sn: o.goods_sn,
+ sku: o.sku,
+ };
+
+ //---是不是从收藏夹出来的---
+ if(th.data.c_guide_id){
+ newd['guide_id'] = th.data.c_guide_id;
+ newd['guide_type']=2;
+ if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3;
+ }else{
+ if(getApp().globalData.guide_id){
+ newd['guide_id'] = getApp().globalData.guide_id;
+ newd['guide_type']=0;
+ if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1;
+ }
+ }
+
+ //让商品带上房间号
+ //让商品带上房间号
+ if(th.data.sys_switch.is_skuroom_id==1){
+ if(th.data.data.goods_id==getApp().globalData.room_goods_id){
+ newd.room_id=getApp().globalData.room_id;
+ }
+ }else{
+ if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id;
+ }
+
+ //如果是积分够,is_integral_normal就要有积分购普通购买字段
+ if(o.prom_type==4){
+ newd.is_integral_normal=1;
+ }
+
+ //-----如果是秒杀,团购,积分购,拼团-----
+ newd.prom_type = th.data.prom_type;
+ newd.prom_id = th.data.prom_id;
+ if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
+ if (o.store_count 0) {
+ if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品限购'
+ });
+ return false;
+ }
+ }
+ //---判断商品是否超出活动限购---
+ if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
+ if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品活动限购'
+ });
+ return false;
+ }
+ }
+
+ if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
+ if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
+ this.setData({
+ sto_sele_name: ""
+ });
+ if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);
+
+ //--------------此时操作的数据------------
+ var newd = {
+ goods_id: o.goods_id,
+ goods_num: th.data.goodsInputNum,
+ pick_id: th.data.sto_sele_id,
+ user_id: oo.user_id,
+ store_id: th.data.stoid,
+ goods_price: o.shop_price,
+ member_goods_price: o.shop_price,
+ goods_name: o.goods_name,
+ goods_sn: o.goods_sn,
+ sku: o.sku,
+ };
+
+ //---是不是从收藏夹出来的---
+ if(th.data.c_guide_id){
+ newd['guide_id'] = th.data.c_guide_id;
+ newd['guide_type']=2;
+ if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3;
+ }else{
+ if(getApp().globalData.guide_id){
+ newd['guide_id'] = getApp().globalData.guide_id;
+ newd['guide_type']=0;
+ if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1;
+ }
+ }
+
+ //让商品带上房间号
+ //让商品带上房间号
+ if(th.data.sys_switch.is_skuroom_id==1){
+ if(th.data.data.goods_id==getApp().globalData.room_goods_id){
+ newd.room_id=getApp().globalData.room_id;
+ }
+ }else{
+ if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id;
+ }
+
+ //如果是积分够,is_integral_normal就要有积分购普通购买字段
+ if(o.prom_type==4){
+ newd.is_integral_normal=1;
+ }
+
+ //如果有线下取价
+ if(o.offline_price){
+ newd.offline_price=o.offline_price;
+ newd.pricing_type=o.pricing_type;
+ }
+
+ //-----如果是秒杀,团购,积分购,拼团-----
+ if (th.data.prom_type == 1) {
+ newd.goods_price = th.data.prom_price;
+ newd.member_goods_price = th.data.prom_price,
+ newd.prom_type = th.data.prom_type;
+ newd.prom_id = th.data.prom_id;
+
+ if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
+ if (o.store_count 0){
+ var CanOutQty=res.data.data.pageData[0].CanOutQty;
+ if(CanOutQty0){
+
+ var lock=0;
+ for(var i in res_data.data.data.pageData){
+ lock+=res_data.data.data.pageData[i].outQty;
+ }
+
+ if(CanOutQty<=lock){
+ return s.my_warnning("库存不足!", 0, th);
+ }
+ th.add_cart_next(e,t,a,o,newd,CanOutQty-lock);
+ }else{
+ th.add_cart_next(e,t,a,o,newd,CanOutQty);
+ }
+ }
+ })
+ }else{
+ return s.my_warnning("库存不足!", 0, th);
+ }
+
+ }
+ }
+ })
+ }else{
+ if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
+ if (o.store_count now){
+ var card_price=o[getApp().globalData.userInfo['card_field']];
+ //如果会员有等级价
+ if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null
+ && getApp().globalData.userInfo['card_field']!="" && card_price>0){
+ newd.goods_price=card_price;
+ newd.member_goods_price=card_price;
+ }
+ }
+ }
+ }
+
+ //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d);
+ if ("add" == t.currentTarget.dataset.action) {
+
+ if(th.data.prom_goods){
+ newd.prom_type = 3;
+ newd.prom_id = th.data.prom_goods[0].prom_id;
+ }
+
+ //----先看会员在购物车中是否加入了该商品-----
+ i.get("/api/weshop/cart/page", {
+ data: {
+ store_id: e.data.stoid,
+ user_id: oo.user_id,
+ goods_id: a,
+ pick_id: e.data.sto_sele_id,
+ },
+ success: function(re) {
+
+ //-------如果购物车中有相关的数据---------
+ if (re.data.data.total > 0) {
+
+ var item = re.data.data.pageData[0];
+
+ //判断数量,要看下购物车中有没有该商品
+ if(CanOutQty){
+ if(item.goods_num+ th.data.goodsInputNum>CanOutQty){
+ return s.my_warnning("库存不足!", 0, th);
+ }
+ }else{
+ if(item.goods_num+ th.data.goodsInputNum>o.store_count){
+ return s.my_warnning("库存不足!", 0, th);
+ }
+ }
+
+ var updata = {
+ id: item.id,
+ goods_num: e.data.goodsInputNum + item.goods_num,
+ goods_price: newd.goods_price,
+ member_goods_price:newd.goods_price,
+ store_id: th.data.stoid,
+ };
+
+ //---是不是从收藏夹出来的---
+ if(th.data.c_guide_id){
+ updata['guide_id'] = th.data.c_guide_id;
+ updata['guide_type']=3; //加入购物车之后就变成了3
+ }else {
+ if (getApp().globalData.guide_id) {
+ updata['guide_id'] = getApp().globalData.guide_id;
+ updata['guide_type'] = 0;
+ }
+ }
+
+ i.put("/api/weshop/cart/update", {
+ data: updata,
+ success: function(t) {
+ getApp().my_warnning('加入购物车成功', 1, th, 450);
+ var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
+ th.setData({
+ cartGoodsNum: c_num
+ });
+ th.closeSpecModal();
+ }
+ });
+ } else {
+
+
+ i.post("/api/weshop/cart/save", {
+ data: newd,
+ success: function(t) {
+ getApp().my_warnning('加入购物车成功', 1, th, 450);
+ var c_num = th.data.cartGoodsNum + e.data.goodsInputNum;
+ th.setData({
+ cartGoodsNum: c_num
+ });
+ th.closeSpecModal();
+ }
+ });
+ }
+ }
+ });
+ }
+ //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d);
+ else {
+
+ if(th.data.prom_goods){
+ var prom_d=th.data.prom_goods;
+ for(var i in prom_d){
+ //判断活动有俩种条件,0元 1件
+ var condition_t=prom_d[i].prom_type;
+ switch(condition_t) {
+ case 0: //按钱
+ if(newd.goods_price>=condition_t){
+ newd.prom_type = 3;
+ newd.prom_id = prom_d[i].prom_id;
+ }
+ break
+ case 1://按购买数量
+ if(newd.goods_num>=condition_t){
+ newd.prom_type = 3;
+ newd.prom_id = prom_d[i].prom_id;
+ }
+ break;
+ }
+ }
+
+ }
+
+ newd['pick_name'] = th.data.sto_sele_name;
+ newd['pick_dis'] = th.data.sto_sele_distr;
+ th.buyNow(newd);
+ }
+ },
+
+
+ //----------购买虚拟商品------
+ buyVirtualGoods: function(e) {
+ Object.assign(e, {
+ goods_name: this.data.data.goods.goods_name,
+ spec_name: this.data.select.specName,
+ price: this.data.select.price
+ }), wx.navigateTo({
+ url: "/pages/virtual/buy_step/buy_step?" + t.Obj2Str(e)
+ });
+ },
+ //----------积分兑换---------
+ exchange: function(e) {
+ this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({
+ url: "/pages/cart/integral/integral?" + t.Obj2Str(e)
+ });
+ },
+
+
+ //----------立即购买-----------
+ buyNow: function(e) {
+ // this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, {
+ // action: "buy_now"
+ // }),
+ s.set_b_now(e);
+ if(e.prom_type==4){
+ var url="/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id;
+ getApp().goto(url);
+ }else{
+ wx.redirectTo({
+ url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id,
+ });
+ }
+ },
+
+ //----------增加购买数量-----------
+ addCartNum: function(t) {
+ this.checkCartNum(this.data.goodsInputNum + 1);
+ },
+ //----------减少购买数量-----------
+ subCartNum: function(t) {
+ this.checkCartNum(this.data.goodsInputNum - 1);
+ },
+ //----------输入框输入购买数量-----------
+ inputCartNum: function(t) {
+ this.checkCartNum(Number(t.detail.value));
+ },
+
+ //----------增加购买数量-----------
+ addCartNum_inte: function(t) {
+ this.checkCartNum_inte(this.data.goodsInputNum + 1);
+ },
+ //----------减少购买数量-----------
+ subCartNum_inte: function(t) {
+ this.checkCartNum_inte(this.data.goodsInputNum - 1);
+ },
+ //----------输入框输入购买数量-----------
+ inputCartNum_inte: function(t) {
+ this.checkCartNum_inte(Number(t.detail.value));
+ },
+
+
+ //------检查数量是不是超出限购------
+ checkCartNum: function(t) {
+ var th = this;
+ this.data.sele_g = this.data.data;
+ this.get_buy_num(this.data.sele_g, async function() {
+ // this.get_buy_num(this.data.sele_g, async function() {
+
+ //--判断商品是否超出限购--
+ if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
+
+ var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id);
+
+ if (t + gd_buy_num > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '超出商品限购',
+ });
+
+ var num= th.data.sele_g.viplimited-gd_buy_num;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+
+ //--判断商品是否超出活动限购--
+ if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) {
+ if (t + th.data.prom_buy_num > th.data.prom_buy_limit) {
+ wx.showModal({
+ title: '超出商品活动限购',
+ });
+
+ var num=th.data.prom_buy_limit- th.data.prom_buy_num ;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+
+ if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) {
+ var redis_num = 0;
+ //------判断活动是否抢光-----
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
+ os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, {
+ 1: 1
+ }).then(res => {
+ redis_num = res.data.data;
+ });
+
+ if (t > redis_num) {
+ wx.showModal({
+ title: '超出商品活动库存',
+ });
+ th.setData({goodsInputNum:redis_num})
+ return false;
+ }
+
+ }
+
+ var e = th.data.sele_g.store_count;
+ if(th.data.sales_rules==2){
+ if(!th.data.def_pick_store){
+ wx.showModal({ title: '请选择门店', });
+ return false;
+ }else{
+ e=th.data.def_pick_store.CanOutQty;
+ }
+ }
+
+ //库存不足,不增加
+ if(e e || 0 == e ? t = e : t < 1 && (t = 1);
+ th.setData({ goodsInputNum: t });
+ th.is_show_more_buy();
+
+ })
+ },
+
+ //----- 检查一下积分购的限购之类的问题 -----
+ checkCartNum_inte: function(t) {
+ var th = this;
+ this.get_buy_num(this.data.data, async function() {
+
+ //--判断商品是否超出限购--
+ if (th.data.g_buy_num != null && th.data.data.viplimited > 0) {
+
+ var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id);
+
+ if (t + gd_buy_num > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '超出商品限购',
+ });
+
+ var num= th.data.sele_g.viplimited-gd_buy_num;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+
+ //--判断商品是否超出活动限购--
+ if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
+ if (t + th.data.prom_buy_num > th.data.prom_buy_limit) {
+ wx.showModal({
+ title: '超出商品活动限购',
+ });
+
+ var num=th.data.prom_buy_limit- th.data.prom_buy_num ;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+
+ if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) {
+ var redis_num = 0;
+ //------判断活动是否抢光-----
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
+ os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, {
+ 1: 1
+ }).then(res => {
+ redis_num = res.data.data;
+ });
+
+ if (t > redis_num) {
+ wx.showModal({
+ title: '超出商品活动库存',
+ });
+ th.setData({goodsInputNum:redis_num})
+ return false;
+ }
+
+ }
+
+ var e = th.data.sele_g.store_count;
+ if(th.data.sales_rules==2){
+ if(!th.data.def_pick_store){
+ wx.showModal({ title: '请选择门店', });
+ return false;
+ }else{
+ e=th.data.def_pick_store.CanOutQty;
+ }
+ }
+
+ //库存不足,不增加
+ if(e e || 0 == e ? t = e : t < 1 && (t = 1);
+ th.setData({ goodsInputNum: t });
+ })
+ },
+
+
+ closeSpecModal: function() {
+ if(this.data.openSpecModal_pt && this.data.is_normal){
+ this.get_sto();
+ }
+
+ this.setData({
+ 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;
+ this.setData({
+ openSpecModal: !0,
+ openSpecModal_ind: ind,
+ });
+
+ var is_open=th.data.config
+
+
+ this.get_off_price();
+
+ },
+
+ //----获取线下价格-------
+ get_off_price(){
+ var th=this;
+ //没有开启就返回
+ if(!th.data.is_open_offline) return false;
+ //先看下购买的功能有没有到期
+ getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{
+ //未购买
+ if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){
+ return false;
+ }else{
+ //已经过期
+ var item=res.data.data.pageData[0];
+ if(item.end_time0){
+ cur_price=cur_goods[th.data.card_field];
+ }
+
+ var user_info = getApp().globalData.userInfo;
+ //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行
+ if(cur_goods.prom_type==0 && !this.data.prom_goods){
+ cur_goods.offline_price=null;
+ //如果没有门店,不用计算线下价格
+ var def_pick_store=this.data.def_pick_store;
+ if(!def_pick_store) return false;
+ getApp().request.get("/api/weshop/goods/listWarePrice", {
+ data:{VIPId:encodeURIComponent(user_info.erpvipid),
+ store_id:os.stoid,
+ PickupId:def_pick_store.pickup_id,
+ WareIds:encodeURIComponent(cur_goods.erpwareid)},
+ success:function(res){
+ if(res.data.code==0 && res.data.data && res.data.data.length>0){
+ var datalist=res.data.data;
+ if(datalist[0].WarePrice {
+ var e = res;
+ if (e.data.code == 0) arrdata = e.data.data.pageData;
+ })
+ if(!arrdata) return fasle;
+
+ 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) {
+ if(goodsinfo.prom_type==1){
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0) prom=res.data.data;
+ })
+ }
+ if(goodsinfo.prom_type==6){
+ await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0) prom=res.data.data;
+ })
+ }
+ }
+ //---如果有活动,不算在一起---
+ if(prom){
+ if(prom.is_end==0 && prom.end_time>now && prom.start_time{
+ if(res.data.code==0 && res.data.data.total>0){
+ for(var i in res.data.data.pageData)
+ lock+=res.data.data.pageData[i].outQty
+ }
+ //---通过接口获取门店的线下库存信息--
+ return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
+ data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid}
+ })
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data.total>0){
+ plist=res.data.data.pageData[0];
+ }
+ if(plist && plist.CanOutQty-lock>0){
+ that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock;
+ }else{
+ that.data.def_pick_store.CanOutQty=0;
+ }
+ //--给门店赋值线下库存--
+ th.setData({def_pick_store:that.data.def_pick_store});
+ })
+ }
+
+
+ this.sele_spec_chech_activity();
+ },
+
+ //选择了不同的规格的时候要判断是不是有活动正在进行中
+ async sele_spec_chech_activity(){
+ //---如果是活动的时候---
+ var prom=null,goodsinfo=this.data.sele_g,th=this;
+ if(goodsinfo.prom_type==1){
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+ if(goodsinfo.prom_type==6){
+ await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+ //----------如果有活动,并且在进行中,就不计算线下库存---------------
+ var now=ut.gettimestamp();
+ if(prom){
+ if(prom.is_end==0 && prom.end_time>now && prom.start_time {
+ var e = res;
+
+ if (e.data.code == 0) {
+
+ //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
+ if(dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store)=='{}') && th.data.bconfig && th.data.bconfig.is_sort_storage){
+ th.setData({
+ def_pick_store:e.data.data.pageData[0],
+ sto_sele_name: e.data.data.pageData[0].pickup_name,
+ sto_sele_id: e.data.data.pageData[0].pickup_id,
+ sto_sele_distr: e.data.data.pageData[0].distr_type
+ });
+ th.data.fir_def_store=e.data.data.pageData[0];
+ }
+
+ //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
+ if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){
+ for (var k = 0; k < e.data.data.pageData.length; k++) {
+ if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
+ e.data.data.pageData.splice(k, 1); //删除
+ break;
+ }
+ }
+ e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
+ }
+
+
+ th.setData({all_pick_list:e.data.data.pageData});
+
+ //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购--
+ if(th.data.sales_rules==2 && !th.data.is_newsales_rules && ((th.data.prom_type!=1 && th.data.prom_type!=6 && th.data.prom_type!=4) || is_normal==1)){
+ setTimeout(function(){
+ th.deal_pickup_dline(e);
+ },800)
+ }else{
+ setTimeout(function(){
+ th.deal_pickup(e); //--普通门店排版--
+ },800)
+ }
+ }
+ })
+ }, 200)
+
+ },
+
+
+ //------------处理门店---------------
+ deal_pickup(e){
+ var th=this;
+ if(!th.data.sele_g) return false
+
+ var g_distr_type=th.data.sele_g.distr_type;
+ wx.hideLoading();
+
+ //单总量超出5个的时候
+ if (e.data.data.total > 5) {
+ getApp().request.get("/api/weshop/storagecategory/page", {
+ data: {
+ store_id: o.stoid,
+ is_show: 1,
+ pageSize: 1000,
+ orderField:"sort",
+ orderType:'asc',
+ },
+ success: function(ee) {
+ if (ee.data.code == 0) {
+
+ if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
+ var def_arr = new Array();
+ var ishas = 0;
+ //-- 开始就看5个门店 --
+ for (var k = 0; k < 5; k++) {
+ if (k == e.data.data.pageData.length) break;
+ def_arr.push(e.data.data.pageData[k]);
+ }
+
+ th.setData({
+ def_pickpu_list: def_arr,
+ pickpu_list: ee.data.data.pageData
+ });
+ var sto_cate = ee.data.data.pageData;
+ var sto_arr = e.data.data.pageData;
+ var newarr = new Array();
+ var qita = new Array();
+
+ //----要进行门店分组--------
+ for (var i = 0; i < sto_arr.length; i++) {
+ //找一下这个门店有没有在分类数组内
+ var find2 = 0, find2name = "",sort=0;
+ for (var m = 0; m < sto_cate.length; m++) {
+ if (sto_arr[i].category_id == sto_cate[m].cat_id) {
+ find2 = sto_cate[m].cat_id;
+ find2name = sto_cate[m].cat_name;
+ sort = sto_cate[m].sort;
+ break;
+ }
+ }
+
+ if (newarr.length > 0) {
+ var find = 0;
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ for (var ii = 0; ii < newarr.length; ii++) {
+ if (sto_arr[i].category_id == newarr[ii].cat_id) {
+ newarr[ii].s_arr.push(sto_arr[i]);
+ find = 1;
+ break;
+ }
+ }
+ if (find == 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort:sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ }
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ } else {
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort:sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ }
+ }
+
+ //门店分类要排序下
+ function compare(property){
+ return function(a,b){
+ var value1 = a[property];
+ var value2 = b[property];
+ return value1 - value2;
+ }
+ }
+ if(newarr.length>0)
+ newarr.sort(compare("sort"));
+
+
+ //----安排其他的分类-----
+ if (qita.length > 0) {
+ var item = {
+ cat_id: -1,
+ name: "其他",
+ s_arr: qita
+ };
+ newarr.push(item);
+ }
+
+ th.setData({
+ is_show_sto_cat: 1,
+ all_sto: newarr
+ });
+
+ } else {
+ th.setData({
+ is_show_sto_cat: -1,
+ only_pk: e.data.data.pageData
+ });
+ //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
+ if (!th.data.def_pick_store) {
+ th.setData({def_pick_store:e.data.data.pageData[0]})
+ }
+ }
+ } else {
+ th.setData({
+ is_show_sto_cat: -1,
+ only_pk: e.data.data.pageData
+ });
+ //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
+ if (!th.data.def_pick_store) {
+ th.setData({def_pick_store:e.data.data.pageData[0]})
+ }
+
+ }
+ }
+ });
+ } else {
+ th.setData({
+ is_show_sto_cat: 0,
+ only_pk: e.data.data.pageData
+ });
+ //-----如果没有默认门店,要取第一个门店作为默认店------
+ if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
+ th.setData({
+ def_pick_store:e.data.data.pageData[0],
+ sto_sele_name: e.data.data.pageData[0].pickup_name,
+ sto_sele_id: e.data.data.pageData[0].pickup_id,
+ sto_sele_distr: e.data.data.pageData[0].distr_type
+ })
+ }
+ }
+ },
+
+ //------------处理线下门店库存--------
+ deal_pickup_dline(e){
+ var pkno=[],th=this;
+ if(!th.data.sele_g) return false;
+
+ if(this.data.def_pick_store){
+ pkno.push(this.data.def_pick_store.pickup_no);
+ }
+ for(var i in e.data.data.pageData){
+ var item=e.data.data.pageData[i];
+ if(pkno.indexOf(item.pickup_no)<0)
+ pkno.push(item.pickup_no);
+ }
+ var pkno_str=pkno.join(",");
+ var o_plist=e.data.data.pageData;
+ var new_list=[];
+ var is_find_def_store=0;
+
+
+ var g_distr_type=th.data.sele_g.distr_type;
+ var lock=[];
+ //先读取门店的lock,采用链式写法,少用await
+ getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
+ data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,pageSize:1000}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data.total>0){
+ lock=res.data.data.pageData
+ }
+ //---通过接口获取门店的线下库存信息--
+ return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
+ data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid,pageSize:2000}
+ })
+ }).then(res=>{
+
+ wx.hideLoading();
+ if(res.data.code==0){
+ if(res.data.data.pageData && res.data.data.pageData.length>0){
+ var plist=res.data.data.pageData;
+ var def_pick_store=th.data.def_pick_store;
+ //以原来的数组为外循环,保证距离的顺序
+ for(var kk in o_plist){
+ for(var ii in plist){
+ //线下的门店小心
+ var n_item=plist[ii];
+ if(n_item.StorageNo==o_plist[kk].pickup_no){
+
+ //拿到锁库的数量
+ var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock);
+ //可出库数大于预出库库存的数量,可以判断为有库存
+ if(n_item.CanOutQty>lock_num){
+ o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num;
+ new_list.push(o_plist[kk]);
+ //--如果找到默认门店,同时也应该判断配送方式对不对--
+ if(th.data.fir_def_store && n_item.StorageNo==th.data.fir_def_store.pickup_no && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){
+ th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num;
+ if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id)
+ th.setData({def_pick_store:th.data.fir_def_store})
+ is_find_def_store=1;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ //数据组装下
+ var em={};em.data={};em.data.data={};
+ em.data.data.total=new_list.length;
+ em.data.data.pageData=new_list;
+
+ //--如果找到默认门店,同时也应该判断配送方式对不对--
+ if(th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){
+ th.data.fir_def_store.CanOutQty=0;
+ //--当选择的门店是客户默认的门店的时候--
+ if(th.data.def_pick_store && th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) {
+ th.setData({def_pick_store:th.data.fir_def_store});
+ em.data.data.pageData.unshift(th.data.def_pick_store);
+ }else{
+ em.data.data.pageData.splice(1,0,th.data.fir_def_store);
+ }
+ }
+
+ //---把数组组装进去---
+ th.deal_pickup(em);
+ }else{
+ th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null})
+ }
+ }else{
+ th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null})
+ }
+ })
+ },
+
+ find_lock_num(pick_id,lock){
+ var lock_num=0;
+ if(!lock) return 0;
+ if(lock.length<0) return 0;
+ for(var i in lock){
+ if(pick_id==lock[i].pickupId){
+ lock_num+=lock[i].outQty;
+ }
+ }
+ return lock_num;
+ },
+
+ //----------取货门店被点击的效果------
+ getmendian: function(t) {
+ this.setData({
+ ismend: 1,
+ });
+ },
+
+ //----------隐藏取货门店,选取门店----------
+ hidemend: function(e) {
+ var pid = e.target.dataset.p_id;
+ var pname = e.target.dataset.p_name;
+ var p_distr_t = e.target.dataset.p_dis;
+ this.setData({
+ ismend: 0,
+ is_sec_mend: 0,
+ sto_sele_id: pid,
+ sto_sele_name: pname,
+ sto_sele_distr: p_distr_t
+ });
+ },
+
+ //------显示取货2级----------
+ show_sec: function(t) {
+ var index = t.target.dataset.index;
+ var item = this.data.all_sto[index];
+ this.setData({
+ is_sec_mend: 1,
+ sec_sto: item
+ });
+ },
+
+ //------隐藏取货门店2级----
+ hide_sec_mend: function() {
+ this.setData({
+ is_sec_mend: 0,
+ });
+ },
+
+ //评论的调用
+ requestComments_new: async function(){
+ var e = this, th = e,ee=e; var tp = e.data.activeCategoryId3;
+ var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p;
+
+ wx.showLoading();
+ var req_where = {
+ store_id: o.stoid, pageSize: 5,is_show:1,
+ parent_id: 0, goods_id: th.data.gid, commenttype: tp,
+ }
+ if (getApp().globalData.userInfo) {
+ req_where.userId = getApp().globalData.userInfo.user_id;
+ }
+
+ var rs_data=null;
+ await getApp().request.promiseGet(t, { data: req_where}).then(res=>{
+ var tot = res.data.data.total;
+ e.data.c_curr_p++;
+ e.setData({
+ com_num: tot, //已经有加载
+ });
+ if (res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
+ rs_data=res.data.data.pageData;
+ }else{
+ th.setData({comments_no_more:1,auto:1});
+ }
+ })
+
+ if (rs_data){
+ //var cda = th.data.comments;
+ var cda = rs_data,com_data=th.data.comments;
+ for (var ind in cda) {
+ var ep = cda[ind];
+ if (cda[ind].head_pic == '') {
+ cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
+ }
+ if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
+ cda[ind].weapp_img = JSON.parse(ep.weapp_img);
+ }
+ if (ep.img != "" && ut.isString(ep.img)) {
+ cda[ind].img = ut.unserialize(ep.img);
+ }
+
+ //--测量多有字的宽带,计算有多少行--
+ var widh=ut.measureText(ep.content,30);
+ var lines=widh/712;
+ cda[ind].seeMore=false;
+ if(lines>3) cda[ind].seeMore=true;
+
+ await getApp().request.promiseGet("/api/weshop/comment/pageComment", {
+ data: {store_id: o.stoid, parent_id: ep.comment_id }
+ }).then(res => {
+ if (res.data.data.pageData && res.data.data.pageData.length > 0) {
+ cda[ind].replay_list = res.data.data.pageData;
+ }
+ })
+ }
+
+ if (!com_data) com_data = cda;
+ else com_data = com_data.concat(cda);
+
+ th.setData({ comments: com_data});
+ }
+ th.setData({get_c: 1});
+ wx.hideLoading();
+ },
+
+ //加载更多是靠这个函数
+ onReachBottom: function() {
+ if (this.data.activeCategoryId == 2){
+ if(!this.data.comments_no_more) this.requestComments_new();
+ }
+
+ var goods_list = this.selectComponent("#goods_list"); //组件的id
+ if (goods_list) goods_list.get_list();
+ },
+
+ //--------检查是否活动,活动是否开始,或者是否结束-------
+ async check_prom(gid, prom_type, prom_id) {
+ var ee = this,
+ th = ee;
+ if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5) {
+ this.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ return false;
+ }
+
+
+
+ //if (prom_type != 3 && prom_type!=0){
+ //---判断秒杀----
+ if (prom_type == 1) {
+ //-------判断活动是否抢光---------
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
+ 1: 1
+ }).then(res => {
+ var em = res;
+ if (em.data.code == 0) {
+
+ if (em.data.data <= 0) ee.setData({
+ prom_r_null: 1
+ });
+ //拿取价格并且判断时间--
+ getApp().request.get("/api/ms/flash_sale/get/" +
+ os.stoid + "/" + prom_id, {
+ success: function(t) {
+ if (t.data.code != 0) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ return false;
+ }
+ //----已经结束-----
+ if (t.data.data.is_end == 1) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+ //----已经过期-----
+ var now = ut.gettimestamp();
+ if (t.data.data.end_time < now) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ return false;
+ }
+
+ /*-- 还没有开始预热的也不显示 --*/
+ if (t.data.data.show_time > now) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+
+ var t_gd = ee.data.data;
+ var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
+ var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
+
+ ee.setData({
+ prom_price: t.data.data.price,
+ prom_type: 1,
+ prom_id: prom_id,
+ prom_buy_limit: t.data.data.buy_limit,
+ prom_act: t.data.data,
+ prom_end_time: prom_end_time,
+ prom_start_time: prom_start_time,
+ isshow: 1,
+ });
+
+ ee.get_sto();
+
+
+ var newTime = ut.gettimestamp();
+ var endTime2 = t.data.data.end_time;
+ var endTime1 = t.data.data.start_time;
+
+ //---苹果机不兼容---
+ /*----
+ var endTime2 = new Date(prom_end_time).getTime();
+ var endTime1 = new Date(prom_start_time).getTime();----*/
+
+ if (endTime1 > newTime) {
+ ee.setData({
+ prom_time_text: '距秒杀开始还有'
+ })
+ ee.countDown(endTime1, 0);
+ } else {
+ if (endTime2 > newTime) {
+ ee.setData({
+ prom_time_text: '距秒杀结束还有',
+ prom_st: 1
+ })
+ ee.countDown(endTime2);
+ }
+ }
+ }
+ });
+ }
+ })
+ }
+
+ if(prom_type==4){
+ //th.setData({is_integral_normal:1});
+ var rdata={
+ store_id:o.stoid,stype:1,stypeup:1,goods_id:gid
+ }
+
+ var integrals=0;
+ var get_datas= {
+ user_id:getApp().globalData.user_id, store_id:o.stoid,
+ };
+ await getApp().request.promiseGet("/api/weshop/users/getAllPoints", {
+ data: get_datas
+ }).then(res => {
+ if(res.data.code==0){
+ integrals=res.data.data.Integral;
+ }
+ })
+
+ //获取一下积分活动
+ await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", {
+ data: rdata
+ }).then(res => {
+ //调用接口有数据的时候
+ if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) {
+ var inte_data=res.data.data.pageData[0];
+ var can_integral=(parseFloat(integrals)>=parseFloat(inte_data.integral));
+ ee.setData({
+ prom_price:parseFloat(inte_data.addmoney),
+ prom_integral:parseFloat(inte_data.integral),
+ prom_type: 4,
+ prom_id: inte_data.id,
+ prom_buy_limit: inte_data.limitvipqty,
+ prom_act: inte_data,
+ isshow: 1,
+ can_integral:can_integral,
+ is_shopbuy: parseInt(inte_data.is_shopbuy?inte_data.is_shopbuy:0)
+ });
+ ee.get_sto();
+
+ }else{
+ ee.setData({prom_type: 0, isshow: 1,});
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+ })
+
+ }
+
+
+ //---判断拼单----
+ if (prom_type == 6) {
+ //-------判断活动是否抢光---------
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
+ 1: 1
+ }).then(res => {
+ var em = res;
+ if (em.data.code == 0) {
+
+
+ if (em.data.data <= 0) ee.setData({
+ prom_r_null: 1
+ });
+ //拿取价格并且判断时间--
+ getApp().request.get("/api/weshop/teamlist/get/" +
+ os.stoid + "/" + prom_id, {
+ success: function(t) {
+ if (t.data.code != 0) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+ //----已经结束-----
+ if (t.data.data.is_end == 1) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ return false;
+ }
+ //----已经过期-----
+ var now = ut.gettimestamp();
+ if (t.data.data.end_time < now) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+
+ /*-- 还没有开始预热的也不显示 --*/
+ if (t.data.data.show_time > now) {
+ ee.setData({
+ prom_type: 0,
+ isshow: 1,
+ });
+ ee.get_sku(os.stoid, ee.data.data.sku, gid);
+ ee.get_sto();
+ return false;
+ }
+
+ //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中-------
+ getApp().request.get("/api/weshop/order/page", {
+ data: {
+ pt_prom_id: prom_id,
+ user_id: oo.user_id,
+ store_id: os.stoid,
+ pageSize: 1,
+ page: 1
+ },
+ success: function(e) {
+ if (e.data.code == 0 && e.data.data.pageData.length > 0) {
+ var odr = e.data.data.pageData[0];
+ th.data.buy_order = odr;
+ if (odr.pt_status == 0 && odr.order_status == 1) {
+ th.setData({
+ user_order_pt_state: 1
+ });
+ }
+ if (odr.pt_status == 1 && odr.order_status == 1) {
+ if (odr.is_zsorder == 4) {
+ getApp().request.promiseGet("/api/weshop/teamgroup/page/", {
+ data: {
+ store_id: os.stoid,
+ team_id: odr.pt_prom_id,
+ listno: odr.pt_listno
+ }
+ }).then(res => {
+ var now = ut.gettimestamp();
+ if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
+ var tgr = res.data.data.pageData[0];
+ //如果团的时间已经到了
+ if (now >= tgr.kt_end_time) {
+ th.update_jiti(tgr.id);
+ } else {
+ th.setData({
+ user_order_pt_state: 2
+ });
+ }
+ }
+ })
+
+ } else {
+ th.setData({
+ user_order_pt_state: 2
+ });
+ }
+ }
+
+ if (odr.pt_status == 2 && odr.is_zsorder == 4) {
+ th.setData({
+ user_order_pt_state: 3,
+ });
+ th.data.wk_order_id = odr.order_id;
+ }
+ }
+ },
+ });
+
+ //----------查看阶梯团------------
+ if (t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) {
+ t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist);
+ var max_num = 0;
+ t.data.data.ct_rylist.forEach(function(val, ind) {
+ if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum);
+ })
+ t.data.data.max_ct_num = max_num;
+ }
+
+ var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
+ var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
+ ee.setData({
+ prom_price: t.data.data.price,
+ prom_type: 6,
+ prom_id: prom_id,
+ prom_buy_limit: t.data.data.buy_limit,
+ prom_act: t.data.data,
+ prom_end_time: prom_end_time,
+ prom_start_time: prom_start_time,
+ isshow: 1,
+ });
+
+ ee.get_sto();
+
+ var newTime = now;
+ var endTime2 = t.data.data.end_time;
+ var endTime1 = t.data.data.start_time;
+
+ if (endTime1 > newTime) {
+ ee.setData({
+ prom_time_text: '距拼单开始还剩:'
+ })
+ ee.countDown(endTime1, 0);
+ } else {
+ if (endTime2 > newTime) {
+ ee.setData({
+ prom_time_text: '距拼单结束还剩:',
+ prom_st: 1
+ })
+ ee.countDown(endTime2);
+ }
+ }
+ //-------查看有多少人在开这个团-------
+ th.get_team_group(prom_id);
+ }
+ });
+ }
+ })
+ }
+
+ },
+
+ //--获取有多少人在开团--
+ async get_team_group(prom_id) {
+ var teamgroup = [],
+ th = this,
+ grounp_tatal = 0;
+ //如果活动是开团不是商家团
+ if (this.data.prom_act.kttype > 1) {
+ //获取活动从表信息team_id
+ await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
+ data: {
+ store_id: os.stoid,
+ pageSize: 3,
+ page: 1,
+ state: 2,
+ team_id: prom_id
+ }
+ }).then(res => {
+ teamgroup = res.data.data.pageData;
+ grounp_tatal = res.data.data.total;
+ })
+ //获取订单的总数这个接口不能用
+ for (i = 0; i < teamgroup.length; i++) {
+ await getApp().request.promiseGet("/api/weshop/order/page", {
+ data: {
+ store_id: os.stoid,
+ pt_status: 1,
+ pt_listno: teamgroup[i].listno
+ }
+ }).then(res => {
+ var order = res.data.data.pageData;
+ teamgroup[i].open_num = order.length;
+ })
+ await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => {
+ var user = res.data.data;
+ teamgroup[i].user = user;
+ })
+ }
+
+ if (teamgroup.length > 0) {
+ th.setData({
+ teamgroup: teamgroup,
+ grounp_tatal: grounp_tatal
+ });
+ th.countDown2();
+ }
+ }
+ },
+
+ //---小于10的格式化函数----
+ timeFormat(param) {
+ return param < 10 ? '0' + param : param;
+ },
+
+ //----倒计时函数-----
+ countDown(time, prom_st) {
+ if (!this.data.is_timer) return false;
+ var th = this;
+ // 获取当前时间,同时得到活动结束时间数组
+ var endTime = time;
+ var newTime = ut.gettimestamp();
+ // 对结束时间进行处理渲染到页面
+ var obj = null;
+ // 如果活动未结束,对时间进行处理
+ if (endTime - newTime > 0) {
+ var time = (endTime - newTime);
+ // 获取天、时、分、秒
+ var day = parseInt(time / (60 * 60 * 24));
+ var hou = parseInt(time % (60 * 60 * 24) / 3600);
+ var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ day: this.timeFormat(day),
+ hou: this.timeFormat(hou),
+ min: this.timeFormat(min),
+ sec: this.timeFormat(sec)
+ }
+ } else {
+ if (th.data.prom_st == 0) {
+ //var endTime2 = new Date(th.data.prom_end_time).getTime();
+ var endTime2 = th.data.prom_act.end_time;
+ th.setData({
+ prom_time_text: '距结束还剩:',
+ prom_st: 1
+ })
+ setTimeout(function() {
+ th.countDown(endTime2)
+ }, 1000);
+ return false;
+
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ }
+ th.setData({
+ prom_time_text: '活动已经结束:',
+ prom_st: 3
+ })
+ th.setData({
+ djs: obj
+ });
+ return false;
+ }
+ }
+
+ th.setData({
+ djs: obj
+ });
+ setTimeout(function() {
+ th.countDown(endTime)
+ }, 1000);
+ },
+
+
+ //-------------获取购买数量的总函数----------------
+ get_buy_num: function(gd, func) {
+ var map = this.data.g_buy_num,
+ th = this,
+ user_id = getApp().globalData.user_id;
+ if (user_id == null) {
+ map.set(gd.goods_id, 0);
+ th.setData({
+ g_buy_num: map,
+ prom_buy_num: 0,
+ });
+ "function" == typeof func && func();
+ return false;
+ }
+
+ if (map.has(gd.goods_id)) {
+ "function" == typeof func && func();
+ } else {
+ //----获取商品购买数----
+ getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: os.stoid,
+ user_id: user_id,
+ goods_id: gd.goods_id
+ },
+ success: function(t) {
+ if (t.data.code == 0) {
+ var g_buy_num = t.data.data.goodsbuynum;
+ if (gd.prom_type == 1 || gd.prom_type == 2 || gd.prom_type == 4 || gd.prom_type == 6) {
+ //----获取活动购买数----
+ getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: os.stoid,
+ user_id: user_id,
+ goods_id: gd.goods_id,
+ prom_type: gd.prom_type,
+ prom_id: gd.prom_id
+ },
+ //-----获取-----
+ success: function(tt) {
+ if (tt.data.code == 0) {
+ map.set(gd.goods_id, g_buy_num);
+ th.setData({
+ g_buy_num: map,
+ prom_buy_num: tt.data.data.goodsbuynum,
+ });
+ "function" == typeof func && func();
+ }
+ }
+ });
+ } else {
+ map.set(gd.goods_id, g_buy_num);
+ th.setData({
+ g_buy_num: map
+ });
+ "function" == typeof func && func();
+ }
+ }
+ }
+ });
+ }
+ },
+
+ //--拼单推荐的显示---
+ tj_Click: function(e) {
+ var ind = parseInt(e.target.dataset.ind);
+ this.setData({
+ is_show_gz: ind
+ });
+ },
+
+ //--------拼团玩法显示详情--------
+ show_pt_xx: function(e) {
+ this.setData({
+ pd_xx: 1,
+ })
+ },
+ close_pt_xx: function() {
+ this.setData({
+ pd_xx: 0,
+ })
+ },
+
+ //--点击弹起拼单--
+ openSpecModel_pt: function(e) {
+
+
+ this.setData({ open_ind_store: 4});//拼团直接给4
+
+
+ //--先判断会员状态--
+ var user_info = getApp().globalData.userInfo;
+ if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
+ wx.navigateTo({
+ url: '/pages/togoin/togoin',
+ })
+ return false;
+ }
+
+ var th = this;
+ var ind = parseInt(e.currentTarget.dataset.it);
+ //如果是拼单活动的普通购买
+ if (ind == 1) {
+ //如果拼单的sku data是空的,就要先获取一下
+ if (th.data.sku_g_pt) {
+ th.get_sto(1);
+ th.setData({
+ is_normal: ind,
+ openSpecModal_pt: 1
+ });
+ } else {
+ th.get_sto(1);
+ th.get_sku(o.stoid, th.data.data.sku, th.data.gid, 1, function() {
+ th.setData({
+ is_normal: ind,
+ openSpecModal_pt: 1
+ });
+ });
+ }
+ } else {
+
+ //拼单商品从这里进,先判断有没有买过商品,
+ getApp().request.get("/api/weshop/order/page", {
+ data: {
+ pt_prom_id: th.data.prom_act.id,
+ user_id: oo.user_id,
+ store_id: os.stoid,
+ pageSize: 1,
+ page: 1
+ },
+ success: function(e) {
+ //--跳转到已经购买的情况--
+ if (e.data.data.pageData.length > 0) {
+ var odr = e.data.data.pageData[0];
+ //还未支付
+ if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
+ wx.showModal({
+ title: "您已经购买了该商品待支付中",
+ success: function(a) {
+ if (a.confirm) {
+ wx.navigateTo({
+ url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
+ });
+ }
+ }
+ });
+ } else if (odr.pt_status == 1 && odr.order_status == 1) {
+
+ if(this.data.is_go_to_team_show) return false;
+ this.data.is_go_to_team_show=1;
+ wx.showLoading();
+
+ wx.redirectTo({
+ url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
+ });
+ } else {
+ th.setData({
+ is_normal: ind,
+ openSpecModal_pt: 1
+ });
+ }
+
+ } else {
+ th.setData({
+ is_normal: ind,
+ openSpecModal_pt: 1
+ });
+ }
+ }
+ });
+ }
+ },
+
+ //-----------------拼单生成方法---------------------
+ addCart_pt: function() {
+ var th = this;
+ if (this.data.is_normal == 0) {
+ //看一下有没有起购数,如果有起购数,要计算起购数
+ var qnum = parseFloat(th.data.prom_act.minbuynum);
+ if (qnum > 0 && th.data.goodsInputNum < qnum) {
+ getApp().confirmBox("拼团商品至少要买" + qnum + "件!");
+ return false;
+ }
+
+ th.addcart_pt_func();
+ } else {
+ th.addcart_pt_func();
+ }
+ },
+
+ addcart_pt_func: function() {
+ if (oo.user_id == null) {
+ s.my_warnning("还未登录!", 0, this);
+ return;
+ }
+ var e = this,
+ th = e,
+ o = this.data.sele_g;
+ if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
+
+ //----------添加到购物车时,要判断限购数量,--------
+ e.get_buy_num(o, async function(ee) {
+
+ //---判断商品是否超出限购---
+ if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
+ if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品限购'
+ });
+
+ var num=th.data.prom_buy_limit-th.data.prom_buy_num;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+ //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购---
+ if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal!=1) {
+ if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品活动限购'
+ });
+
+ var num=th.data.prom_buy_limit-th.data.prom_buy_num;
+ if(num<0) num=0;
+ th.setData({goodsInputNum:num})
+ return false;
+ }
+ }
+
+ var redis_num = 0
+ //不是普通购买的时候
+ if(th.data.is_normal!=1){
+ //-------判断活动是否抢光---------
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.sele_g.prom_id, {
+ 1: 1
+ }).then(res => {
+ redis_num = res.data.data;
+ })
+
+ if (th.data.goodsInputNum > redis_num) {
+ wx.showModal({
+ title: '提示',
+ content: '超出商品活动库存'
+ });
+
+ th.setData({goodsInputNum:redis_num})
+
+ return false;
+ }
+ }
+
+ if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
+ if (th.data.goodsInputNum > o.store_count) {
+ th.setData({goodsInputNum:o.store_count})
+ return s.my_warnning("超出商品库存", 0, th);
+ }
+
+ if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
+ this.setData({
+ sto_sele_name: ""
+ });
+ if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);
+ //--------------此时操作的数据------------
+ var newd = {
+ goods_id: o.goods_id,
+ goods_num: th.data.goodsInputNum,
+ pick_id: th.data.sto_sele_id,
+ user_id: oo.user_id,
+ store_id: th.data.stoid,
+ goods_price: o.shop_price,
+ goods_name: o.goods_name,
+ goods_sn: o.goods_sn,
+ sku: o.sku,
+ };
+
+ //---是不是从收藏夹出来的---
+ if(th.data.c_guide_id){
+ newd['guide_id'] = th.data.c_guide_id;
+ newd['guide_type']=2;
+
+ }else{
+ if(getApp().globalData.guide_id){
+ newd['guide_id'] = getApp().globalData.guide_id;
+ newd['guide_type']=0;
+
+ }
+ }
+
+ //让商品带上房间号
+ if(th.data.sys_switch.is_skuroom_id==1){
+ if(th.data.data.goods_id==getApp().globalData.room_goods_id){
+ newd.room_id=getApp().globalData.room_id;
+ }
+ }else{
+ if(newd.goods_id==getApp().globalData.room_goods_id){
+ newd.room_id=getApp().globalData.room_id;
+ }
+ }
+
+ //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
+
+ if(th.data.is_normal == 1){
+ var conf=th.data.bconfig;
+ if(conf.switch_list){
+ var s_list=JSON.parse(conf.switch_list);
+ //如果后台有开启等级价的功能
+ if(parseInt(s_list.rank_switch)==2){
+ var card_price=o[getApp().globalData.userInfo['card_field']];
+ //如果会员有等级价
+ if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null
+ && getApp().globalData.userInfo['card_field']!="" && card_price>0){
+ newd.goods_price=card_price;
+ }
+ }
+ }
+ }
+
+
+ //-----如果是秒杀,团购,积分购,拼团,且不是普通购买-----
+ if (th.data.prom_type == 6 && th.data.is_normal!= 1) {
+ newd.goods_price = th.data.prom_price;
+ newd.prom_type = th.data.prom_type;
+ newd.prom_id = th.data.prom_id;
+ newd.kt_type = th.data.prom_act.kttype; //开团类型
+ newd.is_pt_tz = 0;
+ //th.data.sto_sele_distr=1; //直接用自提的方式提交
+ if (newd.kt_type > 1) {
+ newd.is_pt_tz = 1; //开团类型
+ }
+ if (newd.kt_type == 3) {
+ th.data.sto_sele_distr = 1;
+ }
+
+ } else if (th.data.prom_type == 3) {
+ newd.prom_type = 0;
+ newd.prom_id = 0;
+ }
+
+ newd['pick_name'] = th.data.sto_sele_name;
+ newd['pick_dis'] = th.data.sto_sele_distr;
+ newd['is_normal'] = th.data.is_normal;
+
+ th.buyNow_pt(newd);
+ })
+ },
+ //----------立即购买_pt-----------
+ buyNow_pt: function(e) {
+ s.set_b_now(e);
+ wx.navigateTo({
+ url: "/pages/cart/cart2_pt/cart2_pt?is_bnow=1&goods_id=" + e.goods_id,
+ });
+ },
+
+ //-------跳转pt商品-------
+ go_to_nopay: function() {
+ var th = this;
+ url="/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id;
+ getApp().goto(url);
+
+ },
+ //-------跳转pt teamshow-------
+ go_to_team_show: function() {
+
+ if(this.data.is_go_to_team_show) return false;
+ this.data.is_go_to_team_show=1;
+ wx.showLoading();
+
+ var th = this;
+ var url="/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn;
+ wx.redirectTo({
+ url:url,
+ })
+
+ },
+
+ //---拼团倒计时---
+ countDown2() {
+ if (!this.data.is_timer) return false;
+ var th = this;
+ // 获取当前时间,同时得到活动结束时间数组
+ var newTime = ut.gettimestamp();
+ var List = th.data.teamgroup;
+ for (var j = 0; j < List.length; j++) {
+ // 对结束时间进行处理渲染到页面
+ var endTime = List[j].kt_end_time;
+ let obj = null;
+ // 如果活动未结束,对时间进行处理
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime);
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt(time % (60 * 60 * 24) / 3600);
+ let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ day: this.timeFormat(day),
+ hou: this.timeFormat(hou),
+ min: this.timeFormat(min),
+ sec: this.timeFormat(sec)
+ }
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ }
+ }
+ var txt = "timer[" + j + "]";
+ th.setData({
+ [txt]: obj
+ });
+ }
+ setTimeout(th.countDown2, 1000);
+ },
+ //跳转参加团
+ go_cj_team: function(e) {
+ var ind = e.currentTarget.dataset.ind;
+ var item = this.data.teamgroup[ind];
+ var id = item.id;
+ var th = this;
+
+ getApp().request.get("/api/weshop/order/page", {
+ data: {
+ pt_prom_id: item.team_id,
+ user_id: oo.user_id,
+ store_id: os.stoid,
+ pageSize: 1,
+ page: 1
+ },
+ success: function(e) {
+ if (e.data.code != 0) {
+ getApp().my_warnning("读取订单失败", 0, th);
+ return fasle;
+ }
+ //--跳转到已经购买的情况--
+ if (e.data.data.pageData.length > 0) {
+ var odr = e.data.data.pageData[0];
+ //还未支付
+ if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
+ wx.showModal({
+ title: "您已经购买了该商品待支付中",
+ success: function(a) {
+ if (a.confirm) {
+ wx.navigateTo({
+ url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
+ });
+ }
+ }
+ });
+ } else if (odr.pt_status == 1 && odr.order_status == 1) {
+
+ if(this.data.is_go_to_team_show) return false;
+ this.data.is_go_to_team_show=1;
+ wx.showLoading();
+
+ wx.redirectTo({
+ url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/pages/team/team_show/team_show?tg_id=" + id,
+ });
+ }
+ }
+ //--跳转到参团--
+ else {
+ wx.navigateTo({
+ url: "/pages/team/team_show/team_show?tg_id=" + id,
+ });
+ }
+ }
+ })
+
+ },
+
+ //跳到团更多
+ go_t_more: function() {
+ var team_id = this.data.prom_id;
+ wx.navigateTo({
+ url: "/pages/team/team_more/team_more?team_id=" + team_id,
+ });
+ },
+
+ //--点赞功能--
+ click_zan: function(e) {
+ var com_id = e.currentTarget.dataset.com_id;
+ var item_id = e.currentTarget.dataset.item_id;
+ var app = getApp(),
+ th = this;
+
+ if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
+ app.confirmBox("您还未登录");
+ return false;
+ }
+
+ var iszan = th.data.comments[item_id].userZanNum;
+ if (this.data.iszaning) return false;
+ this.data.iszaning = 1;
+
+
+ app.request.post("/api/weshop/commentZan/save", {
+ data: {
+ store_id: o.stoid,
+ user_id: app.globalData.user_id,
+ goods_id: th.data.gid,
+ comment_id: com_id
+ },
+ success: function(ee) {
+
+ if (ee.data.code == "-1") {
+ app.my_warnning("不能给自己点赞", 0, th);
+ th.data.iszaning = 0;
+ return;
+ }
+
+ if (ee.data.code == 0 && iszan != 1) {
+ var num = th.data.comments[item_id].zan_num;
+ num++;
+ var text = "comments[" + item_id + "].zan_num";
+ var text1 = "comments[" + item_id + "].userZanNum";
+ var _errObj = {};
+ _errObj[text] = num;
+ _errObj[text1] = 1;
+ th.setData(_errObj);
+
+ } else {
+ var num = th.data.comments[item_id].zan_num;
+ num--;
+ var text = "comments[" + item_id + "].zan_num";
+ var text1 = "comments[" + item_id + "].userZanNum";
+ var _errObj = {};
+ _errObj[text] = num;
+ _errObj[text1] = 0;
+ th.setData(_errObj);
+ }
+
+ setTimeout(function() {
+ th.data.iszaning = 0;
+ }, 500)
+
+ }
+ })
+ },
+
+ /*----券的开关---*/
+ switchCoupon: async function(event) {
+ var coupon = event.currentTarget.dataset.coupon;
+ var app = getApp();
+ var url = "/api/weshop/prom/coupon/pageCouponList";
+ var quan_list = this.data.quan_list;
+ var th = this;
+
+ //当开启,且列表为空的情况下要
+ if (!quan_list && coupon == "1") {
+ wx.showLoading();
+ await app.request.promiseGet(url, {
+ data: {
+ store_id: os.stoid,
+ type: 1,
+ pageSize: 100,
+ page: 1,
+ user_id: app.globalData.user_id,
+ is_share:0
+ }
+ }).then(res => {
+ wx.hideLoading();
+ quan_list = res.data.data.pageData;
+ })
+
+ if (quan_list) {
+ for (var ind in quan_list) {
+ var ep = quan_list[ind];
+ var start = ut.formatTime(ep.use_start_time, "yyyy-MM-dd");
+ var end = ut.formatTime(ep.use_end_time, "yyyy-MM-dd");
+ start = start.replace("00:00:00", "");
+ end = end.replace("00:00:00", "");
+ quan_list[ind].start = start;
+ quan_list[ind].end = end;
+ }
+ }
+
+ th.setData({
+ coupon: coupon,
+ quan_list: quan_list
+ });
+ } else {
+ th.setData({
+ coupon: coupon
+ });
+ }
+ },
+
+ //--查看评价--
+ look_pj: function() {
+ this.tabComment();
+ this.doScrollTop();
+ },
+
+ //-----领取券-----
+ get_quan: function(e) {
+ var cid = e.currentTarget.dataset.cid;
+ var index = e.currentTarget.dataset.ind;
+ var item = this.data.quan_list[index];
+
+
+ //--先判断会员状态--
+ var user_info = getApp().globalData.userInfo;
+ if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
+ wx.navigateTo({
+ url: '/pages/togoin/togoin',
+ })
+ return false;
+ }
+
+
+ //如果券还在领取中,不能再点
+ if (item.linging == 1) {
+ getApp().my_warnning('领取中..', 0, this);
+ return false;
+ }
+
+ //如果领取的次数到了
+ if (item.everyone_num > 0 && item.lqnum >= item.everyone_num) {
+ getApp().my_warnning('领取失败,您已领完该券', 0, this);
+ return false;
+ }
+
+ var lq_num = item.lqnum;
+
+ var pdata = {
+ 'uid': oo.user_id,
+ 'cid': cid,
+ 'store_id': os.stoid,
+ 'type': 5
+ };
+
+ //-- 导购ID --
+ if(getApp().globalData.guide_id){
+ pdata.guide_id=getApp().globalData.guide_id;
+ }
+
+ var app = getApp(),
+ th = this;
+ app.request.post("/api/weshop/couponList/saveCouponList", {
+ data: pdata,
+ success: function(res) {
+ if (res.data.code == 0) {
+ app.my_warnning("领取成功", 1, th);
+ lq_num++;
+ var text = "quan_list[" + index + "].lqnum";
+ var text2 = "quan_list[" + index + "].linging";
+ var obj = {};
+ obj[text] = lq_num;
+ obj[text2] = 0;
+ th.setData(obj);
+ } else {
+ app.confirmBox(res.data.msg);
+ var text2 = "quan_list[" + index + "].linging";
+ var obj = {};
+ obj[text2] = 0;
+ th.setData(obj);
+ }
+ }
+ })
+ },
+
+ //--定义的保存图片方法,分享团---
+ saveImageToPhotosAlbum: function() {
+ //--先判断会员状态--
+ var user_info = getApp().globalData.userInfo;
+ if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
+ //getApp().my_warnning("请先登录",0,this);
+ wx.navigateTo({ url: '/pages/togoin/togoin', })
+ return false;
+ }
+
+ //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团
+ var type = this.data.prom_type;
+ if (type == 6) type = 2;
+ if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
+
+ wx.showLoading({
+ title: '生成中...',
+ })
+ var that = this,
+ th = that;
+ //设置画板显示,才能开始绘图
+ that.setData({
+ canvasHidden: false
+ })
+
+ var app = getApp();
+ var unit = that.data.screenWidth / 750 * 1.35; //基础单位,
+ var path2 = that.data.data.original_img;
+ var scene = th.data.gid+"";
+ var user_id = getApp().globalData.user_id?getApp().globalData.user_id:0;
+ if(user_id>0) {
+ scene+="_"+user_id;
+ }
+ //-- 如果不是会员分享过来的要分享给别人 --
+ if(getApp().globalData.room_id && th.data.data.goods_id==getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
+ //固定房间是第3个字符
+ if(!user_id) scene+="_0";
+ scene+="_"+getApp().globalData.room_id ;
+ }
+ ///二微码
+ var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
+ os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
+
+ console.log(path3);
+
+ //读取文件成功则OK--
+ wx.getImageInfo({
+ src: path3,
+ success: function(res) {
+ //回调写法
+ th.get_head_temp(th.get_goods_temp, function() {
+ var vpath = res.path;
+ var context = wx.createCanvasContext('share');
+ //先画背景
+ var pg_path = "../../../images/share/share_bg.png";
+
+ // context.fillStyle="#FFFFFF";
+ // context.fillRect(0,0,554 * unit, 899 * unit);
+
+ //-- 如果有自定义海报的时候,判断背景的图片 --
+ if(th.data.share_b_img){
+ pg_path=th.data.share_b_img;
+ }
+ context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
+
+ //-- 是自定义海报的情况下 --
+ if(th.data.poster && parseInt(th.data.poster.style)==2) {
+ //在线上分享人的情况下
+ if(parseInt(th.data.poster.show_headpic)){
+ //获取坐标
+ var x=parseFloat(th.data.poster.head_x)*2;
+ var y=parseFloat(th.data.poster.head_y)*2;
+ var x1=(x+90) *unit;
+ var y1=(y+50) *unit;
+ //--昵称---
+ context.setFontSize(24 * unit)
+ context.setFillStyle("black")
+ context.fillText(app.globalData.userInfo.nickname, x1, y1);
+ var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
+ //强烈推荐 改许程
+ var tj_path = "../../../images/share/q_tj.png";
+ context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit);
+ context.setFontSize(16 * unit)
+ context.setLineJoin('round'); //交点设置成圆角
+ context.setFillStyle("white")
+ context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit);
+
+ //context.setFillStyle("black")
+ //context.setFontSize(24 * unit)
+ //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit);
+ }
+ } else {
+ //--昵称---
+ context.setFontSize(24 * unit)
+ context.setFillStyle("black")
+ context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
+ var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
+ //强烈推荐 改许程
+ var tj_path = "../../../images/share/q_tj.png";
+ context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
+ context.setFontSize(16 * unit);
+ context.setLineJoin('round'); //交点设置成圆角
+ context.setFillStyle("white");
+ context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
+ }
+
+
+ //---产品名称---
+ //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
+ if(type!=4){
+ context.setFillStyle("black");
+ context.setFontSize(21.3 * unit)
+ th.draw_Text(context, th.data.data.goods_name,
+ 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
+ //------产品的价格-------
+ context.setFontSize(23 * unit)
+ context.setFillStyle("red")
+ context.fillText("¥", 416 * unit, 185 * unit);
+ context.setFontSize(31 * unit)
+ var pri0 = th.data.data.shop_price;
+ if (th.data.prom_act)
+ pri0 = th.data.prom_act.price;
+ pri0 = parseFloat(pri0).toFixed(2);
+ context.fillText(pri0, 438 * unit, 185 * unit);
+ //---市场价划掉---
+ context.setFillStyle("gray")
+ context.setFontSize(22 * unit)
+ context.fillText("¥" + th.data.data.market_price, 426 * unit, 213 * unit);
+ context.setStrokeStyle('gray');
+ context.setLineWidth(1 * unit);
+ context.moveTo(426 * unit, 206 * unit);
+ context.lineTo(510 * unit, 206 * unit);
+ context.stroke();
+
+ }else{
+ context.setFillStyle("black");
+ context.setFontSize(21.3 * unit)
+ th.draw_Text(context, th.data.data.goods_name,
+ 38 * unit, 170 * unit, 20 * unit, 300*unit, unit);
+ //------ 产品的价格 -----
+ var pri0 = th.data.prom_act.addmoney;
+ var integral=th.data.prom_act.integral;
+ var text= "";
+ if(integral){text=integral+"积分"; }
+ if(pri0 && integral){ text+="+";}
+ if(pri0){ text+="¥"+pri0;}
+
+ if(!pri0 && !integral){ text="0积分";}
+ context.setFillStyle("red");
+ context.fillText(text, 38 * unit, 235 * unit);
+
+ }
+
+ //---中间大图---
+ context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit);
+ //-------大图后面就不一样了-----------
+ switch (type) {
+ case 0: //普通商品的展示
+ case 4:
+ //中间的几个字
+ if(th.data.poster && parseInt(th.data.poster.style)==2 ){
+ if(parseInt(th.data.poster.show_quality)){
+ var g_path = "../../../images/share/s_gou.png";
+ context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("正品保证", 84 * unit, 690 * unit);
+
+ context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("纯实体店", 246 * unit, 690 * unit);
+
+ context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("官方验证", 420 * unit, 690 * unit);
+ }
+
+ }else{
+ var g_path = "../../../images/share/s_gou.png";
+ context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("正品保证", 84 * unit, 690 * unit);
+
+ context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("纯实体店", 246 * unit, 690 * unit);
+
+ context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
+ context.setFillStyle("red")
+ context.setFontSize(18 * unit)
+ context.fillText("官方验证", 420 * unit, 690 * unit);
+ }
+
+
+ //---画线---
+ context.setLineWidth(1 * unit)
+ context.moveTo(32 * unit, 710 * unit)
+ context.lineTo(520 * unit, 710 * unit)
+ context.stroke();
+
+ //---文字---
+ context.setFillStyle("black")
+ context.setFontSize(22 * unit)
+
+ if(type==0){
+ // 原来start --->
+ context.setFontSize(24 * unit)
+ context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
+
+ context.setFontSize(22 * unit)
+ context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit);
+ context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit);
+
+ }else{
+ context.setFontSize(24 * unit)
+ context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
+ context.setFontSize(22 * unit)
+ context.fillText("长按识别二维码", 40 * unit, 806 * unit);
+ context.fillText("立即开始兑换", 40 * unit, 846 * unit);
+
+
+ }
+
+ //---二维吗图---
+ //-- 自定义海报 --
+ if(th.data.poster){
+ var erm_x= parseFloat(th.data.poster.ewm_x)*2;
+ var erm_y= parseFloat(th.data.poster.ewm_y)*2;
+ context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
+ }else{
+ //---二维吗图---
+ context.drawImage(vpath, 410 * unit, 726 * unit, 115 * unit, 125 * unit);
+ }
+
+ break;
+ case 1: //秒杀商品的展示
+ //---画线---
+ context.setLineWidth(1 * unit)
+ context.moveTo(32 * unit, 670 * unit)
+ context.lineTo(520 * unit, 670 * unit)
+ context.stroke();
+
+ //画秒杀的图片
+ var miaos_path = '../../../images/share/miao_share.png';
+ context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit);
+
+ context.setFillStyle("black")
+ context.setFontSize(24 * unit)
+ context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit);
+ //---文字---
+ context.setFontSize(22 * unit)
+ context.setFillStyle("black")
+ context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit);
+ context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit);
+
+
+ //---二维吗图---
+ //-- 自定义海报 --
+ if(th.data.poster){
+ var erm_x= parseFloat(th.data.poster.ewm_x)*2;
+ var erm_y= parseFloat(th.data.poster.ewm_y)*2;
+ context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
+ }else{
+ //---二维吗图---
+ context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
+ }
+ break;
+
+ case 2: //会员团和商家团的展示
+ //---画线---
+ context.setLineWidth(1 * unit)
+ context.moveTo(32 * unit, 670 * unit)
+ context.lineTo(520 * unit, 670 * unit)
+ context.stroke();
+ //---文字---
+
+ context.setFillStyle("black")
+ context.setFontSize(24 * unit)
+ context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
+
+ //绘制成团图片
+ var ct_img = "../../../images/share/ct_num.png";
+ context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
+ var ct_num = th.data.prom_act.ct_num;
+ context.setFontSize(14 * unit)
+ context.font = 'normal';
+ context.setFillStyle("red")
+ if (ct_num < 10) {
+ context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);
+ } else {
+ context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);
+ }
+ context.setFontSize(22 * unit)
+ context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);
+
+ context.setFillStyle("gray")
+ context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);
+ context.setFillStyle("black")
+ context.font = 'normal bold 18px sans-serif';
+ context.setFontSize(21.3 * unit)
+ context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);
+
+
+ //---二维吗图---
+ //-- 自定义海报 --
+ if(th.data.poster){
+ var erm_x= parseFloat(th.data.poster.ewm_x)*2;
+ var erm_y= parseFloat(th.data.poster.ewm_y)*2;
+ context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
+ }else{
+ //---二维吗图---
+ context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
+ }
+ break
+ case 3: //阶梯团的展示
+ //---画线---
+ context.setLineWidth(1 * unit)
+ context.moveTo(32 * unit, 670 * unit)
+ context.lineTo(520 * unit, 670 * unit)
+ context.stroke();
+ //---文字---
+
+ context.setFillStyle("black")
+ context.setFontSize(24 * unit)
+ context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
+
+ //---绘制中间阶梯的价格---
+ var list = th.data.prom_act.ct_rylist;
+ for (var i = 0; i < list.length; i++) {
+ var item = list[i];
+ var wi = i * 90 * unit;
+ context.font = 'normal';
+ context.setFontSize(16 * unit)
+ context.setFillStyle("red")
+ context.fillText("¥", 40 * unit + wi, 756 * unit);
+ context.setFontSize(22 * unit)
+ var pri = parseFloat(item.price).toFixed(2);
+ context.fillText(pri, 56 * unit + wi, 756 * unit);
+ context.setFillStyle("gray")
+ context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);
+ }
+ //----------------下面部分----------------
+ // context.setFillStyle("gray")
+ // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit);
+ // context.setFillStyle("black")
+ // context.font = 'normal bold 18px sans-serif';
+ // context.setFontSize(22 * unit)
+ // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
+ //context.setFillStyle("gray")
+ context.setFillStyle("black")
+ context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);
+ //context.font = 'normal bold 18px sans-serif';
+ context.setFontSize(22 * unit)
+ context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);
+
+
+ //-- 自定义海报 --
+ if(th.data.poster){
+ var erm_x= parseFloat(th.data.poster.ewm_x)*2;
+ var erm_y= parseFloat(th.data.poster.ewm_y)*2;
+ context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
+ }else{
+ //---二维吗图---
+ context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
+ }
+ break
+
+
+ }
+
+
+ //--- 如果是自定义海报的时候 ---
+ if(th.data.poster && parseInt(th.data.poster.style)==2){
+
+ //如果显示会员信息的话
+ if(parseInt(th.data.poster.show_headpic)){
+ //获取坐标
+ var x= parseFloat(th.data.poster.head_x)*2;
+ var y=parseFloat(th.data.poster.head_y)*2;
+ //---绘制圆形要放在最后----
+ context.save();
+ context.beginPath();
+ var h_x = x* unit;
+ var h_y = y * unit;
+ var h_r = 40 * unit;
+ var cx = h_x + h_r;
+ var cy = h_y + h_r;
+ context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
+ context.closePath();
+ context.fill();
+ context.clip();
+ context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
+ context.restore();
+ }
+
+ }else{
+ //---绘制圆形要放在最后----
+ context.save();
+ context.beginPath();
+ var h_x = 60 * unit;
+ var h_y = 24 * unit;
+ var h_r = 40 * unit;
+ var cx = h_x + h_r;
+ var cy = h_y + h_r;
+ context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
+ context.closePath();
+ context.fill();
+ context.clip();
+ context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
+ context.restore();
+ }
+
+
+ //把画板内容绘制成图片,并回调 画板图片路径
+ context.draw(false, function() {
+ setTimeout(function() {
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: 750,
+ height: 1217,
+ destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
+ destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
+ canvasId: 'share',
+ success: function(res) {
+ that.setData({
+ shareImgPath: res.tempFilePath,
+ canvasHidden: true
+ })
+ if (!res.tempFilePath) {
+ wx.showModal({
+ title: '提示',
+ content: '图片绘制中,请稍后重试',
+ showCancel: false
+ })
+ return false;
+ }
+ // wx.previewImage({
+ // //将图片预览出来
+ // urls: [that.data.shareImgPath]
+ // });
+ that.setData({
+ showPoster: true,
+ });
+ wx.hideLoading();
+ }
+ })
+ }, 500)
+
+ });
+ });
+ }
+ });
+ },
+
+
+ //文本换行 参数: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;
+ }
+ //获取商品是分享图信息
+ wx.getImageInfo({
+ src: ee.data.data.original_img,
+ 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];
+ }
+
+ //判断门店的配送方式是不是匹配
+ 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();
+ for (var i = 0; i < plusCard.length; i++) {
+ if((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);
+ }
+
+ var ob={"card_list":plusCard,"name_map":card_name_map};
+ func(ob);
+ })
+ },
+
+ go_plus:function(){
+ getApp().goto("/pages/user/plus/plus");
+ },
+ go_card_info:function(){
+ getApp().goto("/pages/user/cardinfo/cardinfo");
+ },
+ //-- 根据ID拿出门店 --
+ get_pick_from_list(pid){
+ var all_pick_list=this.data.all_pick_list;
+ for(var i in all_pick_list){
+ var item=all_pick_list[i];
+ if(item.pickup_id==pid){
+ return item;
+ }
+ }
+ },
+ //-----显示优惠券的时候情况-----
+ show_more_cx:function () {
+ if(this.data.is_more_cx){
+ this.setData({is_more_cx:0});
+ }else{
+ this.setData({is_more_cx:1});
+ }
+ },
+
+ //----跳转到搭配购买----
+ go_prom_list:function () {
+
+ var url= "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid;
+ var room_id= getApp().globalData.room_id;
+ if(room_id && this.data.gid==getApp().globalData.room_goods_id){
+ url+="&room_id="+room_id;
+ }
+ wx.navigateTo({ url: url,})
+ },
+
+ //---检查有没有优惠活动---
+ check_is_youhui:function(gid){
+ var th=this;
+ //调用接口判断订单优惠,
+ getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", {}).then(res => {
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ var max=0,min=0;
+ if(r_data.collocationList){
+ for(var i in r_data.collocationList){
+ if(max==0) max=r_data.collocationList[i].price;
+ if(min==0) min=r_data.collocationList[i].price;
+
+ if(maxparseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price;
+ }
+ r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2);
+ r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2);
+ }
+ th.setData({
+ order_prom:r_data.promOrder,
+ collocationGoods:r_data.collocationPromList,
+ prom_goods:r_data.promGoodsLists,
+ })
+
+ th.is_show_more_buy();
+ }
+ })
+ },
+
+ closePoster() {
+ this.setData({
+ showPoster: false,
+ });
+ },
+
+ // 保存图片到手机
+ savePic() {
+ console.log('保存图片');
+ var self = this;
+ // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限
+ this.getSetting().then((res) => {
+ // 判断用户是否授权了保存到相册的权限,如果没有发起授权
+ if (!res.authSetting['scope.writePhotosAlbum']) {
+ this.authorize().then(() => {
+ // 同意授权后保存下载文件
+ this.saveImage(self.data.shareImgPath)
+ .then(() => {
+ self.setData({
+ showPoster: false
+ });
+ });
+ })
+ } else {
+ // 如果已经授权,保存下载文件
+ this.saveImage(self.data.shareImgPath)
+ .then(() => {
+ self.setData({
+ showPoster: false
+ });
+ });
+ }
+
+ })
+ },
+
+ // 获取用户已经授予了哪些权限
+ getSetting() {
+ return new Promise((resolve, reject) => {
+ wx.getSetting({
+ success: res => {
+ resolve(res)
+ }
+ })
+ })
+ },
+
+ // 发起首次授权请求
+ authorize() {
+ // isFirst 用来记录是否为首次发起授权,
+ // 如果首次授权拒绝后,isFirst赋值为1
+ let isFirst = wx.getStorageSync('isFirst') || 0;
+ return new Promise((resolve, reject) => {
+ wx.authorize({
+ scope: 'scope.writePhotosAlbum',
+ // 同意授权
+ success: () => {
+ resolve();
+ },
+ // 拒绝授权,这里是用户拒绝授权后的回调
+ fail: res => {
+ if(isFirst === 0) {
+ wx.setStorageSync('isFirst', 1);
+ wx.showToast({
+ title: '保存失败',
+ icon: 'none',
+ duration: 1000
+ })
+ } else {
+ this.showModal();
+ }
+ console.log('拒绝授权');
+ reject();
+ }
+ })
+ })
+ },
+
+
+ // 保存图片到系统相册
+ saveImage(saveUrl) {
+ var self = this;
+ return new Promise((resolve, reject) => {
+ wx.saveImageToPhotosAlbum({
+ filePath: saveUrl,
+ success: (res) => {
+ wx.showToast({
+ title: '保存成功',
+ duration: 1000,
+ });
+ self.setData({
+ showPlaybill: 'true'
+ });
+ resolve();
+ },
+ fail: () => {
+ wx.showToast({
+ title: '保存失败',
+ duration: 1000,
+ });
+ }
+ })
+ })
+ },
+
+ previewImage() {
+ wx.previewImage({
+ //将图片预览出来
+ urls: [this.data.shareImgPath]
+ });
+ },
+
+ is_show_more_buy:function(){
+ var prom_goods=this.data.prom_goods;
+ var per_price=this.data.sele_g.shop_price
+ if(this.data.card_field && this.data.sele_g[this.data.card_field]>0){
+ per_price=this.data.sele_g[this.data.card_field];
+ }
+ var all_price=per_price*this.data.goodsInputNum;
+ var con=null;
+ for(var i in prom_goods){
+ var item=prom_goods[i];
+ if(item.prom_type==1){
+ if(item.condition>this.data.goodsInputNum) {
+ con=item;
+ con.need=(item.condition-this.data.goodsInputNum)+"件";
+ break;
+ }
+ }else{
+ if(item.condition>all_price){
+ con=item;
+ con.need=(item.condition-all_price)+"元";
+ break;
+ }
+ }
+ }
+
+ this.setData({hui_condition:con});
+
+ },
+
+ //-- 积分购 --
+ go_pay_integral:function(){
+ this.get_sto(0)
+ this.setData({openSpecModal_inte:1});
+ },
+ //-- 积分购普通购买 --
+ go_pay_integral_normal:function(){
+ this.get_sto(1)
+ this.setData({openSpecModal_inte_normal:1});
+ },
+
+ closeSpecModal_inte:function(){
+ this.setData({openSpecModal_inte:0});
+ } ,
+ closeSpecModal_inte_normal:function(){
+ this.setData({openSpecModal_inte_normal:0});
+ },
+
+ addCart_inte:function(t){
+ this.add_cart_func_inte(t);
+ },
+
+
+
+
+ onShareTimeline() {
+ return {
+ title:this.data.data.goods_name + '-' + getApp().globalData.config.store_name,
+ imageUrl:this.data.gallery[0].image_url,
+ }
+ },
+
+
+
+});
+
+
diff --git a/packageA/pages/goodsInfo/goodsInfo.json b/packageA/pages/goodsInfo/goodsInfo.json
new file mode 100644
index 0000000..ab98d72
--- /dev/null
+++ b/packageA/pages/goodsInfo/goodsInfo.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "卡项详情",
+ "enablePullDownRefresh": false,
+ "usingComponents": {
+ "nav_box": "/components/nav_box/nav_box",
+ "warn": "/components/long_warn/long_warn",
+ "goods_recommend": "/components/goods_list/goods_list"
+ }
+}
\ No newline at end of file
diff --git a/packageA/pages/goodsInfo/goodsInfo.wxml b/packageA/pages/goodsInfo/goodsInfo.wxml
new file mode 100644
index 0000000..f584c32
--- /dev/null
+++ b/packageA/pages/goodsInfo/goodsInfo.wxml
@@ -0,0 +1,1472 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥{{filters.toFix(data.shop_price,2)}}
+
+ {{data.goods_name}}
+
+
+
+
+ 耗时:{{data.sales_sum}}
+ 次数:{{data.disc}}
+
+ 有效天数:{{data.validDays}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+ {{data.serviceContent}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 客服
+
+
+
+
+
+ 收藏
+
+
+
+
+ {{cartGoodsNum}}
+ 购物车
+
+
+ 立即购买
+
+
+
+
+
+
+
+ 加入购物车
+ 立即购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.goods_name}}
+
+
+
+ ¥
+
+ {{sele_g[card_field]}}
+
+ {{data.shop_price}}
+
+ ¥{{prom_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 购买数量
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选择门店
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/pages/goodsInfo/goodsInfo.wxss b/packageA/pages/goodsInfo/goodsInfo.wxss
new file mode 100644
index 0000000..388ad0f
--- /dev/null
+++ b/packageA/pages/goodsInfo/goodsInfo.wxss
@@ -0,0 +1,2735 @@
+@import "../../../utils/wxParse/wxParse.wxss";
+.container { margin-bottom: 100rpx; overflow: hidden;}
+image {
+ vertical-align: top;
+}
+.goods-detail{overflow: hidden}
+
+.type-navbar {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+ /* height: 80rpx; */
+ /* margin-bottom: 20rpx; */
+ background-color: #fff;
+ /* border-bottom: 1rpx #fafafa solid; */
+}
+.type-box {
+ width: 25%;
+ box-sizing: border-box;
+ font-size: 28rpx;
+ 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%;
+}
+.type-item-on {
+ color: #F95D74;
+ font-weight: bold;
+ /* border-bottom: 4rpx solid #F95D74; */
+ position: relative;
+}
+.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;
+}
+
+.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;
+
+ /* 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: 36rpx
+}
+
+.market-price>view>text {
+ text-decoration: line-through;
+}
+
+.market-price>.yj{
+ color: #999999; font-size: 26rpx;margin-left: 16rpx;position: relative;top:30rpx;
+}
+
+.goods-price>.tm{ color: #999999; font-size: 26rpx;margin-top: 10rpx;}
+
+.goods-num {
+ display: flex;
+ font-size: 24rpx;
+ justify-content: space-between;
+}
+
+.goods-detail .twen{
+ background: #fff;height: 60rpx; line-height: 60rpx; font-size: 30rpx;padding-left: 30rpx;display: flex;
+}
+.goods-detail .twen .img{ width: 32rpx; height: 32rpx; margin-left: 200rpx; background: #fff}
+.goods-detail .twen image.img{vertical-align:auto;}
+
+
+.logistics-item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 90rpx;
+ /*border-bottom: 1px solid #f5f5f5;*/
+ font-size: 32rpx;
+ color: #666;
+}
+.logistics-item .small{color: #999; font-size: 24rpx;}
+
+.item-title { width: 180rpx;}
+.item-mes {
+ color: #333; width: 420rpx;
+ height: 90rpx; line-height: 90rpx;
+}
+.item-img { width: 32rpx; height: 32rpx;}
+.prom-item {
+ color: #f23030;
+ border: 1px solid #f23030;
+ border-radius: 18rpx;
+ line-height: 40rpx;
+ height: 40rpx;
+ padding: 2rpx 8rpx;
+}
+
+.guarantee {
+ justify-content: space-around;
+}
+
+.ico-item {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 10rpx;
+}
+
+.guarantee>view {
+ display: flex;
+ align-items: center;
+ height: 32rpx;
+ color: #666;
+}
+
+.user-comment {
+ margin: 10rpx 0;
+ font-size: 28rpx;
+}
+
+.good-comment,.comment-num {
+ display: flex;
+}
+
+.recommend {
+ background-color: #fff;
+ border-bottom: 1px solid #ddd;
+ padding-bottom: 20rpx;
+}
+
+.recommend-title {
+ height: 70rpx;
+ line-height: 70rpx;
+ font-size: 28rpx;
+ padding: 0 30rpx;
+}
+
+.recommend-ul {
+ display: flex;
+ justify-content: flex-start;
+}
+
+.recommend-ul .li {
+ width: 25%;
+ box-sizing: border-box;
+ text-align: center;
+ font-size: 28rpx;
+ color: #333;
+}
+
+.li-img {
+ width: 120rpx;
+ height: 120rpx;
+ margin: 0 auto;
+}
+
+.li-title {
+ height: 58rpx;
+ line-height: 30rpx;
+ margin: 10rpx 0;
+}
+
+.comment-item {
+ background-color: #fff;
+ font-size: 28rpx;
+}
+
+.comment-title {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 102rpx;
+ margin: 0 30rpx;
+ color: #333;
+ border-bottom: 1px solid #eee;
+}
+
+.user-name {
+ display: flex;
+ align-items: center;
+}
+
+.user-pic {
+ width: 54rpx;
+ height: 54rpx;
+ margin-right: 10rpx;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+.stars {
+ float: left;
+ display: flex;
+ height: 42rpx;
+ line-height: 42rpx;
+ margin: 15rpx 0;
+ width: 200rpx;
+}
+
+.star {
+ width: 26rpx;
+ height: 26rpx;
+ margin-right: 5rpx;
+}
+
+.state-spec {
+ margin: 15rpx 0;
+ float: right;
+ font-size: 24rpx;
+ color: #666;
+ width: 460rpx;
+ text-align: right;
+}
+
+.comment-cont {
+ padding: 0 30rpx 30rpx;
+ border-bottom: 1px solid #eee;
+}
+
+.comment-mes {
+ line-height: 42rpx;
+}
+
+.img-ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.img-li {
+ width: 150rpx;
+ height: 150rpx;
+ margin-top: 8rpx;
+ margin-right: 10rpx;
+}
+
+.comment-btn {
+ height: 60rpx;
+ padding: 20rpx 30rpx;
+}
+
+.comment-btn .btn {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 60rpx;
+ width: 45%;
+ border: 1px solid #eee;
+}
+
+.comment-btn .btn-img {
+ width: 30rpx;
+ height: 28rpx;
+ margin: 0 10rpx;
+}
+
+.reply-ul {
+ margin-top: 20rpx;
+}
+
+.reply-li {
+ color: #aaa;
+}
+
+.join-cart {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ display: flex;
+ width: 100%;
+ height: 100rpx;
+ background-color: #fff;
+ z-index: 9;
+ border-top: 4rpx solid #eee;
+
+}
+
+.join-cart>view {
+ width: 29%;
+}
+
+.join-cart>.new_split {
+ width: 13%;
+ text-align: center;
+ padding: 0;
+ margin: 0;
+}
+
+.cart-ico {
+ font-size: 24rpx;
+ color: #333;
+}
+
+.shopping-cart {
+ position: relative;
+}
+
+.cs-img {
+ width: 45rpx;
+ height: 40rpx;
+ margin-top: 15rpx;
+}
+
+.sc-img {
+ width: 42rpx;
+ height: 40rpx;
+ margin-top: 15rpx;
+}
+
+.cart-num {
+ position: absolute;
+ left: 50%;
+ top: 1rpx;
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ text-align: center;
+ border-radius: 50%;
+ color: #fff;
+ background-color: rgba(217,81,99,0.9);
+}
+
+.cart-btn {
+ font-size: 28rpx;
+ color: #fff;
+ line-height: 70rpx;
+ margin-top: 16rpx;
+ text-align: center;
+
+
+}
+
+.join-btn {
+ background-color: #ffb03f;
+ height: 70rpx;
+border-radius: 55rpx 0rpx 0rpx 55rpx;
+margin-top: 16rpx;
+
+
+}
+
+view.cart-btn-lg {
+ width: 50%;
+}
+
+.buy-btn {
+ background-color: #f23030;
+ height: 70rpx;
+border-radius: 0 56rpx 55rpx 0;
+
+}
+
+.buy-btn-all{
+ background-color: #f23030;
+ height: 70rpx;
+ border-radius: 56rpx;
+}
+
+
+.toTop {
+ position: fixed;
+ z-index: 3;
+ right: 20rpx;
+ bottom: 160rpx;
+ width: 68rpx;
+ height: 68rpx;
+ border: 1px solid #ddd;
+ border-radius: 50%;
+ overflow: hidden;
+ cursor: pointer;
+}
+
+.comment-more {
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 26rpx;
+ color: #999;
+ text-align: center;
+ background-color: #eee;
+}
+
+.goods-more {
+ background-color: #fff;
+}
+
+.goods-norms {
+ background-color: #fff;
+}
+
+.type-navbar2 {
+ display: flex;
+ height: 72rpx;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+}
+
+.type-box2 {
+ width: 50%;
+ font-size: 26rpx;
+ line-height: 72rpx;
+ text-align: center;
+ overflow: hidden;
+}
+
+.type-item2-on {
+ color: #f23030;
+}
+
+.parameter {
+ padding: 40rpx 0;
+}
+
+.table {
+ width: 698rpx;
+ margin: 0 auto;
+ border: 1px solid #ddd;
+ border-bottom: none;
+}
+
+.tb {
+ width: 100%;
+ min-height: 69rpx;
+ line-height: 69rpx;
+ border-bottom: 1px solid #ddd;
+ font-size: 28rpx;
+ text-align: center;
+ color: #333;
+}
+
+.th-thitle {
+ font-weight: bold;
+ background-color: #f5fafe;
+}
+
+.td-cont {
+ display: flex;
+}
+
+.td-title {
+ width: 259rpx;
+ background-color: #f5fafe;
+ border-right: 1px solid #ddd;
+}
+
+.td-text {
+ width: 439rpx;
+}
+
+.goods-comment {
+ background-color: #fff;
+}
+
+.type-navbar3 {
+ display: flex;
+ height: 88rpx;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ padding: 10rpx 0;
+}
+
+.type-box3 {
+ width: 20%;
+ font-size: 30rpx;
+ line-height: 44rpx;
+ text-align: center;
+ overflow: hidden;
+}
+
+.type-item3-on {
+ color: #f23030;
+}
+
+.spec-model {
+ position: fixed;
+ bottom: 0;
+ z-index: 20;
+ background: white;
+ width: 100%;
+ /* padding: 0 30rpx; */
+ font-size: 32rpx;
+ box-sizing: border-box;
+ border-radius: 20rpx;
+ /* height: 72%; */
+}
+
+.spec-model .pding{padding: 0 30rpx;}
+
+.spec-goods {
+ padding: 30rpx 0 20rpx;
+ /* float: left; */
+ display: flex;
+ 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-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;
+ padding: 20rpx;
+}
+
+.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 {
+ border-right: 1px solid #000;
+}
+
+.add {
+ 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: 20rpx auto;
+ /* margin-top: 160rpx; */
+ border-radius: 20rpx;
+/* position: fixed;
+bottom: 50rpx;
+left: 4%; */
+}
+
+.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: 32rpx;}
+.ckgd .arrow-one{width:18rpx;height:18rpx;border-color:#da0b31;margin-top:5rpx;}
+.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;}
+.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:25rpx;
+ width: 91%;
+ min-height: 92rpx;
+ border-bottom:2rpx solid #eee;
+ padding-bottom:25rpx;
+
+}
+
+.group .group-list {
+
+ height: 90rpx;
+ padding: 0 130rpx 0 100rpx;
+ width: 470rpx;
+
+ position: absolute;
+}
+
+.group .group-list .gtou {
+ width: 80rpx;
+ height: 80rpx;
+ float: left;
+ position: relative;
+ top: 6rpx;
+ left: -96rpx;
+}
+
+.group .group-list .gtou image {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 200rpx;
+ background-color: green;
+}
+
+.group .group-list .gdn {
+ float: left;
+ font-size: 26rpx;
+ line-height: 48rpx;
+ height: 48rpx;
+ width: 168rpx;
+ position: relative;
+ left: -80rpx;
+ top:20rpx;
+ font-weight:600;
+}
+
+.group .group-list .ghaicha {
+ width:300rpx;
+ font-size: 27rpx;
+ margin-left:180rpx;
+ top:13rpx;
+ left:-3rpx;
+ font-weight:600;
+
+
+}
+
+.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; }
+
+.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 }
+.red_shu{ width: 10rpx; height: 36rpx; background-color:#da0035; margin-right: 8rpx; }
+
+.tb-l{ line-height: 96rpx;}
+.table_s{ border:#e4e4e4 1rpx solid; width: 682rpx; margin: 0 34rpx;font-size: 30rpx;}
+.tb_item{display: flex; height: 96rpx; border-bottom: 1rpx solid #e4e4e4 }
+.item_left{width: 214rpx; height: 100%; background: #f9f9f9 ;border-right:1rpx solid #e4e4e4} .item_left text{ margin-left: 44rpx;}
+.item_right{width: 468rpx; height: 100%; overflow : hidden;white-space:nowrap;
+ text-overflow: ellipsis;}
+.item_right text{ margin-left: 66rpx;}
+
+.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;
+ /* 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: 0 34rpx; 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: 18rpx; height:18rpx;
+ 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;
+}
+
+/* 顶部边框 */
+.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;
+ width: 100%;
+ 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:20rpx;
+ 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: 25rpx;
+ border: 2rpx solid #d6d4d5;
+ overflow: hidden;
+}
+
+.xc_user-img{
+ border-radius:50%;
+}
+
+.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: 24rpx;
+ color: #a5a5a5;
+ overflow: hidden;
+}
+
+.xc_goods-img{
+ width: 180rpx;height: 180rpx;
+}
+.xc_comment-left{
+ display:inline-block;
+ width: 312rpx;
+}
+.xc_goods-img-frame{
+ 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;
+ /* 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;
+
+
+}
+.cx-frame .cx-sizs{
+ width: 68rpx;
+ height: 100%;
+ line-height: 100rpx;
+ overflow: hidden;
+ margin-left: 10rpx;
+}
+.xc-coupon-fram{
+ position: relative;
+ 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;
+
+
+}
+.xc-coupon-fram .xc-circular{
+ width: 22rpx;
+ height:22rpx;
+ background-color:#fff;
+ position:absolute;
+ top: 40rpx;
+}
+.xc-coupon-fram .xc-one{
+ left:3rpx;
+}
+.xc-coupon-fram .xc-two{
+ left: 178rpx;
+}
+
+.cx-obtain-coupon{
+ width: 65rpx;
+ height: 100%;
+ padding-left:15rpx;
+ color: #d70025;
+ 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;
+ border-bottom: 4rpx solid #d5d5d5;
+ 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: 90%;
+ max-height: 560rpx;
+ overflow: auto;
+
+}
+.xc-coupon-frame .coupon{
+ width:99%;
+ height: 168rpx;
+ border-radius: 25rpx;
+ border:3rpx solid #ffdcdc;
+ overflow: hidden;
+ margin-top:16rpx;
+
+}
+.xc-coupon-left{
+ width: 216rpx;
+ height: 100%;
+ background-color: #ffeeef;
+ border-right: 4rpx dashed #ffdbd9;
+ overflow: hidden;
+ line-height: 100%;
+
+}
+.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:-8rpx;
+ left:208rpx;
+ width: 27rpx;
+ height: 30rpx;
+ background: #fff;
+ overflow: hidden;
+}
+.xc-circular-two{
+ position: absolute;
+ top:150rpx;
+ left:207rpx;
+ width: 27rpx;
+ height:30rpx;
+ background: #fff;
+}
+.xc-detail-coupon{
+ margin-left: 22rpx;
+ overflow: hidden;
+ padding-top: 43rpx;
+
+}
+.xc-coupon-right{
+ width: 455rpx;
+ height: 100%;
+ background: #fffaf9;
+}
+.xc-below{
+ margin-top:22rpx;
+
+}
+.xc-get{
+
+ width: 132rpx;
+ height: 48rpx;
+ color: #fff;
+ text-align: center;
+ border-radius:20rpx;
+ line-height:48rpx;
+ margin-left:20rpx;
+}
+
+.background{
+ background:#f40028;
+}
+/*--不可使用--*/
+.background.nouse{
+ background:gainsboro;
+}
+
+.xc-background{
+ background:#b9b9b9;
+}
+
+
+.cx-confirm{
+ width: 100%;
+ height: 160rpx;
+
+}
+.cx-confirm .confirm{
+ width: 372rpx;
+ height: 60rpx;
+ background: #f40026;
+ color: #fff;
+ border-radius:20rpx;
+ line-height:60rpx;
+
+}
+
+.up{ animation: up .7s; }
+.down{ animation: down 1s; }
+@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } }
+@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } }
+
+
+/* 分享 */
+.xc-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;
+
+}
+
+.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: 28rpx;}
+
+
+/*-- 推荐商品 --*/
+.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: 60rpx;
+ background: #f2f2f2;
+}
+.xc-linellae-frame .xc-linellae{
+ width: 386rpx;
+ height: 1rpx;
+ border-bottom: 1rpx solid #a5a5a5;
+}
+.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;
+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;
+}
+.xc-item{width: 16%; font-size: 26rpx; color: #666;margin-right:5rpx;}
+.xc-item .yuan{
+ width: 38rpx;
+ height: 38rpx;
+ line-height: 38rpx;
+ border:1rpx solid #f3f1f2;
+margin-left:33rpx;
+
+}
+.xc-item .word{
+ width:104rpx;
+ margin-top:16rpx;
+ color:#363636;
+ font-weight:600;
+
+}
+.xc-item .circle-color{
+ background: #d60024;
+ color: #fff;
+}
+.xc-item .circle-color1{
+ background: #fefefe;
+ color: #666666;
+}
+.link{
+height:6rpx;
+width:180rpx;
+top:54rpx;
+left:32px;
+}
+.link1{
+height:6rpx;
+width:166rpx;
+top:54rpx;
+left:264rpx;
+}
+.link2{
+ height:6rpx;
+width:157rpx;
+top:54rpx;
+right:87rpx;
+}
+.link-color-red{
+ background: #d60024;}
+.link-color{
+ background: #e5e5e5;
+}
+.xc-qt-price{
+ top:-15rpx;
+left:25rpx;
+ color: #fff;
+}
+.xc-qt-price .xc-qtunit-price{
+ margin-left:6rpx;
+margin-top:-4rpx;
+}
+.xc-nanber{
+ top:-25rpx;
+left:289rpx;
+
+}
+.xc-qtsign{
+margin-top:5rpx;
+
+}
+.xc-people-img{
+ height: 36rpx;
+ width: 36rpx;
+ background: #fff;
+ border-radius: 7rpx;
+
+}
+.xc-people-img .imgs{
+ width: 28rpx;
+ height: 28rpx;
+ margin-top:4rpx;
+
+}
+.xc-people-val{
+
+ height: 32rpx;
+ border-top: 1rpx solid #fff;
+ border-bottom: 1rpx solid #fff;
+ border-right: 1rpx solid #fff;
+ border-radius:0 7rpx 7rpx 0;
+ line-height:32rpx;
+ margin-left:-6rpx;
+ padding: 0 12rpx;
+}
+.word-color{
+ color:#d70024;
+}
+.word-color-lan{
+ color:#0393e1;
+}
+.pt_view .hy-stop{
+ top: -23rpx;
+ right: 56rpx;
+}
+.xc-time-val{width:36rpx;height:36rpx;border-radius:7rpx; line-height: 36rpx;}
+.xc-time{margin-right:10rpx; margin-left:10rpx; margin-top:-32rpx;
+}
+.xc-goods-explain{
+ width:100%;
+ padding-left:30rpx;
+ margin-left:-9rpx;
+ height: 150rpx
+}
+.xc-partner-frame{
+border-bottom:2rpx solid #eee;
+width:100%;
+padding:0 20rpx;
+height:56rpx;
+}
+.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;
+}
+.on_height{
+height: 90rpx;
+}
+.sn_height{
+ min-height: 170rpx; height: auto;padding: 10rpx 0;
+}
+.xc-address_frame .address_frame{
+ width: 92%;
+padding-left: 10rpx;
+margin: auto;
+
+}
+.shop_name{
+
+}
+.stores-img{
+width: 40rpx;
+ height: 35rpx;
+ margin-right: 10rpx;
+}
+.shop_name{
+ margin-right: 10rpx;
+}
+.address{
+ width: 87%;
+ margin-top: 5rpx;
+ margin-bottom: 5rpx;
+}
+.distance{
+ padding-left: 15rpx;
+ padding-right: 15rpx;
+ 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;
+bottom:99rpx;
+z-index: 20;
+background: white;
+width: 100%;
+border-radius: 20rpx 20rpx 0 0;
+height: 72%;
+bottom: 0;
+}
+.popup-top{
+ border-bottom: 1rpx solid #eee;
+ height: 155rpx;
+ width: 95%;
+ margin: auto;
+ line-height: 155rpx;
+
+}
+.bg_rights{
+ border-top: 2rpx solid ;
+ border-right: 2rpx solid ;
+ transform: rotate(45deg);
+ display:inline-block;
+ width:15rpx;height:15rpx;
+ border-color:#da0b31;
+}
+.modal-closes {
+ position: absolute;
+ right: 30rpx;
+ top: -15rpx;
+ height: 25rpx;
+
+}
+.choose_more{
+ margin-top: 40rpx;
+ margin-right: 20rpx;
+
+}
+.choose_mores{
+ margin-top: 30rpx;
+ margin-right: 15rpx;
+
+}
+.store-list{
+ width: 95%;
+ height: 72%;
+ overflow-y: scroll;
+ margin: auto;
+}
+.store-list .store_choose{
+ width: 100%;
+ height: 120rpx;
+ line-height: 125rpx;
+ border-bottom: 1rpx solid #eee;
+
+}
+.store-list .store_choose .store{
+width: 100%;
+margin: auto;
+line-height: 37rpx;
+padding-left: 20rpx;
+
+}
+.xc-hook{
+ width: 35rpx;
+ height: 35rpx;
+ transform: rotate(-145deg);
+line-height: 37rpx;
+text-align: center;
+}
+ .xc-hooks{
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpx solid #999;
+ }
+ .address-frame{
+ width: 93%;
+margin-left: 7rpx;
+
+ }
+ .nearby_store{
+margin-left: 17rpx;
+ }
+ .address_name{
+ margin-right: 10rpx;
+
+ }
+ .address-val{
+ height: 38rpx;
+line-height: 38rpx;
+
+ }
+ .store-bottom{
+ width: 85%;
+ margin: auto;
+ height: 70rpx;
+ }
+ .determine{
+ width: 260rpx;
+ height: 55rpx;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .default{
+ width: 260rpx;
+ height: 55rpx;
+ border:3rpx solid #c8c8c8;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .store-bottom-frame{
+ width: 95%;
+ margin: auto;
+
+ }
+ /* 门店分类列表 */
+.sort_store_list{
+ height: 82%;
+ overflow: hidden;
+ overflow-y: scroll;
+ width: 95%;
+ margin: auto;
+}
+.sort_store_list .sort-store-frame{
+ width: 100%;
+height: 100rpx;
+line-height:100rpx;
+border-bottom: 1rpx solid #eee;
+
+}
+.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: 15px;
+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: 18px;
+
+}
+.beauty-makeup-frame .left{
+ width: 80%;
+ height: 100%;
+ background:#f7f7f7;
+ border-radius: 20rpx 0rpx 0rpx 20rpx;
+ padding-left: 20rpx;
+}
+ .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: 0 15rpx;
+}
+.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: #d60021 solid 1rpx;
+ border-radius: 10rpx;
+ margin-right:10rpx ;
+ margin-left: 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: 12rpx;}
+
+.btn-close {
+ /* background-color: rgba(0,0,0,.5); */
+ color: #ccc;
+ width: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+ text-align: center;
+ border-radius: 50%;
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+}
+
+.icon-close {
+ font-size: 48rpx;
+}
+.quan_price{
+ background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx;
+}
\ No newline at end of file