// pages/main/advancepayment/home.js var format = require('../../../utils/util.js'); var app = getApp(); var baseUrl = app.globalData.baseUrl; const Sub_taxation_method = {"0101":'正常工资薪金', "0107": "内退一次性补偿" ,"0108": "解除劳动合同一次性补偿", "0109": "个人股票期权行权收入", "0110": "企业年金", "0111": "提前退休一次性补贴", "0103": "全年一次性奖金收入"} Page({ loadCount:0, timestamp: 0, Authorization: null, data: { // tab切换 // isshow : false, currentTab: 0, taxDatas: [], salaryDatas: {}, choosed_date: '', hascompleted_tax:false, hascompleted_sal: false }, onLoad: function(options) { var mydate = new Date(); this.setData({ choosed_date: mydate.getFullYear() + "年" + (mydate.getMonth()+1)+"月", }) this.timestamp = (mydate.getTime() / 1000).toFixed(0) this.loadData(this.timestamp); }, loadData: function (timestamp) { var that = this this.Authorization = getApp().globalData.Authorization; wx.showLoading() that.loadCount = 2 wx.request({ url: baseUrl + "payroll/v1/tax/person-records?global=true", header: { 'Authorization': this.Authorization }, data: { 'declare_month': timestamp }, success: function (result) { let taxDatas = that.handleTaxData(result.data.items) if (taxDatas) { that.setData({ taxDatas: taxDatas }) } }, fail: function (res) { console.log('OSS init 失败', res) }, complete: function () { that.loadCount-- if (!that.loadCount) { wx.hideLoading() } that.setData({ hascompleted_tax: true }) } }) wx.request({ url: baseUrl + "payroll/v1/salary/person-records?global=true", header: { 'Authorization': this.Authorization }, data: { 'cycle_date': timestamp }, success: function (result) { console.log('rest', result.data) that.setData({ salaryDatas: that.handleSalaryData(result.data.items) }) }, fail: function (res) { console.log('salary获取失败', res) }, complete: function () { that.loadCount-- if (!that.loadCount) { wx.hideLoading() } that.setData({ hascompleted_sal: true }) } }) }, handleTaxData: function (items) { if (!items) return for (var i = 0; i < items.length; ++i) { var item = items[i] var method if (item.taxation_method == '0101'){ method = '工资薪金' // if (item.sub_taxation_method && Sub_taxation_method[item.sub_taxation_method]){ // method = '工资薪金-' + Sub_taxation_method[item.sub_taxation_method] // } } else if (item.taxation_method == '0401') { method = '劳务报酬' } else if (item.taxation_method == '0103') { method = '全年一次性奖金' } if (item.taxpayer_type == 'non-resident'){//非居民 item.method = '外籍人' + method }else{ item.method = method } } return items; }, handleSalaryData: function (items) { for (var i = 0; i < items.length; ++i) { var item = items[i] item.payroll_date = format.formatTime_date(item.payroll_date) item.count_date = format.formatDate_min(item.start_time) + '-' + format.formatDate_min(item.end_time) item.detals = this.handleDetailsData(item) item.isshow = false } return items; }, // handleData: function (items) { // for (var i = 0; i < items.length; ++i) { // if (items.taxation_method) // } // }, datePickerChange: function(e) { console.log("e",e) var timestamp = Date.parse(new Date(e.detail.value))/1000 this.setData({ choosed_date: format.yearFormString(timestamp) + "年" + format.monthFormString(timestamp)+"月" }) this.dateStamp = timestamp this.loadData(timestamp); }, /** * 点击tab切换 */ swichNav: function (e) { var that = this; if (this.data.currentTab === e.target.dataset.current) { return false; } else { that.setData({ currentTab: e.target.dataset.current }) } }, /** * 滑动切换tab */ bindChange: function (e) { var that = this; that.setData({ currentTab: e.detail.current }); }, gospan:function(e){ console.log(e) var item = this.data.salaryDatas[e.currentTarget.id] item.isshow = !item.isshow this.setData({ salaryDatas: this.data.salaryDatas }) // this.setData({ // isshow: !this.data.isshow // }) // console.log('idddddd',e.currentTarget.id) // if (!e.currentTarget.id) return // var that = this // wx.showLoading() // wx.request({ // url: baseUrl + "payroll/v1/salary/person-records/" + e.currentTarget.id, // header: { // 'Authorization': this.Authorization // }, // data: {}, // success: function (result) { // console.log('rest', result.data) // that.handleDetailsData(result.data) // }, // fail: function (res) { // }, // complete: function () { // wx.hideLoading() // } // }) }, handleDetailsData: function (data) { let titles = JSON.parse(data['slip_titles']) let detail = JSON.parse(data['detail']) let mapping_keys = data["mapping_keys"] ? data["mapping_keys"]:[] var details = [] for (var i = 0; i < titles.length; ++i) { var titleData = titles[i] var value = detail[titleData['key']] var title = titleData['title'] if (!title){ title = titleData['original_column'] } if (!value) { value = data[titleData['key']] if (value != undefined) { value += 'tax_rate' == titleData['key'] ? '%' : '' } } if (!title || !value) continue; if (mapping_keys.indexOf(titleData['key']) == -1 && value == '0') continue; details.push({ title: title, value: value }) } console.log('details', details) return details }, goItemDetails: function (e) { var item = this.data.taxDatas[e.currentTarget.id] wx.navigateTo({ url: "adPayDetails/adPayDetails?id=" + item.id + "&date=" + this.data.choosed_date + "&taxpayer_type=" + item.taxpayer_type }) }, })