我的零钱提现银行卡添加银行卡]
This commit is contained in:
335
pages/wallet/addBank.vue
Normal file
335
pages/wallet/addBank.vue
Normal file
@@ -0,0 +1,335 @@
|
||||
<template>
|
||||
<view class="WithdrawingCoin">
|
||||
<view class="withdrawing-content">
|
||||
<view class="item-name">{{bank_account_id===''?'添加':'编辑'}}提现银行</view>
|
||||
<view class="item">
|
||||
<view class="title">收款人姓名</view>
|
||||
<input class="input_num" v-model="name" maxlength="13" placeholder="请输入收款人姓名"
|
||||
placeholder-style="color:#999;font-weight:normal; font-size:30rpx;" />
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="title">收款人手机号</view>
|
||||
<input class="input_num" v-model="mobile" maxlength="11" placeholder="请输入手机号"
|
||||
placeholder-style="color:#999;font-weight:normal; font-size:30rpx;" />
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="title">开户行</view>
|
||||
<u-select v-model="bankShow" value-name='id' :default-value='[0]' label-name='name'
|
||||
@confirm='selectBank' :list="banks" />
|
||||
<view class="input_num" @click="bankShow = true">
|
||||
{{selectBankObj.label?selectBankObj.label:'请选择开户行'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="title">收款人账号</view>
|
||||
<input class="input_num" v-model="no" maxlength="20" type="number" placeholder="请输入收款人账号"
|
||||
placeholder-style="color:#999;font-weight:normal; font-size:30rpx;" />
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="title">支行名称</view>
|
||||
<input class="input_num" v-model="branch_name" maxlength="20" placeholder="省-市-区-支行名称"
|
||||
placeholder-style="color:#999;font-weight:normal; font-size:30rpx;" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" @click="sureAdd">确认{{bank_account_id===''?'添加':'编辑'}}银行</view>
|
||||
<view class="history" @click="$Router.push({name:'withdrawList'})">提现记录
|
||||
<u-icon name="question-circle-fill" />
|
||||
</view>
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
accountsCreate,
|
||||
withdrawsAccounts,
|
||||
accountsCreateEdit,
|
||||
withdrawsAccountsEdits
|
||||
} from '@/apis/interfaces/withdraws'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
no: '', // 银行卡号
|
||||
name: '', // 用户姓名
|
||||
branch_name: '', // 支行名称
|
||||
mobile: '', // 手机号
|
||||
bank_id: '', // 银行卡id
|
||||
banks: [], // 开户行列表
|
||||
bankShow: false, // 显示开户行列表
|
||||
selectBankObj: {}, // 选择银行
|
||||
bank_account_id:''
|
||||
};
|
||||
},
|
||||
onLoad(e) {
|
||||
// 有id 是编辑
|
||||
if (e.id) {
|
||||
this.bank_account_id = e.id
|
||||
this.getAccountsCreateEdit()
|
||||
} else {
|
||||
this.getAccountsCreate()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 获取添加银行前置条件
|
||||
getAccountsCreate() {
|
||||
accountsCreate().then(res => {
|
||||
console.log(res)
|
||||
this.banks = res.banks
|
||||
}).catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
})
|
||||
},
|
||||
// 编辑前置
|
||||
getAccountsCreateEdit() {
|
||||
accountsCreateEdit(this.bank_account_id).then(res => {
|
||||
console.log(res)
|
||||
this.banks = res.banks
|
||||
this.no = res.info.no
|
||||
this.name = res.info.name
|
||||
this.mobile = res.info.mobile
|
||||
this.branch_name = res.info.branch_name
|
||||
this.selectBankObj.label = res.info.bank.name
|
||||
this.bank_id = res.info.bank.id
|
||||
}).catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
})
|
||||
},
|
||||
// 选择银行
|
||||
selectBank(e) {
|
||||
console.log(e[0])
|
||||
this.selectBankObj = e[0]
|
||||
this.bank_id = e[0].value
|
||||
},
|
||||
sureAdd() {
|
||||
let data = {
|
||||
no: this.no, // 银行卡号
|
||||
name: this.name, // 用户姓名
|
||||
branch_name: this.branch_name, // 支行名称
|
||||
mobile: this.mobile, // 手机号
|
||||
bank_id: this.bank_id, // 银行卡id
|
||||
}
|
||||
if (data.name === '') {
|
||||
this.$refs.uToast.show({
|
||||
title: '请核对收款人姓名',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (data.mobile.length !== 11) {
|
||||
this.$refs.uToast.show({
|
||||
title: '请核对收款人手机号',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (data.bank_id === '') {
|
||||
this.$refs.uToast.show({
|
||||
title: '请勾选开户行',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (data.no === '') {
|
||||
this.$refs.uToast.show({
|
||||
title: '请核对收款账号',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (data.branch_name === '') {
|
||||
this.$refs.uToast.show({
|
||||
title: '请核对省-市-区-支行名称',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (this.bank_account_id) {
|
||||
data.bank_account_id = this.bank_account_id
|
||||
console.log(data)
|
||||
this.withdrawsAccountsEdits(data)
|
||||
} else {
|
||||
this.withdrawsAccounts(data)
|
||||
}
|
||||
},
|
||||
// 添加银行
|
||||
withdrawsAccounts(data) {
|
||||
withdrawsAccounts(data).then(res => {
|
||||
this.$refs.uToast.show({
|
||||
title: res,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
setTimeout(res => {
|
||||
uni.setStorageSync('refresh',true)
|
||||
uni.navigateBack({})
|
||||
}, 3000)
|
||||
}).catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
})
|
||||
},
|
||||
// 编辑银行卡银行
|
||||
withdrawsAccountsEdits(data) {
|
||||
withdrawsAccountsEdits(data).then(res => {
|
||||
this.$refs.uToast.show({
|
||||
title: res,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
uni.setStorageSync('refresh',true)
|
||||
setTimeout(res => {
|
||||
uni.navigateBack({})
|
||||
}, 3000)
|
||||
}).catch(err => {
|
||||
this.$refs.uToast.show({
|
||||
title: err.message,
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.history {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
color: #cacaca;
|
||||
|
||||
.u-icon {
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.withdrawing-content {
|
||||
min-height: 300rpx;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 30rpx 1rpx rgba($color: #000000, $alpha: 0.2);
|
||||
margin: $margin;
|
||||
border-radius: 20rpx;
|
||||
padding: $padding;
|
||||
font-size: $title-size-m;
|
||||
|
||||
.item-name {
|
||||
text-align: center;
|
||||
padding: $padding * .6;
|
||||
color: #303030;
|
||||
font-weight: bold;
|
||||
margin-bottom: $margin;
|
||||
font-size: $title-size *1.2;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
background-color: rgba($color: $text-price, $alpha: .4);
|
||||
width: 200rpx;
|
||||
height: 10rpx;
|
||||
left: 50%;
|
||||
margin-left: -100rpx;
|
||||
bottom: 16rpx;
|
||||
z-index: 1;
|
||||
box-shadow: 0 10rpx 20rpx 0rpx rgba($color: #e93340, $alpha: 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
border-bottom: solid 1rpx #f8f8f8;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
padding: $padding 0;
|
||||
|
||||
span:nth-child(1) {
|
||||
color: #666;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 200rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
&::before {
|
||||
content: '*';
|
||||
color: red;
|
||||
padding-right: 4rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.input_num {
|
||||
font-size: 30rpx;
|
||||
color: #3a3a3a;
|
||||
// font-weight: bolder;
|
||||
flex: 1;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.item-total {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: $padding*1 0 0 0;
|
||||
color: #3a3a3a;
|
||||
|
||||
.total {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
|
||||
.money {
|
||||
padding-top: $padding *0.5;
|
||||
}
|
||||
}
|
||||
|
||||
.lists {
|
||||
color: $text-price;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-image: linear-gradient(to right, #e93340, #e93340);
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
text-align: center;
|
||||
padding: $padding * .9;
|
||||
margin: $margin*3 $margin * 2 $margin $margin*2;
|
||||
font-size: $title-size;
|
||||
font-weight: bold;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user