var i = require("../../../../utils/util.js")
const com = require("../../../../pages/giftpack/public/buy_com.js");
var e = getApp(),
  a = e.globalData.setting,
  os = a,
  t = e.request,
  d = e.globalData;
Page({
  data: {
    url: a.url, //接口网址
    iurl: a.imghost, //图片前缀网址
    itemShow: false, //项目栏目是否显示
    cardShow: false, //代金券栏目是否显示
    packShow: false, //福利栏目是否显示
    textShow: false, //规则是否显示
    integralShow: true, //积分领取是否显示
    growUpShow: true, //成长值领取是否显示
    itemButton: '',
    cardButton: '',
    getActId: '',
    getActType: '',
    giftID: '',
    receiveState: 0,
    textTitle: '',
    getUrl: '',
    noShow: false,
    cards: [], //礼包内容--礼券
    itemWare: [], //礼包内容--服务项目
    integralTitle: "",
    growUpTitle: "",
    is_sub: 0, //是否重复领取

    //门店相关
    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,//所有的门店先记录起来

    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: {}, //创建添加默认门店地址的对象

    store: 0,
    openSpecModal: 0,
  },
  GetList:function() {
    var th = this;
    var url = "/api/weshop/marketing/giftbag/bound/get";
    getApp().request.promiseGet(url, {
      isShowLoading: true,
      data: {
        "actId": th.data.getActId, //活动id
        "actType": 4, //活动类型 1新人礼 2评价有礼 3节日营销 4生日营销
        "storeId": a.stoid, //商家ID
        "userId": d.user_id //用户ID
      }
    }).then(res => {
      if (res.data.code == 0) {
        th.setData({
          giftID: res.data.data.id,
        })

        if(th.data.pickup_list && res.data.data.lbType.indexOf(',1,')>-1){

          th.data.is_nd_pk=1;
          //-- 检测一下有没有门店 --
          th.check_guide(function (){
            com.wait_for_store_config(th);
            com.set_user_mo_store(th, os, function () {
              if (th.data.def_pick_store) {
                com.check_def_pk(th);
              }
            });
            com.get_sto(th, os);
          })
        }

        if (res.data.data.lbCoupons.length > 0 && res.data.data.lbCoupons != null) {
          //礼包内容--礼券
          th.setData({
            cardShow: true,
            cards: res.data.data.lbCoupons
          })
        }
        if (res.data.data.lbSM.length > 0 && res.data.data.lbSM != null) {
          //礼包内容--服务项目
          th.setData({
            itemShow: true,
            itemWare: res.data.data.lbSM
          })
        }
        //礼包积分
        if (res.data.data.lbIntegral <= 0) {
          if (res.data.data.lbGrowthValue <= 0) {
            th.setData({
              packShow: false
            })
          } else {
            th.setData({
              packShow: false,
              integralShow: false,
              growUpShow: true
            })
          }

        } else {
          if (res.data.data.lbGrowthValue > 0) {
            th.setData({
              packShow: true
            })
          } else {
            th.setData({
              packShow: true,
              integralShow: true,
              growUpShow: false
            })
          }
        }
        th.setData({
          integralTitle: '价值' + res.data.data.lbIntegral + '积分',
          growUpTitle: '价值' + res.data.data.lbGrowthValue + '成长值'
        })
        if (res.data.data.receiveState == 0) {
          th.setData({
            receiveState: 0
          })
        } else {
          th.setData({
            receiveState: 1
          })
        }

        if (res.data.data.actIntro != '') {
          th.setData({
            textShow: true,
            textTitle: res.data.data.actIntro.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display：block"')
          })
        }
      } else {
        getApp().my_warnning(res.data.msg, 0, th);
        return false;
      }
    })
  },

  onLoad: function onLoad(options) {
    if(options.transfer){
      let obj=getApp().globalData.ts_trans_data;
      options= JSON.parse(JSON.stringify(obj));
      getApp().globalData.ts_trans_data=null;
 }

    var th = this;
    th.setData({
      getActId: options.actId,
      giftID: options.giftBagId,
      buyType:4
    })

    getApp().getConfig2(function (e) {
      var json_d = JSON.parse(e.switch_list);
      th.setData({
        bconfig: e,
        sys_switch: json_d,
        is_retail_price: json_d.is_retail_price || 0
      });
    })

  },
  onShow: function onShow() {
    //--先判断会员状态--
    var user_info = getApp().globalData.userInfo;
    if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
      getApp().goto('/packageE/pages/togoin/togoin');
      return false;
    }
    this.is_birthdayInfo(this.GetList);

  },

  //-- 领取礼包的优化 --
  GetReceive:function (){
    var th=this;
    if(this.data.is_nd_pk){
      th.setData({ openSpecModal: 1 })
      th.pp_bacK_func=th.GetReceive_next; //设置回调函数
    }else{
      th.GetReceive_next();
    }
  },

  GetReceive_next: function() {
    var th = this;
    if (th.data.receiveState) {
      return false;
    }
    var is_sub = th.data.is_sub; //判断是否重复提交
    if (is_sub == 0) {
      th.setData({
        is_sub: 1
      })
      var json = {
        "actId": th.data.getActId, //活动Id
        "actType": 4, //活动类型 1:新人礼、2:评价有礼、3:节日营销、4:生日营销
        "giftBagId": th.data.giftID, //礼包Id
        "storeId": a.stoid, //商家Id
        "userId": d.user_id, //用户ID
        "buyFrom": 2
      };

      //-- 如果需要门店的时候 --
      if( th.data.is_nd_pk==1){
        json.pickup_id=th.data.def_pick_store.pickup_id;
      }

      var data = JSON.stringify(json);
      var url = th.data.url + "/api/weshop/marketing/free/receive/gift/record/insert";
      getApp().request.json_post(url, json,
        function(res) {
          th.setData({
            is_sub: 0
          })
          if (res.data.code == 0) {
            th.setData({
              receiveState: 1
            })
            getApp().my_warnning("领取成功", 1, th);
          } else {
            getApp().my_warnning(res.data.msg, 0, th);
          }
        },
        function(res) {

        }

      )

    }
  },
   //获取生日有礼信息
   is_birthdayInfo: function(func) {
    var th = this;
    var url = `/api/weshop/marketing/get/${a.stoid}/${th.data.getActId}`;
    console.log(th.data.getActId);
    getApp().request.promiseGet(url, {
      
    }).then(res => {
      console.log(res,20000);
      if (res.data.code == 0) {

        var sele_g=res.data.data;

        sele_g.giftTitle=sele_g.actName;
        sele_g.lbUrl=sele_g.actImg;


        let birthdayStyle=`
         --bg-color:${res.data.data.actBgColor};
         --color:${res.data.data.actFontColor};
        `


        if(res.data.data.is_pickup){
          th.data.pickup_list=res.data.data.pickup_list;
          sele_g.pickup_list=res.data.data.pickup_list;
          sele_g.is_pickup=1;
        }

        th.setData({
          bimg: res.data.data.actBoundImg,
          birthdayStyle,
          sele_g
          // actFontColor: res.data.actFontColor, //字体颜色
          // actBgColor: res.data.actBgColor, //背景颜色
        })

        func();

      }
    })
  },
  //界面跳转
  goto: function(e) {
    var url = e.currentTarget.dataset.url;
    getApp().goto(url);
  },
  //图片失败，默认图片
  bind_bnerr1: function(e) {
    var th = this;
    var _errImg = e.target.dataset.errorimg;
    var _Img = e.target.dataset.img;
    if (_Img != undefined) {
      var _errObj = {};
      _errObj[_errImg] = "/miniapp/images/giftbag/gift02.png";
      th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
    }
  },

  buy_libao: function () {
    com.buy_libao(this)
  },


  //--  选择门店 --
  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();
          com.get_sto(th, os);
        },
        fail: function (res) {
          //th.onShow();
          th.data.is_get_local_ok = 1;
          com.get_sto(th, os);
          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;
      com.get_sto(th, os);
    }

    if (ind != undefined && ind != null) {
      this.setData({
        open_ind_store: ind,
        store: 1,
        openSpecModal: !1,
        openSpecModal_pt: !1,
        openSpecModal_flash_normal: !1,
      })
    } else {
      this.setData({
        store: 1,
        openSpecModal: !1,
        openSpecModal_pt: !1,
        openSpecModal_flash_normal: !1

      })
    }
  },
  //关闭选择门店
  close_popup: function (e) {
    var th = this;
    this.setData({
      store: 0,
      choice_sort_store: 0,
      sort_store: 0,
      fir_pick_index: 0,
      sec_pick_index: 0
    })

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


  },
  //选择更多门店
  more_store: function () {
    this.setData({
      sort_store: 1
    });
  },
  // 返回按钮
  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_i:index,
      sec_sto: item,
      sec_pick_index: 0
    });
  },
  choose_for_store_fir: function (e) {
    var index_c = e.currentTarget.dataset.ind;
    var th = this;
    th.setData({
      fir_pick_index: index_c
    })

  },
  //确定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;

    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,
      openSpecModal: !0,
    });


  },
  //---点击二级之后的选择---
  choose_for_store: function (e) {
    var index_c = e.currentTarget.dataset.ind;
    var th = this;
    th.setData({
      sec_pick_index: index_c,
      fir_pick_index: index_c
    })

  },
  //把选择的门店设置成默认的门店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;

    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,
      openSpecModal: !0,
    });

    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 {
          getApp().my_warnning("设置默认门店地址失败", 0, th)
        }

      }
    });


  },
  closeSpecModal: function () {
    this.setData({openSpecModal: 0});
  },

  //获取搜索门店输入的值
  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
          })
        }

      }


    }
  },

  check_guide(func){
    var first_leader=this.data.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();
    })
  },


});