// pages/wapManageFinance/bankManage.js
const {
getProvinceList,
getCityList,
getCountyList,
addMemberBank,
memberBankList,
delBank
} = require('../../../common/http.js')
Page({
/**
* 页面的初始数据
*/
data: {
isaddBank: false,
bankName: '',
regionName: '',
bankList: ['工商银行', '农业银行', '建设银行', '招商银行', '北京银行', '平安银行', '交通银行', '中国银行', '兴业银行', '民生银行', '光大银行','中信银行','邮政储蓄银行', '农村商业银行', '广大银行', '阿拉善左旗方大村镇银行', '安徽肥西石银村镇银行'],
provinceArray: [], //省列表数据
provinceName: '',
provinceId: null,
cityArray: [], //城市列表数据
cityName: '',
cityId: null,
countyArray: [], //地区列表数据
dataList: []
},
//查询银行卡
getMemberBankList() {
let data = { sdMemberId: wx.getStorageSync('sdMemberId') }
if(+this.data.type === 0){
data.sdMemberId = wx.getStorageSync('formerMemberId')
}
memberBankList(data).then(res => {
this.setData({
dataList: res.data.memberBankList
})
})
},
//省列表请求
getProvince() {
getProvinceList().then(res => {
if (res.data.code === 0) {
this.setData({
provinceArray: res.data.list
})
}
})
},
//城市列表请求
getCity(id) {
getCityList({
id
}).then(res => {
if (res.data.code === 0) {
this.setData({
cityArray: res.data.list
})
}
})
},
//区列表请求
// getCounty(id) {
// getCountyList({
// id
// }).then(res => {
// if (res.data.code === 0) {
// this.setData({
// countyArray: res.data.list
// })
// }
// })
// },
//省份 pirck
provinceChange(e) {
let index = e.detail.value
let id = this.data.provinceArray[index].id
//请求城市
this.getCity(id)
this.setData({
provinceName: this.data.provinceArray[index].name,
provinceId: id
})
},
//城市 pirck
cityChange(e) {
let index = e.detail.value
let id = this.data.cityArray[index].id
//请求地区
// this.getCounty(id)
this.setData({
cityName: this.data.cityArray[index].name,
cityId: id
})
},
//区县 pirck
// countyChange(e) {
// let index = e.detail.value
// let id = this.data.countyArray[index].id
// this.setData({
// countyName: this.data.countyArray[index].name,
// countyId: id
// })
// },
blackUp() {
wx.navigateBack({
delta: 1
})
},
//打开填写窗
openShade() {
this.setData({
isaddBank: true
})
this.getProvince()
},
//关闭填写窗
closeShade() {
this.setData({
isaddBank: false,
bankName: '',
regionName: '',
provinceArray: [], //省列表数据
provinceName: '',
cityArray: [], //城市列表数据
cityName: ''
})
},
//开户行
bankChange(e) {
this.setData({
bankName: this.data.bankList[e.detail.value]
})
},
//添加银行卡信息
formSubmit(e) {
let {
bankName,
bankAccount,
bankNo,
branchName
} = e.detail.value
let data = {
bankName,
bankAccount,
bankNo,
branchName,
provinceId: this.data.provinceId,
cityId: this.data.cityId,
// countyId: this.data.countyId,
isDefault: 0,
sdMemberId: wx.getStorageSync('sdMemberId')
}
if(+this.data.type === 0){
data.sdMemberId = wx.getStorageSync('formerMemberId')
}
if (!bankName || !bankAccount || !bankNo || !branchName || !data.provinceId || !data.cityId) {
wx.showToast({
title: '请填写完整的信息',
icon: 'none',
duration: 3000
})
return
}
if (this.checkBankno(bankNo) === false){
wx.showToast({
title: '银行卡卡号不正确',
icon: 'none',
duration: 3000
})
return
}
wx.showLoading({
title: '加载中',
mask: true
})
addMemberBank(data).then(res => {
wx.hideLoading()
if (res.data.code === 0) {
wx.showToast({
title: '添加成功',
icon: 'none',
duration: 1500
})
this.setData({
isaddBank: false
})
this.getMemberBankList()
}
})
},
//删除银行卡
deleteBank(e) {
let id = e.currentTarget.dataset.id
wx.showLoading({
title: '加载中',
mask: true
})
delBank({
id
}).then(res => {
wx.hideLoading()
if (res.data.code === 0) {
wx.showToast({
title: '删除成功',
icon: 'none',
duration: 1500
})
this.getMemberBankList()
}
})
},
//银行卡正则校验
checkBankno(bankno) {
var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一位(与luhm进行比较)
var first15Num = bankno.substr(0, bankno.length - 1); //前15或18位
var newArr = [];
for (var i = first15Num.length - 1; i > -1; i--) { //前15或18位倒序存进数组
newArr.push(first15Num.substr(i, 1));
}
var arrJiShu = []; //奇数位*2的积 <9
var arrJiShu2 = []; //奇数位*2的积 >9
var arrOuShu = []; //偶数位数组
for (var j = 0; j < newArr.length; j++) {
if ((j + 1) % 2 == 1) { //奇数位
if (parseInt(newArr[j]) * 2 < 9)
arrJiShu.push(parseInt(newArr[j]) * 2);
else
arrJiShu2.push(parseInt(newArr[j]) * 2);
} else //偶数位
arrOuShu.push(newArr[j]);
}
var jishu_child1 = []; //奇数位*2 >9 的分割之后的数组个位数
var jishu_child2 = []; //奇数位*2 >9 的分割之后的数组十位数
for (var h = 0; h < arrJiShu2.length; h++) {
jishu_child1.push(parseInt(arrJiShu2[h]) % 10);
jishu_child2.push(parseInt(arrJiShu2[h]) / 10);
}
var sumJiShu = 0; //奇数位*2 < 9 的数组之和
var sumOuShu = 0; //偶数位数组之和
var sumJiShuChild1 = 0; //奇数位*2 >9 的分割之后的数组个位数之和
var sumJiShuChild2 = 0; //奇数位*2 >9 的分割之后的数组十位数之和
var sumTotal = 0;
for (var m = 0; m < arrJiShu.length; m++) {
sumJiShu = sumJiShu + parseInt(arrJiShu[m]);
}
for (var n = 0; n < arrOuShu.length; n++) {
sumOuShu = sumOuShu + parseInt(arrOuShu[n]);
}
for (var p = 0; p < jishu_child1.length; p++) {
sumJiShuChild1 = sumJiShuChild1 + parseInt(jishu_child1[p]);
sumJiShuChild2 = sumJiShuChild2 + parseInt(jishu_child2[p]);
}
//计算总和
sumTotal = parseInt(sumJiShu) + parseInt(sumOuShu) + parseInt(sumJiShuChild1) + parseInt(sumJiShuChild2);
//计算Luhm值
var k = parseInt(sumTotal) % 10 == 0 ? 10 : parseInt(sumTotal) % 10;
var luhm = 10 - k;
if (lastNum == luhm) {
return true;
} else {
return false;
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
if (options.type){
this.setData({ type: options.type})
}
this.getMemberBankList()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
}
})
js 银行卡正则校验
于 2020-05-27 16:24:18 首次发布