godeclare.js 8.4 KB
// pages/main/addtionalreduce/godeclare/godeclare.js

var app = getApp();
var baseUrl = app.globalData.baseUrl;
Page({

  /**
   * Page initial data
   */
  data: {
    flag_housing01: false,
    flag_housing02: false,
    legal_entity_id: '',
    legal_entity: '',
    type: "",
    selectdata: {},
    selectIndex: [{
        message: '子女教育',
        disable_change: '',
        status: "children_education",
        sureid: false
      }, {
        message: '继续教育',
        disable_change: '',
        status: "continuing_education",
        sureid: false
      }, {
        message: '赡养老人',
        disable_change: '',
        status: "support_duty",
        sureid: false
      },
      {
        message: '大病医疗',
        disable_change: '',
        status: "medical_fund",
        sureid: false
      },
      {
        message: '住房',
        sureid: false,
        disable_change: '',
        status: "",
        extra_message: '',
        choosed_date: ""//上一个页面选择的年份
      },
    ],
  },

  /**
   * Lifecycle function--Called when page load
   */
  onLoad: function(options) {
    var pages = getCurrentPages()
    var frontPage = pages[pages.length - 2]
    console.log("front", frontPage.data)
    console.log("onLoad", options)
    this.setData({
      legal_entity_id: options.legal_entity_id,
      legal_entity: options.legal_entity,
      choosed_date: frontPage.data.choosed_date,
      type: options.type,
      selectdata: options.select_data ? JSON.parse(options.select_data) : {}
    })
    if (options.type == '1' && options.select_data && JSON.parse(options.select_data)) {
      this.handleData(JSON.parse(options.select_data), JSON.parse(options.complete_data))
    }
    // 
  },

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

  },

  /**
   * Lifecycle function--Called when page show
   */
  onShow: function() {

  },

  handleData: function(data,completedata) {
    var selectarray = data.addition_items;
    console.log("handleData", data)
    var selectIndex = this.data.selectIndex;

    if (selectarray.length > 0) {
      wx.showLoading({
        title: '',
      })
      for (var i = 0; i < selectarray.length; i++) {
        if (selectarray[i].addition_category == 'children_education') { //子女教育
          selectIndex[0].sureid = true
          selectIndex[0].disable_change = completedata.indexOf('children_education')!=-1?true:false
        }
        if (selectarray[i].addition_category == 'continuing_education') { //继续教育
          selectIndex[1].sureid = true
          selectIndex[1].disable_change = completedata.indexOf('continuing_education') != -1 ? true : false
        }
        if (selectarray[i].addition_category == 'support_duty') { //赡养老人
          selectIndex[2].sureid = true
          selectIndex[2].disable_change = completedata.indexOf('support_duty') != -1 ? true : false
        }
        if (selectarray[i].addition_category == 'house_fund_rent') { //住房(租房)
          selectIndex[3].sureid = true
          selectIndex[3].disable_change = completedata.indexOf('house_fund_rent') != -1 ? true : false
          this.setData({
            flag_housing01: false,
            flag_housing02: true,
          })
        }
        if (selectarray[i].addition_category == 'house_fund_loan') { //住房(租房)
          selectIndex[3].sureid = true
          selectIndex[3].disable_change = completedata.indexOf('house_fund_loan') != -1 ? true : false
          this.setData({
            flag_housing01: true,
            flag_housing02: false,
          })
        }
      }
      this.setData({
        selectIndex: selectIndex
      })
      wx.hideLoading()
    }
  },

  selectRep: function(e) {
    let index = e.currentTarget.dataset.selectindex;
    let selectIndex = this.data.selectIndex; //取到data里的selectIndex 
    if (selectIndex[index].disable_change) {
      wx.showToast({
        title: '该选项不可修改',
        icon: "none"
      })
      return;
    }
    selectIndex[index].sureid = !selectIndex[index].sureid; //点击就赋相反的值 
    this.setData({
      selectIndex: selectIndex //将已改变属性的json数组更新 
    })
  },

  housing01: function(e) {
    let selectIndex = this.data.selectIndex;
    if (selectIndex[selectIndex.length - 1].disable_change) {
      wx.showToast({
        title: '该选项不可修改',
        icon: "none"
      })
      return;
    }
    this.setData({
      flag_housing01: !this.data.flag_housing01
    })
    if (this.data.flag_housing02) {
      this.setData({
        flag_housing02: !this.data.flag_housing02
      })
    }
  },

  housing02: function(e) {
    let selectIndex = this.data.selectIndex;
    if (selectIndex[selectIndex.length - 1].disable_change) {
      wx.showToast({
        title: '该选项不可修改',
        icon: "none"
      })
      return;
    }
    this.setData({
      flag_housing02: !this.data.flag_housing02
    })
    if (this.data.flag_housing01) {
      this.setData({
        flag_housing01: !this.data.flag_housing01
      })
    }
  },

  gocommit: function() {
    var selectjson = this.data.selectIndex
    if (selectjson[selectjson.length - 1].sureid) {
      if (this.data.flag_housing01 || this.data.flag_housing02) {
        selectjson[selectjson.length - 1].extra_message = this.data.flag_housing01 ? "住房贷款利息" : "住房租金";
        selectjson[selectjson.length - 1].status = this.data.flag_housing01 ? "house_fund_loan" : "house_fund_rent";
        this.setData({
          selectIndex: selectjson
        })
      } else {
        wx.showToast({
          title: '请选择住房类型',
          icon: "none"
        })
        return;
      }
    }
    var stuatusarray = new Array();
    for (var i = 0; i < selectjson.length; i++) {
      if (this.data.selectIndex[i].sureid) {
        stuatusarray.push(this.data.selectIndex[i].status)
      }
    }
    console.log("selectjson01", selectjson)
    if (stuatusarray.length < 1) {
      wx.showToast({
        title: '请选择专项附加扣除',
        icon: "none"
      })
      return;
    }
    if (this.data.type == '0') {
      this.goDeclare(stuatusarray)
    } else if (this.data.type == '1'){
      this.goUpdate(stuatusarray)
      // this.goDeclare(stuatusarray)
    }
  },

  goDeclare: function(array) {
    var that = this;
    var Authorization = getApp().globalData.Authorization;
    wx.request({
      url: baseUrl + 'persontax/v1/additional-settings',
      data: {
        "years": that.data.choosed_date+"",
        "legal_entity_id": this.data.legal_entity_id,
        "legal_entity": this.data.legal_entity,
        "options": array
      },
      method: "POST",
      header: {
        'content-type': 'application/json',
        "Authorization": Authorization
      },
      success: function(res) {
        if (res.statusCode == 200) {
          wx.redirectTo({
            url: '../godetail/godetail?datas=' + JSON.stringify(res.data)
          })
        } else {
          wx.showToast({
            title: res.data.message,
            icon: 'none'
          })
        }
      }
    })
  },

  goUpdate: function (array) {
    var that = this;
    var Authorization = getApp().globalData.Authorization;
    wx.request({
      url: baseUrl + 'persontax/v1/update-addition-setting',
      data: {
        "legal_entity_id": that.data.legal_entity_id,
        "id": that.data.selectdata?that.data.selectdata.id:'',
        "options": array
      },
      method: "PUT",
      header: {
        'content-type': 'application/json',
        "Authorization": Authorization
      },
      success: function (res) {
        console.log("res", res)
        if (res.statusCode==200) {
          wx.redirectTo({
            url: '../godetail/godetail?datas=' + JSON.stringify(res.data.item)
          })
        }else{
          wx.showToast({
            title: res.data.message,
            icon:'none'
          })
        }
      }
    })
  },

  /**
   * 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() {

  }
})