var ut = require("../../../../utils/util.js"),
  e = require("../../../../utils/common.js"),
  common = e,
  a = require("../../../../utils/wxParse/wxParse.js"),
  s = getApp(), app = s,
  i = s.request,
  rq = i,
  oo = s.globalData,
  o = s.globalData.setting,
  os = o;
//评价加载更多 
var more = function (e) {
  return e && e.__esModule ? e : {
    default: e
  };
}(require("../../../../utils/LoadMore.js")),
  n = new more.default();
var utils = require('../../../../utils/util.js');
var regeneratorRuntime = require('../../../../utils/runtime.js');

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

Page({
  data: {
    type: 0,
    a_btn_type: true, //测试底部按钮显示

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

    gid: '',
    stoid: o.stoid,
    url: o.url,
    resourceUrl: o.h5_url,  //公众号那边的图片文件域名
    iurl: o.imghost,
    defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",

    data: null,
    content: "", //商品详情
    comments: null, //商品评论
    c_curr_p: 1, //评论分页
    com_num: 0, //评论人数
    gallery: null, //图片滚动
    is_collect: 0,
    collect_id: 0,
    cartGoodsNum: 0,
    specSelect: 0,
    optionItemId: 0,
    goodsInputNum: 1,
    openSpecModal: !1,
    openSpecModal_pt: !1, //拼单的弹起，
    openPromModal: !1,
    activeCategoryId: 0,
    supportPageScroll: !1,
    address: {
      address: "",
      district: 0
    },
    shipping: "",
    shippingCost: 0,
    enterAddressPage: !1,
    categories: [{
      name: "商品",
      id: 0
    }, {
      name: "详情",
      id: 1
    }, {
      name: "评价",
      id: 2
    }],
    activeCategoryId2: 0,
    categories2: [{
      name: "商品详情",
      id: 0
    }, {
      name: "规格参数",
      id: 1
    }],
    activeCategoryId3: 1,
    categories3: [{
      name: "全部",
      id: 1,
      num: 0
    },
    {
      name: "有图",
      id: 5,
      num: 0
    },

    {
      name: "好评",
      id: 2,
      num: 0
    }, {
      name: "中评",
      id: 3,
      num: 0
    }, {
      name: "差评",
      id: 4,
      num: 0
    },
    ],

    select: {
      price: 0,
      stock: 0,
      specName: "",
      activity: null
    },

    //已选的商品（属性）
    sele_g_spec_name: '',
    sele_g_id: '',
    sele_g: null,
    //门店相关
    ismend: 0,
    is_sec_mend: 0,
    sto_sele_name: "", //选中的门店名称
    sto_sele_id: "", //选中的门店id
    sto_sele_distr: "", //选择的门店的配送方式
    is_show_sto_cat: 1, //是否显示门店分类
    only_pk: null,
    all_sto: null,
    sec_sto: null, //选择了的门店分类
    pickpu_list: null, //读出的所有门店list
    def_pickpu_list: null, //一开始5个门店list
    sec_pick_index: 0, //第二级门店选择ID
    fir_pick_index: 0, //第一级门店选择ID
    all_pick_list: null,//所有的门店先记录起来
    //同一条形码的所有商品
    sku_g: null,
    sku_g_pt: null, //---拼单的普通购买---
    //联系电话
    mobile: '',
    //分类，品牌，国别名称
    cat_name: '',
    brand_name: '',
    nation_name: '',

    //商品的活动类型 0普通  1秒杀 2团购 3优惠  4 积分购  6拼单 8预售
    prom_type: 8,
    prom_time_text: "",
    prom_price: null,
    prom_buy_limit: 0,
    djs: null,
    prom_st: 0,
    prom_r_null: 0,
    prom_end_time: null,
    prom_start_time: null,
    prom_act: null,
    pd_xx: 0,
    is_normal: 0, //是否普通购买
    teamgroup: null, //有多少人开团
    grounp_tatal: 0, //有几个人开团
    timer: [],

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

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

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

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

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

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

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

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

    screenWidth: 0,
    canvasHidden: 1,

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

    //是否点赞中
    iszaning: 0,
    select_store: 0, //选择更多
    index: 1,
    more_store: 0, //选择门店
    sort_store: 0, //门店分类
    choice_sort_store: 0, //选择分类门店
    new_user: 0, //新用户

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

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

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

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

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

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

    share_hidden: false,
    pre_arr: null,

    hiddenCS: true,

    is_retail_price: 0,
    keyword:'', //门店搜索
    sec_i:-1,//选中分类门店 下标
    goodInfo_ad:'',//商品详情广告

    c_curr_p:1,

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

    //苹果机都为真
    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;
    var ee = this, that = ee, th = ee,
      pre_id = t.pre_id,
      gid = t.goods_id,
      presell_id = t.prom_id,
      first_leader = t.first_leader,
      room_id = t.room_id,
      room_user_share = t.room_user_share; //如果是会员分享带有room_id的话，那么接下来会员分享就不传room_id

      var share_openid = t.share_openid;

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

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

    //检查测肤
    getApp().check_skin_face(t, 0, gid);
     //群id
     if(t && t.groupchat_id){
      getApp().globalData.groupchat_id=t.groupchat_id
    }


    //-- 自定义海报 --
    getApp().request.promiseGet("/api/weshop/goods/poster/page", {
      data: { store_id: os.stoid, type: 1, is_use: 1 }
    }).then(res => {
      if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]) {

        var poster_data = res.data.data.pageData[0];
        var json_str = poster_data.jsonStr;

        if (json_str) {
          var json_data = JSON.parse(json_str);
          if (json_data.bg_img) {

            //-- 把图片那到本地 --
            wx.getImageInfo({
              src: json_data.bg_img,
              success: function (res) {
                var path = res.path;
                th.setData({ share_b_img: path })
              },
              fail: function (res) { }
            });
          }
          th.setData({ poster: json_data })

        }
      }
    })

    //---获取手机地址坐标--
    //--如果tg_id是空的话，分享回来--
    if (gid == undefined || gid == null || gid == "") {
      var gid_str = decodeURIComponent(t.scene);
      gid_str = gid_str.split("_");
      gid = gid_str[0];
      if (gid_str.length > 1) {
        pre_id = gid_str[1];
        first_leader = gid_str[2];
      }
      //-- 如果有room_id的获取 --
      if (gid_str.length > 2 && gid_str[3]) {
        room_id = gid_str[3];
        room_user_share = 1;
      }
    }

    this.setData({
      gid: gid, pre_id: pre_id, presell_id: presell_id
    })

    if (first_leader) {
      console.log("log---".first_leader);
      getApp().globalData.first_leader = first_leader;
      //调用接口判断是不是会员
      getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
        if (res.data.code == 0) {
          getApp().globalData.guide_id = res.data.data.id;
          getApp().globalData.guide_pick_id= res.data.data.pickup_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
        });
      }

      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,
        is_retail_price: json_d.is_retail_price || 0,
        appoint_pick_keyid: json_d.appoint_pick_keyid

      });

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

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

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

      //计算等级价相关
      var swithc_list = e.switch_list;
      var sw_arr = JSON.parse(swithc_list);
      //---如果后台又开等级卡的开关---
      if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
        th.setData({ rank_switch: true });
        //---回调卡的列表---
        th.getPlusCardType(function (ob) {
          th.setData({ card_list: ob.card_list });
          var ti = setInterval(function () {
            var user = getApp().globalData.userInfo;
            if (!user) return false;
            clearInterval(ti);

            if (user.card_field && user['card_expiredate']) {
              var str = user['card_expiredate'].replace(/-/g, '/');
              var end = new Date(str);
              end = Date.parse(end) / 1000;
              var now = ut.gettimestamp();
              //--- 判断是等级会员，且在有效期范围内 ---
              if (user.card_field && now < end) {
                var card_name = ob.name_map.get(user.card_field);
                //if(card_name.length>6) card_name=card_name.substring(0,6);

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

    }, 1);

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


    //更新点击量
    getApp().request.put("/api/weshop/goods/updateClick", {
      data: { store_id: os.stoid, goods_id: gid }
    })
  },

  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;
    that.data.fir_def_store = ee;
    that.setData({
      def_pick_store: ee,
      sto_sele_name: ee.pickup_name,
      sto_sele_id: ee.pickup_id,
      sto_sele_distr: ee.distr_type
    })
  },


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

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

      var t = res;
      var g = t.data.data.pageData;
      if (g.length == 0) {
        var ie = {
          "image_url": o.imghost + "/public/images/default_goods_image_240.gif"
        };
        g.push(ie);
        gallery = g;
        return;
      }
      for (var i = 0; i < g.length; i++) {
        if (g[i].image_url.indexOf(o.imghost) == -1)
          g[i].image_url = o.imghost + g[i].image_url;
      }
      gallery = g;
    })
    //------是否收藏----------
    await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
      data: {
        store_id: os.stoid,
        goods_id: gid,
        user_id: oo.user_id,
      }
    }).then(res => {
      var t = res;
      var data = t.data.data.pageData;
      if (data.length > 0) {
        //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, });
        is_collect = 1;
        collect_id = data[0].collect_id;
      }
    })

    //------获取评价的统计数量----
    await getApp().request.promiseGet("/api/weshop/comment/countlist/", {
      data: {
        store_id: os.stoid,
        goods_id: gid
      },
      //failRollback: !0,

    }).then(res => {
      console.log(res);
      var t = res;
      var g = t.data.data[0];
      if (g != null && g != undefined) {
        var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5;
        var num2 = g.c4 + g.c5;
        var num3 = g.c3;
        var num4 = g.c0 + g.c1 + g.c2;

        var dd = ee.data.categories3;
        dd[0].num = allnum;
        dd[1].num = g.cimg;
        dd[2].num = num2;
        dd[3].num = num3;
        dd[4].num = num4;

        categories3 = dd;
      }
    })

    //----获取详情页的评价----
    await getApp().request.promiseGet("/api/weshop/comment/pageComment", {
      data: {
        store_id: os.stoid,
        goods_id: gid,
        pageSize: 3,
        parent_id: 0,
        page: 1,
        is_show: 1,
      },
    }).then(res => {
      console.log(res);
      fir_com = res.data.data.pageData;
    })

    if (fir_com) {
      for (var ind in fir_com) {
        if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png";
        if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img);
        if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img);
      }
    }

    if (th.data.is_closecoupon != 1) {
      //----获取详情页的券的数量----
      await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", {
        data: {
          store_id: os.stoid,
          type: 1,
          pageSize: 100,
          page: 1,
          is_share: 0,
        },
      }).then(res1 => {
        console.log('优惠券+++++++++++++++++');
        console.log(res1);
        fir_quan = res1.data.data.pageData;
      })
    }


    let arr = []
    //过滤不是本商品的单品优惠券-------------------
    if (fir_quan && fir_quan.length > 0) {
      let goodInfo = th.data.data || {}
      console.log('商品++++++++++++++++++++++');
      console.log(goodInfo);
      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 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;
      }
    })

    this.getHistoryBuy(); //获取历史购买

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

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

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

    getApp().check_can_share(this);
    var goods_list = null, th = this, that = this;

    //-- 如果是预览图片，页面不重新更新 --
    var show_prew_img = this.data.show_prew_img
    if (show_prew_img) {
      this.data.show_prew_img = 0; return false;
    }

    th.data.fir_def_store =null;
    that.setData({ def_pick_store: null,});

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

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

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

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

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

            t.data.data.prom_id=  th.data.presell_id;
            t.data.data.prom_type=  8;

            //-- 把商品的赋值 --
            ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data));
            ee.data.sele_g_id = t.data.data.goods_id;
            ee.data.sele_g = t.data.data;

            //检测一下分享导购的门店
            ee.check_guide(() => {
              //获取用户的默认门店
              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 e = JSON.parse(JSON.stringify(ee));

                  //如果有开启近距离的话,同时距离优不一样了
                  if (that.data.lat != null) {
                    //如果经纬度有变化的话
                    if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
                      that.set_def_storage(e);

                    } else {
                      //要用接口是获取距离，js的计算不准
                      getApp().request.promiseGet("/api/weshop/pickup/list", {
                        data: {
                          store_id: os.stoid,
                          pickup_id: e.pickup_id,
                          is_pos: 1,
                          lat: th.data.lat,
                          lon: th.data.lon
                        },
                      }).then(res => {
                        if (res.data.code == 0) {
                          e = res.data.data.pageData[0];
                          if (e) {
                            e.is_no_dis = ee.is_no_dis;
                            appd.pk_store = e;
                            that.set_def_storage(e);
                          }

                        }
                      })
                    }
                    appd.lat = that.data.lat;
                    appd.lon = that.data.lon;

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


            t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss');

            var cur_price = t.data.data.shop_price;
            if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) {
              var cfile = getApp().globalData.userInfo.card_field;
              if (t.data.data[cfile]) {
                cur_price = t.data.data[cfile];
              }
            }
            var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString();
            txt = parseFloat(txt);

            t.data.data['disc'] = txt;
            if (t.data.data.original_img.indexOf(o.imghost) == -1)
              t.data.data.original_img = o.imghost + t.data.data.original_img;

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

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

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

            ee.init(gid);
            //获取门店
            ee.get_sto();
            ee.get_sku(o.stoid, t.data.data, gid);

            ee.data.g_buy_num = new Map();

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

          }
          else {
            console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
            wx.showModal({
              title: t.data.msg,
              showCancel: !1,
              complete: function () {
                wx.navigateBack();
              }
            });
          }
        }
      });
      ee.data.enterAddressPage && (this.data.enterAddressPage = !1);
    })

   

  },
  enterAddress: function () {
    this.data.enterAddressPage = !0, wx.navigateTo({
      url: "/packageF/pages/user/address_list/address_list?operate=selectAddress"
    });
  },
  onUnload: function () {
    // for (var i = 1; i < 100; i++) {
    //   clearInterval(i);
    // }
  },
  onHide: function () {
    this.data.is_timer = 0;
    // for (var i = 1; i < 100; i++) {
    //   clearInterval(i);
    // }
  },
  //----------三个选项按钮-----------
  tabClick: function (t) {
    var e = t.currentTarget.id;
    this.setData({
      activeCategoryId: e
    }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();

    if(e>0){
      wx.pageScrollTo({
        scrollTop:0
      })
    }
  },
  tabClick2: function (t) {
    this.setData({
      activeCategoryId2: t.currentTarget.id
    });
  },

  tabClick3: function (t) {
    var e = this;
    if (t.currentTarget.id != this.data.activeCategoryId3) {
      e.data.c_curr_p = 1;
      this.setData({
        activeCategoryId3: t.currentTarget.id,
        comments: null, comments_no_more: 0, get_c: 0,
      });
      this.requestComments_new();
    }
  },

  doScrollTop: function () {
    wx.pageScrollTo({
      scrollTop: 0
    });
  },

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

  //商品详情的时候调用
  tabGoodsContent: function () {
    var th = this,
      i = getApp().request;
    this.setData({
      activeCategoryId: 1
    });

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

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

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

    th.add_cart_func(t);

  },


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

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

    var e = this, th = e, o = this.data.sele_g, a = o.goods_id;
    //----------添加到购物车时，要判断限购数量，--------
    e.get_buy_num(o, function (ee) {
      //---判断商品是否超出限购---
      if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
        if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
          wx.showModal({
            title: '提示',
            content: '超出商品限购'
          });
          return false;
        }
      }
      //---判断商品是否超出活动限购---
      if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) {
        if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
           wx.showModal({
             title: '提示',
             content: '超出商品活动限购'
           });
           return false;
        }
      }

      if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
      if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
        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,
        presell_list_id: th.data.presellList.id,
      };

      //---是不是从收藏夹出来的---
      if (th.data.c_guide_id) {
        newd['guide_id'] = th.data.c_guide_id;
        newd['guide_type'] = 2;
        if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3;
      } else {
        if (getApp().globalData.guide_id) {
          newd['guide_id'] = getApp().globalData.guide_id;
          newd['guide_type'] = 0;
          if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1;
        }
      }

      if(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 (o.offline_price) {
        newd.offline_price = o.offline_price;
        newd.pricing_type = o.pricing_type;
      }

      newd.goods_price = th.data.prom_price;
      newd.member_goods_price = th.data.prom_price,
        newd.prom_type = 8;
      newd.prom_id = th.data.presell_id;

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


    })
  },

  //---加入购物车的最后一步---
  add_cart_next(e, t, a, o, newd, CanOutQty) {
    var th = this, i = getApp().request;
    if ("add" == t.currentTarget.dataset.action) {

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

      //----先看会员在购物车中是否加入了该商品-----
      i.get("/api/weshop/cart/page", {
        data: {
          store_id: e.data.stoid,
          user_id: oo.user_id,
          goods_id: a,
          pick_id: e.data.sto_sele_id,
        },
        success: function (re) {

          //-------如果购物车中有相关的数据---------
          if (re.data.data.total > 0) {

            var item = re.data.data.pageData[0];
            if (item.goods_num + th.data.goodsInputNum > o.store_count) {
              return s.my_warnning("库存不足！", 0, th);
            }

            if (item.goods_num + th.data.goodsInputNum > th.data.pre_arr.presell_sumqty - th.data.pre_arr.buy_goodnum) {
              return s.my_warnning("库存不足！", 0, th);
            }

            var updata = {
              id: item.id,
              goods_num: e.data.goodsInputNum + item.goods_num,
              goods_price: newd.goods_price,
              member_goods_price: newd.goods_price,
              store_id: th.data.stoid,
            };

            //---是不是从收藏夹出来的---
            if (th.data.c_guide_id) {
              updata['guide_id'] = th.data.c_guide_id;
              updata['guide_type'] = 3;   //加入购物车之后就变成了3
            } else {
              if (getApp().globalData.guide_id) {
                updata['guide_id'] = getApp().globalData.guide_id;
                updata['guide_type'] = 0;
              }
            }
            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 {
      newd['pick_name'] = th.data.sto_sele_name;
      newd['pick_dis'] = th.data.sto_sele_distr;
      th.buyNow(newd);
    }
  },

  //----------立即购买-----------
  buyNow: function (e) {

    this.setData({
      openSpecModal: 0,
      openSpecModal_inte: 0,
      openSpecModal_inte_normal: 0,
      openSpecModal_pt: 0,
    })

    wxlog.info(getApp().globalData.user_id+'-立即购买:'+JSON.stringify(e));  //购买的日志

    app.set_b_now(e);

    //如果是全额付款的话
    if (this.data.presellForm.presell_type == 1) {
      getApp().goto("/packageC/pages/presell/cart/cart2")
    } else {
      getApp().goto("/packageC/pages/presell/cart/cart2_pre");
    }
  },

  //----------增加购买数量-----------
  addCartNum: function (t) {
    this.checkCartNum(this.data.goodsInputNum + 1);
  },
  //----------减少购买数量-----------
  subCartNum: function (t) {
    this.checkCartNum(this.data.goodsInputNum - 1);
  },
  //----------输入框输入购买数量-----------
  inputCartNum: function (t) {
    this.checkCartNum(Number(t.detail.value));
  },

  //------检查数量是不是超出限购------
  checkCartNum: function (t) {
    var th = this;
    this.get_buy_num(this.data.sele_g, async function () {

      //--判断商品是否超出限购--
      if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {

        var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id);

        if (t + gd_buy_num > th.data.sele_g.viplimited) {
          wx.showModal({
            title: '超出商品限购',
          });

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

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

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

      var e = th.data.sele_g.store_count;
      var e2 = th.data.pre_arr.presell_sumqty - th.data.pre_arr.buy_goodnum;
      if (e2 < e) e = e2;

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

    })
  },

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

    }

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

  openSpecModel: function (t) {

    if(this.data.get_sto_ing) return false;

    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(!this.data.pre_arr){
      ut.m_toast('您未达到活动条件，不能购买此活动商品');
      return false;
    }

    var ind = t.currentTarget.dataset.ind;

    //回调。判断是不是优惠促销
    th.check_is_prom_goods(function () {
      th.setData({
        openSpecModal: !0,
        openSpecModal_ind: ind,
      });
      //var is_open=th.data.config
      th.get_off_price();
    })
  },

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

          ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1
          getApp().promiseGet("/api/weshop/order/getWPayOrder", {
            data: { store_id: os.stoid, user_id: usr.user_id, goods_id: th.data.sele_g.goods_id, prom_id: th.data.prom_goods[0].prom_id }
          }).then(res => {
            if (res.data.code == 0) {
              wx.showToast({
                title: "您已经购买了该商品待支付中",
                icon: 'none',
                duration: 2000
              })
              setTimeout(function () {
                getApp().goto("/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.pre_arr.presell_price;
    var img = th.data.data.original_img;
    //如果活动有设置分享图的时候
    if(this.data.presellForm.share_img){
       img = this.data.iurl+this.data.presellForm.share_img;
    }

    var title = th.data.presellForm.share_title;
    if (!title) title = th.data.prom_act.title;
    if (th.data.prom_type == 4) title = th.data.prom_act.name;

    //if (th.data.presellForm.share_img)
    //  img = th.data.iurl + th.data.presellForm.share_img;

    var url = "/packageC/pages/presell/goodsInfo/goodsInfo?goods_id=" + th.data.gid + "&pre_id=" + th.data.pre_arr.id;
    if (getApp().globalData.user_id) {
      url += "&first_leader=" + getApp().globalData.user_id;
    }

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

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

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

    ob.title += '\n' + th.data.presellForm.share_remark;


    console.log(ob, 888);


    return ob;

  },

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

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

  //----------装载同一活动中的商品----------
  async get_sku(stoid, gd, g_id, is_normal, func) {
    var tt = this, arrdata = null;
    var now = ut.gettimestamp();
    var rq_data = {
      store_id: o.stoid,
      //sku: gd.sku,
      //more_spec: gd.more_spec,
      goods_id:g_id,
      isonsale: 1,
      is_on_sale: 1,
      pageSize: 500,
      orderField: 'gg_ordid,goods_spec,sort',
      //prom_type: 8,
    };

    if (tt.data.presellForm && tt.data.presellForm.id) {
      //rq_data.prom_id = tt.data.presellForm.id;
    }

    await getApp().request.promiseGet("/api/weshop/goods/page", {
      data: rq_data
    }).then(res => {
      var e = res;
      if (e.data.code == 0) arrdata = e.data.data.pageData;
    })
    if (!arrdata) return false;

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

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

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

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


      }
      //---如果有活动，不算在一起---
      if (prom) {
        if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) {
          if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) continue;
        } else {
          continue;
        }
      }


      var item = arrdata[i], gg = "";
      if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = "";
      if (item.goods_color == "null" || item.goods_color == null) item.goods_color = "";

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

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


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

  //-----------选择属性的按钮事件----------
  sele_spec: function (e) {
    var that = this, ee = this, th = this;
    var gid = e.currentTarget.dataset.gid;
    var nor = e.currentTarget.dataset.nor;

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

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

    //that.check_is_youhui(gid, that.data.is_normal);
    this.get_sto();

    this.sele_spec_chech_activity();
  },

  //选择了不同的规格的时候要判断是不是有活动正在进行中
  async sele_spec_chech_activity() {
    var prom = null, goodsinfo = this.data.sele_g, th = this;

    var all_pre_goods = th.data.all_pre_goods;
    if (all_pre_goods) {
      var userInfo = getApp().globalData.userInfo;
      var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: th.data.gid };
      if (userInfo) {
        pre_data.user_id = userInfo.user_id;
      }
      await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", {
        data: pre_data,
      }).then(e => {
        if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) {
          all_pre_goods = e.data.data.pageData;
          th.data.all_pre_goods = e.data.data.pageData;
        }
      })
    }

    var idx = all_pre_goods.findIndex(function (ele) {
      return ele.goods_id == goodsinfo.goods_id;
    })
    var pre_arr = all_pre_goods[idx];
    th.setData({ pre_arr: pre_arr })
    th.data.prom_buy_limit = pre_arr.vip_butyqty;
  },


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

    this.data.get_sto_ing=1;

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

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

    var timer_get = setInterval(function () {
      if (th.data.is_get_local_ok == 0) return false;
      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 });
      }

      /*--最新的，不用这里筛选配送方式
        if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){
          th.setData({def_pick_store:null});
        }--*/


      wx.showLoading({
        title: '加载中.'
      });
      //----------获取门店----------------
      getApp().request.promiseGet("/api/weshop/pickup/list", {
        data: dd,
      }).then(res => {
        var e = res;

        //确保门店的数量要>0时，才进行计算
        if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {



          //指定门店判断， 不是普通购买的时候，秒杀的时候，秒杀有指定门店
          var  pickup_ids=th.data.presellForm.pick_up_lists
          //-- 如果有指定门店的时候 --
          if(pickup_ids){

            var ok_arr=[];
            for (let i in e.data.data.pageData) {
              let ite = e.data.data.pageData[i];
              //-- 查找一下门店有没有在 --
              var idx=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=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_act=1;
              }else{
                 th.data.def_pick_store.is_no_dis_act=0;
              }

              that.setData({
                def_pick_store: th.data.def_pick_store
              })

            }
            e.data.data.pageData=ok_arr;     //数组重新赋值
            e.data.data.total=ok_arr.length; //数组的长度
          }
          else{
            //-- 多规格指定门店优化 --
            if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){
              th.data.def_pick_store.is_no_dis_act=0;
              that.setData({
                def_pick_store: th.data.def_pick_store
              })
            }
          }

          //确保门店的数量要>0时，才进行计算
          if(e.data.data.pageData.length > 0) {


            //如果有开启距离的功能，没有设置默认门店，要用最近的门店作为默认门店
            if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
              th.setData({
                def_pick_store: e.data.data.pageData[0],
                sto_sele_name: e.data.data.pageData[0].pickup_name,
                sto_sele_id: e.data.data.pageData[0].pickup_id,
                sto_sele_distr: e.data.data.pageData[0].distr_type
              });
              th.data.fir_def_store = e.data.data.pageData[0];
            }

            //-- 如果有默认选择门店的时候，要把默认门店放在第一位，修改不要配送方式的判断 --
            if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
              for (var k = 0; k < e.data.data.pageData.length; k++) {
                if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
                  e.data.data.pageData.splice(k, 1); //删除
                  break;
                }
              }
              e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
            }


            th.setData({all_pick_list: e.data.data.pageData});

            //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候，或者同时不能是活动，秒杀，拼团，积分购 预售--
            if (!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)
            }
          }
          else{
            th.data.get_sto_ing=0;
            wx.hideLoading();
          }
        }
        else{
          th.data.get_sto_ing=0;
          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_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();

    //单总量超出5个的时候
    if (e.data.data.total > 5) {
      getApp().request.get("/api/weshop/storagecategory/page", {
        data: {
          store_id: o.stoid,
          pageSize: 1000,
          orderField: "sort",
          orderType: 'asc',
        },
        success: function (ee) {
          if (ee.data.code == 0) {

            var check_all_cate = 0;
            if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
              for (let i in ee.data.data.pageData) {
                let item = ee.data.data.pageData[i];
                if (item.is_show == 1) {
                  check_all_cate = 1; break
                }
              }
            }

            if (check_all_cate) {

              var sto_cate = ee.data.data.pageData;
              var sto_arr = e.data.data.pageData;
              var newarr = new Array();
              var qita = new Array();

              var is_del_pk = 0;
              //----要进行门店分组--------
              for (var i = 0; i < sto_arr.length; i++) {
                //找一下这个门店有没有在分类数组内
                var find2 = 0, find2name = "", sort = 0;
                is_del_pk = 0;
                for (var m = 0; m < sto_cate.length; m++) {
                  if (sto_arr[i].category_id == sto_cate[m].cat_id) {
                    if (sto_cate[m].is_show != 1) {
                      is_del_pk = 1;
                      sto_arr.splice(i, 1);
                      i--;
                    } else {
                      find2 = sto_cate[m].cat_id;
                      find2name = sto_cate[m].cat_name;
                      sort = sto_cate[m].sort;
                      is_del_pk = 0;
                    }
                    break;
                  }
                }

                if (is_del_pk) continue;

                if (newarr.length > 0) {
                  var find = 0;
                  //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                  if (find2 != 0) {
                    for (var ii = 0; ii < newarr.length; ii++) {
                      if (sto_arr[i].category_id == newarr[ii].cat_id) {
                        newarr[ii].s_arr.push(sto_arr[i]);
                        find = 1;
                        break;
                      }
                    }
                    if (find == 0) {
                      var arr0 = new Array();
                      arr0.push(sto_arr[i]);
                      var item = {
                        cat_id: find2,
                        name: find2name,
                        sort: sort,
                        s_arr: arr0
                      };
                      newarr.push(item);
                    }
                  } else {
                    qita.push(sto_arr[i]);
                  }
                } else {
                  //如果有找到，那门店就在这个分组内，否则，分类就要排在其他
                  if (find2 != 0) {
                    var arr0 = new Array();
                    arr0.push(sto_arr[i]);
                    var item = {
                      cat_id: find2,
                      name: find2name,
                      sort: sort,
                      s_arr: arr0
                    };
                    newarr.push(item);
                  } else {
                    qita.push(sto_arr[i]);
                  }
                }
              }


              var def_arr = new Array();
              //-- 开始就看10个门店 --
              for (var k = 0; k < 10; k++) {
                if (k == sto_arr.length) break;
                def_arr.push(sto_arr[k]);
              }

              th.setData({
                def_pickpu_list: def_arr,
                pickpu_list: ee.data.data.pageData
              });
              //门店分类要排序下
              function compare(property) {
                return function (a, b) {
                  var value1 = a[property];
                  var value2 = b[property];
                  return value1 - value2;
                }
              }
              if (newarr.length > 0)
                newarr.sort(compare("sort"));


              //----安排其他的分类-----
              if (qita.length > 0) {
                var item = {
                  cat_id: -1,
                  name: "其他",
                  s_arr: qita
                };
                newarr.push(item);
              }


              var sd = {
                all_sto: newarr,
                is_show_sto_cat: 1
              }
              if (!sto_arr || sto_arr.length <= 10) {
                sd.is_show_sto_cat = -1;
                sd.only_pk = sto_arr;
              }
              th.setData(sd);

            } else {
              th.setData({
                is_show_sto_cat: -1,
                only_pk: e.data.data.pageData
              });
              //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
              if (!th.data.def_pick_store) {
                th.setData({ def_pick_store: e.data.data.pageData[0] })
              }
            }

            th.data.get_sto_ing=0;

          } else {
            th.setData({
              is_show_sto_cat: -1,
              only_pk: e.data.data.pageData
            });
            //-----如果没有默认门店，要取第一个门店作为默认店.此时没有门店分类的情况------
            if (!th.data.def_pick_store) {
              th.setData({ def_pick_store: e.data.data.pageData[0] })
            }

            th.data.get_sto_ing=0;
          }
        }
      });
    } else {
      th.data.get_sto_ing=0;
      th.setData({
        is_show_sto_cat: 0,
        only_pk: e.data.data.pageData
      });
      //-----如果没有默认门店，要取第一个门店作为默认店------
      if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
        th.setData({
          def_pick_store: e.data.data.pageData[0],
          sto_sele_name: e.data.data.pageData[0].pickup_name,
          sto_sele_id: e.data.data.pageData[0].pickup_id,
          sto_sele_distr: e.data.data.pageData[0].distr_type
        })
      }
    }
  },

  //------------处理线下门店库存--------
  deal_pickup_dline(e) {
    var pkno = [],
        th = this;
    if (!th.data.sele_g){ 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 def_pick_store = th.data.def_pick_store;
          var plist = res.data.data.pageData;
          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=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;
              }

            } 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 && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id)
                        th.setData({
                          def_pick_store: th.data.fir_def_store
                        })
                      is_find_def_store = 1;
                    }
                  }
                  break;
                }
              }
            }

          }

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


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

          for (let j = 0; j < em.data.data.pageData.length; j++) {
            var iu = em.data.data.pageData[j];
            if (iu.CanOutQty <= 0) iu.is_no_qyt = 1;

          }

          //---把数组组装进去---
          th.deal_pickup(em);

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  //----倒计时函数-----
  countDown(time, prom_st) {
    if (!this.data.is_timer) return false;
    var th = this;
    var {presellForm:{start_time,show_time,end_time},presellForm} = this.data;
    // 获取当前时间，同时得到活动结束时间数组
    var endTime = time;
    var newTime = ut.gettimestamp();
    // 对结束时间进行处理渲染到页面
    var obj = null;
    var type = 0;
    
    if ( show_time && newTime>=show_time && newTime<start_time ) {
      // 如果开启预热且在预热时间内
      var time = (start_time - newTime);
      // 获取天、时、分、秒
      var day = parseInt(time / (60 * 60 * 24));
      var hou = parseInt(time % (60 * 60 * 24) / 3600);
      var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
      var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
      obj = {
        day: this.timeFormat(day),
        hou: this.timeFormat(hou),
        min: this.timeFormat(min),
        sec: this.timeFormat(sec)
      }
    } else if (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)
      }
      type = 1
    } else {
      //活动已结束，全部设置为'00'
      obj = {
        day: '00',
        hou: '00',
        min: '00',
        sec: '00'
      }

      th.setData({
        prom_time_text: '活动已经结束:',
        prom_st: 3,
        djs: obj,
        type: 2
      })

      return false;
    }

    th.setData({
      djs: obj,
      type: type
    });
    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;
            map.set(gd.goods_id, g_buy_num);
            th.setData({
              g_buy_num: map,
            });


            let t_prom_id=gd.prom_id;
            if(th.data.presellForm){
              t_prom_id=th.data.presellForm.id;
            }

            getApp().request.get("/api/weshop/order/orderPresell/countBuyGoodsSum", {
              data: { store_id: os.stoid, user_id: user_id, goods_id: gd.goods_id, prom_id: t_prom_id },
              success: function (e) {
                if (e.data.code == 0) {
                  th.setData({ prom_buy_num: e.data.data.sumgoodsnum })
                  "function" == typeof func && func();
                } else {
                  th.setData({ prom_buy_num: 0, })
                  "function" == typeof func && func();
                }

              }
            });

          }
        }
      });
    }
  },

  //--拼单推荐的显示---
  tj_Click: function (e) {
    var ind = parseInt(e.target.dataset.ind);
    this.setData({
      is_show_gz: ind
    });
  },

  //-------跳转pt商品-------
  go_to_nopay: function () {
    var th = this, url = "/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;
    getApp().goto(url);

  },

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

  //--点赞功能--
  click_zan: function (e) {
    var com_id = e.currentTarget.dataset.com_id;
    var item_id = e.currentTarget.dataset.item_id;
    var app = getApp(),
      th = this;

    if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
      app.confirmBox("您还未登录");
      return false;
    }

    var iszan = th.data.comments[item_id].userZanNum;
    if (this.data.iszaning) return false;
    this.data.iszaning = 1;


    app.request.post("/api/weshop/commentZan/save", {
      data: {
        store_id: o.stoid,
        user_id: app.globalData.user_id,
        goods_id: th.data.gid,
        comment_id: com_id
      },
      success: function (ee) {

        if (ee.data.code == "-1") {
          app.my_warnning("不能给自己点赞", 0, th);
          th.data.iszaning = 0;
          return;
        }

        if (ee.data.code == 0 && iszan != 1) {
          var num = th.data.comments[item_id].zan_num;
          num++;
          var text = "comments[" + item_id + "].zan_num";
          var text1 = "comments[" + item_id + "].userZanNum";
          var _errObj = {};
          _errObj[text] = num;
          _errObj[text1] = 1;
          th.setData(_errObj);

        } else {
          var num = th.data.comments[item_id].zan_num;
          num--;
          var text = "comments[" + item_id + "].zan_num";
          var text1 = "comments[" + item_id + "].userZanNum";
          var _errObj = {};
          _errObj[text] = num;
          _errObj[text1] = 0;
          th.setData(_errObj);
        }

        setTimeout(function () {
          th.data.iszaning = 0;
        }, 500)

      }
    })
  },

  /*----券的开关---*/
  switchCoupon: async function (event) {
    var coupon = event.currentTarget.dataset.coupon;
    var app = getApp();
    var url = "/api/weshop/prom/coupon/pageCouponList";
    var quan_list = this.data.quan_list;
    var th = this;

    //当开启，且列表为空的情况下要
    if (!quan_list && coupon == "1") {
      wx.showLoading();
      await app.request.promiseGet(url, {
        data: {
          store_id: os.stoid,
          type: 1,
          pageSize: 100,
          page: 1,
          user_id: app.globalData.user_id,
          is_share: 0
        }
      }).then(res => {
        wx.hideLoading();
        quan_list = res.data.data.pageData;
      })
      //过滤不是本商品的单品优惠券
      if (quan_list.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);
        }
      }
    })
  },
  saveImageFn(){
    if(this.data.share_b_img){
      this.saveImageToPhotosAlbum()
    }else{
      this.saveImageToPhotosAlbumDef()
    }
  },



  //--定义的保存图片方法，分享团---
  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阶梯团
    var type = 8;
    wx.showLoading({
      title: '生成中...',
    })
    var that = this,
      th = that;
    //设置画板显示，才能开始绘图
    that.setData({
      canvasHidden: false
    })

    var app = getApp();
    var unit = that.data.screenWidth / 750 * 1.35;  //基础单位，
    var path2 = that.data.data.original_img;
    
	  var scene = th.data.gid + "_"+th.data.presellList.id;
    var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
    if (user_id > 0) {
      scene += "_" + user_id;
    }
    //-- 如果不是会员分享过来的要分享给别人 --
    if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
      //固定房间是第3个字符
      if (!user_id) scene += "_0";
      scene += "_" + getApp().globalData.room_id;
    }
	
	
    ///二微码
    var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
      os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/presell/goodsInfo/goodsInfo";


    console.log(path3);

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

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

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

          //-- 是自定义海报的情况下 --
          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(nick, 152 * unit, 76 * unit);
            var width = 24 * nick.length * unit + 2 * unit;
            //强烈推荐 改许程
            var tj_path = "../../../../images/share/q_tj.png";
            context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
            context.setFontSize(16 * unit);
            context.setLineJoin('round'); //交点设置成圆角
            context.setFillStyle("white");
            context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
          }

          var share_title = th.data.presellForm.share_title;
          share_title=share_title ? share_title : th.data.data.goods_name;

          //---产品名称---
          //文本换行 参数：1、canvas对象，2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度

            context.setFillStyle("black");
            context.setFontSize(21.3 * unit)
            th.draw_Text(context, share_title,
              80 * unit, 160 * unit, 200 * unit, 279 * unit, unit);

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


            var pri0 = th.data.presellList.presell_money;
            // if (th.data.prom_act)
            //   pri0 = th.data.prom_act.price;
            pri0 = parseFloat(pri0).toFixed(2);
            var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
            context.fillText("￥", wd1 - 15, 160 * unit);
            context.setFontSize(22 * unit)
            context.fillText(pri0, wd1, 165 * unit);

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


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

              //-- 零售价的优化 --
              var wp= th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 50;
              var hp= 180 * unit
              th.draw_pos_price(context,wp,hp,th.data.data.market_price,unit);

            }else{
               var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 50;
			   context.fillText('定金', wd2, 190 * unit);
			}


		  //console.log(th.data.share_goods_img);
          //let share_goods_img=th.data.presellForm.share_img;
          //share_goods_img?share_goods_img:th.data.data.share_goods_img;
          //---中间大图---
          context.drawImage(th.data.share_goods_img, 70 * unit, 210 * unit, 408 * unit, 408 * unit);
          //---自定义海报 产品质量保证
          if(th.data.poster.show_quality==1 ){
            var g_path = "/images/share/s_gou.png";
            context.drawImage(g_path, 56 * unit, 630 * unit, 22 * unit, 22 * unit);
            context.setFillStyle("red")
            context.setFontSize(18 * unit)
            context.fillText("正品保证", 84 * unit, 650 * unit);

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

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

          }

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

          //---文字---
          context.setFillStyle("black")
          // context.setFontSize(22 * unit)
          context.setFontSize(24 * unit)
          context.fillText(th.data.sto_sele_name_1, 40 * unit, 700 * unit);
          context.setFillStyle("red")
          context.setFontSize(20 * unit)
          var presell_price = `预售价：${th.data.presellList.presell_price}`
          context.fillText(presell_price, 40 * unit, 750 * unit);
          context.setFillStyle("black")
          context.setFontSize(22 * unit)
          context.fillText("特惠好物，限时预售", 40 * unit, 800 * unit);
          context.fillText("长按识别二维码，立即开始抢购", 40 * unit, 840 * unit);

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

          //--- 如果是自定义海报的时候 ---
          if (th.data.poster && parseInt(th.data.poster.style) == 2) {

            //如果显示会员信息的话
            if (parseInt(th.data.poster.show_headpic)) {
              //获取坐标
              var x = parseFloat(th.data.poster.head_x) * 2;
              var y = parseFloat(th.data.poster.head_y) * 2;
              //---绘制圆形要放在最后----
              context.save();
              context.beginPath();
              var h_x = x * unit;
              var h_y = y * unit;
              var h_r = 40 * unit;
              var cx = h_x + h_r;
              var cy = h_y + h_r;
              context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
              context.closePath();
              context.fill();
              context.clip();
              context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
              context.restore();
            }

          } else {
            //---绘制圆形要放在最后----
            context.save();
            context.beginPath();
            var h_x = 60 * unit;
            var h_y = 24 * unit;
            var h_r = 40 * unit;
            var cx = h_x + h_r;
            var cy = h_y + h_r;
            context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
            context.closePath();
            context.fill();
            context.clip();
            context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
            context.restore();
          }


          if(th.data.poster.show_time==1){
            var act_time='';
            act_time="截止时间："+ ut.formatTime(th.data.presellForm.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();

      }
    });
  },
  //--定义的保存图片方法，分享团---
  saveImageToPhotosAlbumDef: 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阶梯团
      var type = this.data.prom_type;
      console.log('商品类型-----');
      console.log(type);
      // if (type == 2) type = -1;
      if (type == 4) type = 0; 
      if (type == 8) type = 0; 
      if (type == 2) type = 0;  
      if (type == 6) type = 2; // 6拼团 2团购
      if (type == 10) type = -1;
      

      if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
      console.log('商品类型。。。。。');
      console.log(type); 
      wx.showLoading({title: '生成中...',})
      var that = this, th = that;
      //设置画板显示，才能开始绘图
      that.setData({
          canvasHidden: false
      })

      var app = getApp();
      var unit = that.data.screenWidth / 750 * 1.35;  //基础单位，
      var path2 = that.data.data.original_img;

    var scene = th.data.gid + "_"+th.data.presellList.id;
    var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
    if (user_id > 0) {
      scene += "_" + user_id;
    }
    //-- 如果不是会员分享过来的要分享给别人 --
    if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
      //固定房间是第3个字符
      if (!user_id) scene += "_0";
      scene += "_" + getApp().globalData.room_id;
    }

    ///二微码
    var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
      os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/presell/goodsInfo/goodsInfo";

      console.log(path3);


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

                  th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);


                  //把画板内容绘制成图片，并回调 画板图片路径
                  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;
                                  }

                                  that.setData({
                                      showPoster: true,
                                  });
                                  wx.hideLoading();
                              }
                          })
                      }, 500)

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

          }
      });
  },

  //文本换行 参数：1、canvas对象，2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
  draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {
    var lineWidth = 0;
    var lastSubStrIndex = 0; //每次开始截取的字符串的索引
    var han = 0;
    for (let i = 0; i < str.length; i++) {
      if (han == 2) return;
      //lineWidth += ctx.measureText(str[i]).width;
      lineWidth += ut.measureText(str[i], 21.3 * unit);
      if (lineWidth > canvasWidth) {
        han++;

        if (han == 2)
          ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分
        else
          ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);

        initHeight += 22; //22为字体的高度
        lineWidth = 0;
        lastSubStrIndex = i;
        titleHeight += 20;
      }
      if (i == str.length - 1) { //绘制剩余部分
        ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
      }
    }
  },

  drawPoster(context, unit, img, vpath, type) {
    // 1.灰色背景
    context.setFillStyle('#f2f1f6');
    context.rect(0, 0, 554 * unit, 899 * unit);
    context.fill();

    // 2.商城名称
    let shopName = this.data.sto_sele_name_1;
    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}的推荐`;
      context.setTextAlign('center');
      context.setFontSize(22 * unit);
      context.setFillStyle('#96959a');
      context.fillText(fromText, 277 * unit, 105 * unit);
    }

    // 4.海报背景
    context.setFillStyle('white');
    context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);

    // 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.强烈推荐
    let src = '';
    context.beginPath();
    if (type == 0) { // 普通
      src = '../../../../images/share/q_tj.png';
      context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
      context.setFontSize(16 * unit)
      context.setFillStyle("white")
      context.setTextAlign('left');
      context.fillText('强烈推荐', 64 * unit, 668 * unit);
    }


    // 7.商品价格
    let price = this.data.data.shop_price;
    if (this.data.card_field && this.data.data[this.data.card_field]) {
      price = this.data.data[this.data.card_field];
    }
    if (this.data.prom_act) price = this.data.prom_price;
    price = parseFloat(price).toFixed(2);
    context.setFontSize(32 * unit);
    context.setFillStyle('#DE1117');

    price = this.data.presellList.presell_price
    context.fillText('￥' + price, 54 * unit, 735 * unit);


    //-- 零售价的优化 --
    var wp= 62 * unit+ut.measureText('￥' + price, 32 * unit);
    var hp=735 * 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, 800 * unit, 240 * unit, 280 * unit, unit, 1);

    // 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.toFixed(2);
    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();

  },


  // ----视频图片----
  // 图片计数器
  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;
    var img_url = ee.data.iurl+ee.data.presellForm.share_img;
    img_url?img_url:ee.data.data.original_img;

    //获取商品是分享图信息
    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);
  },

  //--跳转到支付尾款界面--
  go_pay_wk: function () {
    var url = "/packageE/pages/cart/cart_wk/cart_wk?order_id=" + this.data.wk_order_id;
    getApp().goto(url);
  },

  pop_err_img: function (e) {
    var txt = e.currentTarget.dataset.errorimg;
    var ob = {};
    ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif";
    this.setData(ob);
  },

  //历史购买
  getHistoryBuy() {
    let _this = this;
    let req_data = {
      store_id: os.stoid,
      goods_id: this.data.gid,
      pay_status: 1,
      rndid: 1
    };
    getApp().request.promiseGet('/api/weshop/ordergoods/list', {
      data: req_data,
    })
      .then(res => {
        if (ut.ajax_ok(res)) {
          _this.setData({
            historyBuyInfo: res.data.data.pageData,
          })
        }
      })
  },

  //--调用更新阶梯团的接口--
  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 bconfig = th.data.bconfig;

    //如果开启了，则不在选择门店
    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 == 1 || th.data.prom_type == 6 || th.data.prom_type == 4 || th.data.prom_type == 8) && !th.data.is_normal) {
      func(); return false;
    }

    if (this.data.sales_rules != 2) {
      func();
    } else {

      //先读取门店的lock
      await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
        data: { store_id: os.stoid, wareId: goodsinfo.goods_id, storageId: item.pickup_id, pageSize: 1000 }
      }).then(res => {
        if (res.data.code == 0 && res.data.data.total > 0) {
          for (var i in res.data.data.pageData)
            lock += res.data.data.pageData[i].outQty;
        }
      })
      //读取线下的门店库存
      await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
        data: { storageNos: item.pickup_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid }
      }).then(res => {
        if (res.data.code == 0 && res.data.data.total > 0) {
          plist = res.data.data.pageData[0];
        }
      })

      if (plist && plist.CanOutQty - lock > 0) {
        item.CanOutQty = plist.CanOutQty - lock;
        func();
        return false;
      }
      getApp().my_warnning(item.pickup_name + "库存不足！", 0, th);

    }
  },


  //确定def_pick为选择的门店
  sure_pick: function (e) {
    var th = this;
    var item = null;
    var openindstore = th.data.open_ind_store;

    if (th.data.choice_sort_store == 0) {
      var index = th.data.fir_pick_index;
      if (th.data.is_show_sto_cat == 1) {
        item = th.data.def_pickpu_list[index];
      } else {
        item = th.data.only_pk?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 (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
      wx.showToast({
        title: "门店配送方式不匹配",
        icon: 'none',
        duration: 2000
      });
      return false;
    }

    //--回调函数的用法--
    th.check_the_pick(item, function () {
      th.setData({
        def_pick_store: item,
        sto_sele_name: item.pickup_name,
        sto_sele_id: item.pickup_id,
        sto_sele_distr: item.distr_type,
        store: 0,
        choice_sort_store: 0,
        fir_pick_index: 0
      });

      if (openindstore == 1) {
        th.setData({
          openSpecModal: !0,
          openSpecModal_ind: openindstore,
        });
      } else if (openindstore == 2) {
        th.setData({
          openSpecModal: !0,
          openSpecModal_ind: openindstore,
        });
      }
      else if (openindstore == 4) { //4就是拼团
        th.setData({
          openSpecModal_pt: 1,      //打开拼团购买界面
          store: 0,                 //关闭门店
          choice_sort_store: 0,     //关闭门店2级
          sort_store: 0,             //关闭门店2级
        });
      }
      else {
        th.setData({
          store: 0,
          choice_sort_store: 0,
          sort_store: 0
        })
      }
      //如果商品没有其他活动,要取一下线下价格
      th.get_off_price();
    })
  },
  //---点击二级之后的选择---
  choose_for_store: function (e) {
    var index_c = e.currentTarget.dataset.ind;
    var th = this;
    th.setData({
      sec_pick_index: index_c,
      fir_pick_index: index_c
    })

  },
  //把选择的门店设置成默认的门店def_pick
  set_def_pick: function (e) {
    var th = this;
    var item = null;
    if (th.data.choice_sort_store == 0) {
      var index = th.data.fir_pick_index;
      if (th.data.is_show_sto_cat == 1) {
        item = th.data.def_pickpu_list[index];
      } else {
        item = th.data.only_pk?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
      });

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

  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.shareImgPath);
  },


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

    var url = "&goods_id=" +
        this.data.gid + "&pre_id=" + this.data.pre_arr.id;
    //群id分享
    if (getApp().globalData.groupchat_id) {
      url+="&groupchat_id="+getApp().globalData.groupchat_id
    }
    let img = this.data.data.original_img;
    //如果活动有设置分享图的时候
    if(this.data.presellForm.share_img){
       img = this.data.iurl+this.data.presellForm.share_img;
    }

    return {
      title: this.data.data.goods_name + '-' + store_name,
      query: 'first_leader='+user_id+url,
      // imageUrl: this.data.gallery[0].image_url,
      imageUrl: img
    }
  },

  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) {
    getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + goods_id, {
      success: function (res) {
        if (res.data.code == 0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length > 0) {
          var obj = {
            act_id: res.data.data.promGoodsLists[0].prom_id,
          }
          back(obj);
        } else {
          back(0)
        }
      }
    })
  },

  //获取预售的信息
  async get_pre_prom(func) {
    var th = this;
    var presell_id = null;
    var pre_arr = null;

    if (!th.data.pre_id) {
      var presell_id = th.data.presell_id;
      var url = "/api/weshop/marketing/marketingPresellList/list"
      var rd = {
        store_id: os.stoid,
        presell_id: presell_id,
        goods_id: th.data.gid
      }
      console.log('获取预售从表')
      //------获取预售从表----------
      await getApp().request.promiseGet(url, {
        data: rd
      }).then(res => {
        if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
          var arr = res.data.data[0];
          presell_id = arr.presell_id;
          th.setData({
            presellList: arr,
          })
        }
      })

    } else {
      console.log('获取预售从表', 'pre_id', th.data.pre_id)
      //------获取预售从表----------
      await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/get/" + os.stoid + "/" + th.data.pre_id, {}).then(res => {
        if (res.data.code == 0 && res.data.data) {
          var arr = res.data.data;
          presell_id = arr.presell_id;
          th.data.presell_id=presell_id;
          th.setData({
            presellList: arr,
          })
        }
      })
    }

    if (!presell_id) {
      wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 });
      ut.wx_back();
      return false;
    }

    var gnext = 1;
    //------获取预售主表----------
    await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => {
      if (res.data.code == 0 && res.data.data) {
        var act_data = res.data.data;
        if (act_data.is_end) {
          wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 });
          setTimeout(function () {
            ut.wx_back();
          }, 2000)
          gnext = 0;
          return false;
        }
        if (act_data.isuse == 0) {
          wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 });
          setTimeout(function () {
            ut.wx_back();
          }, 2000)
          gnext = 0;
          return false;
        }

        var err_txt = "活动定金时间已经结束";
        var end_time = act_data.end_time;
        if (act_data.presell_type == 1) {
          err_txt = "活动时间已经结束";
        }
        if (end_time < ut.gettimestamp()) {
          wx.showToast({ title: err_txt, icon: 'none', duration: 3000 });
          setTimeout(function () {
            getApp().goto("/pages/index/index/index");
          }, 2000)
          gnext = 0;
          return false;
        }

        if (act_data.presell_type == 0) {
          end_time = act_data.pay_enddate;
          err_txt = "活动尾款时间已经结束";
        }
        if (end_time < ut.gettimestamp()) {
          wx.showToast({ title: err_txt, icon: 'none', duration: 3000 });
          setTimeout(function () {
            ut.wx_back();
          }, 2000)
          gnext = 0;
          return false;
        }

        if (act_data.start_time > ut.gettimestamp()) {
          // wx.showToast({ title: "活动还未开始", icon: 'none', duration: 3000 });
          // setTimeout(function () {
          //   ut.wx_back();
          // }, 2000)
          // gnext = 0;
          th.setData({ show: true });
          // return false;
        }

        th.setData({
          presellForm: res.data.data,
        });
        th.countDown(res.data.data.end_time)
      }
    })

    // console.log('是否继续查询', gnext)
    if (!gnext) {
      return false;
    }
    // console.log('继续查询')

    var userInfo = getApp().globalData.userInfo;
    // timetype: 1,
    var pre_data = { store_id: os.stoid, is_end: 0, isuse: 1,presell_id: presell_id, pageSize: 1000 };
    if (userInfo) {
      pre_data.user_id = userInfo.user_id;
    }
    await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", {
      data: pre_data,
    }).then(e => {
      // console.log('查询marketingPresellList', e)
      if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) {
        // console.log('匹配resellList')
        th.data.all_pre_goods = e.data.data.pageData;
        var idx = e.data.data.pageData.findIndex(function (ele) {
          return ele.id == th.data.presellList.id;
        })

        pre_arr = e.data.data.pageData[idx];
        th.setData({ pre_arr: pre_arr, show: 1 })
        th.data.prom_buy_limit = pre_arr.vip_butyqty;
      }
    })
    if (!pre_arr) {
      // wx.showToast({ title: "当前会员身份不符或者时间已过期，无法参与", icon: 'none', duration: 3000 });
      // setTimeout(function () {
      //   ut.wx_back();
      // }, 2000)
      th.setData({ show: true });
      // return false;
    }
    if (func) {
      func();
    }
  },

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

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

  // 预览海报
  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,
    });
  },

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

  }


});
