// static/nativeComponents/AreaNavigation/index.js
const app = getApp()
const { indexApi } = app;
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    datas : {
      type : Object
    },
    changeLocation:{
      type : String
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    noShow : false,
    positionCity: "",
    changeShow: false,
    positionName: '定位中',
    wxReady: false,
    designateAreaObj : null,
    showSpokesManHome: false,
  },
  ready(){
    console.log('++++++++++++++++++++定位组件加载好了++++++++++++++++++++')
    console.log(this.data.changeLocation,'changeLocation')
    console.log(getCurrentPages())


    this.setData({
      designateAreaObj: this.data.datas.componentData.designateAreaObj
    })
    //分销商货架存在
    if(
      app.fenxiaoModel.spokesmanInfo&&
      app.fenxiaoModel.spokesmanInfo.parentSpokesmanDistributionModel == '1'&&
      app.fenxiaoModel.spokesmanInfo.distributorHomepage.id
    ) {
      this.setData({
        showSpokesManHome: true
      })
    }else {
      this.setData({
        showSpokesManHome: false
      })
    }
    console.log(this.data.datas.componentData.designateAreaObj,'2222')

    if (!wx.getStorageSync('location')) {
      wx.navigateTo({
        url: `/pages/changeAdr/main?areaGroupId=${this.data.datas.componentData.designateAreaObj.areaGroupId}&noLocation=1`
      })
      return
    }
    if (this.data.datas.componentInfo.visible == 1) {
      let _this = this;

      if (wx.getStorageSync('location')) {
        this.setData({
          'designateAreaObj.id': JSON.parse(wx.getStorageSync('location')).id,
          'designateAreaObj.regionName': JSON.parse(wx.getStorageSync('location')).regionName,
          'designateAreaObj.regionType': JSON.parse(wx.getStorageSync('location')).regionType,
          'designateAreaObj.systemRegionId': JSON.parse(wx.getStorageSync('location')).systemRegionId,
          'designateAreaObj.outId': JSON.parse(wx.getStorageSync('location')).outId,
          'designateAreaObj.areaGroupId': JSON.parse(wx.getStorageSync('location')).areaGroupId,
        })

        this.setData({
          positionName: this.data.designateAreaObj.regionName
        })
      }

      console.log('组件1', this.data.designateAreaObj)


      if(this.data.changeLocation == 1){
        return
      }
      wx.getLocation({
        type: 'wgs84',
        success(res) {
          console.log('组件1111', _this.data.designateAreaObj)
          console.log(res, '++++++++++获取地区')
          const latitude = res.latitude
          const longitude = res.longitude
          console.log('组件2', _this.data.designateAreaObj)
          indexApi.queryLocation(longitude, latitude).then(data => {
            if (data.data.code == '200') {
              let city = ''
              data.data.data.forEach(item => {
                if (item.operatingAreaAreaId) {
                  city = item;
                }
              })
              if (city == '') {
                _this.setData({
                  positionCity: data.data.data[0]
                })
              } else {
                _this.setData({
                  positionCity: city
                })
              }

              if(!wx.getStorageSync('location')){
                _this.setData({
                  'designateAreaObj.id': _this.data.positionCity.operatingAreaAreaId,
                  'designateAreaObj.regionName': _this.data.positionCity.regionName,
                  'designateAreaObj.regionType': _this.data.positionCity.regionType,
                  'designateAreaObj.systemRegionId': _this.data.positionCity.systemRegionId,
                  'designateAreaObj.outId': _this.data.positionCity.outId,
                })
              }


              console.log(_this.data.positionCity, '定位城市信息')
              console.log(_this.data.designateAreaObj, '组件信息')
              let str = JSON.stringify({
                id: _this.data.positionCity.operatingAreaAreaId,
                regionName: _this.data.positionCity.regionName,
                regionType: _this.data.positionCity.regionType,
                systemRegionId: _this.data.positionCity.systemRegionId,
                outId: _this.data.positionCity.outId,
                areaGroupId: _this.data.designateAreaObj.areaGroupId,
              })
              console.log(str, 'str.......')
              wx.setStorageSync('location', str)


              if (_this.data.positionCity.operatingAreaAreaId == _this.data.designateAreaObj.id) {
                _this.setData({
                  positionName: _this.data.positionCity.regionName
                })
              } else {
                  _this.setData({
                    changeShow: true
                  })
              }



            } else {
              if (!wx.getStorageSync('location')) {
                if (_this.data.designateAreaObj.id) {

                  wx.setStorageSync('location', JSON.stringify({
                    id: _this.data.designateAreaObj.id,
                    regionName: _this.data.designateAreaObj.regionName,
                    regionType: _this.data.designateAreaObj.regionType,
                    systemRegionId: _this.data.designateAreaObj.systemRegionId,
                    areaGroupId: _this.data.designateAreaObj.areaGroupId,
                    outId: _this.data.designateAreaObj.outId
                  }))

                  _this.setData({
                    positionName: _this.data.designateAreaObj.regionName
                  })
                }
              }
            }
          }).catch(err => {
            console.log('定位')
            if (!wx.getStorageSync('location')) {
              if (_this.data.designateAreaObj.id) {

                wx.setStorageSync('location', JSON.stringify({
                  id: _this.data.designateAreaObj.id,
                  regionName: _this.data.designateAreaObj.regionName,
                  regionType: _this.data.designateAreaObj.regionType,
                  systemRegionId: _this.data.designateAreaObj.systemRegionId,
                  areaGroupId: _this.data.designateAreaObj.areaGroupId,
                  outId: _this.data.designateAreaObj.outId
                }))

                _this.setData({
                  positionName: _this.data.designateAreaObj.regionName
                })
              }
            }
          })
        },
        fail(error) {
          console.log('定位失败')
          if(!wx.getStorageSync('location')){
            if(_this.data.designateAreaObj.id){
              wx.setStorageSync('location', JSON.stringify({
                id : _this.data.designateAreaObj.id,
                regionName: _this.data.designateAreaObj.regionName,
                regionType: _this.data.designateAreaObj.regionType,
                systemRegionId : _this.data.designateAreaObj.systemRegionId,
                areaGroupId : _this.data.designateAreaObj.areaGroupId,
                outId : _this.data.designateAreaObj.outId
              }))

              _this.setData({
                positionName : _this.data.designateAreaObj.regionName
              })
            }
          }

        }
      })
    }


    console.log('111111++++++++++++++++++++定位组件加载好了++++++++++++++++++++111')
  },
  pageLifetimes : {
    show(){
      console.log('组件页面出来show', this.data.designateAreaObj)
      console.log('组件页面出来show', this.data.positionCity)

      if(wx.getStorageSync('location')){
        let locationObj = JSON.parse(wx.getStorageSync('location'))
        if (locationObj.id){
          if (locationObj.id != this.data.positionCity.operatingAreaAreaId){
            this.setData({
              positionName: locationObj.regionName
            })

            this.setData({
              'designateAreaObj.id': locationObj.id,
              'designateAreaObj.regionName': locationObj.regionName,
              'designateAreaObj.regionType': locationObj.regionType,
              'designateAreaObj.systemRegionId': locationObj.systemRegionId,
              '.designateAreaObj.areaGroupId': locationObj.areaGroupId,
              'designateAreaObj.outId': locationObj.outId
            })

            let obj = {
              operatingAreaAreaId: locationObj.id,
              regionName: locationObj.regionName,
              regionType: locationObj.regionType,
              systemRegionId: locationObj.systemRegionId,
              areaGroupId: locationObj.areaGroupId,
              outId: locationObj.outId,
            }

            this.setData({
              positionCity : obj
            })
          }
          // app.getThemePage({ mixid: "antgood", shopid: 67 })
          return
        }

        if (locationObj.regionName != this.data.positionCity.regionName){
          this.setData({
            positionName: locationObj.regionName
          })
          this.setData({
            'designateAreaObj.id': locationObj.id,
            'designateAreaObj.regionName': locationObj.regionName,
            'designateAreaObj.regionType': locationObj.regionType,
            'designateAreaObj.systemRegionId': locationObj.systemRegionId,
            'designateAreaObj.areaGroupId': locationObj.areaGroupId,
            'designateAreaObj.outId': locationObj.outId
          })
          let obj = {
            operatingAreaAreaId: locationObj.id,
            regionName: locationObj.regionName,
            regionType: locationObj.regionType,
            systemRegionId: locationObj.systemRegionId,
            areaGroupId: locationObj.areaGroupId,
            outId: locationObj.outId,
          }

          this.setData({
            positionCity: obj
          })
          // app.getThemePage({ mixid: "antgood", shopid: 67 })
          return
        }
      }



    }
  },


  /**
   * 组件的方法列表
   */
  methods: {
    //切换城市
    changeTo(e){
      console.log(this.data.designateAreaObj)

      this.setData({
        'designateAreaObj.id': this.data.positionCity.operatingAreaAreaId,
        'designateAreaObj.regionName': this.data.positionCity.regionName,
        'designateAreaObj.regionType': this.data.positionCity.regionType,
        'designateAreaObj.systemRegionId': this.data.positionCity.systemRegionId,
        // 'designateAreaObj.areaGroupId': this.data.positionCity.areaGroupId,
        'designateAreaObj.outId': this.data.positionCity.outId
      })

      console.log(this.data.designateAreaObj)
      console.log(this.data.positionCity)
      let change = JSON.stringify(this.data.designateAreaObj)
      this.setData({
        positionName: this.data.positionCity.regionName,
        changeShow : false
      })
      wx.setStorageSync('location', change )
      app.trackCpn(e, this.data.datas.componentName, 'tzChangeTo')
      wx.reLaunch({
        url: '/pages/home/main?changeLocation=1'
      })

    },
    continueBrowser(e){
      console.log(this.data.designateAreaObj,'this.data.designateAreaObj')
      wx.setStorageSync('location', JSON.stringify(this.data.designateAreaObj))
      this.setData({
        positionName: this.data.designateAreaObj.regionName,
        changeShow: false
      })
      // wx.startPullDownRefresh()
      app.trackCpn(e, this.data.datas.componentName, 'continueBrowser')
      wx.reLaunch({
        url: '/pages/home/main?changeLocation=1'
      })

    },
    changeOtherCity(e){
      console.log(getCurrentPages())
      app.trackCpn(e, this.data.datas.componentName, 'changeOtherCity')
      wx.navigateTo({
        url: '/pages/changeAdr/main?areaGroupId=' + this.data.designateAreaObj.areaGroupId,
      })
    },
    toSearchPage(e){
      app.trackCpn(e, this.data.datas.componentName, 'toSearchPage')
      app.$themeToLink({
        type : 1,
        link: '/goodsSearch/goodsSearch'
      })
    }
  },
})