var t = require("../../../../utils/util.js"),
  ut = t,
  e = require("../../../../utils/common.js"),
  common =e,
  a = require("../../../../utils/wxParse/wxParse.js"),
  s = getApp(),
  i = s.request,
  rq = i,
  oo = s.globalData,
  o = s.globalData.setting,
  os = o;

var wxlog = require("../../../../utils/wxlog.js");
let self = null;

//评价加载更多
var more = function (e) {
  return e && e.__esModule ? e : {
    default: e
  };
}(require("../../../../utils/LoadMore.js")),
  n = new more.default();
var utils = require('../../../../utils/util.js');
var regeneratorRuntime = require('../../../../utils/runtime.js');
const { app } = require("../../../../utils/common.js");

Page({
  data: {
    start_stop: 2, //秒杀开始 结束 的控制(1正在进行，2即将开始)
    color_type: 0, //线条控制
    color_type_one: 0,
    color_type_two: 1,

    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拼单 9幸运购
    prom_type: 9,
    prom_time_text: "",
    prom_price: null,
    prom_buy_limit: 0,
    djs: null,
    prom_st: 0,
    prom_r_null: 0,
    prom_end_time: null,
    prom_start_time: null,
    prom_act: null,
    pd_xx: 0,
    is_normal: 0, //是否普通购买
    teamgroup: null, //有多少人开团
    grounp_tatal: 0, //有几个人开团
    timer: [],

    //商品的购买次数
    prom_buy_num: -1,
    g_buy_num: null,
    prom_goods_num: 0, //活动商品数量
    prom_buy_num: 0, //活动商品购买数量
    prom_redis_num: 0, //活动商品redis数量

    //拼单的规则显示
    is_show_gz: 0,
    //会员自己的购买的拼单商品的情况
    user_order_pt_state: 0,
    //购买的订单
    buy_order: null,
    //1加入购物车  2立即购买
    openSpecModal_ind: 0,

    //---计时器开关----
    is_timer: 1,
    isshow: 0,
    bconfig: null, //基础配置

    fir_comments: null, //详情页上的评价
    fir_quan: null, //详情页上的券
    quan_list: null, //券列表

    coupon: 0,
    //会员分享的头像
    share_head: "",
    share_goods_img: "",

    //----------视频图片data参数---------
    current: 0, //图片计数
    swiperCurrent: 0, //轮播的下标
    hiddenn: 0, //控制轮播计数显示

    currentTab: 0, // 选择器控制参数
    mapurl: "",
    mapurl_f_img: "",
    videopicture: 0, //视频图片的控制

    video: 0, //视频图片切换器
    index: 0,
    noon: 0, //开始视频的隐藏

    screenWidth: 0,
    canvasHidden: 1,

    //--推荐--
    store_config: null,
    is_show_pl: 0, //是否品类
    is_show_pp: 0, //是否品牌
    is_show_gb: 0, //是否国别
    is_closecoupon: 0,

    //是否点赞中
    iszaning: 0,

    select_store: 0, //选择更多
    index: 1,
    more_store: 0, //选择门店
    sort_store: 0, //门店分类
    choice_sort_store: 0, //选择分类门店
    new_user: 0, //新用户

    def_pick_store: null, // 默认的门店
    fir_def_store: null,  //客户默认的门店的
    lat: null, //维度
    lon: null, //经度

    is_get_local_ok: 0, //获取坐标是否完成
    region_name: "门店分类", //区域的名字
    is_gps: 1,
    open_ind_store: 0, //哪里打开的门店列表的控制属性
    default_store: {}, //创建添加默认门店地址的对象

    comments_no_more: 0,
    get_c: 0,               //获取评价是不是成
    is_collect_load: 0,     //是不是处理
    is_newsales_rules: 0,   //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存
    sales_rules: 1,	       //默认是线上销售

    wait_for_user_store: null,
    prom_goods: null,       //商品优惠列表
    order_prom: null,       //订单优惠
    collocationGoods: null, //搭配购

    poster: null,      //自定义海报
    share_b_img: '',   //自定义分享的背景

    showPoster: false,
    hui_condition: null,
    sto_sele_name_1: '',//分享的门店名称
    fir_goods: null,

    share_hidden: false,

    showRules: false, // 控制规则显示与隐藏
    showReward: false, //控制查看奖励显示与隐藏

    typeArr: [{
      key: 'point',
      name: '积分',
    }, {
      key: 'grow',
      name: '成长值',
    }, {
      key: 'point',
      name: '优惠券',
    }, {
      key: 'prestore_name',
      name: '项目服务',
    }, {
      key: 'prestore_money',
      name: '预存金额',
    }],


    luckGoInfo: {},
    showDetails: false,
    num_success: 0, //成团已中商品数量
    isTimeUp: false,

    surplus: 0,
    canBuy: false,
    btnHidden: false,
		
  	hiddenCS: true,
    is_get_guide:0,
    keyword:'', //门店搜索
    sec_i:-1,//选中分类门店 下标
    goodInfo_ad:"",//商品详情广告
    adding:0,  //避免重复点击

    nav_frontColor: "#ffffff",
    nav_backgroundColor: "#ffffff",
    nav_type: 2,  //导航类型
    istop: 0, //是否置顶风格为1
    searchbox_transparent: 1,

    front_g:null,
    fir_set_sto:1,     //最初始的一下，获取门店
    front_pick:null,  //在详情页面上显示的门店

    //苹果机都为真
    gn_sele_fir:true,
    gn_sele_sec:getApp().globalData.is_iPhone?true:false,
    sn_sele_sec:getApp().globalData.is_iPhone?true:false,
    sku_sele_sec:getApp().globalData.is_iPhone?true:false,
    cate_sele_sec:getApp().globalData.is_iPhone?true:false,
    brand_sele_sec:getApp().globalData.is_iPhone?true:false,
    nation_sele_sec:getApp().globalData.is_iPhone?true:false,
    guige_sele_sec:getApp().globalData.is_iPhone?true:false,
    ontime_sele_sec:getApp().globalData.is_iPhone?true:false,

  },

  //------初始化加载----------
  onLoad: async function (t) {
		self = this;
    // console.log('onload');		
    if (t && t.group_id) {
      this.data.group_id = t.group_id;
    };

    //群id
    if(t && t.groupchat_id){
      getApp().globalData.groupchat_id=t.groupchat_id
    }

    if(t){
      wxlog.info(getApp().globalData.user_id+'-分享的内容:'+JSON.stringify(t));
    }


    var ee = this,
      that = ee,
      th = ee,
      gid = t.goods_id,
      first_leader = t.first_leader,
      room_id = t.room_id,
      room_user_share = t.room_user_share, //如果是会员分享带有room_id的话，那么接下来会员分享就不传room_id
      prom_type = t.prom_type,
      prom_id = t.group_id;  //活动ID

    var share_openid = t.share_openid;

    if (prom_type) {
      // this.data.prom_type = prom_type;
      // this.data.prom_id = prom_id;
      this.setData({
        prom_type,
        prom_id,
      });
    }

    //检查测肤
    getApp().check_skin_face(t,0,gid);

    //-- 设置顶部高度 --
    let height= getApp().globalData.navBarHeight;
    th.setData({
      top_nav:height
    })

      //-- 自定义海报 --
    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);
                console.log('自定义海报参数-------');
                console.log(json_data);
                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是空的话，分享回来--
    // console.log('扫描海报gid');
    if (gid == undefined || gid == null || gid == "") {
      var gid_str = decodeURIComponent(t.scene);
      gid_str = gid_str.split("_");
      gid = gid_str[0];
      if (gid.indexOf('.') != -1) {
        var fir_arr = gid.split(".");
        gid = fir_arr[0];
        prom_type = fir_arr[1];
        prom_id = fir_arr[2];
        // this.setData({
        // 	prom_type: prom_type,
        // 	prom_id: prom_id,
        // 	group_id: fir_arr[2],
        // });
        this.data.prom_type = prom_type;
        this.data.prom_id = prom_id;
        this.data.group_id = fir_arr[2];
      }


      if (gid_str.length > 1) {
        first_leader = gid_str[1];
      }

      //-- 如果有room_id的获取 --
      if (gid_str.length > 2 && gid_str[2]) {
        room_id = gid_str[2];
        room_user_share = 1;
      }

    }
    ee.setData({ gid: gid });

    if (first_leader) {

      getApp().globalData.first_leader = first_leader;
      //调用接口判断是不是会员
      getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
        if (res.data.code == 0) {
          getApp().globalData.guide_id = res.data.data.id;
          getApp().globalData.guide_pick_id= res.data.data.pickup_id

          wxlog.info(getApp().globalData.user_id+'-分享的导购:'+getApp().globalData.guide_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;

      if (share_openid) {
        this.get_room_share_guide(share_openid);
      }
    }

    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 })
    })

    var is_chat=0;
    await getApp().request.promiseGet("/api/weshop/recharge/storageRechargeDetail/get/"+os.stoid, {

    }).then(res => {
        if(res && res.data.code==0 && res.data.data){
          is_chat=1;
        }
    })

    //----获取系统参数-----
    getApp().getConfig2(function (e) {
      ee.setData({
        bconfig: e,
        sales_rules: e.sales_rules,
      });

      if (e.categoryset.indexOf("," + 1 + ",") != -1) {
        ee.setData({
          is_show_pl: 1
        });
      }
      if (e.categoryset.indexOf("," + 3 + ",") != -1) {
        ee.setData({
          is_show_pp: 1
        });
      }
      if (e.categoryset.indexOf("," + 2 + ",") != -1) {
        ee.setData({
          is_show_gb: 1
        });
      }
      // console.log(e);
      var json_d = JSON.parse(e.switch_list);

      //如果商家未开通在线客服的话
      if(json_d && json_d.weapp_customertype==3 && !is_chat){
        json_d.weapp_customertype=0
      }

      ee.setData({
        store_config: e,
        sys_switch: json_d,
        is_closecoupon: json_d.is_closecoupon,
        is_newsales_rules: json_d.is_newsales_rules,
        appoint_pick_keyid: json_d.appoint_pick_keyid

      });
      ee.init(gid);
      //------几人评价-------
      //n.init(th, "", "comments");

      if(e && e.goods_topconent && e.goods_ad_position.indexOf('1')>-1){
        //商品详情广告----
        a.wxParse("goodInfo_ad2", "html", ut.format_content(e.goods_topconent), ee, 6);
        common.wxParseAddFullImageUrl(ee, "goodInfo_ad2");
        //-------
      }

      if(e && e.goods_bottomconent && e.goods_ad_position.indexOf('2')>-1){
        //商品详情广告----
        a.wxParse("goodInfo_ad", "html", ut.format_content(e.goods_bottomconent), ee, 6);
        common.wxParseAddFullImageUrl(ee, "goodInfo_ad");
      }


     //-------
      th.requestCardNum(), wx.pageScrollTo && th.setData({
        supportPageScroll: !0
      });


      //计算等级价相关
      var swithc_list = e.switch_list;
      var sw_arr = JSON.parse(swithc_list);
      //---如果后台又开等级卡的开关---
      if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
        th.setData({ rank_switch: true });
        //---回调卡的列表---
        th.getPlusCardType(function (ob) {
          th.setData({ card_list: ob.card_list });
          var ti = setInterval(function () {
            var user = getApp().globalData.userInfo;
            if (!user) return false;
            clearInterval(ti);
            if (user.card_field && user['card_expiredate']) {
              var str = user['card_expiredate'].replace(/-/g, '/');
              var end = new Date(str);
              end = Date.parse(end) / 1000;
              var now = ut.gettimestamp();
              //--- 判断是等级会员，且在有效期范围内 ---
              if (user.card_field && now < end) {
                var card_name = ob.name_map.get(user.card_field);
                //if(card_name.length>6) card_name=card_name.substring(0,6);

                var is_near_date = 0;
                if (end - now < 60 * 60 * 30 * 24) is_near_date = 1; //如果小于30天
                th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list, is_near_date: is_near_date });
              }
            }
          }, 500)
        })
      }

    }, 1);

    //获取用户设备信息，屏幕宽度
    wx.getSystemInfo({
      success: res => {
        that.setData({
          screenWidth: res.screenWidth
        })
      }
    });



    //更新点击量
    //noinspection JSUnresolvedFunction
      getApp().request.put("/api/weshop/goods/updateClick", {
      data: { store_id: os.stoid, goods_id: gid,user_id:getApp().globalData.user_id?getApp().globalData.user_id:0 }
    });


    //--先判断会员登陆状态--
    // var user_info = getApp().globalData.userInfo;
    // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
    //
    //   getApp().is_Single_page(th, function () {
    //     wx.navigateTo({
    //       url: '/packageE/pages/togoin/togoin',
    //     })
    //     return false;
    //   })
    // }
  },

  //-- 获取直播的分享人的导购信息 --
  async get_room_share_guide(share_openid) {

    var url = "/api/weshop/users/page";
    var first_leader = 0;

    //调用接口判断是不是会员
    await getApp().request.promiseGet(url, {
      data: {
        stoid: os.stoid,
        weapp_openid: share_openid
      }
    }).then(res => {
      if (ut.ajax_ok(res)) {
        first_leader = res.data.data.pageData[0].user_id;
        getApp().globalData.guide_id = res.data.data.id;
      }
    })

    if (!first_leader) return false;

    getApp().globalData.first_leader = first_leader;

    //调用接口判断是不是会员
    await getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
      if (res.data.code == 0) {
        getApp().globalData.guide_id = res.data.data.id;
        getApp().globalData.guide_pick_id= res.data.data.pickup_id

        wxlog.info(getApp().globalData.user_id+'-分享的导购，从直播房间分享:'+getApp().globalData.guide_id);
      }
    })

  },


  //--- 设置一下默认库存的数量 ---- 
  set_def_storage(ee) {
    var that = this, th = this;
    getApp().getConfig2(function (e) {
      var sales_rules = e.sales_rules;

      //虚拟商品， 代发商品不计算
      if (!that.data.fir_goods.whsle_id && sales_rules >= 2) {
        getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () {
          var lock = 0, plist = null;
          var gd = that.data.fir_goods;
          //先读取门店的lock,采用链式写法，少用await

          // getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
          //   data: { store_id: os.stoid, wareId: that.data.fir_goods.goods_id, storageId: ee.pickup_id, pageSize: 1000 }
          // }).then(res => {
          //   if (res.data.code == 0 && res.data.data.total > 0) {
          //     for (var i in res.data.data.pageData)
          //       lock += res.data.data.pageData[i].outQty
          //   }
          //   //---通过接口获取门店的线下库存信息--
          //   return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
          //     data: { storageNos: ee.pickup_no, wareIds: encodeURIComponent(th.data.data.erpwareid), storeId: os.stoid }
          //   })
          // }).then(res => {
          //   if (res.data.code == 0 && res.data.data.total > 0) {
          //     plist = res.data.data.pageData[0];
          //   }
          //   if (plist && plist.CanOutQty - lock > 0) {
          //     ee.CanOutQty = plist.CanOutQty - lock;
          //   } else {
          //     ee.CanOutQty = 0;
          //   }
          //   //--给门店赋值线下库存--
          //   that.data.fir_def_store = ee;
          //   that.setData({
          //     def_pick_store: ee,
          //     sto_sele_name: ee.pickup_name,
          //     sto_sele_id: ee.pickup_id,
          //     sto_sele_distr: ee.distr_type
          //   })
          // })

          //最新的获取线下门店库存
          th.check_CanOutQty(gd, ee, function (CanOutQty) {
            ee.CanOutQty = CanOutQty;
            //--给门店赋值线下库存--
            that.data.fir_def_store = ee;
            that.setData({
              def_pick_store: ee,
              sto_sele_name: ee.pickup_name,
              sto_sele_id: ee.pickup_id,
              sto_sele_distr: ee.distr_type
            })
          })


        })
      } else {
        that.data.fir_def_store = ee;
        that.setData({
          def_pick_store: ee,
          sto_sele_name: ee.pickup_name,
          sto_sele_id: ee.pickup_id,
          sto_sele_distr: ee.distr_type
        })
      }
    })

  },


  //------------程序初始化入口-------------
  async init(gid) {
    var ee = this,
      th = ee,
      gallery = null,
      is_collect = 0,
      collect_id = 0,
      categories3 = ee.data.categories3,
      fir_com = null,
      fir_quan = null,
      mapurl = null,
      mapurl_f_img = null;


    //------图片滚动----------
    await getApp().request.promiseGet("/api/weshop/goodsimages/page", {
      data: {
        store_id: os.stoid,
        goods_id: gid,
      },
    }).then(res => {

      var t = res;
      var g = t.data.data.pageData;
      if (g.length == 0) {
        var ie = {
          "image_url": o.imghost + "/public/images/default_goods_image_240.gif"
        };
        g.push(ie);
        gallery = g;
        return;
      }
      for (var i = 0; i < g.length; i++) {
        if (g[i].image_url.indexOf(o.imghost) == -1)
          g[i].image_url = o.imghost + g[i].image_url;
      }
      gallery = g;
    })

    //------是否收藏----------
    await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
      data: {
        store_id: os.stoid,
        goods_id: gid,
        user_id: oo.user_id,
      }
    }).then(res => {
      var t = res;
      var data = t.data.data.pageData;
      if (data && 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 && (!th.data.fir_quan || th.data.fir_quan.length <= 0)) {
      //----获取详情页的券的数量----
      await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", {
        data: {
          store_id: os.stoid,
          type: 1,
          pageSize: 100,
          page: 1,
          is_share: 0,
        },
      }).then(res1 => {
        fir_quan = res1.data.data.pageData;
      })
    }
    //过滤不是本商品的单品优惠券-------------------
    if(fir_quan.length > 0 ){
      let goodInfo = ee.data.data
      for (let index = fir_quan.length-1; index >= 0; index--) {
        if (fir_quan[index].useobjecttype==20) { //判断是单品优惠券
          if (fir_quan[index].useobjectno != goodInfo.goods_sn) {
            fir_quan.splice(index,1)
          }
        }            
      }         
    }
    let arr=[]
    let length = fir_quan.length
    if (length <= 3) {
      arr=fir_quan
    }else{
      arr=fir_quan.splice(0,3);
    }
    //--------获取视频图片---------
    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: arr,
      fir_comments: fir_com,
      mapurl_f_img: mapurl_f_img,
      mapurl: mapurl,
    });

  },

  //检测有没有导购分享的门店
  check_guide(func){
    var first_leader=getApp().globalData.first_leader;
    if(!first_leader){
      func();
      return false;
    }
    if(this.data.is_geted_guide_pick){
      func();
      return false;
    }

    if(getApp().globalData.guide_pick_id){
      func();
      return false;
    }
    var th=this;
    getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
      if (res.data.code == 0) {
        getApp().globalData.guide_pick_id= res.data.data.pickup_id;
      }
      th.data.is_geted_guide_pick=1;
      func();
    })
  },


  get_user_sto(){
    var th=this;var that=this;
    //获取用户的默认门店
    getApp().get_user_store(function (e) {
      if (!e) {
        th.data.fir_def_store = {}; //赋值空对象
        return false;
      }

        if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
        var ee = JSON.parse(JSON.stringify(e));

        if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type;
        //--如果默认门店的配送方式不对，就不能被选择，这里不控制，如果不一样，就说明配送方式不对--
        if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) {
          ee.is_no_dis = 1;
        }
        var appd = getApp().globalData;
        var w_time = setInterval(function () {
          if (that.data.is_get_local_ok == 0) return false;
          clearInterval(w_time);
          var distance = null;
          var e = JSON.parse(JSON.stringify(ee));

          //如果有开启近距离的话,同时距离优不一样了
          if (that.data.lat != null) {
            //如果经纬度有变化的话
            if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
              that.set_def_storage(e);
            } else {
              //要用接口是获取距离，js的计算不准
              getApp().request.promiseGet("/api/weshop/pickup/list", {
                data: { store_id: os.stoid, pickup_id: e.pickup_id, lat: th.data.lat, lon: th.data.lon, is_pos: 1 },
              }).then(res => {
                if (res.data.code == 0) {
                  e = res.data.data.pageData[0];
                  if (e) {
                    e.is_no_dis = ee.is_no_dis;
                    appd.pk_store = e;
                    that.set_def_storage(e);
                  }

                }
              })
            }
            //e.distance = distance;
            appd.lat = that.data.lat;
            appd.lon = that.data.lon;

          } else {
            if (e) {
              e.distance = null;
              that.set_def_storage(e);
            }
          }
        }, 200)

    });
  },

  //---展示---
  onShow: async function () {

    //-- 看一下隐私政策要不要显示 --
    var privacy_pop = this.selectComponent("#privacy_pop"); //组件的id
    if (privacy_pop) {
      privacy_pop.check_pri_show();
    }

    //添加购物车的控制要清理0
    this.data.adding=0;

    getApp().check_can_share(this);
    // console.log('onshow');
    var goods_list = null, th = this, that = this;
    var show_prew_img = this.data.show_prew_img
    if (show_prew_img) {
      show_prew_img = 0;
      return false;
    }

    if (this.data.show_video) {
      this.data.show_video = 0;
      return false;
    }

    //先获取一下导购的门店
    th.check_guide(()=> {
      th.get_user_sto();
    })

    // 判断活动是否暂停
    //获取单个活动成团信息
    await getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', {
      data: {
        store_id: o.stoid,
        is_end: 0,
        timetype: 1,
        id: this.data.group_id,
        user_id:getApp().globalData.user_id?getApp().globalData.user_id:0 
      }
    }).then(res => {
      // console.log()
      // console.log('判断活动是否暂停=======》', res.data.data);
      if (res.data.code == 0) {
        if (res.data.data.pageData && res.data.data.pageData.length == 0) {
          let obj = {
            day: '00',
            hou: '00',
            min: '00',
            sec: '00'
          };

          th.setData({
            djs: obj,
            isTimeUp: true,
          });
        } else {
          th.setData({
            luckGoInfo: res.data.data.pageData[0],
            team_id: res.data.data.pageData[0].team_id,
            luckGoMembers: [],
          });

          th.countDown(th.data.luckGoInfo.end_time, 0);
        };

      } else {
        // this.data.isTimeUp = true;
        th.setData({
          isTimeUp: true,
        });

      };


    });

    // 活动暂停显示空白
    if (this.data.isTimeUp) {
      wx.showModal({
        title: '提示',
        content: '活动已经暂停或者当前会员身份不符，无法参与',
        showCancel: false,
        success: function () {
          // wx.navigateBack();
          ut.wx_back();
        }
      })
      return false;
    }

    //优惠券要实时更新
    getApp().getConfig2(function (e) {
      var json_d = JSON.parse(e.switch_list);
      th.setData({ is_closecoupon: json_d.is_closecoupon })
      th.setData({ is_open_offline: json_d.is_pricing_open })
    }, 1)


    var ui = setInterval(function () {
      goods_list = th.selectComponent("#goods_list");
      if (goods_list) {
        clearInterval(ui);
        goods_list.init();
        return false
      }
    }, 300)

    this.data.is_timer = 1;
    var ee = this,
      gid = this.data.gid,
      i = getApp().request;

    this.wait_for_store_config();

    if(ee.data.front_g){
      gid=ee.data.front_g.goods_id;
    }

    i.get("/api/weshop/goods/get/" + o.stoid + "/" + gid, {
      failRollback: !0,
      success: function (t) {
        console.log(t);
        if (t.data.code == 0) {

          var p_fail=0;

          if (t.data.data.is_on_sale != 1) {
            p_fail=1;
            wx.showModal({
              title: '商品已经下架',
              showCancel: !1,
              complete: function () {
                let pages = getCurrentPages();
                if (pages[pages.length - 2]) {
                  wx.navigateBack();
                } else {
                  getApp().goto('/pages/index/index/index')
                }
              }
            });

          }

          var timestamp = Date.parse(new Date());
          timestamp = timestamp / 1000;
          if (t.data.data.on_time > timestamp && !p_fail) {
            wx.showModal({
              title: '商品还未上架',
              showCancel: !1,
              complete: function () {
                let pages = getCurrentPages();
                if (pages[pages.length - 2]) {
                  wx.navigateBack();
                } else {
                  getApp().goto('/pages/index/index/index')
                }
              }
            });
          }

          if (t.data.data.down_time > 0 && !p_fail) {
            if (t.data.data.down_time < timestamp) {
              wx.showModal({
                title: '商品已经到期下架',
                showCancel: !1,
                complete: function () {
                  let pages = getCurrentPages();
                  if (pages[pages.length - 2]) {
                    wx.navigateBack();
                  } else {
                    getApp().goto('/pages/index/index/index')
                  }
                }
              });
            }
          }

          //动态获取商品名称
          // wx.setNavigationBarTitle({
          //   title: t.data.data.goods_name,
          // });

          ee.setData({gtitle: t.data.data.goods_name })


          //-- 把商品的赋值 --
          ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data));
          if (ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 9)
            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 cur_price = t.data.data.shop_price;
          if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) {
            var cfile = getApp().globalData.userInfo.card_field;
            if (t.data.data[cfile]) {
              cur_price = t.data.data[cfile];
            }
          }
          var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString();
          txt = parseFloat(txt);

          t.data.data['disc'] = txt;

          if (t.data.data.original_img.indexOf(o.imghost) == -1)
            t.data.data.original_img = o.imghost + t.data.data.original_img;

          if (t.data.data.goods_content == null) t.data.data.goods_content = "";

          //-----商品详情---
          if (!t.data.data.goods_content) t.data.data.goods_content = "  ";
          a.wxParse("content", "html",ut.format_content(t.data.data.goods_content), ee, 6);
          e.wxParseAddFullImageUrl(ee, "content");

          if (ee.data.prom_type) {
            //999
            t.data.data.prom_type = ee.data.prom_type;
            t.data.data.prom_id = ee.data.prom_id;
          }

          ee.setData({
            data: t.data.data,
            sele_g: t.data.data,
            userInfo: getApp().globalData.userInfo,
            front_g:ut.deep_cp(t.data.data)
          });


          //获取统一条形码,普通商品和优惠促销的商品
          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 || ee.data.data.prom_type == 7) {
            //默认门店要拿下门店库存
            // if (that.data.sales_rules == 2 && that.data.is_newsales_rules) {
            //   //获取门店
            // ee.get_sto(1);

            // } else {
            //   //获取门店
            //   ee.get_sto();
            // }

            // ee.get_sku(o.stoid, t.data.data, gid);
            // ee.check_has_flash();

          }
          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);


    //获取单个活动已成团数量
    getApp().request.get(`/api/weshop/prom/luckyTeam/getCtNum/${o.stoid}/${this.data.group_id}`, {
      success: function (res) {
        if (res.data.code == 0) {
          th.setData({
            group_num: res.data.data,
          });
        }
      }
    });


    //获取单个活动中奖记录
    getApp().request.promiseGet('/api/weshop/prom/luckyOrder/page', {
      data: {
        store_id: os.stoid,
        team_status: 2,
        goods_id: this.data.gid,
        rndid: 1,
      }
    }).then(res => {
      if (res.data.code == 0) {
        th.setData({
          luckGoWinners: res.data.data.pageData,
        });
      }
    });


    //获取单个活动成团已中商品数量
    let url_num_success = `/api/weshop/prom/luckyOrder/countActNum/${os.stoid}/${this.data.group_id}`;
    getApp().request.get(url_num_success, {
      success: function (res) {
        if (res.data.code == 0) {
          console.log('成团已中商品数量汇总', res.data.data);
          th.setData({
            num_success: res.data.data,
          });
        }
      }
    });





    // 获取购买次数，判断是否已经超出限购
    // {store_id}/{user_id}/{aid}
    let get_aid = this.data.prom_id || this.data.luckGoInfo.id;
    await getApp().request.get('/api/weshop/prom/luckyOrder/countActNum/' + os.stoid + '/' + oo.user_id + '/' + get_aid, {
      success: function (res) {
        if (res.data.code == 0) {
          console.log(oo.user_id, '判断是否超出限购，获取购买次数', res,);
          // th.setData({
          // 	num_joined: res.data.data,
          // });
          let num_joined = res.data.data;
          let group_join_num = th.data.luckGoInfo.group_join_num;
          let canBuy = num_joined >= group_join_num ? false : true;
          th.setData({
            canBuy,
          });
          // console.log('canBuy', th.data.canBuy);
        };
      },
    });


    //获取参团成员
    await getApp().request.promiseGet('/api/weshop/prom/luckyOrder/page', {
      data: {
        store_id: o.stoid,
        team_id: th.data.team_id,
      }
    }).then(res => {
      if (res.data.code == 0) {
        // console.log(th.data.team_id,'参团成员===============》', res.data.data.pageData);
        th.setData({
          luckGoMembers: res.data.data.pageData,
        });
      }
    });

    var p1 = new Promise((resolve, reject) => {
      // 检查幸运购活动商品库存
      getApp().request.get("/api/weshop/activitylist/getActLen/" + o.stoid + "/9/" + this.data.group_id, {
        success: function (res) {
          //console.log('当前幸运购活动的剩余库存', res.data.data);
          if (res.data.code == 0) {
            th.setData({
              // 剩余库存量
              surplus: res.data.data,
            });
          };
          resolve();
        }
      });

    });

    var p2 = new Promise((resolve, reject) => {
      // 检查是否已经参团购买
      getApp().request.get("/api/weshop/prom/luckyOrder/getUserOrderInfo/" + o.stoid + "/" + oo.user_id + "/" + this.data.group_id, {
        success: function (res) {
          console.log('当前幸运购活动是否已经参团', res.data.code);
          if (res.data.code == 0) {
            th.setData({
              showDetails: true,
              buyInfo: res.data.data,
            });
          } else {
            th.setData({
              showDetails: false,
            });
          };
          resolve();
        }
      });

    });

    Promise.all([p1, p2]).then(res => {
      th.setData({
        btnHidden: true,
      });
    });


    console.log('hidddddnnnnnnnn------>>>>', this.data.btnHidden, this.data.isTimeUp)


  },


  // 页面卸载
  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();

    if(e>0){
      wx.pageScrollTo({
        scrollTop:0
      })
    }
  },




  // 点击评价选项卡下的各评价按钮
  tabClick3: function (t) {
    var e = this;
    if (t.currentTarget.id != this.data.activeCategoryId3) {
      e.data.c_curr_p = 1;
      this.setData({
        activeCategoryId3: t.currentTarget.id,
        comments: null, comments_no_more: 0, get_c: 0,
      });
      this.requestComments_new();
    }
  },

  // 滚动到顶部
  doScrollTop: function () {
    wx.pageScrollTo({
      scrollTop: 0
    });
  },

  tabComment: function () {
    this.setData({
      activeCategoryId: 2, comments_no_more: 0, get_c: 0
    }), this.data.comments || this.requestComments_new();
  },


  //商品详情里表格信息：类别、品牌、国别
  tabGoodsContent: function () {
    var th = this,
      i = getApp().request;
    this.setData({
      activeCategoryId: 1
    });

    if (th.data.cat_name == '') {
      //过去国别，分类，品牌的名称
      i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, {
        success: function (t) {
          var dd = t.data.data;
          if (t.data.code == 0) {
            th.setData({
              cat_name: dd.name
            });
          }
        }
      });
      //过去国别，分类，品牌的名称
      i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, {
        success: function (t) {
          var dd = t.data.data;
          if (t.data.code == 0) {
            th.setData({
              brand_name: dd.name
            });
          }
        }
      });
      //过去国别，分类，品牌的名称
      i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, {
        success: function (t) {
          var dd = t.data.data;
          if (t.data.code == 0) {
            th.setData({
              nation_name: dd.name
            });
          }
        }
      });
    }
  },

  //获取redis中的数量
  async getactLen(func) {
    var r_num = 0,
      prom_type = this.data.prom_type,
      prom_id = this.data.prom_id;
    await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
      1: 1
    }).then(res => {
      var em = res;
      if (em.data.code == 0) {
        r_num = em.data.data;
      }
    })
    func(r_num);
  },

  //------------加入购物车--------------
  addCart: function (t) {
    var th = this;
    var ind = t.currentTarget.dataset.openSpecModal_ind;
    if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
    th.setData({
      open_ind_store: ind
    });

    th.add_cart_func(t);
  },



  //-- 加入购物的函数 --
  add_cart_func_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: '超出商品限购'
          // });
					getApp().my_warnning('超出商品限购', 0, th);
          return false;
        }
      }
      //---判断商品是否超出活动限购---
      if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
        if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
          // wx.showModal({
          //   title: '提示',
          //   content: '超出商品活动限购'
          // });
					getApp().my_warnning('超出商品活动限购', 0, th);
          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)
        th.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(getApp().globalData.groupchat_id){
        newd['groupchat_id'] = getApp().globalData.groupchat_id;
      }
      //让商品带上房间号
      //让商品带上房间号
      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 < e.data.goodsInputNum) return s.my_warnning("库存不足！", 0, th);


      th.add_cart_next(e, t, a, o, newd);  //立即购买下一步

    })
  },

  //-- 加入购物的函数 --
  add_cart_func: function (t) {
    var i = getApp().request;
    if (oo.user_id == null) {
      return s.my_warnning("还未登录！", 0, this);
    }

    if (!getApp().globalData.userInfo) {
      return s.my_warnning("还未登录！", 0, this);
    }

    var e = this,
      th = e,
      a = 0,
      o = this.data.sele_g;
    a = o.goods_id;

    //----------添加到购物车时，要判断限购数量，--------
    e.get_buy_num(o, function (ee) {
      //---判断商品是否超出限购---
      if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
        if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
          // wx.showModal({
          //   title: '提示',
          //   content: '超出商品限购'
          // });
		  getApp().my_warnning('超出商品限购', 0, th);
          return false;
        }
      }
      //---判断商品是否超出活动限购---
      if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
        if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
          // wx.showModal({
          //   title: '提示',
          //   content: '超出商品活动限购'
          // });
          getApp().my_warnning('超出商品活动限购', 0, th);
          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)
        th.setData({
          sto_sele_name: ""
        });
      if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);

      //--------------此时操作的数据------------
      var newd = {
        goods_id: o.goods_id,
        goods_num: th.data.goodsInputNum,
        pick_id: th.data.sto_sele_id,
        user_id: oo.user_id,
        store_id: th.data.stoid,
        goods_price: o.shop_price,
        member_goods_price: o.shop_price,
        goods_name: o.goods_name,
        goods_sn: o.goods_sn,
        sku: o.sku,
        prom_id: th.data.luckGoInfo.id,
        // prom_type:th.data.sele_g.prom_type,
        prom_type: 9,
      };

      //---是不是从收藏夹出来的---
      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(getApp().globalData.groupchat_id){
        newd['groupchat_id'] = getApp().globalData.groupchat_id;
      }
      //让商品带上房间号
      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 < e.data.goodsInputNum) return s.my_warnning("库存不足！", 0, th);

        th.add_cart_next(e, t, a, o, newd);  //加入购物车下一步

      } else if (o.prom_type == 7) {

        //判断进行中的活动，是不是要判断线下库存
        th.check_zh_acting(function (ee) {
          newd.prom_id = 0;
          newd.prom_type = 0;
          if (ee && th.data.sele_g.act) {
            newd.prom_id = th.data.sele_g.act.id;
            newd.prom_type = 7;
            if (o.store_count <= 0) return s.my_warnning("库存已为空！", 0, th);
            if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足！", 0, th);
            th.add_cart_next(e, t, a, o, newd);  //加入购物车下一步
            return false;
          } else {
            //---如果是线下门店销售的时候---
            if(!th.data.sele_g.whsle_id  && th.data.sales_rules >= 2) {
              var pick = th.get_pick_from_list(th.data.sto_sele_id)
              //---通过接口获取门店的线下库存信息--
              // getApp().request.get("/api/weshop/goods/getWareStorages", {
              //   data: { storageNos: pick.pickup_no, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid },
              //   success: function (res) {
              //     if (res.data.code == 0) {
              //       if (res.data.data.pageData.length > 0) {
              //         var CanOutQty = res.data.data.pageData[0].CanOutQty;
              //         if (CanOutQty < e.data.goodsInputNum) {
              //           return s.my_warnning("库存不足！", 0, th);
              //         }
              //         //在调一次接口,读取商品的预出库的数量，lock
              //         getApp().request.get("/api/weshop/order/ware/lock/page", {
              //           data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, storageId: pick.pickup_id, pageSize: 1000 },
              //           success: function (res_data) {
              //             if (res_data.data.code == 0 && res_data.data.data.total > 0) {
              //
              //               var lock = 0;
              //               for (var i in res_data.data.data.pageData) {
              //                 lock += res_data.data.data.pageData[i].outQty;
              //               }
              //
              //               if (CanOutQty <= lock) {
              //                 return s.my_warnning("库存不足！", 0, th);
              //               }
              //               th.add_cart_next(e, t, a, o, newd, CanOutQty - lock);
              //             } else {
              //               th.add_cart_next(e, t, a, o, newd, CanOutQty);
              //             }
              //           }
              //         })
              //       } else {
              //         return s.my_warnning("库存不足！", 0, th);
              //       }
              //
              //     }
              //   }
              // })

              th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
                if (CanOutQty) {
                  if (CanOutQty < e.data.goodsInputNum) {
                    wx.showToast({
                      title: '库存不足！',
                      icon: 'none',
                    });
                    return false;
                  }

                  th.add_cart_next(e, t, a, o, newd, CanOutQty);
                } else {
                  wx.showToast({
                    title: '库存不足！',
                    icon: 'none',
                  });
                  return false;
                }
              })



            } else {
              if (o.store_count <= 0) return s.my_warnning("库存已为空！", 0, th);
              if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足！", 0, th);
              th.add_cart_next(e, t, a, o, newd);  //加入购物车下一步
            }
          }
        })

      }
      else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) {
        newd.prom_type = 0;
        newd.prom_id = 0;

        //---如果是线下门店销售的时候---
        if(!th.data.sele_g.whsle_id && th.data.sales_rules >= 2) {
          var pick = th.get_pick_from_list(th.data.sto_sele_id)



          th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
            if (CanOutQty) {

              if (CanOutQty < e.data.goodsInputNum) {
                wx.showToast({
                  title: '库存不足！',
                  icon: 'none',
                });
                return false;
              }

              th.add_cart_next(e, t, a, o, newd, CanOutQty);
            } else {
              wx.showToast({
                title: '库存不足！',
                icon: 'none',
              });
              return false;
            }
          })


        } else {
          if (o.store_count <= 0) return s.my_warnning("库存已为空！", 0, th);
          if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足！", 0, th);
          th.add_cart_next(e, t, a, o, newd);  //加入购物车下一步
        }
      }
    })
  },

  //---加入购物车的最后一步---
  add_cart_next(e, t, a, o, newd, CanOutQty) {
    var th = this, i = getApp().request;
    //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
    if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4) || th.data.is_normal)) {
      var conf = th.data.bconfig;
      if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) {
        var s_list = JSON.parse(conf.switch_list);
        var now = ut.gettimestamp();


        var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/');
        var end = new Date(str);
        end = Date.parse(end) / 1000;

        //--如果后台有开启等级价的功能，而且会员的等级没有过期的情况下--
        if (parseInt(s_list.rank_switch) == 2 && end > now) {
          var card_price = o[getApp().globalData.userInfo['card_field']];
          //如果会员有等级价
          if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null
            && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) {
            newd.goods_price = card_price;
            newd.member_goods_price = card_price;
          }
        }
      }
    }

    //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d);
    if ("add" == t.currentTarget.dataset.action) {

      if (th.data.prom_goods) {
        newd.prom_type = 3;
        newd.prom_id = th.data.prom_goods[0].prom_id;
      }

      //----先看会员在购物车中是否加入了该商品-----
      i.get("/api/weshop/cart/page", {
        data: {
          store_id: e.data.stoid,
          user_id: oo.user_id,
          goods_id: a,
          pick_id: e.data.sto_sele_id,
        },
        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;
              }
            }
            if(getApp().globalData.groupchat_id){
              updata['groupchat_id'] = getApp().globalData.groupchat_id;
            }
            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 = 9;
                newd.prom_id = prom_d[i].prom_id;
              }
              break
            case 1://按购买数量
              if (newd.goods_num >= condition_t) {
                newd.prom_type = 9;
                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"
    // }),
    var th = this;
    this.setData({
      openSpecModal: 0,
      openSpecModal_inte: 0,
      openSpecModal_inte_normal: 0,
      openSpecModal_pt: 0,
    })

    e.prom_type = 0;
    e.prom_id = 0;
    e.is_pd_normal= 1;
    e.state = 1;

    //----先看会员在购物车中是否加入了该商品,立即购买的-----
    getApp().request.get("/api/weshop/cart/page", {

      data: {
        store_id: os.stoid,
        user_id: oo.user_id,
        state: 1
      },

      success: function (res) {
        //-------如果购物车中有相关的数据,先清理掉---------
        if (res.data.code == 0 && res.data.data.total > 0) {
          for (let j in res.data.data.pageData) {
            let item_j = res.data.data.pageData[j];
            var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id;
            getApp().request.delete(url, {});
          }
        }

        getApp().request.post("/api/weshop/cart/save", {
          data: e,
          success: function (t) {
            th.closeSpecModal();
            getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
          }
        });

      }
    })

  },

  //----------增加购买数量-----------
  addCartNum: function (t) {
     //如果是幸运购的话，每次只能购买一个中
     if(!this.data.is_normal && this.data.prom_type==9) {
      return;
    }
    var add_num=1;  
    if(this.data.is_normal == 1){
      add_num=getApp().get_limit_qty(this.data.sele_g,this.data.is_act,1);
    }
    this.checkCartNum(this.data.goodsInputNum + add_num);
  },
  //----------减少购买数量-----------
  subCartNum: function (t) {
    var add_num=1;
    if(this.data.is_normal == 1){
      add_num=getApp().get_limit_qty(this.data.sele_g,this.data.is_act,1);
    }
    this.checkCartNum(this.data.goodsInputNum - add_num);
  },
  //----------输入框输入购买数量-----------
  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;
    var mo_num=getApp().get_limit_qty(th.data.sele_g,th.data.is_act);
    var steep=getApp().get_limit_qty(th.data.sele_g,th.data.is_act,1);

    this.get_buy_num(this.data.sele_g, async function () {


      var is_show_bs=0;
      var l_num=-1;
      //--判断商品是否超出限购--
      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: '超出商品限购',
          // });
					getApp().my_warnning('超出商品限购', 0, th);
          l_num = th.data.sele_g.viplimited - gd_buy_num;
          if (l_num <= 0) l_num = 1;
          th.setData({ goodsInputNum: l_num })
          return false;
        }
          is_show_bs=1;
      }

      //--判断商品是否超出活动限购--
      if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) {
        if (t + th.data.prom_buy_num > th.data.prom_buy_limit) {
          // wx.showModal({
          //   title: '超出商品活动限购',
          // });
					getApp().my_warnning('超出商品活动限购', 0, th);
          var num = th.data.prom_buy_limit - th.data.prom_buy_num;
          if (num < 0) num = 0;
          th.setData({ goodsInputNum: num })
          return false;
        }
      }

      if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) {
        var redis_num = 0;
        //------判断活动是否抢光-----
        await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
          os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, {
          1: 1
        }).then(res => {
          redis_num = res.data.data;
        });

        if (t > redis_num) {
          // wx.showModal({
          //   title: '超出商品活动库存',
          // });
					getApp().my_warnning('超出商品活动库存', 0, th);
          th.setData({ goodsInputNum: redis_num })
          return false;
        }
      }
      var e = th.data.sele_g.store_count;
      var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4
      if (!th.data.sele_g.whsle_id &&
          th.data.sales_rules >= 2 && ( [1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {

        //-- 如果是虚拟商品，默认给最大值 --
        if(getApp().is_virtual(th.data.sele_g)){
          e =100000;
        }else{
          if (!th.data.def_pick_store) {
            wx.showModal({ title: '请选择门店', });
            return false;
          } else {
            e = th.data.def_pick_store.CanOutQty;
          }
        }
      }

      //-- 限购数量也要进行计算一下 --
      if(l_num>-1){
        if(e>l_num) e=l_num;
      }

      //提示了一个，就不要提示第二个
      var is_show_bs=0;
      //--- 促销活动也不控制起订量, 这里很重要的一个控制，起订量的 ----
      if(th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1){
        if(t<mo_num){
          t=mo_num;
          if(!is_show_bs){
            wx.showToast({
              title: '购买数未达到起订量',
              icon: 'none',
            });
          }
          is_show_bs=1;
        }
        if(t>mo_num && (t-mo_num)%steep!=0){
          if(!is_show_bs) {
            wx.showToast({
              title: '购买数必须是起订量的倍数',
              icon: 'none',
            });
          }
          t=mo_num+ parseInt((t-mo_num)/steep)*steep+steep;
          is_show_bs=1;
        }
      }

      if (!e) e = 0;
      //库存不足，不增加
      if (e < t) {
        if(!is_show_bs) wx.showModal({ title: '库存不足', });
        if (e < 0) e = 0;

        if(th.data.is_normal == 1){
            if(e<mo_num) e=mo_num;
            if(e>mo_num && (e-mo_num)%steep!=0){
              e=mo_num+ parseInt((e-mo_num)/steep)*steep;
            }
        }

        th.setData({ goodsInputNum: e }); return false;
      }

      t > e || 0 == e ? t = e : t < 1 && (t = 1);
      //只有普通商品才有起购数
      if(th.data.is_normal == 1){
        if(t<mo_num) t=mo_num;
      }

      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: '超出商品限购',
          // });
		  getApp().my_warnning('超出商品限购', 0, th);
          var num = th.data.sele_g.viplimited - gd_buy_num;
          if (num < 0) num = 0;
          th.setData({ goodsInputNum: num })
          return false;
        }
      }

      //--判断商品是否超出活动限购--
      if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
        if (t + th.data.prom_buy_num > th.data.prom_buy_limit) {
          // wx.showModal({
          //   title: '超出商品活动限购',
          // });
					getApp().my_warnning('超出商品活动限购', 0, th);
          var num = th.data.prom_buy_limit - th.data.prom_buy_num;
          if (num < 0) num = 0;
          th.setData({ goodsInputNum: num })
          return false;
        }
      }

      if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) {
        var redis_num = 0;
        //------判断活动是否抢光-----
        await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
          os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, {
          1: 1
        }).then(res => {
          redis_num = res.data.data;
        });

        if (t > redis_num) {
          // wx.showModal({
          //   title: '超出商品活动库存',
          // });
					getApp().my_warnning('超出商品活动库存', 0, th);
          th.setData({ goodsInputNum: redis_num })
          return false;
        }

      }

      var e = th.data.sele_g.store_count;
      var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4
      if (!th.data.sele_g.whsle_id &&
          th.data.sales_rules >= 2 && ([1,2,4,6,8,9].indexOf(p_type)== -1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) {

        //-- 如果是虚拟商品，默认给最大值 --
        if(getApp().is_virtual(th.data.sele_g)){
            e=100000;
        }else{
          if (!th.data.def_pick_store) {
            wx.showModal({ title: '请选择门店', });
            return false;
          } else {
            e = th.data.def_pick_store.CanOutQty;
          }
        }

      }
      if (!e) e = 0;
      //库存不足，不增加
      if (e < t) {
        wx.showModal({ title: '库存不足', });
        if (e < 0) e = 0;
        th.setData({ goodsInputNum: e }); return false;
      }
      t > e || 0 == e ? t = e : t < 1 && (t = 1);
      th.setData({ goodsInputNum: t });
    })
  },


  closeSpecModal: function () {
    if (this.data.openSpecModal_pt && this.data.is_normal) {
      this.get_sto();
      this.setData({
        sele_g: this.data.front_g,
        gid: this.data.front_g.goods_id
      })

      this.sele_spec_chech_activity();
    }

    this.setData({
      openSpecModal: !1,
      openSpecModal_pt: !1
    });
  },

  openSpecModel: function (t) {
    var th = this;
    var open_store = t.currentTarget.dataset.ind;
    this.setData({
      store: 0,
      choice_sort_store: 0,
      sort_store: 0,
      open_ind_store: open_store,
    })
    //--先判断会员状态--
    var user_info = getApp().globalData.userInfo;
    if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
      wx.navigateTo({
        url: '/packageE/pages/togoin/togoin',
      })
      return false;
    }

    if (th.data.more_flash && open_store == 1) {
      th.setData({ is_pop_more: 1 });
    } else {
      var ind = t.currentTarget.dataset.ind;
      //回调。判断是不是优惠促销
      th.check_is_prom_goods(function () {
        th.setData({
          openSpecModal: !0,
          openSpecModal_ind: ind,
        });
        //var is_open=th.data.config
        th.get_off_price();
      })
    }
  },

  open_next() {
    var th = this;
    //回调。判断是不是优惠促销
    th.check_is_prom_goods(function () {
      th.setData({
        openSpecModal: !0,
        openSpecModal_ind: 1,
        is_pop_more: 0
      });
      th.get_off_price();
    })
  },

  //判断是不是优惠促销
  check_is_prom_goods: function (callback) {
    var th = this;
    var usr = getApp().globalData.userInfo;
    if (this.data.sele_g.prom_type != 0 && this.data.sele_g.prom_type != 3) {
      callback();
    } else {
      //-- 判断有没有优惠活动 --
      getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0", {}).then(res => {
        if (res.data.code == 0) {
          var r_data = res.data.data;
          th.data.prom_goods = r_data.promGoodsLists;
          if (!th.data.prom_goods) {
            callback();
            return false;
          }

          ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1
          getApp().promiseGet("/api/weshop/order/getWPayOrder", {
            data: { store_id: os.stoid, user_id: usr.user_id, goods_id: th.data.sele_g.goods_id, prom_id: th.data.prom_goods[0].prom_id }
          }).then(res => {
            if (res.data.code == 0) {
              wx.showToast({
                title: "您已经购买了该商品待支付中",
                icon: 'none',
                duration: 2000
              })
              setTimeout(function () {
                getApp().goto("/packageG/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,)
              }, 1000)
            }
            //未找到相关记录
            else {
              callback();
            }
          })
        }

      })

    }
  },



  //----获取线下价格-------
  get_off_price() {
    var th = this;
    //没有开启就返回
    if (!th.data.is_open_offline) return false;
    //先看下购买的功能有没有到期
    getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=6", {}).then(res => {
      //未购买
      if (res.data.code != 0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length) {
        return false;
      } else {
        //已经过期
        var item = res.data.data.pageData[0];
        if (item.end_time < ut.gettimestamp()) {
          return false;
        }
      }


      var cur_goods = this.data.sele_g;
      var cur_price = cur_goods.shop_price;
      if (th.data.card_field && cur_goods[th.data.card_field] > 0) {
        cur_price = cur_goods[th.data.card_field];
      }

      var user_info = getApp().globalData.userInfo;
      //获取一下接口，判断是不是有线下接口,必须是普通商品，全局优惠活动也是不行
      if (cur_goods.prom_type == 0 && !this.data.prom_goods) {
        cur_goods.offline_price = null;
        //如果没有门店，不用计算线下价格
        var def_pick_store = this.data.def_pick_store;
        if (!def_pick_store) return false;
        getApp().request.get("/api/weshop/goods/listWarePrice", {
          data: {
            VIPId: encodeURIComponent(user_info.erpvipid),
            store_id: os.stoid,
            PickupId: def_pick_store.pickup_id,
            WareIds: encodeURIComponent(cur_goods.erpwareid)
          },
          success: function (res) {
            if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
              var datalist = res.data.data;
              if (datalist[0].WarePrice < cur_price) {
                cur_goods.offline_price = datalist[0].WarePrice;  //存储线下活动的价格
                cur_goods.pricing_type = datalist[0].PriceType;   //存储线下活动的类型
              }
            }
            th.setData({ sele_g: cur_goods });
          }

        })
      }

    })


  },


  //---------点击收藏和不收藏------------
  collectGoods: function () {
    var t = this,
      i = getApp().request;
    var user_id = s.globalData.user_id;
    if (user_id == '') {
      getApp().getUserFir(function () { });
      getApp().showWarning("未登录");
      return false;
    } else {

      if (t.data.is_collect_load) return false;
      t.data.is_collect_load = 1;

      if (t.data.is_collect == 1) { //删除收藏
        i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, {
          success: function (e) {
            t.data.is_collect_load = 0;
            if (e.data.code == 0) {
              t.setData({
                is_collect: 0,
                collect_id: 0,
              });
              ut.m_toast('取消成功');
            }
          }
        });
      } else {
        var timestamp = Date.parse(new Date());
        timestamp = timestamp / 1000;
        var d = {
          goods_id: t.data.data.goods_id,
          user_id: s.globalData.user_id,
          store_id: o.stoid,
          add_time: timestamp,
        };
        //加入收藏夹就是导购的ID
        if (getApp().globalData.guide_id) {
          d.guide_id = getApp().globalData.guide_id;
          d.guide_type = 2;
        }
        if(getApp().globalData.groupchat_id){
          d.groupchat_id = getApp().globalData.groupchat_id;
        }
        i.post("/api/weshop/goodscollect/save", { //添加收藏
          data: d,
          success: function (e) {
            t.data.is_collect_load = 0;
            if (e.data.code == 0) {
              t.setData({
                is_collect: 1,
                collect_id: e.data.data.collect_id,
              });
              ut.m_toast('收藏成功 在【我的-收藏夹】中查看');
            }
          }
        });
      }
    }
  },

  //---------联系客服------------
  contactService: function () {
    getApp().com_call(this);
  },
  // 获取客服电话
  getTel() {
  	return new Promise((resolve, reject) => {
  		s.getConfig(function (t) {
  		    if (t.store_tel == undefined) {
  		        getApp().request.get("/api/weshop/store/get/" + os.stoid, {
  		            isShowLoading: 1,
  		            data: {},
  		            success: function (rs) {
  		                getApp().globalData.config = rs.data.data;
  		                if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
  		                    getApp().my_warnning("商家未设置电话", 0, th);
  		                    return false;
  		                }
  										self.setData({
  											store_tel: rs.data.data.store_tel,
  										});
  		                // s.confirmBox("请联系客服：" + rs.data.data.store_tel);
  		            }
  		        })
  		    } else {
  					self.setData({
  						store_tel: t.store_tel,
  					});
  		        // s.confirmBox("请联系客服：" + t.store_tel);
  		    };
  				resolve();
  		});
  	});
  },
  //-------获取购物车数量----------
  requestCardNum: function () {
    var t = this;
    getApp().request.get("/api/weshop/cart/page", {
      data: {
        store_id: o.stoid,
        user_id: s.globalData.user_id,
        state: 0,
        is_gift: 0
      },
      success: function (e) {
        var num = 0;
        for (var i = 0; i < e.data.data.pageData.length; i++) {
          num += e.data.data.pageData[i].goods_num;
        }

        //-- 读取服务卡的数量 --
        getApp().promiseGet("/api/weshop/cartService/page", {
          data: {
            store_id: s.globalData.setting.stoid,
            user_id: s.globalData.user_id,
          }
        }).then(res => {
          for (var i = 0; i < res.data.data.pageData.length; i++) {
            num += res.data.data.pageData[i].goods_num;
          }
          t.setData({ cartGoodsNum: num });
        })
      }
    });
  },

  previewCommentImgs: function (t) {
    var e = this.data.comments[t.currentTarget.dataset.cidx].img;
    var b = e.slice()
    for (var i in b) {
      b[i] = this.data.iurl + e[i];
    }
    this.data.show_prew_img = 1;
    getApp().pre_img2(b,t);
  },

  previewCommentImgs_w: function (t) {
    var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img;
    var b = e.slice()
    for (var i in b) {
      b[i] = this.data.iurl + e[i];
    }
    this.data.show_prew_img = 1;
    getApp().pre_img2(b,t);
  },

  previewGoodsCommentImgs: function (t) {
    var e = this,
      a = this.data.data.comment[t.currentTarget.dataset.cidx].img;
    getApp().globalData.no_clear=1;
    a = a.map(function (t) {
      return e.data.url + t;
    }), getApp().pre_img2(a,t);
    this.data.show_prew_img = 1;
  },
  closePromModal: function () {
    this.setData({
      openPromModal: !1
    });
  },
  openPromModal: function () {
    this.setData({
      openPromModal: !0
    });
  },

  //--点击分享事件---
  onShareAppMessage: function (t) {         getApp().globalData.no_clear=1;

    // var th = this;
    // var price = th.data.sele_g.shop_price;
    // if (th.data.prom_act) {
    //   price = th.data.prom_act.price;


    // }
    // var title = th.data.sele_g.goods_name;
    // var img = th.data.sele_g.original_img;
    // if (th.data.prom_type == 6 || th.data.prom_type == 1 || th.data.prom_type == 4) {
    //   title = th.data.prom_act.share_title;
    //   if (!title) title = th.data.prom_act.title;
    //   if (th.data.prom_type == 4) title = th.data.prom_act.name;

    //   if (th.data.prom_act.share_imgurl)
    //     img = th.data.iurl + th.data.prom_act.share_imgurl;
    // }


    // var url = "/pages/goods/goodsInfo/goodsInfo?goods_id="
    //     + th.data.sele_g.goods_id+"&prom_type="+th.data.sele_g.prom_type+"&prom_id="+th.data.sele_g.prom_id;
    // if (getApp().globalData.user_id) {
    //   url += "&first_leader=" + getApp().globalData.user_id;
    // }

    // //-- 如果房间分享，且不是会员分享的 --	 
    // if (getApp().globalData.room_id &&
    //   th.data.sele_g.goods_id == getApp().globalData.room_goods_id &&
    //   !getApp().globalData.room_user_share
    // ) {
    //   url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
    // }

    // var ob = {
    //   title: price + "元  " + title,
    //   path: url,
    //   imageUrl: img,
    // };
    // if (th.data.prom_type == 6) {
    //   title += '\n' + th.data.prom_act.share_remark;
    //   ob.title = title;
    //   ob.desc = th.data.prom_act.share_remark;
    // }

    // //如果是积分购的时候
    // if (th.data.prom_type == 4) {
    //   var name = th.data.prom_act.name;
    //   //-- 积分购的 --
    //   var pri0 = th.data.prom_act.addmoney;
    //   var integral = th.data.prom_act.integral;
    //   var text = "";
    //   if (integral) { text = integral + "积分"; }
    //   if (pri0 && integral) { text += "+"; }
    //   if (pri0) { text += "￥" + pri0; }

    //   ob.title = text + " " + name;
    // }

    //   var title = th.data.sele_g.goods_name;
    //   var img = th.data.sele_g.original_img;

    //   var url = `packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=${th.data.sele_g.goods_id}&prom_type=9&group_id=${th.data.group_id}`; //当前页面url
    //   if (getApp().globalData.user_id) {
    //     url += "&first_leader=" + getApp().globalData.user_id;
    //   }

    //   console.log(url)

    //   var ob = {
    //     title: price + "元  " + title,
    //     path: url,
    //     imageUrl: img,
    //   };

    // return ob;


    var pagePath = `packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=${this.data.sele_g.goods_id}&prom_type=9&group_id=${this.data.group_id}`; //当前页面url
    // console.log('pagePath=====xxxxxx>', pagePath);
    var imgPath = this.data.iurl + this.data.luckGoInfo.original_img;
    if (pagePath.indexOf('/') != 0) {
      pagePath = '/' + pagePath;
    }

    if(getApp().globalData.user_id){
        if(pagePath.indexOf("?")>0){
            pagePath+="&first_leader="+getApp().globalData.user_id;
        }else{
            pagePath+="?first_leader="+getApp().globalData.user_id;
        }
    }

      //群id分享
      if (getApp().globalData.groupchat_id) {
        pagePath+="&groupchat_id="+getApp().globalData.groupchat_id
      }

    return {
      title: "邀您一起参加幸运购",
      path: pagePath,
      imageUrl: imgPath,
    }



  },

  //-----图片失败，默认图片-----
  bind_bnerr: function (e) {
    var _errImg = e.target.dataset.errorimg;
    var _errObj = {};
    _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif";
    this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  },

  //-----图片失败，默认图片-----
  bind_bnerr2: function (e) {

    var _errImg = e.target.dataset.errorimg;
    var _errObj = {};
    _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png"
    this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  },

  //----------装载同一条形码的商品----------
  async get_sku(stoid, gd, g_id, is_normal, func) {
    console.log('get_sku');
    var tt = this, arrdata = null;
    var now = ut.gettimestamp();
    await getApp().request.promiseGet("/api/weshop/goods/page", {
      data: {
        store_id: o.stoid,
        sku: gd.sku,
        more_spec: gd.more_spec,
        isonsale: 1,
        is_on_sale: 1,
        pageSize: 500,
        orderField: 'gg_ordid,goods_spec,sort'
      }
    }).then(res => {
      var e = res;
      if (e.data.code == 0) arrdata = e.data.data.pageData;
    })
    if (!arrdata) return false;

    var arrsku = new Array();
    var gitem = null;
    var gb = 1, gg = "";
    for (var i = 0; i < arrdata.length; i++) {
      var goodsinfo = arrdata[i], prom = null;
      if (goodsinfo.goods_id != g_id) {

        switch (goodsinfo.prom_type) {
          case 1:
            await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + goodsinfo.prom_id, {
            }).then(res => {
              if (res.data.code == 0) prom = res.data.data;
            })

            break;
          case 6:
            await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {
            }).then(res => {
              console.log(res);
              if (res.data.code == 0) prom = res.data.data;
            })

            break;
          case 2:
            await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {
            }).then(res => {
              if (res.data.code == 0) prom = res.data.data;
            })
            break;
          case 4:
            await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {
            }).then(res => {
              if (res.data.code == 0) prom = res.data.data;
            })
            break

          case 8:
            continue;

          case 8:
            continue;

        }


      }else{
        //只有是普通商品购买的时候，才要给商品赋值指定门店
        if (is_normal && goodsinfo.pick_group_ids) {
            goodsinfo.pickup_ids = goodsinfo.pick_up_lists;
        }
      }
      //---如果有活动，不算在一起---
      if (prom) {
        if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) {
          console.log(prom);
          if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) continue;
        } else {
          continue;
        }
      }

      var item = arrdata[i], gg = "";
      if (goodsinfo.goods_id != g_id && goodsinfo.pick_group_ids ) {
        item.pickup_ids= goodsinfo.pick_up_lists;
      }

      if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = "";
      if (item.goods_color == "null" || item.goods_color == null) item.goods_color = "";

      if (item.goods_spec != "" && item.goods_color != "") {
        gg = item.goods_spec + "/" + item.goods_color;
      } else if (item.goods_spec != "" || item.goods_color != "") {
        gg = item.goods_spec + item.goods_color;
      } else {
        gg = "规格" + gb;
        gb++;
      }
      item.gg = gg;

      if (item.spec_img)
        item.original_img = os.imghost + item.spec_img;
      else
        item.original_img = os.imghost + item.original_img;


      if (item.goods_id == g_id) {
        gitem = item;
      } else {
        arrsku.push(item);
      }
    }
    //-----------排列在最前面-------------
    arrsku.splice(0, 0, gitem);
    if (is_normal == 1) {
      tt.setData({
        sku_g_pt: arrsku,
        sele_g: gitem
      });
      func();
    } else {
      tt.setData({
        sku_g: arrsku,
        sele_g: gitem
      });
    }
  },

  //-----------选择属性的按钮事件----------
  sele_spec: function (e) {

    //防止重复点击
    if(this.data.sp_seleing){
      return false;
    }
    this.setData({sp_seleing:1})

    var that = this, ee = this, th = this;
    var gid = e.currentTarget.dataset.gid;
    var nor = e.currentTarget.dataset.nor;

    //在切换规格的时候，指定门店不匹配的状态要清理
    if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){
      th.data.def_pick_store.is_no_dis_nor=0;
      that.setData({
        def_pick_store: th.data.def_pick_store
      })
    }


    var sku_g = this.data.sku_g;
    if (nor) {
      sku_g = this.data.sku_g_pt;
    }

    var item = null;
    for (var i in sku_g) {
      if (sku_g[i].goods_id == gid) {
        item = sku_g[i];
        break
      }
    }
    if (item) this.setData({
      sele_g: item,
      gid: gid
    });


    this.get_sto(that.data.is_normal,()=>{
        that.sele_spec_next(gid,item)
    });


  },



  sele_spec_next(gid,item){
      var that = this;
      that.check_is_youhui(gid, that.data.is_normal);

     //默认门店要拿下门店库存
     if (!getApp().is_virtual(item) && !item.whsle_id && that.data.sales_rules >= 2 && that.data.def_pick_store) {
      var lock = 0, plist = null;
      // //先读取门店的lock,采用链式写法，少用await
      // getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
      //   data: { store_id: os.stoid, wareId: ee.data.sele_g.goods_id, storageId: that.data.def_pick_store.pickup_id, pageSize: 1000 }
      // }).then(res => {
      //   if (res.data.code == 0 && res.data.data.total > 0) {
      //     for (var i in res.data.data.pageData)
      //       lock += res.data.data.pageData[i].outQty
      //   }
      //   //---通过接口获取门店的线下库存信息--
      //   return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
      //     data: { storageNos: that.data.def_pick_store.pickup_no, wareIds: encodeURIComponent(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 });
      // })

      that.check_CanOutQty(that.data.sele_g, that.data.def_pick_store, function (CanOutQty) {
        that.data.def_pick_store.CanOutQty = CanOutQty;
        //--给门店赋值线下库存--
        that.setData({
          def_pick_store: that.data.def_pick_store
        });
      })

    }

    that.sele_spec_chech_activity();

  },

  //选择了不同的规格的时候要判断是不是有活动正在进行中
  async sele_spec_chech_activity() {
    //---如果是活动的时候---
    var prom = null, goodsinfo = this.data.sele_g, th = this;
    var user_id = getApp().globalData.user_id;
    if (!user_id) user_id = 0;
    if (goodsinfo.prom_type == 1) {
      await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {
      }).then(res => {
        if (res.data.code == 0) {
          prom = res.data.data;
          prom.price = prom.user_price;
        }
      })
    }
    if (goodsinfo.prom_type == 6) {
      await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {
      }).then(res => {
        if (res.data.code == 0) {
          prom = res.data.data;
        }
      })
    }

    if (goodsinfo.prom_type == 4) {
      await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, {
      }).then(res => {
        if (res.data.code == 0) {
          prom = res.data.data;
        }
      })
    }

    //----------如果有活动，并且在进行中，就不计算线下库存---------------
    var now = ut.gettimestamp();
    if (prom) {

      var t1 = prom.start_time;
      var prom_st = 1;
      if (prom.show_time) {
        t1 = prom.show_time;
        if (prom.start_time > now) prom_st = 0;
      }
      if (prom.is_end == 0 && prom.end_time > now && t1 < now) {
        th.setData({
          prom_type: goodsinfo.prom_type,
          prom_price: prom.price,
          prom_buy_limit: prom.buy_limit,
          prom_end_time: prom.end_time,
          prom_start_time: prom.start_time,
          prom_st: prom_st,
          prom_act: prom,
          prom_id: prom.id,
          sp_seleing:0
        })

        //却换图片
        th.init(goodsinfo.goods_id);
        var newTime = ut.gettimestamp();
        var endTime2 = prom.end_time;
        var endTime1 = prom.start_time;

        this.data.is_timer = 0;

        setTimeout(function () {
          th.data.is_timer = 1;
          if (endTime1 > newTime) {
            th.setData({
              prom_time_text: '距秒杀开始还有'
            })
            th.countDown(th.data.luckGoInfo.end_time, 0);
          } else {
            if (endTime2 > newTime) {
              th.setData({
                prom_time_text: '距秒杀结束还有',
                prom_st: 1
              })
              th.countDown(th.data.luckGoInfo.end_time);
            }
          }

        }, 1000)

        return false;
      }
    }
    //---设置普通商品---
    th.setData({
      prom_type: 0,
      prom_price: null,
      prom_buy_limit: null,
      prom_end_time: null,
      prom_start_time: null,
      prom_st: null,
      sp_seleing:0
    })

  },


  //---------拿出门店分类和门店------------
  get_sto(e,func) {

    var th = this, that = this;
    var is_normal = e;

    if (e == 1) {
      th.setData({ is_normal: 1 })
    } else {
      th.setData({ is_normal: 0 })
    }
    th.data.get_sto_ing=1;

    var timer_get = setInterval(function () {
      if (th.data.is_get_local_ok == 0) return false;
      if (!th.data.fir_def_store) return false;
      var dd = null, i = getApp().request;
      if (!th.data.sele_g){th.data.get_sto_ing=0; return false;}

      var g_distr_type = th.data.sele_g.distr_type;
      if (g_distr_type != 0) {
        dd = {
          store_id: o.stoid,
          distr_type: g_distr_type,
          isstop: 0,
          is_pos: 1,
          pageSize: 2000
        }
      } else {
        dd = {
          store_id: o.stoid,
          isstop: 0,
          is_pos: 1,
          pageSize: 2000
        }
      }
      //如果有距离的话
      if (th.data.lat != null) {
        dd.lat = th.data.lat;
        dd.lon = th.data.lon;
      }
      clearInterval(timer_get);

      //如果会员是有默认的门店话
      if (!th.data.def_pick_store && th.data.fir_def_store) {
        th.setData({ def_pick_store: th.data.fir_def_store });
      }
      wx.showLoading({
        title: '加载中.'
      });
      //----------获取门店----------------
      getApp().request.promiseGet("/api/weshop/pickup/list", {
        data: dd,
      }).then(res => {
         var e = res;

         if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {

          //-- 如果有指定门店的时候 --
          if(th.data.sele_g.pickup_ids && th.data.is_normal){

            var ok_arr=[];
            for (let i in e.data.data.pageData) {
              let ite = e.data.data.pageData[i];
              //-- 查找一下门店有没有在 --
              var idx=th.data.sele_g.pickup_ids.findIndex(function (e){
                return e.pickup_id==ite.pickup_id;
              })
              if(idx>-1){
                ok_arr.push(ite)
              }
            }

            //判断会员的默认的门店是不是匹配指定的门店
            if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){
                //-- 查找一下门店有没有在 --
                var idx1=th.data.sele_g.pickup_ids.findIndex(function (e){
                  return e.pickup_id==th.data.def_pick_store.pickup_id;
                })

                if(idx1<0){
                  th.data.def_pick_store.is_no_dis_nor=1;
                  that.setData({
                    def_pick_store: th.data.def_pick_store
                  })
                }
            }


            e.data.data.pageData=ok_arr;     //数组重新赋值
            e.data.data.total=ok_arr.length; //数组的长度
          }


          var his_cate_num = 0;
          for (let i in e.data.data.pageData) {
            let item = e.data.data.pageData[i];
            if (item.category_id > 0) {
              his_cate_num = 1;
            }
            if(getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2){
              e.data.data.pageData[i].CanOutQty=100000;
            }
          }
          e.his_cate_num = his_cate_num;
          if(th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'
              && getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2)
          {
            th.setData({'def_pick_store.CanOutQty':100000})
          }

          //如果有开启距离的功能，没有设置默认门店，要用最近的门店作为默认门店
          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 (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id &&
              th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1,2,4,6,8,9].indexOf(th.data.prom_type)== -1 || is_normal == 1)) {
            setTimeout(function () {
              th.deal_pickup_dline(e);
            }, 800)
          } else {
            setTimeout(function () {
              th.deal_pickup(e);  //--普通门店排版--
            }, 800)
          }

          if(func) func();

        }
      },err=>{
         th.data.get_sto_ing=0;
         ut.m_toast('网络繁忙，请稍后重试');
         wx.hideLoading();
      })
    }, 200)

  },
  //获取搜索门店输入的值
  input_store: function(e) {
    this.setData({
      keyword: e.detail.value
    })
  },
  //搜索门店
  searchfn(){
    let choice_sort_store = this.data.choice_sort_store
    if (choice_sort_store==0) {  //全局搜索
      let all_pick_list = this.data.all_pick_list
      let def_pickpu_list = this.data.def_pickpu_list
      let keyword = this.data.keyword
      if (keyword) {
        let arr=all_pick_list.filter( item =>{
          let i = item.pickup_name.indexOf(keyword)
          if (i > -1) {
            return true
          }else{
            return false
          }
        })
        if (arr && arr.length>0) {        
          if(this.data.is_show_sto_cat==1){
            this.setData({
              def_pickpu_list:arr
            })       
          }else{
            this.setData({
              only_pk:arr
            })     
          }
        }else{
          wx.showToast({
            title: '没有搜索到门店',
            icon: 'none',
            duration: 2000
          })
        }
      }else{
        if (this.data.is_show_sto_cat==1) {
          this.setData({
            def_pickpu_list:all_pick_list.slice(0,10)
          })       
        }else{
          this.setData({
            only_pk:all_pick_list
          })     
        }

      }
    }else{   //分类下搜索
      let sec_i=this.data.sec_i
      let all_sto = this.data.all_sto
      let old_all_sto = this.data.old_all_sto
      if (!old_all_sto) {
        this.setData({
          old_all_sto:JSON.parse(JSON.stringify(all_sto))
        })
      }
      let sec_sto= this.data.sec_sto
      let sec_arr = this.data.old_all_sto[sec_i].s_arr
      let keyword = this.data.keyword
      let text='sec_sto.s_arr'
      if (keyword) {
        let arr=sec_arr.filter( item =>{
            let i = item.pickup_name.indexOf(keyword)
            if (i > -1) {
              return true
            }else{
              return false
            }
        })
        if (arr && arr.length>0) {
          this.setData({
            [text]:arr
          })                
        }else{
          wx.showToast({
            title: '没有搜索到门店',
            icon: 'none',
            duration: 2000
          })
        }
      }else{
        if(this.data.old_all_sto){
          this.setData({
            [text]: this.data.old_all_sto[sec_i].s_arr
          })
        }else{
          this.setData({
            [text]: all_sto[sec_i].s_arr
          })
        } 

      }


    }
  },


  //-- 处理首页的显示门店 ---
  deal_front_pk(){
    var th=this;
    if(this.data.fir_set_sto==1){
      this.data.fir_set_sto=0;
      var cp_data=null
      if(th.data.def_pick_store && th.data.def_pick_store.pickup_id){
        cp_data=JSON.parse(JSON.stringify(th.data.def_pick_store));
      }
      th.setData({
        front_pick:cp_data,
        front_only_pk:th.data.only_pk,
        front_def_pickpu_list:th.data.def_pickpu_list,
        front_pickpu_listt:th.data.pickpu_list,
        front_all_sto:th.data.all_sto,
        front_is_show_sto_cat:th.data.is_show_sto_cat,
      })
    }

    this.data.get_sto_ing=0;

  },

  //------------处理门店---------------
  deal_pickup(e) {
    var th = this;
    if (!th.data.sele_g){th.data.get_sto_ing=0;return false}

    var g_distr_type = th.data.sele_g.distr_type;
    wx.hideLoading();

    //单总量超出10个的时候，同时门店有分类
    if (e.data.data.total > 10 && e.his_cate_num) {
      getApp().request.get("/api/weshop/storagecategory/page", {
        data: {
          store_id: o.stoid,
          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 < 10; 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] })
              }
            }

            //-- 设置商品详情页面的门店显示情况 ---
            th.deal_front_pk();

          } 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] })
              }
              //-- 设置商品详情页面的门店显示情况 ---
              th.deal_front_pk();

          }
        }
      });
    } 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
        })
      }

      //-- 设置商品详情页面的门店显示情况 ---
      th.deal_front_pk();
    }
  },

  //------------处理线下门店库存--------
  deal_pickup_dline(e) {
    var pkno = [], th = this;
    if (!th.data.sele_g){th.data.get_sto_ing=0;return false;}

    if (this.data.def_pick_store) {
      pkno.push(this.data.def_pick_store.pickup_no);
    }
    for (var i in e.data.data.pageData) {
      var item = e.data.data.pageData[i];
      if (pkno.indexOf(item.pickup_no) < 0)
        pkno.push(item.pickup_no);
    }
    pkno.sort();
    var pkno_str = pkno.join(",");
    var o_plist = e.data.data.pageData;
    var new_list = [];
    var is_find_def_store = 0;


    var g_distr_type = th.data.sele_g.distr_type;
    var lock = [];

    var lock_rq = {
      store_id: os.stoid,
      wareId: th.data.sele_g.goods_id,
      pageSize: 1000
    };

    if (th.data.sales_rules == 3) {
      lock_rq.appoint_pick_keyid = th.data.appoint_pick_keyid;
    }

    //先读取门店的lock,采用链式写法，少用await
    getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
      data: lock_rq
    }).then(res => {
      if (res.data.code == 0 && res.data.data.total > 0) {
        lock = res.data.data.pageData
      }

      var sto_rq = {
        wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
        storeId: os.stoid,
        pageSize: 2000
      }

      if (th.data.sales_rules == 3) {
        sto_rq.storageIds = th.data.appoint_pick_keyid;
      } else {
        sto_rq.storageNos = pkno_str;
      }

      //---通过接口获取门店的线下库存信息--
      return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
        data: sto_rq
      })
    }).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;

          if (th.data.sales_rules == 3) {
            var lock_num = 0;
            var Qty = 0;
            //-- 计算锁住的库存 --
            for (var i in lock) lock_num += lock[i].outQty;
            Qty = plist[0].CanOutQty - lock_num;

            if (Qty > 0) {
              for (var kk in o_plist) {
                o_plist[kk].CanOutQty = Qty;
                new_list.push(o_plist[kk]);
              }
              if (th.data.fir_def_store &&
                  (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) {
                th.data.fir_def_store.Qty;
                if (def_pick_store && 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;
              }

              //-- 如果库存为0就要重新赋值 --
              def_pick_store.CanOutQty=Qty;
              th.setData({
                def_pick_store
              })



            } else {
              th.data.get_sto_ing=0;
              th.setData({
                all_sto: null,
                only_pk: null,
                def_pickpu_list: null
              });
              return false;
            }

          } else {


            //以原来的数组为外循环，保证距离的顺序
            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;
                    }

                    //-- 如果库存为0就要重新赋值 --
                    if(n_item.StorageNo ==def_pick_store.pickup_no) {
                      def_pick_store.CanOutQty= o_plist[kk].CanOutQty;
                      th.setData({ def_pick_store })
                    }

                  }
                  break;
                }
              }
            }
          }

          //数据组装下
          var em = {}; em.data = {}; em.data.data = {};
          em.data.data.total = new_list.length;
          em.data.data.pageData = new_list;
          em.data.data.pageData = new_list;

          //--如果找到默认门店,同时也应该判断配送方式对不对--
          if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) {
            th.data.fir_def_store.CanOutQty = 0;
            //--当选择的门店是客户默认的门店的时候--
            if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) {
              th.setData({ def_pick_store: th.data.fir_def_store });
              em.data.data.pageData.unshift(th.data.def_pick_store);
            } else {
              em.data.data.pageData.splice(1, 0, th.data.fir_def_store);
            }
          }

          //---把数组组装进去---
          th.deal_pickup(em);
        } else {
          th.data.get_sto_ing=0;
          th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null })
        }
      } else {
        th.data.get_sto_ing=0;
        th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null })
      }
    })
  },

  find_lock_num(pick_id, lock) {
    var lock_num = 0;
    if (!lock) return 0;
    if (lock.length < 0) return 0;
    for (var i in lock) {
      if (pick_id == lock[i].pickupId) {
        lock_num += lock[i].outQty;
      }
    }
    return lock_num;
  },

  //----------取货门店被点击的效果------
  getmendian: function (t) {
    this.setData({
      ismend: 1,
    });
  },

  //----------隐藏取货门店，选取门店----------
  hidemend: function (e) {
    var pid = e.target.dataset.p_id;
    var pname = e.target.dataset.p_name;
    var p_distr_t = e.target.dataset.p_dis;
    this.setData({
      ismend: 0,
      is_sec_mend: 0,
      sto_sele_id: pid,
      sto_sele_name: pname,
      sto_sele_distr: p_distr_t
    });
  },

  //------显示取货2级----------
  show_sec: function (t) {
    var index = t.target.dataset.index;
    var item = this.data.all_sto[index];
    this.setData({
      is_sec_mend: 1,
      sec_sto: item
    });
  },

  //------隐藏取货门店2级----
  hide_sec_mend: function () {
    this.setData({ is_sec_mend: 0, });
  },

  //评论的调用
  requestComments_new: async function () {
    var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3;
    var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p;

    wx.showLoading();
    var req_where = {
      store_id: o.stoid, pageSize: 5, is_show: 1,
      parent_id: 0, goods_id: th.data.gid, commenttype: tp,
    }
    if (getApp().globalData.userInfo) {
      req_where.userId = getApp().globalData.user_id;
    }

    var rs_data = null;
    await getApp().request.promiseGet(t, { data: req_where }).then(res => {
      var tot = res.data.data.total;
      e.data.c_curr_p++;
      e.setData({
        com_num: tot, //已经有加载
      });
      if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
        rs_data = res.data.data.pageData;
      } else {
        th.setData({ comments_no_more: 1, auto: 1 });
      }
    })

    if (rs_data) {
      //var cda = th.data.comments;
      var cda = rs_data, com_data = th.data.comments;
      for (var ind in cda) {
        var ep = cda[ind];
        if (cda[ind].head_pic == '') {
          cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
        }
        if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
          cda[ind].weapp_img = JSON.parse(ep.weapp_img);
        }
        if (ep.img != "" && ut.isString(ep.img)) {
          cda[ind].img = ut.unserialize(ep.img);
        }

        //--测量多有字的宽带，计算有多少行--
        var widh = ut.measureText(ep.content, 30);
        var lines = widh / 712;
        cda[ind].seeMore = false;
        if (lines > 3) cda[ind].seeMore = true;

        await getApp().request.promiseGet("/api/weshop/comment/pageComment", {
          data: { store_id: o.stoid, parent_id: ep.comment_id }
        }).then(res => {
          if (res.data.data.pageData && res.data.data.pageData.length > 0) {
            cda[ind].replay_list = res.data.data.pageData;
          }
        })
      }

      if (!com_data) com_data = cda;
      else com_data = com_data.concat(cda);

      th.setData({ comments: com_data });
    }
    th.setData({ get_c: 1 });
    wx.hideLoading();
  },

  //加载更多是靠这个函数
  onReachBottom: function () {
    if (this.data.activeCategoryId == 2) {
      if (!this.data.comments_no_more) this.requestComments_new();
    }

    var goods_list = this.selectComponent("#goods_list"); //组件的id
    if (goods_list) goods_list.get_list();
  },

  //--------检查是否活动，活动是否开始，或者是否结束-------
  async check_prom(gid, prom_type, prom_id) {
    var ee = this, th = ee;
    var user_id = getApp().globalData.user_id;
    if (!user_id) user_id = 0;

    if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7) {
      this.setData({
        prom_type: 0, isshow: 1,
      });
      return false;
    }

    if (prom_type == 1 && prom_id == 0) {
      this.setData({
        prom_type: 0, isshow: 1,
      });

      //获取门店
      this.get_sto();
      this.get_sku(o.stoid, this.data.data, gid);
      this.check_has_flash();
      return false;
    }

    //if (prom_type != 3 && prom_type!=0){
    //---判断秒杀----
    if (prom_type == 1 && prom_id > 0) {
      //-------判断活动是否抢光---------
      await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
        1: 1
      }).then(res => {
        var em = res;
        if (em.data.code == 0) {

          if (em.data.data <= 0) ee.setData({
            prom_r_null: 1
          });
          //拿取价格并且判断时间--
          getApp().request.get("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, {
            success: function (t) {
              if (t.data.code != 0) {
                ee.setData({
                  prom_type: 0,
                  isshow: 1,
                });
                ee.get_sku(os.stoid, ee.data.data, gid);
                return false;
              }
              //----已经结束-----
              if (t.data.data.is_end == 1) {
                ee.setData({
                  prom_type: 0,
                  isshow: 1,
                });
                ee.get_sku(os.stoid, ee.data.data, gid);
                ee.get_sto();
                return false;
              }
              //----已经过期-----
              var now = ut.gettimestamp();
              if (t.data.data.end_time < now) {
                ee.setData({
                  prom_type: 0,
                  isshow: 1,
                });
                ee.get_sku(os.stoid, ee.data.data, gid);
                return false;
              }

              /*-- 还没有开始预热的也不显示 --*/
              if (t.data.data.show_time > now) {
                ee.setData({
                  prom_type: 0,
                  isshow: 1,
                });
                ee.get_sku(os.stoid, ee.data.data, gid);
                ee.get_sto();
                return false;
              }

              var t_gd = ee.data.data;
              var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
              var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");

              ee.setData({
                prom_price: t.data.data.user_price,
                prom_type: 1,
                prom_id: prom_id,
                prom_buy_limit: t.data.data.buy_limit,
                prom_act: t.data.data,
                prom_end_time: prom_end_time,
                prom_start_time: prom_start_time,
                isshow: 1,
              });

              ee.get_sto();
              var newTime = ut.gettimestamp();
              var endTime2 = t.data.data.end_time;
              var endTime1 = t.data.data.start_time;
              if (endTime1 > newTime) {
                ee.setData({
                  prom_time_text: '距秒杀开始还有'
                })
                ee.countDown(endTime1, 0);
              } else {
                if (endTime2 > newTime) {
                  ee.setData({
                    prom_time_text: '距秒杀结束还有',
                    prom_st: 1
                  })
                  ee.countDown(endTime2);
                }
              }

              //如果是进行中的话
              if (endTime1 < newTime) {
                //-- 获取秒杀活动的多少规格 --
                ee.get_more_flahs(function (list) {
                  if (list && list.length > 1) {

                    var n_item = list[0];
                    var ind = list.findIndex(function (ele) {
                      return ele.goods_id == ee.data.data.goods_id;
                    })
                    if (ind < 0) return false;
                    if (ind > 0) {
                      n_item = JSON.parse(JSON.stringify(list[ind]));
                      list.splice(ind, 1);
                      list.unshift(n_item);
                    }

                    ee.data.sele_g.viplimited = n_item.viplimited;
                    ee.data.data.viplimited = n_item.viplimited;

                    var gb = 1;
                    //-- 显示多规格 --
                    for (let i in list) {
                      let item = list[i];
                      var gg = "";
                      if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = "";
                      if (item.goods_color == "null" || item.goods_color == null) item.goods_color = "";

                      if (item.goods_spec != "" && item.goods_color != "") {
                        gg = item.goods_spec + "/" + item.goods_color;
                      } else if (item.goods_spec != "" || item.goods_color != "") {
                        gg = item.goods_spec + item.goods_color;
                      } else {
                        gg = "规格" + gb;
                        gb++;
                      }
                      item.gg = gg;
                      item.prom_id = item.prom_id;
                      item.prom_type = 1;
                    }

                    ee.setData({
                      sku_g: list,
                    });

                  }
                })
              }

            }
          });
        }
      })
    }

    if(prom_type==9){
      ee.get_sto();
      this.setData({ isshow: 1, });
    }

    // if (prom_type == 4) {
    //   //th.setData({is_integral_normal:1});
    //   var rdata = {
    //     store_id: o.stoid, stype: 1, stypeup: 1, goods_id: gid
    //   }

    //   var integrals = 0;
    //   var get_datas = {
    //     user_id: getApp().globalData.user_id, store_id: o.stoid,
    //   };
    //   await getApp().request.promiseGet("/api/weshop/users/getAllPoints", {
    //     data: get_datas
    //   }).then(res => {
    //     if (res.data.code == 0) {
    //       integrals = res.data.data.Integral;
    //     }
    //   })

    //   //获取一下积分活动
    //   await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", {
    //     data: rdata
    //   }).then(res => {
    //     //调用接口有数据的时候 	
    //     if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
    //       var inte_data = res.data.data.pageData[0];
    //       var can_integral = (parseFloat(integrals) >= parseFloat(inte_data.integral));
    //       ee.setData({
    //         prom_price: parseFloat(inte_data.addmoney),
    //         prom_integral: parseFloat(inte_data.integral),
    //         prom_type: 4,
    //         prom_id: inte_data.id,
    //         prom_buy_limit: inte_data.limitvipqty,
    //         prom_act: inte_data,
    //         isshow: 1,
    //         can_integral: can_integral,
    //         is_shopbuy: parseInt(inte_data.is_shopbuy ? inte_data.is_shopbuy : 0)
    //       });
    //       ee.get_sto();

    //     } else {
    //       ee.setData({ prom_type: 0, isshow: 1, });
    //       ee.get_sku(os.stoid, ee.data.data, gid);
    //       ee.get_sto();
    //       return false;
    //     }
    //   })

    // }

    //---判断拼单----
    // if (prom_type == 6) {
    //   //-------判断活动是否抢光---------
    //   await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
    //     1: 1
    //   }).then(res => {
    //     console.log(res,3114);
    //     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) {
    //           console.log(t,3124);
    //           if (t.data.code != 0) {
    //             ee.setData({
    //               prom_type: 0,
    //               isshow: 1,
    //             });
    //             ee.get_sku(os.stoid, ee.data.data, gid);
    //             ee.get_sto();
    //             return false;
    //           }
    //           //----已经结束-----
    //           if (t.data.data.is_end == 1) {
    //             ee.setData({
    //               prom_type: 0,
    //               isshow: 1,
    //             });
    //             ee.get_sku(os.stoid, ee.data.data, gid);
    //             return false;
    //           }
    //           //----已经过期-----
    //           var now = ut.gettimestamp();
    //           if (t.data.data.end_time < now) {
    //             ee.setData({
    //               prom_type: 0,
    //               isshow: 1,
    //             });
    //             ee.get_sku(os.stoid, ee.data.data, gid);
    //             ee.get_sto();
    //             return false;
    //           }

    //           /*-- 还没有开始预热的也不显示 --*/
    //           if (t.data.data.show_time > now) {
    //             ee.setData({
    //               prom_type: 0,
    //               isshow: 1,
    //             });
    //             ee.get_sku(os.stoid, ee.data.data, gid);
    //             ee.get_sto();
    //             return false;
    //           }

    //            /*-- 判断拼单是否启用 --*/
    //            if (!t.data.data.is_show) {
    //              console.log('没启用');
    //              wx.setNavigationBarTitle({
    //               title: '系统提示',
    //             });
    //             wx.showToast({
    //               title:'此商品暂时没有拼单活动',
    //               icon:'none',
    //               success(){
    //                 setTimeout(()=>{
    //                   wx.navigateBack()
    //                 },2000)
    //               }
    //             });                              
    //             return false
    //             ee.setData({
    //               prom_type: 0,
    //               isshow: 1,
    //             });
    //             ee.get_sku(os.stoid, ee.data.data, gid);
    //             ee.get_sto();
    //             return false;
    //           }

    //           //-------查看自己是不是有买过该团的商品，并还为支付，或者在进行中-------
    //           getApp().request.get("/api/weshop/order/page", {
    //             data: {
    //               pt_prom_id: prom_id,
    //               user_id: oo.user_id,
    //               store_id: os.stoid,
    //               pageSize: 1,
    //               page: 1
    //             },
    //             success: function (e) {
    //               if (e.data.code == 0 && e.data.data.pageData.length > 0) {
    //                 var odr = e.data.data.pageData[0];
    //                 th.data.buy_order = odr;
    //                 if (odr.pt_status == 0 && odr.order_status == 1) {
    //                   th.setData({
    //                     user_order_pt_state: 1
    //                   });
    //                 }
    //                 if (odr.pt_status == 1 && odr.order_status == 1) {
    //                   if (odr.is_zsorder == 4) {
    //                     getApp().request.promiseGet("/api/weshop/teamgroup/page/", {
    //                       data: {
    //                         store_id: os.stoid,
    //                         team_id: odr.pt_prom_id,
    //                         listno: odr.pt_listno
    //                       }
    //                     }).then(res => {
    //                       var now = ut.gettimestamp();
    //                       if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
    //                         var tgr = res.data.data.pageData[0];
    //                         //如果团的时间已经到了
    //                         if (now >= tgr.kt_end_time) {
    //                           th.update_jiti(tgr.id);
    //                         } else {
    //                           th.setData({
    //                             user_order_pt_state: 2
    //                           });
    //                         }
    //                       }
    //                     })

    //                   } else {
    //                     th.setData({
    //                       user_order_pt_state: 2
    //                     });
    //                   }
    //                 }

    //                 if (odr.pt_status == 2 && odr.is_zsorder == 4) {
    //                   th.setData({
    //                     user_order_pt_state: 3,
    //                   });
    //                   th.data.wk_order_id = odr.order_id;
    //                 }
    //               }
    //             },
    //           });

    //           //----------查看阶梯团------------
    //           if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) {
    //             t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist);
    //             var max_num = 0;
    //             t.data.data.ct_rylist.forEach(function (val, ind) {
    //               if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum);
    //             })
    //             t.data.data.max_ct_num = max_num;
    //           }

    //           var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
    //           var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
    //           ee.setData({
    //             prom_price: t.data.data.price,
    //             prom_type: 6,
    //             prom_id: prom_id,
    //             prom_buy_limit: t.data.data.buy_limit,
    //             prom_act: t.data.data,
    //             prom_end_time: prom_end_time,
    //             prom_start_time: prom_start_time,
    //             isshow: 1,
    //           });

    //           ee.get_sto();

    //           var newTime = now;
    //           var endTime2 = t.data.data.end_time;
    //           var endTime1 = t.data.data.start_time;

    //           if (endTime1 > newTime) {
    //             ee.setData({
    //               prom_time_text: '距拼单开始还剩:'
    //             })
    //             ee.countDown(endTime1, 0);
    //           } else {
    //             if (endTime2 > newTime) {
    //               ee.setData({
    //                 prom_time_text: '距拼单结束还剩:',
    //                 prom_st: 1
    //               })
    //               ee.countDown(endTime2);
    //             }
    //           }
    //           //-------查看有多少人在开这个团-------
    //           th.get_team_group(prom_id);
    //         }
    //       });
    //     }
    //   })
    // }

  },

  //--获取有多少人在开团--
  async get_team_group(prom_id) {
    var teamgroup = [],
      th = this,
      grounp_tatal = 0;
    //如果活动是开团不是商家团
    if (this.data.prom_act.kttype > 1) {

      var req_data = {
        store_id: os.stoid,
        pageSize: 3,
        page: 1,
        state: 2,
        team_id: prom_id,
        ordernum: 1
      };

      if (this.data.prom_act.kttype == 3 && this.data.prom_act.max_ct_num) {
        req_data.max_num = this.data.prom_act.max_ct_num;
      }

      //获取活动从表信息team_id
      await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
        data: req_data
      }).then(res => {
        teamgroup = res.data.data.pageData;
        grounp_tatal = res.data.data.total;
      })
      //获取订单的总数这个接口不能用
      for (i = 0; i < teamgroup.length; i++) {
        await getApp().request.promiseGet("/api/weshop/order/page", {
          data: {
            store_id: os.stoid,
            pt_status: 1,
            pt_listno: teamgroup[i].listno
          }
        }).then(res => {
          var order = res.data.data.pageData;
          teamgroup[i].open_num = order.length;
        })
        await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => {
          var user = res.data.data;
          teamgroup[i].user = user;
        })
      }

      if (teamgroup.length > 0) {
        th.setData({
          teamgroup: teamgroup,
          grounp_tatal: grounp_tatal
        });
        th.countDown2();
      }
    }
  },

  //---小于10的格式化函数----
  timeFormat(param) {
    return param < 10 ? '0' + param : param;
  },

  //----倒计时函数-----
  countDown(time, prom_st) {
    if (!this.data.is_timer) return false;
    var th = this;
    // 获取当前时间，同时得到活动结束时间数组
    var endTime = time;
    var newTime = ut.gettimestamp();
    // 对结束时间进行处理渲染到页面
    var obj = null;
    // 如果活动未结束，对时间进行处理
    if (endTime - newTime > 0) {
      var time = (endTime - newTime);
      // 获取天、时、分、秒
      var day = parseInt(time / (60 * 60 * 24));
      var hou = parseInt(time % (60 * 60 * 24) / 3600);
      var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
      var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
      obj = {
        day: this.timeFormat(day),
        hou: this.timeFormat(hou),
        min: this.timeFormat(min),
        sec: this.timeFormat(sec)
      }
      // console.log('cd');
    } else {



      obj = {
        day: '00',
        hou: '00',
        min: '00',
        sec: '00'
      }

      th.setData({
        djs: obj,
        isTimeUp: true,
      });
      // console.log('i am here');
      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,
          isnew:1,
          timetype:gd.viplimited_timetype
        },
        success: function (t) {
          if (t.data.code == 0) {
            var g_buy_num = t.data.data.goodsbuynum;

            //如果是秒杀的时候
            if (th.data.prom_type == 0 && gd.prom_type == 1) {
              gd.prom_type = 0;
            }

            if (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,
                  isnew:1
                },
                //-----获取-----
                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,
    })
  },

  //--点击弹起拼单--
  // ind == 1 为普通购买
  openSpecModel_pt: function (e) {

    if(this.data.get_sto_ing) return false;
    this.setData({ open_ind_store: 9 });
    // 判断是否有待支付订单
    var aid = this.data.group_id;
    var switOn = true;
    s.request.promiseGet('/api/weshop/prom/luckyOrder/page', {
      data: {
        store_id: os.stoid,
        user_id: oo.user_id,
        aid: aid,
        pay_status: 0, // 未支付
        order_status: 0, // 待支付
        pageSize: 1,
        page: 1
      }
    }).then(res => {
      if (res.data.code == 0) {
        if (res.data.data.total > 0) {
          // 待支付订单页面
          wx.showModal({
            title: "您已经购买了该商品待支付中",
            success: function (a) {
              if (a.confirm) {
                switOn = false;
                wx.navigateTo({
                  url: "/packageC/pages/luckyGo/luckyGo_order/luckyGo_order?order_id=" + res.data.data.pageData[0]['order_id']
                });
              }
            }
          });
        } else {
          //--先判断会员状态--
          var user_info = getApp().globalData.userInfo;
          if (user_info == null || user_info.mobile == undefined || user_info.mobile == '' || user_info.mobile == null) {
            wx.navigateTo({
              url: '/packageE/pages/togoin/togoin',
            })
            return false;
          };

          var th = this;
          var ind = parseInt(e.currentTarget.dataset.ind);

          if(th.data.front_pick && th.data.front_pick.pickup_id){
             th.setData({def_pick_store: ut.deep_cp(th.data.front_pick)});
          }



          //ind == 1是普通购买
          if (ind == 1) {
            //如果拼单的sku data是空的，就要先获取一下
            if (th.data.sku_g_pt) {

              //要同步指定门店
              th.set_sele_g(th.data.sku_g_pt);

              th.get_sto(1);
              th.setData({
                is_normal: ind,
                openSpecModal_pt: 1
              });
            } else {

              th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () {
                th.get_sto(1);
                th.setData({
                  is_normal: ind,
                  openSpecModal_pt: 1
                });
              });

              th.setData({
                is_normal: ind,
                openSpecModal_pt: 1
              });
            };
            th.check_is_youhui(th.data.gid, 1);
          } else {

            // //拼单商品从这里进，先判断有没有买过商品，
            // getApp().request.get("/api/weshop/order/page", {
            //   data: {
            //     // pt_prom_id: th.data.prom_act.id,
            //     user_id: oo.user_id,
            //     store_id: os.stoid,
            //     pageSize: 1,
            //     page: 1
            //   },
            //   success: function (e) {
            //     //--跳转到已经购买的情况--
            //     if (e.data.data.pageData.length > 0) {
            //       var odr = e.data.data.pageData[0];
            //       //还未支付
            //       if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
            //         wx.showModal({
            //           title: "您已经购买了该商品待支付中",
            //           success: function (a) {
            //             if (a.confirm) {
            //               wx.navigateTo({
            //                 url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
            //               });
            //             }
            //           }
            //         });
            //       } else if (odr.pt_status == 1 && odr.order_status == 1) {

            //         if (this.data.is_go_to_team_show) return false;
            //         this.data.is_go_to_team_show = 1;
            //         wx.showLoading();

            //         /*---
            //               wx.redirectTo({
            //                 url: "/packageG/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
            //               });--*/
            //         getApp().goto("/packageG/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
            //       });
            //     }
            //   }
            // });


            th.data.prom_type=9;

            th.get_sto();
            th.setData({
              is_normal: 0,
              openSpecModal_pt: 1,
              goodsInputNum:1
            });

          }
        }

      }
    });




  },

  //-----------------拼单生成方法---------------------
  addCart_pt: function () {

    //如果是切换规格的时候，让商品不能提交到确认订单的页面，否则活动会出错，金额也不对
    if(this.data.sp_seleing){
      return false;
    }

    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;
      // }

      this.addcart_pt_func();
    } else {
      this.addcart_pt_func();
    }
  },

  addcart_pt_func: function () {
    if (oo.user_id == null) {
      s.my_warnning("还未登录！", 0, this);
      return;
    }

    if(this.data.adding) return false;
    this.data.adding=1;

    wx.showLoading({
        mask:true
    });

    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.hideLoading();
              th.data.adding=0;
              wx.showModal({
                title: '提示',
                content: '超出商品限购'
              });

              var num = th.data.prom_buy_limit - th.data.prom_buy_num;
              if (num <= 0) num = 1;
              th.setData({goodsInputNum: num})
              return false;
            }
          }


          var redis_num = 0

          if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
            th.setData({
              sto_sele_name: ""
            });

          if (th.data.sto_sele_name == ""){
            wx.hideLoading();
            th.data.adding=0;
            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 (getApp().globalData.groupchat_id) {
            newd['groupchat_id'] = getApp().globalData.groupchat_id;
          }
          //让商品带上房间号
          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 && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) {
              var s_list = JSON.parse(conf.switch_list);

              var now = ut.gettimestamp();

              var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/');
              var end = new Date(str);
              end = Date.parse(end) / 1000;

              //如果后台有开启等级价的功能
              if (parseInt(s_list.rank_switch) == 2 && end > now) {
                var card_price = o[getApp().globalData.userInfo['card_field']];
                //如果会员有等级价
                if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null
                    && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) {
                  newd.goods_price = card_price;
                }
              }
            }

            //---如果是线下门店销售的时候---
            if (th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) {
              var pick = th.get_pick_from_list(th.data.sto_sele_id)

              th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) {
                if (CanOutQty) {
                  if (CanOutQty < e.data.goodsInputNum) {
                    wx.hideLoading();
                    th.data.adding=0;
                    wx.showToast({
                      title: '库存不足！',
                      icon: 'none',
                    });
                    return false;
                  }

                  th.by_next_func(newd);
                } else {
                  wx.hideLoading();
                  th.data.adding=0;
                  wx.showToast({
                    title: '库存不足！',
                    icon: 'none',
                  });
                  return false;
                }
              })

            } else {
              if (o.store_count <= 0) {
                wx.hideLoading();
                th.data.adding=0;
                wx.showToast({
                  title: '库存已为空！',
                  icon: 'none',
                });
                return false;
                //return s.my_warnning("库存已为空！", 0, th);
              }

              if (o.store_count < e.data.goodsInputNum) {
                wx.hideLoading();
                th.data.adding=0;
                wx.showToast({
                  title: '库存不足！',
                  icon: 'none',
                });
                return false;
                //return s.my_warnning("库存不足！", 0, th);
              }


              th.by_next_func(newd);
            }
            return false;


          }


          //-----如果是秒杀，团购，积分购,拼团,且不是普通购买-----
          if (th.data.prom_type == 9 && 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;
          //    }

          th.by_next_func(newd);
        }


    )
  },
  by_next_func(newd){
    var th=this;
    newd['pick_name'] = th.data.sto_sele_name;
    newd['pick_dis'] = th.data.sto_sele_distr;
    newd['is_normal'] = th.data.is_normal;

    wxlog.info(getApp().globalData.user_id+'-立即购买:'+JSON.stringify(newd));

    if (newd['is_normal']) {
      newd['is_pd_normal'] = 1;
      //判断一下有没有全局优惠活动
      th.buyNow(newd);
    }
    else {
      // 点击立即参团
      th.buyNow_pt(newd);
    }
  },

  //统一一下获取线下库存的函数
  async check_CanOutQty(goodsinfo, item, func) {

    var sales_rules = this.data.sales_rules;
    //如果默认是商品
    if(getApp().is_virtual(goodsinfo)){
      return func(100000);
    }

    var lock_rq = {
      store_id: os.stoid,
      wareId: goodsinfo.goods_id,
      pageSize: 1000
    };

    if (sales_rules == 2) {
      lock_rq.storageId = item.pickup_id
    } else {
      lock_rq.appoint_pick_keyid = encodeURIComponent(this.data.appoint_pick_keyid)
    }

    var lock = 0;
    var CanOutQty = 0;
    var plist = null;
    //先读取门店的lock
    await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
      data: lock_rq
    }).then(res => {
      if (res.data.code == 0 && res.data.data.total > 0) {
        for (var i in res.data.data.pageData)
          lock += res.data.data.pageData[i].outQty;
      }
    })

    var sto_req = {
      wareIds: encodeURIComponent(goodsinfo.erpwareid),
      storeId: os.stoid
    }
    if (sales_rules == 2) {
      sto_req.storageNos = item.pickup_no
    } else {
      sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid)
    }



    //读取线下的门店库存
    await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
      data: sto_req
    }).then(res => {
      if (res.data.code == 0 && res.data.data.total > 0) {
        plist = res.data.data.pageData[0];
      }
    })

    if (plist && plist.CanOutQty - lock > 0) {
      CanOutQty = plist.CanOutQty - lock;
    }

    if (func) func(CanOutQty);

  },


  //----------立即购买_pt-----------
  buyNow_pt: function (e) {
    s.set_b_now(e);
    wx.navigateTo({
      url: "/packageC/pages/luckyGo/luckyGo_cart_ct/luckyGo_cart_ct?is_bnow=1&group_id=" + this.data.group_id + "&goods_id=" + e.goods_id + "&alert=" + this.data.luckGoInfo.lc_alert + '&goods_price=' + this.data.luckGoInfo.group_price / 100 + '&is_show=' + this.data.luckGoInfo.is_show,
    });

    // getApp().goto("/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart?is_bnow=1&group_id=" + th.data.group_id +"&goods_id=" + e.goods_id + "&alert=" + th.data.luckGoInfo.lc_alert);
  },

  //-------跳转pt商品-------
  go_to_nopay: function () {
    var th = this;
    url = "/packageG/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 = "/packageG/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn;
    /*--
  wx.redirectTo({
    url:url,
  })--*/
    getApp().goto(url);

  },

  //---拼团倒计时---
  countDown2() {
    if (!this.data.is_timer) return false;
    var th = this;
    // 获取当前时间，同时得到活动结束时间数组
    var newTime = ut.gettimestamp();
    var List = th.data.teamgroup;
    for (var j = 0; j < List.length; j++) {
      // 对结束时间进行处理渲染到页面
      var endTime = List[j].kt_end_time;
      let obj = null;
      // 如果活动未结束，对时间进行处理
      if (endTime - newTime > 0) {
        let time = (endTime - newTime);
        // 获取天、时、分、秒
        let day = parseInt(time / (60 * 60 * 24));
        let hou = parseInt(time % (60 * 60 * 24) / 3600);
        let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
        let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
        obj = {
          day: this.timeFormat(day),
          hou: this.timeFormat(hou),
          min: this.timeFormat(min),
          sec: this.timeFormat(sec)
        }
      } else {
        //活动已结束，全部设置为'00'
        obj = {
          day: '00',
          hou: '00',
          min: '00',
          sec: '00'
        }
      }
      var txt = "timer[" + j + "]";
      th.setData({
        [txt]: obj
      });
    }
    setTimeout(th.countDown2, 1000);
  },
  //跳转参加团
  go_cj_team: function (e) {
    var ind = e.currentTarget.dataset.ind;
    var item = this.data.teamgroup[ind];
    var id = item.id;
    var th = this;

    getApp().request.get("/api/weshop/order/page", {
      data: {
        pt_prom_id: item.team_id,
        user_id: oo.user_id,
        store_id: os.stoid,
        pageSize: 1,
        page: 1
      },
      success: function (e) {
        if (e.data.code != 0) {
          getApp().my_warnning("读取订单失败", 0, th);
          return fasle;
        }
        //--跳转到已经购买的情况--
        if (e.data.data.pageData.length > 0) {
          var odr = e.data.data.pageData[0];
          //还未支付
          if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
            wx.showModal({
              title: "您已经购买了该商品待支付中",
              success: function (a) {
                if (a.confirm) {
                  wx.navigateTo({
                    url: "/packageG/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: "/packageG/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
                  });--*/

            getApp().goto("/packageG/pages/team/team_success/team_success?ordersn=" + odr.order_sn);

          } else {
            wx.navigateTo({
              url: "/packageG/pages/team/team_show/team_show?tg_id=" + id,
            });
          }
        }
        //--跳转到参团--
        else {
          wx.navigateTo({
            url: "/packageG/pages/team/team_show/team_show?tg_id=" + id,
          });
        }
      }
    })

  },

  //跳到团更多
  go_t_more: function () {
    var team_id = this.data.prom_id;
    wx.navigateTo({
      url: "/packageF/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.length > 0) {
        let goodInfo = th.data.data
        for (let index = quan_list.length-1; index >= 0; index--) {
          if (quan_list[index].useobjecttype==20) { //判断是单品优惠券
            if (quan_list[index].useobjectno != goodInfo.goods_sn) {
              quan_list.splice(index,1)
            }
          }            
        }
      }
      //------------------------
      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: '/packageE/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;
    }
    if(getApp().globalData.groupchat_id){
      pdata.groupchat_id = getApp().globalData.groupchat_id;
    }
    var app = getApp(),
      th = this;
    app.request.post("/api/weshop/couponList/saveCouponList", {
      data: pdata,
      success: function (res) {
        if (res.data.code == 0) {
          app.my_warnning("领取成功", 1, th);
          lq_num++;
          var text = "quan_list[" + index + "].lqnum";
          var text2 = "quan_list[" + index + "].linging";
          var obj = {};
          obj[text] = lq_num;
          obj[text2] = 0;
          th.setData(obj);
        } else {
          app.confirmBox(res.data.msg);
          var text2 = "quan_list[" + index + "].linging";
          var obj = {};
          obj[text2] = 0;
          th.setData(obj);
        }
      }
    })
  },


  drawPoster(context, unit, img, vpath) {
    // 1.灰色背景
    context.setFillStyle('#f2f1f6');
    context.rect(0, 0, 554 * unit, 899 * unit);
    context.fill();
    // 2.商城名称
    let shopName = this.data.sto_sele_name_1;
    // let shopNameLen = context.measureText(shopName);
    // let x_shopNameLen = (554 - shopNameLen.width)/2*unit;
    // console.log('11111111111111',shopNameLen,x_shopNameLen);
    context.setTextAlign('center');
    context.setFontSize(26 * unit);
    context.setFillStyle('black');
    context.fillText(shopName, 277 * unit, 60 * unit);
    // // 3.推荐来源

    if(getApp().globalData.userInfo) {
      let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
      // let fromTextLen = context.measureText(fromText);
      // let x_fromText = (375 - fromTextLen.width)/2;
      // console.log('222222',fromTextLen,x_fromText);
      context.setTextAlign('center');
      context.setFontSize(22 * unit);
      context.setFillStyle('#96959a');
      context.fillText(fromText, 277 * unit, 105 * unit);
    }
    // 4.海报背景
    // context.beginPath();
    // context.setStrokeStyle('#f2f1f6');
    context.setFillStyle('white');
    context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
    // context.stroke();
    // context.fill();
    // 5.商品图片
    // 图片的x坐标
    let bg_x = 37 * unit
    // 图片的y坐标
    let bg_y = 157 * unit
    // 图片宽度
    let bg_w = 480 * unit
    // 图片高度
    let bg_h = 474 * unit
    // 图片圆角
    let bg_r = 4
    // 绘制海报背景图片圆角
    context.save()
    context.beginPath()
    context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
    context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
    context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
    context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
    context.clip()
    context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
    context.restore()
    // 6.强烈推荐
    // context.beginPath();
    let tj_path = "../../../../images/share/q_tj.png";
    context.beginPath()
    context.drawImage(tj_path, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
    context.setFontSize(16 * unit)
    context.setLineJoin('round'); //交点设置成圆角
    context.setFillStyle("white")
    context.setTextAlign('left');
    context.fillText('强烈推荐', 64 * unit, 672 * unit);
    // 7.商品价格
    let price = '￥' + parseFloat( this.data.luckGoInfo.group_price/100).toFixed(2);
    context.setFontSize(32 * unit);
    context.setFillStyle('#DE1117');
    context.fillText(price, 54 * unit, 730 * unit);

    //-- 零售价的优化 --
    var wp= 60 * unit+ut.measureText( price, 32 * unit);
    var hp=730 * unit
    this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);

    // 8.商品标题
    context.setFontSize(20 * unit);
    context.setFillStyle('#898989');
    getApp().draw_Text(context, this.data.data.goods_name,
      54 * unit, 770 * unit, 240 * unit, 240 * unit, unit);
    // 9.小程序码
    context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
    context.setFontSize(16 * unit);
    context.setFillStyle('#777');
    context.fillText('长按识别二维码', 378 * unit, 810 * unit);
    // 10.竖线
    context.beginPath();
    context.setFillStyle('#eee');
    context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
    context.fill();

  },



  //---市场价划掉---
  draw_pos_price(context,w,h,market_price,unit){

    if(!this.data.sys_switch) return false;
    if(!this.data.sys_switch.is_retail_price) return false;


    context.setFillStyle("gray")
    context.setFontSize(22 * unit)
    var pri0 = "￥" + market_price;
    context.fillText(pri0, w, h);

    var c_h=h-6;
    context.setStrokeStyle('gray');
    context.setLineWidth(1 * unit);
    context.moveTo(w - 5, c_h);
    context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
    context.stroke();

  },



  //--定义的保存图片方法，分享团---
  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: '/packageE/pages/togoin/togoin', })
    //   return false;
    // }

    if (this.data.share_hidden) {
      this.setData({ share_hidden: false, });
    };

    //类型  0普通商品 1秒杀商品  2商家和会员团  3阶梯团  4阶梯团 9幸运购
    var type = 9;
    var th=this;
    
    if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;

    wx.showLoading({ title: '生成中...', })
    var that = this, th = that;
    //设置画板显示，才能开始绘图
    that.setData({
      canvasHidden: false
    })

    var app = getApp();
    var unit = that.data.screenWidth / 750 * 1.35;  //基础单位，
    var path2 = that.data.data.original_img;
    var scene = th.data.gid + "";
    scene += "." + th.data.sele_g.prom_type + "." + th.data.luckGoInfo.id;
    // th.data.sele_g.prom_id

    var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
    if (user_id > 0) {
      scene += "_" + user_id;
    }
    //-- 如果不是会员分享过来的要分享给别人 --
    if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
      //固定房间是第3个字符
      if (!user_id) scene += "_0";
      scene += "_" + getApp().globalData.room_id;
    }
    ///二微码
    var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
      os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo";

    console.log('path3......', path3);


    // 读取文件成功则OK--
    wx.getImageInfo({
      src: path3,
      success: function (res) {
        // 回调写法
        th.get_head_temp(th.get_goods_temp, function () {
          var vpath = res.path;
          var context = wx.createCanvasContext('share');
          // 先画背景
          var pg_path = "../../../../images/share/share_bg.png";


          //-- 如果有自定义海报的时候，判断背景的图片 --
          if (th.data.share_b_img) {
            pg_path = th.data.share_b_img;
          }
          // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);


          if (!th.data.share_b_img) { // 如果是普通商品，绘制新海报
            th.drawPoster(context, unit, th.data.share_goods_img, vpath);
          } else {
            context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
          };


          let nick=app.globalData.userInfo?app.globalData.userInfo.nickname:'';

          //-- 是自定义海报的情况下 --
          if (th.data.share_b_img ) {



            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(nick, x1, y1);
                var width = 24 * nick.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, 60 * unit);
              // var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
              //强烈推荐 改许程
              //  var tj_path = "../../../../images/share/q_tj.png";
              // let txt_gn = th.data.luckGoInfo.group_num + '人团';
              // let width_gn = ut.measureText(txt_gn, 15);
              //  context.drawImage(tj_path, 152 * unit + width, 54 * unit, (width_gn + 20) * unit, 30 * unit);
              //  context.setFontSize(16 * unit);
              //  context.setLineJoin('round'); //交点设置成圆角
              //  context.setFillStyle("white");
              //  context.fillText(txt_gn, 149 * unit + width + 15 * unit, 75 * unit);
              // 发出幸运购活动邀请
              // context.setFillStyle("#7f7f7f")
              // context.setFontSize(21.3 * unit)
              // context.fillText("向您发出幸运购邀请", 152 * unit, 90 * unit);
            }
          }



          var share_title = th.data.data.goods_name;
          //---产品名称---
          //文本换行 参数：1、canvas对象，2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
          if (th.data.share_b_img ) {
            context.setFillStyle("black");
            context.setFontSize(21.3 * unit)
            getApp().draw_Text(context, share_title,
              38 * unit, 180 * unit, 220 * unit, 220 * unit, unit);



            //------产品的价格-------
            context.setFontSize(23 * unit)
            context.setFillStyle("red")


            var pri0 = th.data.luckGoInfo.group_price / 100;
            // console.log('pri0========>>>>>', pri0);
            // if (th.data.prom_act)
            //   pri0 = th.data.prom_act.price;
            pri0 = parseFloat(pri0).toFixed(2);
            var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
            context.fillText("￥", wd1 - 15, 185 * unit);
            context.setFontSize(31 * unit)
            context.fillText(pri0, wd1, 185 * unit);

            var tj_path = "../../../../images/share/q_tj.png";
            context.drawImage(tj_path, 315 * unit, 158 * unit, 85 * unit, 30 * unit);
            context.setLineJoin('round'); //交点设置成圆角
            context.setFontSize(18 * unit);
            context.setFillStyle("white");
            context.fillText('参团价', 330 * unit, 179 * unit);

            //---市场价划掉---
            // context.setFillStyle("gray")
            // context.setFontSize(22 * unit)
             pri0 = "零售价：￥" + th.data.data.market_price.toFixed(2);
             var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;

            // context.fillText(pri0, wd2, 213 * unit);
            // context.setStrokeStyle('gray');
            // context.setLineWidth(1 * unit);
            // context.moveTo(wd2 - 5, 206 * unit);
            // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
            // context.stroke();

            th.draw_pos_price(context,wd2, 213 * unit,pri0,unit);

          }

          //---中间大图---
          if ( th.data.share_b_img ) {
            context.drawImage(th.data.share_goods_img, 70 * unit, 245 * unit, 408 * unit, 408 * unit);
          };

          //---自定义海报 产品质量保证
          if(th.data.share_b_img && th.data.poster.show_quality==1 ){
            var g_path = "../../../../images/share/s_gou.png";
            context.drawImage(g_path, 56 * unit, 658 * unit, 22 * unit, 22 * unit);
            context.setFillStyle("red")
            context.setFontSize(18 * unit)
            context.fillText("正品保证", 84 * unit, 678 * unit);

            context.drawImage(g_path, 218 * unit, 658 * unit, 22 * unit, 22 * unit);
            context.setFillStyle("red")
            context.setFontSize(18 * unit)
            context.fillText("纯实体店", 246 * unit, 678 * unit);

            context.drawImage(g_path, 388 * unit, 658 * unit, 22 * unit, 22 * unit);
            context.setFillStyle("red")
            context.setFontSize(18 * unit)
            context.fillText("官方验证", 420 * unit, 678 * unit);

          }

          //-------大图后面就不一样了-----------
          switch (type) {
            case 9:
              if(th.data.share_b_img){

              
                //---画线---
                // context.setLineWidth(1 * unit)
                // context.moveTo(32 * unit, 680 * unit)
                // context.lineTo(520 * unit, 680 * unit)
                // context.stroke();

                //---文字---
                context.setFillStyle("black")
                context.setFontSize(24 * unit)
                context.font = 'normal bold 18px';
                context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);

                //还差N人,即可成团
                let group_num = th.data.luckGoInfo.group_num;
                let num_joined = th.data.luckGoInfo.num;
                let delta1 = group_num - num_joined;
                let width_delta1 = ut.measureText(delta1, 15);
                context.setFillStyle("black");
                context.setFontSize(21.3 * unit);
                context.fillText(group_num + "人团，还差", 40 * unit, 772 * unit);
                context.setFillStyle("#FF6768");
                context.setFontSize(21.3 * unit);
                context.fillText(delta1, 160 * unit, 772 * unit);
                context.setFillStyle("black");
                context.setFontSize(21.3 * unit);
                context.fillText("人，即可成团", (170 + width_delta1) * unit, 772 * unit);

                // N人得商品,N人全额退款
                let group_win = th.data.luckGoInfo.group_win;
                let delta2 = group_num - group_win;
                let width_delta2 = ut.measureText(delta2, 16);
                let width_groupNum = ut.measureText(group_num, 15);
                let width_groupWin = ut.measureText(group_win, 15);
                context.setFillStyle("#FF6768");
                context.setFontSize(21.3 * unit);
                context.fillText(group_win, 40 * unit, 806 * unit);
                context.setFillStyle("black");
                context.setFontSize(21.3 * unit);
                context.fillText("人得商品，", (54 + width_groupWin) * unit, 806 * unit);
                context.setFillStyle("#FF6768");
                context.setFontSize(21.3 * unit);
                context.fillText(delta2, 160 * unit, 806 * unit);
                context.setFillStyle("black");
                context.setFontSize(21.3 * unit);
                context.fillText("人全额退款", (170 + width_delta2) * unit, 806 * unit);

                // 并得帮团惊喜礼品
                context.setFillStyle("black")
                context.setFontSize(21.3 * unit)
                context.fillText("并得帮团", 40 * unit, 840 * unit);
                context.setFillStyle("#FF6768")
                context.setFontSize(21.3 * unit)
                context.fillText("惊喜礼品", 130 * unit, 840 * unit);
                context.setFillStyle("black")
                context.setFontSize(21.3 * unit)
                context.fillText("！", 220 * unit, 840 * unit);
              }

              //---二维吗图---
              //-- 自定义海报 --
              if (th.data.share_b_img && th.data.poster) {
                var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
                var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
                context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
              } else {
                //---二维吗图---
                // context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);
              }

              break;

          }


          //--- 如果是自定义海报的时候 ---
          if ( th.data.share_b_img ) {

            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();
            }

          };


          if(th.data.poster && th.data.poster.show_time==1){
            var act_time = '';
            act_time="截止时间："+ ut.formatTime(th.data.luckGoInfo.end_time);
            context.setFillStyle("red")
            getApp().draw_Text(context, act_time, 38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
          }



          //把画板内容绘制成图片，并回调 画板图片路径
          context.draw(false, function () {
            setTimeout(function () {
              wx.canvasToTempFilePath({
                x: 0,
                y: 0,
                width: 750,
                height: 1217,
                destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
                destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
                canvasId: 'share',
                success: function (res) {

                  that.setData({
                    shareImgPath: res.tempFilePath,
                    canvasHidden: true
                  })

                  if (!res.tempFilePath) {
                    wx.showModal({
                      title: '提示',
                      content: '图片绘制中，请稍后重试',
                      showCancel: false
                    })
                    return false;
                  }

                  // wx.previewImage({
                  //   //将图片预览出来
                  //   urls: [that.data.shareImgPath]
                  // });
                  that.setData({
                    showPoster: true,
                  });
                  wx.hideLoading();
                }
              })
            }, 500)

          });
        });
      },
      fail: function (res) {
        console.log(res);
        wx.hideLoading();

      }
    });
  },

  // ----视频图片----
  // 图片计数器
  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?getApp().globalData.userInfo.head_pic:'';
    if (path2 == "") {
      ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
      tt(func);
    } else {
      path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
      path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
      wx.getImageInfo({
        src: path2,
        success: function (res) {
          //res.path是网络图片的本地地址
          ee.data.share_head = res.path;
          tt(func);
        },
        fail: function (res) {
          ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
          tt(func);
        }
      });
    }
  },
  //--获取商品图片的本地缓存，回调写法--
  get_goods_temp: function (tt) {
    var ee = this;
    if (ee.data.share_goods_img) {
      tt();
      return false;
    }

    var img_url = ee.data.data.original_img;
    if ((this.data.prom_type == 1 || this.data.prom_type == 6) && this.data.prom_act.share_imgurl) {
      img_url = this.data.iurl + this.data.prom_act.share_imgurl;
    }

    //获取商品是分享图信息
    wx.getImageInfo({
      src: img_url,
      success: function (res) {
        //res.path是网络图片的本地地址
        ee.data.share_goods_img = res.path;
        tt();
      },
      fail: function (res) {
        //获取默认空白图
        wx.getImageInfo({
          src: ee.data.iurl+'/miniapp/images/default_g_img.gif',
          success: function(res) {
            ee.data.share_goods_img = res.path; //分享的图片不能用网络的
            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);
  },


  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) {
    this.setData({
      keyword:''
    })
    //--先判断会员状态--
    var user_info = getApp().globalData.userInfo;
    // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
    //   wx.navigateTo({
    //     url: '/packageE/pages/togoin/togoin',
    //   })
    //   return false;
    // }

    var th = this;
    var ind = ee.currentTarget.dataset.ind;
    var isfront = ee.currentTarget.dataset.isfront;
    var bconfig = th.data.bconfig;
    th.data.isfront=0;
    if(isfront) th.data.isfront=1;

      //如果开启了，则不在选择门店
      if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){
          return false;
      }


      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_i:index,
      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 == 9 || 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);

      this.check_CanOutQty(goodsinfo, item, function (CanOutQty) {
        // let str = item.pickup_name + '库存不足！';
        if (!CanOutQty) {
          wx.showToast({
            title: item.pickup_name + '库存不足！',
            icon: 'none',
          });
          return false;
        }
        item.CanOutQty = CanOutQty;
        func();

      });

    }
  },


  //确定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?th.data.only_pk[index]:null; //当没有门店分类的时候
      }

    } else {
      var index = th.data.sec_pick_index;
      item = th.data.sec_sto.s_arr[index];
    }

    if(!item) return false;

    if (!th.data.sele_g) return false;
    //判断门店的配送方式是不是匹配
    var g_distr_type = th.data.sele_g.distr_type;
    if(th.data.isfront==1){
      g_distr_type = th.data.data.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(th.data.isfront){
        th.setData({
          front_pick: ut.deep_cp(item)
        })
      }

      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({
          // openSpecModal_pt: 1, 
          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?th.data.only_pk[index]:null; //当没有门店分类的时候
      }
    } else {
      var index = th.data.sec_pick_index;
      item = th.data.sec_sto.s_arr[index];
    }

    if(!item) return false;

    //判断门店的配送方式是不是匹配
    var g_distr_type = th.data.sele_g.distr_type;
    if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
      wx.showToast({
        title: "门店配送方式不匹配",
        icon: 'none',
        duration: 2000
      });
      return false;
    }

    //先设置之前,要判断是不是有库存
    th.check_the_pick(item, function () {
      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
      });

      if(th.data.isfront){
        th.setData({
          front_pick: ut.deep_cp(item)
        })
      }

      var openindstore = th.data.open_ind_store;
      if (openindstore == 1) {
        th.setData({
          openSpecModal: !0,
          openSpecModal_ind: openindstore,
          store: 0,
          choice_sort_store: 0,
          sort_store: 0,
        });
      } else if (openindstore == 2) {
        th.setData({
          openSpecModal: !0,
          openSpecModal_ind: openindstore,
          store: 0,
          choice_sort_store: 0,
          sort_store: 0,
        });
      }
      else if (openindstore == 4) { //4就是拼团
        th.setData({
          openSpecModal_pt: 1,      //打开拼团购买界面
          store: 0,                 //关闭门店
          choice_sort_store: 0,     //关闭门店2级
          sort_store: 0,             //关闭门店2级
        });
      }

      else {
        th.setData({
          store: 0,
          choice_sort_store: 0,
          sort_store: 0,
        })
      }

      //如果商品没有其他活动,要取一下线下价格
      th.get_off_price();

    })
  },

  wait_for_store_config: function () {
    var th = this;
    var t_time = setInterval(function () {
      if (th.data.bconfig == null) false;
      var e = th.data.bconfig;
      if (e && e.is_sort_storage) {
        wx.getLocation({
          type: 'gcj02',
          success: function (res) {
            th.data.lat = res.latitude;
            th.data.lon = res.longitude;
            th.data.is_get_local_ok = 1;
          },
          fail: function (res) {
            if (res.errCode == 2) {
              th.setData({
                is_gps: 0
              });
              if (th.data.is_gps == 0) {
                getApp().confirmBox("请开启GPS定位", null, 10000, !1);
              }

            } else {
              th.setData({
                is_gps: "3"
              });
            }

            th.data.is_get_local_ok = 1;
          }
        })
      } else {
        th.data.is_get_local_ok = 1;
      }
      clearInterval(t_time);
    }, 500)
  },
  //显示全部
  toggleHandler: function (e) {
    var that = this,
      index = e.currentTarget.dataset.index;
    for (var i = 0; i < that.data.comments.length; i++) {
      if (index == i) {
        for (var i = 0; i < that.data.comments.length; i++) {
          that.data.comments[index].auto = true;
          that.data.comments[index].seeMore = false;
        }
      }
    }
    that.setData({
      comments: that.data.comments
    })
  },

  //收起更多
  toggleContent: function (e) {
    var that = this,
      index = e.currentTarget.dataset.index;
    for (var i = 0; i < that.data.comments.length; i++) {
      if (index == i) {
        that.data.comments[index].auto = true;
        that.data.comments[index].seeMore = true;
      }
    }
    that.setData({
      comments: that.data.comments
    })
  },

  //---  获取卡类列表 ---
  getPlusCardType: function (func) {
    var storid = os.stoid;
    var th = this;
    var user = getApp().globalData.userInfo;
    if (!user) return false;
    getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
      var plusCard = res.data.data;
      var arr = [1219, 2089, 3031];
      var new_arr = new Array();
      var card_name_map = new Map();

      var list = [];
      for (var i = 0; i < plusCard.length; i++) {
        if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue;
        var name = "card" + plusCard[i].CorrPrice.toLowerCase();
        card_name_map.set(name, plusCard[i].CardName);
        list.push(plusCard[i]);
      }

      var ob = { "card_list": list, "name_map": card_name_map };
      func(ob);
    })
  },

  go_plus: function () {
    getApp().goto("/pages/user/plus/plus");
  },

  go_card_info: function () {
    getApp().goto("/packageE/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:async function (gid, is_nor) {
    var th = this;
    var user_id = getApp().globalData.user_id;
    if (!user_id) user_id = 0;

    //普通购买的时候，重新算一下组合购有没有
    if(is_nor){
      var arr3=null;
      var url = '/api/weshop/activitylist/listGoodActInfo2New';
      var req_d = {
        "store_id": os.stoid,
        "goods_id": gid,
        "user_id": user_id,
      }
      await getApp().request.promiseGet(url, {
        data: req_d,
      }).then(e=>{
        if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
          var arr = e.data.data;
          if(arr.length){
            arr3 = arr.filter(function (e) {
              return e.s_time < ut.gettimestamp() && e.prom_type==7;
            })
          }
        }
      })

      if(arr3 && arr3.length>0){
        //获取活动信息
        var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +arr3[0].act_id + "/" + getApp().globalData.user_id;
        await getApp().request.promiseGet(url, {

        }).then(e=>{
          if (e.data.code == 0 && e.data.data) {
            if (ut.gettimestamp() < e.data.data.start_time) {
              return false;
            }

            //判断组合购总数够不够
            var is_has_zh_num=(!e.data.data.zh_num || e.data.data.zh_buy_num<e.data.data.zh_num );

            if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time && is_has_zh_num) {
              //-- 获取商品列表 --
              th.data.zh_act=e.data.data;
              th.getUserBuyPromNum(e.data.data.id)
            }
          }
        })
      }
    }

    var r_data=null;
    //调用接口判断订单优惠，
    await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, {
    }).then(async res=>{
      if (res.data.code == 0 && res.data.data) {
        r_data = res.data.data;
        var max = 0, min = 0;
        //暂时积分够 不和 优惠，阶梯重叠
        if(th.data.zh_act){
          r_data.collocationList=null;
          r_data.ladderLists=null;
          r_data.promGoodsLists=null;
        }

        if (r_data.collocationList) {
          for (var i in r_data.collocationList) {
            if (max == 0) max = r_data.collocationList[i].price;
            if (min == 0) min = r_data.collocationList[i].price;

            if (max < parseFloat(r_data.collocationList[i].price)) max = r_data.collocationList[i].price;
            if (min > parseFloat(r_data.collocationList[i].price)) min = r_data.collocationList[i].price;
          }
          r_data.collocationPromList.max = (max + th.data.data.shop_price).toFixed(2);
          r_data.collocationPromList.min = (min + th.data.data.shop_price).toFixed(2);

          //如果有搭配促销先不和  阶梯促销和优惠测序重合,做到后台可以重合
          r_data.ladderLists=null;
          r_data.promGoodsLists=null;
        }

        //普通购买不在界面显示
        if(is_nor){
          th.data.collocationGoods=r_data.collocationPromList;
          th.data.prom_goods=r_data.promGoodsLists;
        }else{
          th.setData({
            order_prom: r_data.promOrder,
            collocationGoods: r_data.collocationPromList,
            prom_goods: r_data.promGoodsLists,
          })
        }
        th.is_show_more_buy();
      }
    })

    if (r_data && r_data.ladderLists) {
      var act_id = r_data.ladderLists[0].form_id;
      //-- 判断会员能不能参与阶梯促销 --
      await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
        if (res.data.code == 0 && res.data.data) {
          var prom_content = "";

          //暂定优惠促销还不能重叠
          if(res.data.data.good_object==0 && (r_data.promGoodsLists || th.data.zh_act)){
            return false;
          }

          if(res.data.data.good_object==1){
            r_data.promGoodsLists=null;
          }

          for (let jj in r_data.ladderLists) {
            if (r_data.ladderLists[jj].discount == 10) {
              prom_content += "第" + (parseInt(jj) + 1) + "件原价，";
            } else {
              prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折，";
            }
          }
          prom_content = ut.sub_last(prom_content);
          th.data.prom_type = 10;
          th.data.prom_id = act_id;
          th.setData({
            jieti_prom: prom_content,
            ladder_act_id: act_id
          })
        }
      })
    }

    //-- 如果有促销活动也算是有参与活动，参与活动的也统一不进行计算起订的数量 --
    this.data.is_act=0;
    if(this.data.zh_act || this.data.prom_goods || this.data.jieti_prom || this.data.collocationGoods ){
      this.data.is_act=1;
    }
    //-- 更新默认购买的数量 ---
    var mo_num=getApp().get_limit_qty(th.data.sele_g,this.data.is_act);
    this.setData({goodsInputNum:mo_num})
    this.setData({mo_num:mo_num})

  },

  closePoster() {
    this.setData({
      showPoster: false,
    });
  },

  // 保存图片到手机
  savePic() {
    console.log('保存图片');
    var self = this;
    // 获取用户的当前设置，返回值中有小程序已经向用户请求过的权限
    this.getSetting().then((res) => {
      // 判断用户是否授权了保存到相册的权限，如果没有发起授权
      if (!res.authSetting['scope.writePhotosAlbum']) {
        this.authorize().then(() => {
          // 同意授权后保存下载文件
          this.saveImage(self.data.shareImgPath)
            .then(() => {
              self.setData({
                showPoster: false
              });
            });
        })
      } else {
        // 如果已经授权，保存下载文件
        this.saveImage(self.data.shareImgPath)
          .then(() => {
            self.setData({
              showPoster: false
            });
          });
      }

    })
  },

  // 获取用户已经授予了哪些权限
  getSetting() {
    return new Promise((resolve, reject) => {
      wx.getSetting({
        success: res => {
          resolve(res)
        }
      })
    })
  },

  // 发起首次授权请求
  authorize() {
    // isFirst 用来记录是否为首次发起授权，
    // 如果首次授权拒绝后，isFirst赋值为1
    let isFirst = wx.getStorageSync('isFirst') || 0;
    return new Promise((resolve, reject) => {
      wx.authorize({
        scope: 'scope.writePhotosAlbum',
        // 同意授权
        success: () => {
          resolve();
        },
        // 拒绝授权,这里是用户拒绝授权后的回调
        fail: res => {
          if (isFirst === 0) {
            wx.setStorageSync('isFirst', 1);
            wx.showToast({
              title: '保存失败',
              icon: 'none',
              duration: 1000
            })
          } else {
            this.showModal();
          }
          console.log('拒绝授权');
          reject();
        }
      })
    })
  },


  // 保存图片到系统相册
  saveImage(saveUrl) {
    var self = this;
    return new Promise((resolve, reject) => {
      wx.saveImageToPhotosAlbum({
        filePath: saveUrl,
        success: (res) => {
          wx.showToast({
            title: '保存成功',
            duration: 1000,
          });
          self.setData({
            showPlaybill: 'true'
          });
          resolve();
        },
        fail: () => {
          wx.showToast({
            title: '保存失败',
            duration: 1000,
          });
        }
      })
    })
  },

  previewImage() {
      this.data.show_prew_img = 1;
      getApp().pre_img(this.data.sele_g.original_img);
  },

  screenChange: function (e) {
    let fullScreen = e.detail.fullScreen //值true为进入全屏，false为退出全屏
    if (fullScreen) { //退出全屏
      getApp().globalData.no_clear = 1;
      this.data.show_video = 1;
    }
  },

  is_show_more_buy: function () {
    var prom_goods = this.data.prom_goods;
    var per_price = this.data.sele_g.shop_price
    if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) {
      per_price = this.data.sele_g[this.data.card_field];
    }
    var all_price = per_price * this.data.goodsInputNum;
    var con = null;
    for (var i in prom_goods) {
      var item = prom_goods[i];
      if (item.prom_type == 1) {
        if (item.condition > this.data.goodsInputNum) {
          con = item;
          con.need = (item.condition - this.data.goodsInputNum).toFixed(2) + "件";
          break;
        }
      } else {
        if (item.condition > all_price) {
          con = item;
          con.need = (item.condition - all_price).toFixed(2) + "元";
          break;
        }
      }
    }

    this.setData({ hui_condition: con });

  },

  //-- 积分购 --
  go_pay_integral: function () {
    this.get_sto(0)
    this.setData({ openSpecModal_inte: 1, goodsInputNum: 1 });
  },

  //-- 积分购普通购买 --
  go_pay_integral_normal: function () {
    var th = this;
    if (th.data.sku_g_pt) {
      this.get_sto(1)
      this.setData({ openSpecModal_inte_normal: 1 });
    } else {
      th.get_sto(1);
      th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () {
        th.setData({
          is_normal: 1,
          openSpecModal_inte_normal: 1
        });
      });
    }
    this.check_is_youhui(th.data.gid, 1);
  },

  closeSpecModal_inte: function () {
    this.setData({ openSpecModal_inte: 0 });
  },
  closeSpecModal_inte_normal: function () {
    this.setData({ openSpecModal_inte_normal: 0 });
    //要进行还原 
    this.get_sto();
    this.setData({
      sele_g: this.data.data,
      gid: this.data.data.goods_id
    })

    this.sele_spec_chech_activity();
  },

  addCart_inte: function (t) {
    this.add_cart_func_inte(t);
  },

  onShareTimeline() {
      getApp().globalData.no_clear=1;
      var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : '';
      if (!store_name)
          store_name = getApp().globalData.setting.appName;

      var pagePath = `goods_id=${this.data.sele_g.goods_id}&prom_type=9&group_id=${this.data.group_id}`; //当前页面url
      if(getApp().globalData.user_id){
          pagePath+="&first_leader="+getApp().globalData.user_id;
      }
        //群id分享
      if (getApp().globalData.groupchat_id) {
        pagePath+="&groupchat_id="+getApp().globalData.groupchat_id
      }
      let imgPath = this.data.iurl + this.data.luckGoInfo.original_img;
    return {
      title: this.data.data.goods_name + '-' + store_name,
      // imageUrl: this.data.gallery[0].image_url,
      imageUrl: imgPath,
        query: pagePath
    }
  },


  clickCollapse() {
    this.setData({
      flag: !this.data.flag,
    })
  },

  clickShare() {
      // if(!getApp().globalData.user_id){
      //     getApp().goto("/packageE/pages/togoin/togoin");
      //     return false;
      // }
    this.setData({
      share_hidden: true,
    });
  },

  send() {
    this.setData({
      share_hidden: false,
    });
  },

  cancel() {
    this.setData({
      share_hidden: false,
    });
  },

  //积分购和拼团的普通购买的的时候，要判断有没有全场优惠活动
  check_nor_promgood(goods_id, back) {
    var th=this;
    var user_id=getApp().globalData.user_id;
    //调用接口判断订单优惠，
    getApp().request.get("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + goods_id + "/0" + "/" + user_id, {
      success: async function (res) {
        if (res.data.code == 0 && res.data.data) {

          var obj = {};
          var r_data = res.data.data;
          //暂时积分够 不和 优惠，阶梯重叠
          if(th.data.zh_act){
            obj = {
              act_id: th.data.zh_act.id,
              prom_type:7
            }
            back(obj);
            return false;
          }

          if (r_data.collocationList) {
            obj = {
              act_id: r_data.collocationList[0].prom_id,
              prom_type:5
            }
            obj.is_coupon=r_data.collocationPromList.is_coupon;
            back(obj);
            return false;
          }


          var is_ok=1;
          if (r_data.ladderLists) {
            var act_id = r_data.ladderLists[0].form_id;
            //-- 判断会员能不能参与阶梯促销 --
            await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {


              if (res.data.code == 0 && res.data.data) {
                var prom_content = "";
                //暂定优惠促销还不能重叠
                if(res.data.data.good_object==0 && (r_data.promGoodsLists || th.data.zh_act)){
                  return false;
                }

                if(res.data.data.good_object==1){
                  r_data.promGoodsLists=null;
                }
                obj = {
                  act_id: act_id,
                  prom_type:10
                }
                back(obj);
                is_ok=0
                return false;
              }
            })
          }

          if(!is_ok) return  false;
          if(r_data.promGoodsLists){
            obj = {
              act_id: r_data.promGoodsLists[0].prom_id,
              prom_type:3
            }
            back(obj);
            return false;
          }

          obj = {
            act_id: 0,
            prom_type:0
          }
          back(obj);


        }
      }
    })
  },

  // go_zh: function (e) {
  //   // var id = e.currentTarget.dataset.id;
  //   // getApp().goto("/packageB/pages/zuhegou/index/index?id=" + id);
  // },

  // check_zh_acting: function (func) {
  //   var isok = 1, item = this.data.sele_g;
  //   //如果有组合购
  //   var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.user_id;
  //   getApp().request.promiseGet(url, {}).then(res => {
  //     if (res.data.code == 0 && res.data.data) {
  //       if (res.data.data.is_show != 1) {
  //         isok = 0;
  //       }
  //       //如果活动已经结束
  //       if (res.data.data.is_end == 1) {
  //         isok = 0;
  //       }
  //       //已经结束
  //       if (ut.gettimestamp() > res.data.data.end_time) {
  //         isok = 0;
  //       }
  //       //还未开始
  //       if (ut.gettimestamp() < res.data.data.start_time) {
  //         isok = 0;
  //       }

  //     } else {
  //       //未找到商品的活动
  //       isok = 0;
  //     }
  //     item.act = res.data.data;
  //     func(isok);
  //   })
  // },

  //获取更多秒杀
  // get_more_flahs: async function (func) {
  //    var f_more=false;
  //    var user_id=getApp().globalData.user_id;
  //    if(!user_id) user_id=0;

  //    var url="/api/weshop/goods/listSkuFlash?store_id="+os.stoid+"&goods_id="+this.data.data.goods_id+"&user_id="+user_id;
  //    //获取秒杀的多规格
  //    await getApp().request.promiseGet(url, {}).then(res=>{
  //         if(res.data.code==0 && res.data.data && res.data.data.length>0){
  //             f_more=res.data.data;
  //         }
  //     })
  //     if(!f_more) {
  //         func(false);
  //         return false;
  //     }
  //     //-- 秒杀的价格要更新 --
  //     for(let i in f_more){

  //     	let item=f_more[i];
  //         f_more[i].prom_id=item.act_id;
  //         f_more[i].prom_type=1;
  //     	if(item.goods_id==this.data.data.goods_id){
  //     	    continue;
  //         }
  //         var url="/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+item.act_id;
  //         await getApp().request.promiseGet(url, {}).then(rs=>{
  //           if(rs.data.code==0){
  //               f_more[i].price=rs.data.data.user_price;

  //           }
  //         })
  //     }
  //     func(f_more);

  // },

  //-- 判断是否有秒杀 -- ccc
  check_has_flash: function () {
    // var th=this;
    // var url="/api/weshop/activitylist/getGoodActInfo";
    // var req_data={
    //     store_id:os.stoid,goodsidlist:this.data.data.goods_id,is_detail:1
    // };
    // //获取秒杀的多规格
    // getApp().request.promiseGet(url, {data:req_data}).then(res=>{
    //     if(res.data.code==0 && res.data.data && res.data.data.length){
    //         th.setData({more_flash:res.data.data});
    //     }
    // })
  },

  //-- 跳转到秒杀商品详情页  -- ccc
  go_more_flash: function (e) {
    // var prom_id=e.currentTarget.dataset.id;
    // var goods_id=this.data.data.goods_id;
    // var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+goods_id+"&prom_id="+prom_id+"&prom_type=1";
    // getApp().goto(url);
  },

  close_pop_more: function () {
    this.setData({ is_pop_more: 0 })
  },

  con_weixin: function () {
      getApp().con_wx(this);
  },

  customer_chat:function(){
    var gid=this.data.front_g.goods_id;
    getApp().customer_chat(gid);
  },

  // 显示幸运购规则
  showRules: function () {
    this.setData({
      showRules: true,
    });
  },

  // 关闭幸运购规则
  closeRules: function () {
    this.setData({
      showRules: false,
    });
  },

  // 跳转
  go: function (e) {
    var url = e.currentTarget.dataset.url;
    getApp().goto(url);
  },

  // 查看奖励
  showReward: function () {

    this.getPrizes(this.data.luckGoInfo.type);

  },

  // 关闭奖励
  closeReward: function () {
    this.setData({
      showReward: false,
    });
  },


  // 获取优惠券奖励和服务项目奖励
  getPrizes: function (type) {
    // let currentItem = this.data.list.pageData[currentItemIndex];
    // let type = type;
    let self = this;
    let app = getApp();
    // 分割type字符串
    let typeArr = this.splitStringToArr(type);
    let prizesArr = [];
    let promiseArr = [];
    typeArr.forEach(function (item) {

      let obj = {};
      obj.type = item;

      let promise = new Promise((resolve, reject) => {
        switch (item) {
          case 1: { //积分
            obj.name = '积分';
            obj.num = 'point';
            prizesArr.push(obj);
            resolve();
            break;
          };
          case 2: { //成长值
            obj.name = '成长值';
            obj.num = 'grow';
            prizesArr.push(obj);
            resolve();
            break;
          };
          case 3: { //优惠券
            app.request.promiseGet('/api/weshop/prom/luckyCoupon/page', {
              data: {
                store_id: os.stoid,
                aid: self.data.luckGoInfo.id,
              }
            }).then(res => {
              if (res.data.code == 0) {
                obj.couponList = res.data.data.pageData;
                prizesArr.push(obj);
                resolve();
              };
            });
            break;
          };
          case 4: { //服务项目
            app.request.promiseGet('/api/weshop/prom/luckyService/page', {
              data: {
                store_id: os.stoid,
                aid: self.data.luckGoInfo.id,
              }
            }).then(res => {
              if (res.data.code == 0) {
                obj.serviceList = res.data.data.pageData;
                prizesArr.push(obj);
                resolve();
              };
            });
            break;
          };
          case 5: { //预存金额
            obj.name = 'prestore_name';
            obj.num = 'prestore_money';
            prizesArr.push(obj);
            resolve();
            break;
          };
        };
      });

      promiseArr.push(promise);


      Promise.all(promiseArr).then(() => {
        self.setData({
          prizesArr,
          showReward: true,
        });
      });



    });



  },

  // 将type字符串分割成数组
  splitStringToArr: function (typeStr) {
    var index;
    var newTypeArr = [];
    var typeStrArr = typeStr.split(',');
    typeStrArr.forEach(function (item) {
      index = parseInt(item);
      newTypeArr.push(index);
    });
    // console.log('newTypeArr', newTypeArr);
    return newTypeArr;
  },


  //弹出活动已经结束
  timeUp() {
    wx.showToast({
      title: '本商品活动已经结束！',
      icon: 'none',
    });
  },


  // 预览海报
  previewPoster() {
    getApp().globalData.no_clear=1;
    wx.previewImage({
      current: this.data.shareImgPath, // 当前显示图片的http链接
      urls: [this.data.shareImgPath],// 需要预览的图片http链接列表
    });
  },


    click_contact:function () {
        getApp().globalData.no_clear=1;
    },
		
	//打开客服操作菜单
	openCS() {
		// 判断会员状态
		let user_info = getApp().globalData.userInfo;
		if (user_info == null || user_info.mobile == undefined || user_info.mobile == '' || user_info.mobile == null) {
			wx.navigateTo({
					url: '/packageE/pages/togoin/togoin',
			})
			return false;
		};
		// csType/在线客服设置：
		// 0关闭（如果有设置热线电话，则显示拨打热线电话）、
		// 1小程序客服、
		// 2企业微信客服
		if(this.data.sys_switch) {
			let csType = this.data.sys_switch.weapp_customertype;
			if(csType == 0) {
				// 拨打电话号码
				this.contactService();
			} else {
				this.getTel()
				.then(() => {
					self.setData({
						hiddenCS: false,
					});
				});
			};
		};
		
	},
	
	//关闭客服操作菜单
	closeCS() {
		this.setData({
			hiddenCS: true,
		});
	},


  async getUserBuyPromNum(prom_id){
    var userInfo = getApp().globalData.userInfo;
    var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`;
    let res = await getApp().request.promiseGet(url, {
      data:{}
    });
    let userbuynum=0
    if(res.data.code==0 && res.data.data){
      userbuynum=res.data.data.userbuynum
    }
    this.setData({
      userbuynum
    })
    // return userbuynum
  },


  //要同步sele_g的指定门店，在有单独购买的时候，积分购和拼团
  set_sele_g:function (sku_list){
    var goods_id=this.data.sele_g.goods_id;
    for (var i in sku_list) {
      if(goods_id==sku_list[i].goods_id){
        this.data.sele_g.pickup_ids=sku_list[i].pickup_ids;
        break;
      }
    }
  },

  //-- 弹出框的同意的优化,重新获取定位 ---
  agree_pri:function (){
    var th=this;
    var bconfig = th.data.bconfig;
    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.get_sto();
        },
        fail: function(res) {

          th.data.is_get_local_ok = 1;
          th.get_sto();
          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" });
          }

        }
      })
    }
  },


  handtouch(e){
    //苹果机都为真
    if(getApp().globalData.is_iPhone){
      return false;
    }
    var name=e.currentTarget.dataset.name;
    var set_data={
      gn_sele_fir:false,
      gn_sele_sec:false,
      sn_sele_sec:false,
      sku_sele_sec:false,
      cate_sele_sec:false,
      brand_sele_sec:false,
      nation_sele_sec:false,
      guige_sele_sec:false,
      ontime_sele_sec:false
    }

    switch (name){
      case 'gn_sele_fir': delete set_data.gn_sele_fir;break;
      case 'gn_sele_sec': delete set_data.gn_sele_sec;break;
      case 'sn_sele_sec': delete set_data.sn_sele_sec;break;
      case 'sku_sele_sec': delete set_data.sku_sele_sec;break;
      case 'cate_sele_sec': delete set_data.cate_sele_sec;break;
      case 'brand_sele_sec': delete set_data.brand_sele_sec;break;
      case 'nation_sele_sec': delete set_data.nation_sele_sec;break;
      case 'guige_sele_sec': delete set_data.guige_sele_sec;break;
      case 'ontime_sele_sec': delete set_data.ontime_sele_sec;break;
    }

    this.setData(set_data)
    this.setData({
      [name]:true
    })

  }


});
