refundInfo.js 7.3 KB
// pages/main/finalpay/refundInfo/refundInfo.js
var OSSInit;
var app = getApp();
var baseUrl = app.globalData.baseUrl;
var format = require('../../../../utils/util.js');
var province = require('../../../../utils/province.js');
Page({

  /**
   * Page initial data
   */
  data: {
    year:"2019",
    province: [],
    bankList:[],
    name: '',
    bank: '',
    bank_card_no: '',
    bank_province: '',
    refundInfo:{},
    show_modal: false
  },

  /**
   * Lifecycle function--Called when page load
   */
  onLoad: function(options) {
    this.initOSS()
    var userinfo = app.globalData.userInfo
    console.log("userinfo", userinfo)
    this.getRefundDetail()
    this.loadProvince()
    this.setData({
      name: userinfo ? userinfo.name : ""
    })
  },

  getbanklist: function () {
    var that = this
    var Authorization = app.globalData.Authorization;
    wx.request({
      url: baseUrl + 'persontax/v1/bank-list',
      method: "GET",
      header: {
        'content-type': 'application/json', // 默认值
        "Authorization": Authorization
      },
      success: function (res) {
        console.log(res)
        that.setData({
          bankList: res.data.items,
        })
        console.log("bankInfo", that.data.bankList)
      },
      fail(res) {
        console.log(res)
      },
      complete() {
        wx.hideLoading()
      }
    })
  },

  getRefundDetail: function () { //退税明细
    var that = this
    this.Authorization = getApp().globalData.Authorization;
    wx.request({
      url: baseUrl + "payroll/v1/settlement-tax/refund-detail",
      header: {
        'Authorization': this.Authorization
      },
      data: {
        years: that.data.year,
      },
      success: function (result) {
        console.log("refundinfo", result.data)
        if (result.statusCode == 200) {
          that.setData({
            bank: result.data.item.bank,
            bank_card_no: result.data.item.bank_card_no,
            refundInfo: result.data.item
          })
        }
      },
    })
  },


  loadProvince: function() {
    province.init(this)
    var provincelist = this.data.province
    var province_data = []
    for (var i = 0; i < provincelist.length; i++) {
      province_data.push(provincelist[i].name)
    }
    console.log("provincedata", province_data)
    this.setData({
      province: province_data,
    })
  },

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

  },

  initOSS: function() {
    var that = this
    var Authorization = getApp().globalData.Authorization;
    //OSS 上传前init
    wx.showLoading()
    wx.request({
      url: baseUrl + "filemeta/v1/inits",
      header: {
        'Authorization': Authorization
      },
      method: 'POST',
      data: {
        "access_type": "web_upload",
        "action ": "put_object",
        "instance_id": "",
        "object_type": "wx_image"
      },
      success: function(result) {

        OSSInit = result.data
        console.log(' OSS init 成功', OSSInit)
      },
      fail: function(res) {
        console.log('OSS init  失败', res)
      },
      complete: function() {
        wx.hideLoading()
      }
    })
  },

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

  },

  bindbank: function() {
    var that = this
    wx.chooseImage({
      sourceType: ['camera', 'album'],
      // sizeType: ['original'],
      count: 1,
      success: function(res) {
        console.log('success', res)
        wx.getFileSystemManager().readFile({
          filePath: res.tempFilePaths[0], // 选择图片返回的相对路径
          encoding: 'base64', // 编码格式
          success: res => { // 成功的回调
            that.ocrBankImage(res.data)
          }
        })
      }
    })
  },

  // 识别银行卡照片
  ocrBankImage: function(imginfo) {
    var that = this
    this.Authorization = getApp().globalData.Authorization;
    setTimeout(function() {
      wx.showLoading({
        title: "识别银行卡中",
        mask: true
      })
    }, 1000)

    wx.request({
      url: baseUrl + "common/v1/ocr/bankcards",
      method: "POST",
      header: {
        'Authorization': this.Authorization
      },
      data: {
        "image": imginfo
      },
      success: function(result) {
        console.log("bankinfo", result)

        if (result.statusCode == 200) {
          var result_new = result.data.bank.split("银行")
          that.setData({
            bank: result_new[0] + "银行",
            bank_card_no: result.data.bank_card_no,
            hideLoading: true,
          })
          wx.hideLoading()
        } else {
          wx.hideLoading()
          that.showToast("照片无法识别,请重试")
        }
      },
      fail: function() {
        wx.hideLoading()
        that.showToast("照片无法识别,请重试")
      }
    })
  },

  bindRegionChange: function(e) {
    console.log('picker,携带值为', e.detail.value)
    this.setData({
      bank_province: this.data.province[e.detail.value]
    })
  },

  formSubmit: function(e) {
    var formdata = e.detail.value
    console.log("formdata", formdata);
    if (formdata.name.length < 1) {
      this.showToast("请输入姓名")
      return
    }
    if (formdata.bank_card_no.length < 1) {
      this.showToast("请输入银行卡号")
      return
    }
    if (!format.banknoCheck(formdata.bank_card_no)) {
      this.showToast('银行卡号格式有误')
      return
    }
    if (formdata.bank.length < 1) {
      this.showToast("请输入银行名称")
      return
    }
    if (this.data.bank_province.length < 1) {
      this.showToast("请选择开户银行省份")
      return
    }
    this.setData({
      bank:formdata.bank,
      bank_card_no: formdata.bank_card_no,
      show_modal: true
    })
  },

  commitCancel: function() {
    this.setData({
      show_modal: false
    })
  },


  commitConfirm: function() {
    this.setData({
      show_modal: false
    })
    // 是否放弃退税,(是:"5",否:"")
    var that = this
    this.Authorization = getApp().globalData.Authorization;
    wx.request({
      url: baseUrl + "payroll/v1/settlement-tax/record",
      header: {
        'Authorization': this.Authorization
      },
      method: "PUT",
      data: {
        'name': that.data.name,
        "bank": that.data.bank,
        "bank_card_no": that.data.bank_card_no,
        "bank_province": that.data.bank_province,
        "refund_status": "",
        "years": "2019",

      },
      success: function(result) {
        console.log("submit", result)
        if (result.statusCode == 200) {
          wx.navigateBack({
            delta: 1
          })
        }
      },
    })
  },

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


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

  }
})