297 lines
7.0 KiB
Vue
297 lines
7.0 KiB
Vue
<template>
|
||||
|
|
<view class="mine_purse_bonus_waithdraw">
|
|||
|
|
<view class="waithdraw_header_">
|
|||
|
|
<view style="margin-top: 10rpx;" @click="jumpPurse">
|
|||
|
|
<up-image src="/static/common/left.png" width="18" height="18" bgColor="#f1f6ff00"></up-image>
|
|||
|
|
</view>
|
|||
|
|
<view>提现</view>
|
|||
|
|
<view @click="jumpLog">提现记录</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="waithdraw_content_">
|
|||
|
|
<view class="content_bank_item">
|
|||
|
|
<view class="title_comm">提现账户</view>
|
|||
|
|
<view class="bank_" @click="bankShowCheck(true)">
|
|||
|
|
<view>{{form.bankName || '请选择'}}</view>
|
|||
|
|
<up-image src="/static/common/right.png" width="16" height="16" bgColor="#f1f6ff00"></up-image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="content_amout_item">
|
|||
|
|
<view class="title_comm">提现金额</view>
|
|||
|
|
<up-input
|
|||
|
|
placeholder="请输入提现金额"
|
|||
|
|
border="none"
|
|||
|
|
v-model="form.amount"
|
|||
|
|
:customStyle="{
|
|||
|
|
'height':'110rpx',
|
|||
|
|
'background-color':'#F8F8F8',
|
|||
|
|
'margin':'10rpx 0',
|
|||
|
|
'padding':'0 20rpx',
|
|||
|
|
}"
|
|||
|
|
type="number"
|
|||
|
|
@change="amountChange"
|
|||
|
|
>
|
|||
|
|
<template #suffix>
|
|||
|
|
<text>元</text>
|
|||
|
|
<text class="all_" @click="allFun">全部</text>
|
|||
|
|
</template>
|
|||
|
|
</up-input>
|
|||
|
|
</view>
|
|||
|
|
<view class="content_amout_item" style="margin-top: 20rpx;">
|
|||
|
|
<view class="title_comm">实际到账</view>
|
|||
|
|
<up-input
|
|||
|
|
placeholder="请输入需要提现金额"
|
|||
|
|
border="none"
|
|||
|
|
v-model="form.dzAmount"
|
|||
|
|
:customStyle="{
|
|||
|
|
'height':'110rpx',
|
|||
|
|
'background-color':'#F8F8F8',
|
|||
|
|
'margin':'10rpx 0',
|
|||
|
|
'padding':'0 20rpx',
|
|||
|
|
}"
|
|||
|
|
disabled
|
|||
|
|
>
|
|||
|
|
<template #suffix>
|
|||
|
|
<text>元</text>
|
|||
|
|
</template>
|
|||
|
|
</up-input>
|
|||
|
|
<view class="amount_">
|
|||
|
|
<view>可提现金额:¥{{withdrawAmount}}</view>
|
|||
|
|
<view>手续费:{{form.rateAmount}}({{(ruleObj && ruleObj.rate) || 0}}%)</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="withdraw_but" @click="withdrawFun">提现</view>
|
|||
|
|
<view class="warm_reminder">
|
|||
|
|
<view>温馨提示</view>
|
|||
|
|
<view>
|
|||
|
|
<view>单笔最小提现金额:{{(ruleObj && ruleObj.minAmount) || 0}}</view>
|
|||
|
|
<view>单日最大提现金额:{{(ruleObj && ruleObj.dayAmount) || 0}}</view>
|
|||
|
|
<view>单日最大提现次数:{{(ruleObj && ruleObj.dayTimes) || 0}}</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<up-picker
|
|||
|
|
:show="bankShow"
|
|||
|
|
:columns="bankOption"
|
|||
|
|
keyName="bankName"
|
|||
|
|
itemHeight="34"
|
|||
|
|
@confirm="bankConfirm"
|
|||
|
|
:loading="bankLoading"
|
|||
|
|
@cancel="bankShow=false"
|
|||
|
|
@close="bankShow=false"
|
|||
|
|
></up-picker>
|
|||
|
|
<up-toast ref="uToastRef"></up-toast>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import { getWithdrawalRule,withdrawal } from '@/api/finance.js';
|
|||
|
|
import { getBankList } from '@/api/bank.js';
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
form:{
|
|||
|
|
category:null,//账户类型
|
|||
|
|
amount:null,// 提现金额
|
|||
|
|
dzAmount:0,// 到账金额
|
|||
|
|
rateAmount:0,// 手续费
|
|||
|
|
bankId:null,// 提现银行卡
|
|||
|
|
bankName:null,// 提现银行卡名称
|
|||
|
|
},
|
|||
|
|
withdrawAmount:0,
|
|||
|
|
ruleObj:{},// 规则
|
|||
|
|
bankOption:[],
|
|||
|
|
bankShow:false,
|
|||
|
|
bankLoading:false,
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
onLoad(option) {
|
|||
|
|
const amount = option.amount || 0;
|
|||
|
|
if(amount && amount !== "null"){
|
|||
|
|
this.withdrawAmount = amount || 0;
|
|||
|
|
}
|
|||
|
|
const category = option.category;
|
|||
|
|
if(category && category !== "null"){
|
|||
|
|
this.form.category = category;
|
|||
|
|
this.getWithdrawalRule();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
jumpPurse(){
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url:"/pages/mine_purse/mine_purse",
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
allFun(){
|
|||
|
|
const amount = this.withdrawAmount;
|
|||
|
|
this.form.amount = amount;
|
|||
|
|
this.amountChange(amount);
|
|||
|
|
},
|
|||
|
|
jumpLog(){
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url:"/pages/mine_purse_bonus_withdraw_log/mine_purse_bonus_withdraw_log?category="+this.form.category,
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
async withdrawFun(){
|
|||
|
|
const params={
|
|||
|
|
...this.form,
|
|||
|
|
}
|
|||
|
|
if(!params.bankId){
|
|||
|
|
this.$refs.uToastRef.show({
|
|||
|
|
type: 'error',
|
|||
|
|
message: "请选择提现银行卡",
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if(!params.amount){
|
|||
|
|
this.$refs.uToastRef.show({
|
|||
|
|
type: 'error',
|
|||
|
|
message: "请输入需要提现余额",
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
delete params.bankName;
|
|||
|
|
const resp = await withdrawal(params);
|
|||
|
|
if(resp && resp.bizcode === 100){
|
|||
|
|
this.$refs.uToastRef.show({
|
|||
|
|
type: 'success',
|
|||
|
|
message: "已成功申请提现",
|
|||
|
|
});
|
|||
|
|
setTimeout(()=>{
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url:'/pages/mine_purse/mine_purse'
|
|||
|
|
});
|
|||
|
|
},1500)
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 查询规则
|
|||
|
|
*/
|
|||
|
|
async getWithdrawalRule(){
|
|||
|
|
const params={
|
|||
|
|
category:this.form.category
|
|||
|
|
}
|
|||
|
|
const resp = await getWithdrawalRule(params);
|
|||
|
|
if(resp && resp.bizcode ===100){
|
|||
|
|
this.ruleObj = resp.data;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 选择银行的弹框
|
|||
|
|
async bankShowCheck(status){
|
|||
|
|
if(status){
|
|||
|
|
this.bankLoading = true;
|
|||
|
|
const resp = await getBankList();
|
|||
|
|
if(resp && resp.bizcode === 100){
|
|||
|
|
if(!resp.data){
|
|||
|
|
this.$refs.uToastRef.show({
|
|||
|
|
type: 'warring',
|
|||
|
|
message: "请先去银行卡管理绑定银行卡",
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.bankOption = [resp.data || []];
|
|||
|
|
}
|
|||
|
|
this.bankLoading = false;
|
|||
|
|
}else{
|
|||
|
|
this.bankOption = [[]];
|
|||
|
|
}
|
|||
|
|
this.bankShow = status;
|
|||
|
|
},
|
|||
|
|
// 提交地址
|
|||
|
|
bankConfirm(e){
|
|||
|
|
const {
|
|||
|
|
columnIndex,
|
|||
|
|
value,
|
|||
|
|
values,
|
|||
|
|
index,
|
|||
|
|
} = e;
|
|||
|
|
const data = value[0];
|
|||
|
|
this.form.bankId = data.id;
|
|||
|
|
this.form.bankName = data.bankName;
|
|||
|
|
this.bankShowCheck(false);
|
|||
|
|
},
|
|||
|
|
amountChange(amount){
|
|||
|
|
const rate = this.ruleObj.rate;
|
|||
|
|
if(rate && amount){
|
|||
|
|
const rateAmount = amount * (rate / 100);
|
|||
|
|
this.form.rateAmount = rateAmount.toFixed(2);
|
|||
|
|
this.form.dzAmount = (amount - rateAmount).toFixed(2);
|
|||
|
|
}else{
|
|||
|
|
this.form.rateAmount =0;
|
|||
|
|
this.form.dzAmount =0;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss">
|
|||
|
|
.mine_purse_bonus_waithdraw{
|
|||
|
|
background-color: $app-bj;
|
|||
|
|
height: calc(100vh - 130rpx);
|
|||
|
|
padding: 100rpx 30rpx 30rpx;
|
|||
|
|
overflow: auto;
|
|||
|
|
.waithdraw_header_{
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
.waithdraw_content_{
|
|||
|
|
margin-top: 40rpx;
|
|||
|
|
background: #FFFFFF;
|
|||
|
|
border-radius: 24rpx;
|
|||
|
|
padding:30rpx;
|
|||
|
|
.content_bank_item{
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
border-bottom: 1rpx solid #EEEEEE;
|
|||
|
|
padding-bottom: 30rpx;
|
|||
|
|
.bank_{
|
|||
|
|
display: flex;
|
|||
|
|
font-weight: 500;
|
|||
|
|
font-size: 26rpx;
|
|||
|
|
color: #999999;
|
|||
|
|
}
|
|||
|
|
.title_comm{
|
|||
|
|
font-weight: bold;
|
|||
|
|
font-size: 30rpx;
|
|||
|
|
color: #333333;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.content_amout_item{
|
|||
|
|
margin: 20rpx 0;
|
|||
|
|
.amount_{
|
|||
|
|
font-weight: 500;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
color: #808080;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
}
|
|||
|
|
.all_{
|
|||
|
|
font-weight: bold;
|
|||
|
|
font-size: 36rpx;
|
|||
|
|
color: $app-bt-bj;
|
|||
|
|
margin-left: 10rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.withdraw_but{
|
|||
|
|
width: 100%;
|
|||
|
|
padding: 20rpx 0;
|
|||
|
|
text-align: center;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
background-color: $app-bt-bj;
|
|||
|
|
margin-top: 100rpx;
|
|||
|
|
border-radius: 10rpx;
|
|||
|
|
font-size: 28rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.warm_reminder{
|
|||
|
|
margin: 60rpx 0;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|