adddupporters.js 8.4 KB
// pages/main/addtionalreduce/adddupporters/adddupporters.js
var app = getApp();
var baseUrl = app.globalData.baseUrl;
var format = require('../../../../utils/util.js');
Page({

  /**
   * Page initial data
   */
  data: {
    legal_entity_id: "",
    supporter_id: "",
    name: "",
    nation: "",
    id_card_no: "",
    birthday: "",
    datas: "",
    cardTypeArray : ['居民身份证', '中国护照', '港澳居民居住证', '台湾居民居住证', '外国人永久居留身份证', '外国人工作许可证(A类)', '外国人工作许可证(B类)', '外国人工作许可证(C类)'],
    countryArray:[],
    countryAbleChoosed:false,
    cardtype:"",
    nation:"",
    birthday_datelong: -1,
  },

  /**
   * Lifecycle function--Called when page load
   */
  onLoad: function(options) {
    console.log("onLoad", options)
    if (options.id) {
      this.setData({
        legal_entity_id: options.id,
      })
    }

    if (options.datas && JSON.parse(options.datas)) {
      var curdata = JSON.parse(options.datas)
      this.setData({
        datas: curdata,
        supporter_id: curdata.id,
        name: curdata.co_supporter,
        cardtype: curdata.id_card_type,
        nation: curdata.nation,
        id_card_no: curdata.id_card_no,
        birthday: curdata.birthday ? this.formatDate(curdata.birthday) : "",
        birthday_datelong: curdata.birthday
      })
    }
    this.getCountry()
  },

  /**
   * Lifecycle function--Called when page is initially rendered
   */
  onReady: function() {

  },

  /**
   * Lifecycle function--Called when page show
   */
  onShow: function() {
    var that = this
    wx.getStorage({
      key: 'id_info',
      success: function(res) {
        console.log('id_info', res.data)
        if (res.data && res.data.length > 0) {
          var id_info = JSON.parse(res.data)
          var birth_day
          if (id_info.birthday.month > 9 && id_info.birthday.day > 9) {
            birth_day = id_info.birthday.year + '-' + id_info.birthday.month + '-' + id_info.birthday.day;
          } else if (id_info.birthday.month > 9 && id_info.birthday.day < 10) {
            birth_day = id_info.birthday.year + '-' + id_info.birthday.month + '-0' + id_info.birthday.day;
          } else if (id_info.birthday.month < 10 && id_info.birthday.day > 9) {
            birth_day = id_info.birthday.year + '-0' + id_info.birthday.month + '-' + id_info.birthday.day;
          } else if (id_info.birthday.month < 10 && id_info.birthday.day < 10) {
            birth_day = id_info.birthday.year + '-0' + id_info.birthday.month + '-0' + id_info.birthday.day;
          }
          console.log("birth_day", birth_day)
          that.setData({
            name: id_info.name,
            id_card_no: id_info.id_card_number,
            birthday: birth_day,
            birthday_datelong: Date.parse(new Date(birth_day)) / 1000
          })
        }
      },
    })
    wx.removeStorage({
      key: 'id_info',
      success(res) {
        console.log(res.data)
      }
    })
  },

  //****************获取国籍数据************/
  getCountry: function () {
    var that = this
    wx.showLoading({
      title: '',
    })
    var Authorization = app.globalData.Authorization;
    wx.request({
      url: baseUrl + 'persontax/v1/nation-list',
      method: "GET",
      header: {
        'content-type': 'application/json', // 默认值
        "Authorization": Authorization
      },
      success: function (res) {
        var countrys = res.data.concat()
        that.data.countryArray = res.data
        if (countrys.indexOf('中国') > -1) {
          countrys.splice(countrys.indexOf('中国'), 1);
        }
        if (countrys.indexOf('中国台湾') > -1) {
          countrys.splice(countrys.indexOf('中国台湾'), 1);
        }
        if (countrys.indexOf('香港') > -1) {
          countrys.splice(countrys.indexOf('香港'), 1);
        }
        if (countrys.indexOf('澳门') > -1) {
          countrys.splice(countrys.indexOf('澳门'), 1);
        }
        that.setData({
          countryArray: countrys,
        })
      },
      fail(res) {
        wx.hideLoading()
      },
      complete() {
        wx.hideLoading()
      }
    })
  },

  getIdInfo: function(e) {
    wx.navigateTo({
      url: '../../taxperson/idinfo/idinfo'
    })
  },


  formSubmit: function(e) {
    console.log("formSubmit", e);
    var formdata = e.detail.value
    if (!formdata.name || formdata.name.length < 1) {
      this.showToast("请输入姓名")
      return;
    } 
    if (this.data.cardtype.length<1){
      this.showToast("请选择证照类型")
      return;
    }else if (!formdata.id_card_no || formdata.id_card_no.length < 1) {
      this.showToast("请输入证件号码")
      return;
    } else if (this.data.cardtype=='居民身份证'&&!format.isIDCardNum(formdata.id_card_no)) {
      this.showToast("证件号码有误")
      return;
    }
    if (this.data.birthday.length < 1) {
      this.showToast("请选择出生日期")
      return;
    }
    if (this.data.nation.length < 1) {
      this.showToast("请选择国籍")
      return;
    }
    this.goAdd(formdata)
  },

  goAdd: function(formdata) {
    var that = this;
    var Authorization = getApp().globalData.Authorization;
    wx.request({
      url: baseUrl + 'persontax/v1/co-supporters',
      data: {
        "id": that.data.supporter_id,
        "legal_entity_id": that.data.legal_entity_id,
        "co_supporter": formdata.name,
        "id_card_type": that.data.cardtype,
        "id_card_no": formdata.id_card_no,
        "birthday": that.data.birthday_datelong,
        "nation": that.data.nation,
        "relation_ship": "兄、弟、姐、妹"
      },
      header: {
        'content-type': 'application/json',
        "Authorization": Authorization
      },
      method: "POST",
      success: function(res) {
        if (res && res.data) {
          console.log("succ", res)
          if (res.statusCode == 200) {
            wx.navigateBack({
              delta: 1
            })
          } else {
            that.showToast(res.data.message)
          }
        }
      },
      fail: function(res) {
        console.log("fail", res)
        that.showToast(res.data.message)
      }
    })
  },

  bindDateChange: function(e) {
    console.log('picker发送选择改变,携带值为', e)
    this.setData({
      birthday: e.detail.value,
      birthday_datelong: Date.parse(new Date(e.detail.value)) / 1000
    })
  },

  bindCardtypeChange:function(e){
    console.log('bindCardtypeChange', e)
    var card_type = this.data.cardTypeArray[e.detail.value]
    this.setData({
      cardtype: card_type,
      nation: card_type == "居民身份证" || card_type == "中国护照" ? "中国" : (this.data.nation == "中国" ? "" : this.data.nation),
      countryAbleChoosed: card_type == "居民身份证" || card_type == "中国护照" ? true : false
    })
  },

  bindnationChange: function (e) {
    console.log('bindnationChange', e)
    this.setData({
      nation: this.data.countryArray[e.detail.value]
    })
  },

  showToast: function(data) {
    if (data && data.length > 0) {
      wx.showToast({
        title: data,
        icon: "none"
      })
    }
  },

  bindinput: function(e) {
    console.log("bindinput", e.detail.value)
    var idCardNo = e.detail.value
    if (this.data.cardtype=='居民身份证'&&idCardNo.length == 18) {
      if (!format.isIDCardNum(idCardNo)) {
        wx.showToast({
          image: "../../../../images/warn.png",
          title: '身份证格式有误'
        })
        return;
      }
      var info = format.analyzeIDCard(idCardNo)
      console.log('info', info.age, info.sex, info.birthDay, (Date.parse(new Date(info.birthDay)) / 1000))
      this.setData({
        birthday: info.birthDay,
        birthday_datelong: (Date.parse(new Date(info.birthDay)) / 1000),
      })
    }
  },

  formatDate(date) {
    if (date == 0 || date == -62135596800) {
      date = ""
    } else {
      date = format.formatTime_date(date)
    }
    console.log("formatDate", date)
    return date
  },

  /**
   * Lifecycle function--Called when page hide
   */
  onHide: function() {

  },

  /**
   * Lifecycle function--Called when page unload
   */
  onUnload: function() {

  },

  /**
   * Page event handler function--Called when user drop down
   */
  onPullDownRefresh: function() {

  },

  /**
   * Called when page reach bottom
   */
  onReachBottom: function() {

  },

  /**
   * Called when user click on the top right corner to share
   */
  onShareAppMessage: function() {

  }
})