// pages/bind/index.js
import util from '../../utils/util'
import http from '../../utils/http'
import api from '../../utils/api'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    projects: [],
    projectIndex: -1,
    roles: [],
    roleIndex: -1,
    name: '',
    remark: '',
    phone: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  onInputChange: function (e) {
    var name = e.currentTarget.dataset.name
    var val = e.detail.value
    this.setData({
      [name]: val
    })
  },

  updatePhoneNumber(e) {
    var that = this
    if (e.detail.errMsg == 'getPhoneNumber:ok') {
      wx.checkSession({
        success: () => {
          var data = Object.assign({}, e.detail, {
            session_key: wx.getStorageSync('session_key')
          })
          console.log(data)
          that.parsePhone(data)
        },
        fail: () => {
          wx.login({
            success: function(res) {
              var data = Object.assign({}, e.detail, {
                code: res.code
              })
              console.log(data)
              that.parsePhone(data)
            }
          })
        }
      })
    }
  },

  parsePhone(data) {
    var that = this
    http({
      url: 'parsePhone',
      data: data,
      success: function (res) {
        console.log(res)
        if(res.code == 0 && res.data.phoneNumber) {
          that.setData({
            phone: res.data.phoneNumber
          })
          if(res.data.session_key) {
            wx.setStorageSync('session_key', res.data.session_key)
          }
          util.success('手机号获取成功')
        } else {
          util.error('发生错误')
        }
      }
    })
  },

  getUserInfo: function (e) {
    var that = this;
    util.wechatLogin(e, false, function (res) {
      that.submit()
    }, true)
  },

  submit: function () {
    if (!this.data.name) {
      util.error('真实姓名必填')
      return false;
    }
    if (!this.data.projectIndex < 0) {
      util.error('所属项目必填')
      return false;
    }
    if (!this.data.roleIndex < 0) {
      util.error('申请角色不能为空')
      return false;
    }
    // if (this.data.remark.length < 10) {
    //   util.error('备注需10个字以上')
    //   return false;
    // }
    // if(!this.data.phone) {
    //   util.error('手机号不能为空')
    //   return false;
    // }
    var project = this.data.projects[this.data.projectIndex]
    var role = this.data.roles[this.data.roleIndex]
    var userInfo = getApp().globalData.userInfo
    var phone = userInfo ? userInfo.phone : ''
    http({
      url: 'user-auth/create',
      data: {
        name: this.data.name,
        project_id: project ? project.id : '',
        project_role_id: role ? role.id : '',
        remark: this.data.remark,
        phone: phone
      },
      success: function (res) {
        util.success('操作成功')
      }
    })
  },

  bindPickerChange: function (e) {
    var name = e.currentTarget.dataset.name
    this.setData({
      [name]: e.detail.value
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    api.getByName(this, 'projects/getAll', 'projects')
    api.getByName(this, 'project-roles/getAll', 'roles', {
      'limit': true
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})