// pages/editAddress/editAddress.js
var http = require("../../utils/http.js");
var util = require("../../utils/util.js");

var show = false;
var moveY = 200;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value: [0, 0, 0],
    provArray: [],
    cityArray: [],
    areaArray: [],
    province: "",
    city: "",
    area: "",
    provinceId: 0,
    cityId: 0,
    areaId: 0,
    receiver: "",
    mobile: "",
    addr: "",
    addrId: 0,
    sel_address:{},
    is_select:false,
  },

  onLoad: function (options) {
    if (options.addrId) {
      wx.showLoading();
      var params = {
        url: "/p/address/addrInfo/" + options.addrId,
        method: "GET",
        callBack: res => {
          this.setData({
            is_select:true,
            sel_address:res,
            province: res.province,
            city: res.city,
            area: res.area,
            provinceId: res.provinceId,
            cityId: res.cityId,
            areaId: res.areaId,
            receiver: res.receiver,
            mobile: res.mobile,
            addr: res.addrDetail,
            addrId: options.addrId
          });
          // this.initCityData(res.provinceId, res.cityId, res.areaId);
          wx.hideLoading();
        }
      }
      http.request(params);
    } else {
      // this.initCityData(this.data.provinceId, this.data.cityId, this.data.areaId);
    }
  },

  // initCityData: function (provinceId, cityId, areaId) {
  //   var ths = this;
  //   wx.showLoading();
  //   var params = {
  //     url: "/p/area/listByPid",
  //     method: "GET",
  //     data: {
  //       pid: 0
  //     },
  //     callBack: function (res) {
  //       ths.setData({
  //         provArray: res
  //       });
  //       if (provinceId) {
  //         for (var index in res) {
  //           if (res[index].areaId == provinceId) {
  //             ths.setData({
  //               value: [index, ths.data.value[1], ths.data.value[2]]
  //             });
  //           }
  //         }
  //       }
  //       ths.getCityArray(provinceId ? provinceId : res[0].areaId, cityId, areaId);
  //       wx.hideLoading();
  //     }
  //   }
  //   http.request(params);
  // },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  onReady: function () {
    this.animation = wx.createAnimation({
      transformOrigin: "50% 50%",
      duration: 0,
      timingFunction: "ease",
      delay: 0
    })
    this.animation.translateY(200 + 'vh').step();
    this.setData({
      animation: this.animation.export(),
      show: show
    })
  },
  //移动按钮点击事件
  translate: function (e) {
    let that = this
    wx.chooseLocation({
      success: function (res) {
        that.setData({
          sel_address:res,
          is_select:true
        })
      },
      fail: function (err) {
        console.log(err, '---err');
      },
      complete: function (e) {
        // console.log(e, '-----callback');
      }
    })
  },
  //隐藏弹窗浮层
  hiddenFloatView(e) {
    //console.log(e);
    moveY = 200;
    show = true;
    t = 0;
    this.animationEvents(this, moveY, show);

  },

  //动画事件
  animationEvents: function (that, moveY, show) {
    //console.log("moveY:" + moveY + "\nshow:" + show);
    that.animation = wx.createAnimation({
      transformOrigin: "50% 50%",
      duration: 400,
      timingFunction: "ease",
      delay: 0
    })
    that.animation.translateY(moveY + 'vh').step()

    that.setData({
      animation: that.animation.export()
    })

  },

  /**
   * 根据省份ID获取 城市数据
   */
  // getCityArray: function (provinceId, cityId, areaId) {
  //   var ths = this;
  //   var params = {
  //     url: "/p/area/listByPid",
  //     method: "GET",
  //     data: {
  //       pid: provinceId
  //     },
  //     callBack: function (res) {
  //       //console.log(res)
  //       ths.setData({
  //         cityArray: res
  //       });
  //       if (cityId) {
  //         for (var index in res) {
  //           if (res[index].areaId == cityId) {
  //             ths.setData({
  //               value: [ths.data.value[0], index, ths.data.value[2]]
  //             });
  //           }
  //         }
  //       }
  //       ths.getAreaArray(cityId ? cityId : res[0].areaId, areaId);
  //       wx.hideLoading();
  //     }
  //   }
  //   http.request(params);
  // },

  /**
   * 根据城市ID获取 区数据
   */
  // getAreaArray: function (cityId, areaId) {
  //   var ths = this;
  //   var params = {
  //     url: "/p/area/listByPid",
  //     method: "GET",
  //     data: {
  //       pid: cityId
  //     },
  //     callBack: function (res) {
  //       //console.log(res)
  //       ths.setData({
  //         areaArray: res
  //       });
  //       if (areaId) {

  //         for (var _index in res) {
  //           if (res[_index].areaId == areaId) {
  //             ths.setData({
  //               value: [ths.data.value[0], ths.data.value[1], _index]
  //             });
  //           }
  //         }

  //         index = ths.data.value;

  //         ths.setData({
  //           province: ths.data.province,
  //           city: ths.data.city,
  //           area: ths.data.area,
  //           provinceId: ths.data.provinceId,
  //           cityId: ths.data.cityId,
  //           areaId: ths.data.areaId
  //         })

  //       } else {
  //         ths.setData({
  //           // province: ths.data.provArray[ths.data.value[0]].areaName,
  //           // city: ths.data.cityArray[ths.data.value[1]].areaName,
  //           // area: ths.data.areaArray[ths.data.value[2]].areaName,
  //           // provinceId: ths.data.provArray[ths.data.value[0]].areaId,
  //           // cityId: ths.data.cityArray[ths.data.value[1]].areaId,
  //           // areaId: ths.data.areaArray[ths.data.value[2]].areaId
  //         })
  //       }

  //       wx.hideLoading();
  //     }
  //   }
  //   http.request(params);
  // },

  bindRegionChange: function (e) {
    //console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  },


  /**
   * 保存地址
   */
  onSaveAddr: function () {
    var ths = this;
    var receiver = ths.data.receiver;
    var mobile = ths.data.mobile;
    var addr = ths.data.addr;

    if (!receiver) {
      wx.showToast({
        title: '请输入收货人姓名',
        icon: "none"
      })
      return;
    }
    if (!mobile) {
      wx.showToast({
        title: '请输入手机号码',
        icon: "none"
      })
      return;
    }
    if (!util.checkPhoneNumber(this.data.mobile)) {
      wx.showToast({
        title: '请输入正确的手机号码',
        icon: "none"
      })
      return;
    }
    if (!addr) {
      wx.showToast({
        title: '请输入详细地址',
        icon: "none"
      })
      return;
    }

    wx.showLoading();
    var url = "/p/address/addAddr";
    var method = "POST";
    if (ths.data.addrId != 0) {
      url = "/p/address/updateAddr";
      method = "PUT";
    }
    //添加或修改地址
    var params = {
      url: url,
      method: method,
      data: {
        receiver: ths.data.receiver,
        mobile: ths.data.mobile,
        addrDetail: ths.data.addr,
        province: ths.data.province,
        provinceId: ths.data.provinceId,
        city: ths.data.city,
        cityId: ths.data.cityId,
        areaId: ths.data.areaId,
        area: ths.data.area,
        userType: 0,
        addrId: ths.data.addrId,
        addressName:ths.data.sel_address.addressName||ths.data.sel_address.name,
        address:ths.data.sel_address.address,
        longitude:ths.data.sel_address.longitude,
        latitude:ths.data.sel_address.latitude
      },
      callBack: function (res) {
        wx.hideLoading();
        wx.navigateBack({
          delta: 1
        })
      }
    }
    http.request(params);
  },

  onReceiverInput: function (e) {
    this.setData({
      receiver: e.detail.value
    });
  },

  onMobileInput: function (e) {
    this.setData({
      mobile: e.detail.value
    });
  },

  onAddrInput: function (e) {
    this.setData({
      addr: e.detail.value
    });
  },


  //删除配送地址
  onDeleteAddr: function (e) {
    var ths = this;
    wx.showModal({
      title: '',
      content: '确定要删除此收货地址吗？',
      confirmColor: "#04358D",
      success(res) {
        if (res.confirm) {
          var addrId = ths.data.addrId;
          wx.showLoading();
          var params = {
            url: "/p/address/deleteAddr/" + addrId,
            method: "DELETE",
            data: {},
            callBack: function (res) {
              wx.hideLoading();
              wx.navigateBack({
                delta: 1
              })
            }
          }
          http.request(params);
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })

  },

})