feat(withDrawal): 提现取消银行卡校验,提现成功后展示小程序码弹窗

This commit is contained in:
woody 2025-07-08 15:59:09 +08:00
parent aaa3c8c3b8
commit 894fd1cc19
2 changed files with 158 additions and 137 deletions

View File

@ -7,7 +7,7 @@
:rules="rules" :rules="rules"
ref="uForm" ref="uForm"
> >
<u-form-item <!-- <u-form-item
label-width="200rpx" label-width="200rpx"
:label="'银行卡号'" :label="'银行卡号'"
prop="cardNumber" prop="cardNumber"
@ -24,7 +24,7 @@
<view v-else style="color: red" @click="goBindbank"> <view v-else style="color: red" @click="goBindbank">
{{ '请先绑定银行卡' }} {{ '请先绑定银行卡' }}
</view> </view>
</u-form-item> </u-form-item> -->
<u-form-item <u-form-item
label-width="200rpx" label-width="200rpx"
:label="`${'提现金额'}(${isLocaled()})`" :label="`${'提现金额'}(${isLocaled()})`"

View File

@ -1,150 +1,171 @@
<template> <template>
<view class="content"> <view class="content">
<view class="contentList" v-for="item,index in tableList" :key="index"> <view class="contentList" v-for="(item, index) in tableList" :key="index">
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'钱包类型'}}</view> <view class="line_title">{{ '钱包类型' }}</view>
<view class="line_content ">{{item.pkAccountVal}}</view> <view class="line_content">{{ item.pkAccountVal }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'提现金额'}}</view> <view class="line_title">{{ '提现金额' }}</view>
<view class="line_content">{{item.cashAmount| toThousandthAndKeepDecimal}}</view> <view class="line_content">{{
</view> item.cashAmount | toThousandthAndKeepDecimal
<view class="linebox"> }}</view>
<view class="line_title">{{'手续费'}}</view> </view>
<view class="line_content">{{item.serviceCharge| toThousandthAndKeepDecimal}}</view> <view class="linebox">
</view> <view class="line_title">{{ '手续费' }}</view>
<view class="linebox"> <view class="line_content">{{
<view class="line_title">{{'个税'}}</view> item.serviceCharge | toThousandthAndKeepDecimal
<view class="line_content">{{item.incomeTax| toThousandthAndKeepDecimal}}</view> }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'实发金额'}}</view> <view class="line_title">{{ '个税' }}</view>
<view class="line_content">{{item.issuedAmount| toThousandthAndKeepDecimal}}</view> <view class="line_content">{{
</view> item.incomeTax | toThousandthAndKeepDecimal
<view class="linebox"> }}</view>
<view class="line_title">{{'银行名称'}}</view> </view>
<view class="line_content">{{item.bankName}}</view> <view class="linebox">
</view> <view class="line_title">{{ '实发金额' }}</view>
<view class="linebox"> <view class="line_content">{{
<view class="line_title">{{'银行账户'}}</view> item.issuedAmount | toThousandthAndKeepDecimal
<view class="line_content">{{item.cardNumber}}</view> }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'开户姓名'}}</view> <view class="line_title">{{ '银行名称' }}</view>
<view class="line_content">{{item.accountName}}</view> <view class="line_content">{{ item.bankName }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'审核状态'}}</view> <view class="line_title">{{ '银行账户' }}</view>
<view class="line_content">{{item.approveStateVal}}</view> <view class="line_content">{{ item.cardNumber }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'申请日期'}}</view> <view class="line_title">{{ '开户姓名' }}</view>
<view class="line_content">{{item.creationTime}}</view> <view class="line_content">{{ item.accountName }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'备注'}}</view> <view class="line_title">{{ '审核状态' }}</view>
<view class="line_content">{{item.remarks}}</view> <view class="line_content">{{ item.approveStateVal }}</view>
</view> </view>
<view class="linebox"> <view class="linebox">
<view class="line_title">{{'状态'}}</view> <view class="line_title">{{ '申请日期' }}</view>
<view class="line_content">{{item.statusVal}}</view> <view class="line_content">{{ item.creationTime }}</view>
</view> </view>
<view class="linebox">
<view class="line_title">{{ '备注' }}</view>
<view class="line_content">{{ item.remarks }}</view>
</view>
<view class="linebox">
<view class="line_title">{{ '状态' }}</view>
<view class="line_content">{{ item.statusVal }}</view>
</view>
<view v-if="item.approveState == 4" class="linebox">
<view class="line_title">驳回原因</view>
<view class="line_content">{{ item.approveRemarks }}</view>
</view>
<view class="linebox" style="border-bottom: none;"> <view class="linebox" style="border-bottom: none">
<view class="line_title">{{'操作'}}</view> <view class="line_title">{{ '操作' }}</view>
<view class="line_content thesuccess" v-if="item.status==0&&item.approveState==1" @click="revoke(item)">{{'撤销'}}</view> <view
</view> class="line_content thesuccess"
</view> v-if="item.status == 0 && item.approveState == 1"
<u-modal :show="revokeShow" showCancelButton @cancel="revokeShow = false" cancelText="取消" @click="revoke(item)"
confirmText="确定" @confirm='confirmRevoke' :content='content'></u-modal> >{{ '撤销' }}</view
</view> >
</view>
</view>
<u-modal
:show="revokeShow"
showCancelButton
@cancel="revokeShow = false"
cancelText="取消"
confirmText="确定"
@confirm="confirmRevoke"
:content="content"
></u-modal>
</view>
</template> </template>
<script> <script>
import * as bal from "@/config/balance.js" import * as bal from '@/config/balance.js'
export default { export default {
data() { data() {
return { return {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
},
tableList: [],
revokeShow: false,
content: '是否确认操作?',
thepkId: '',
}
},
onLoad() {
this.getSearch()
},
}, methods: {
tableList: [], //
revokeShow: false, revoke(row) {
content:'是否确认操作?', this.thepkId = row.pkId
thepkId:"" this.revokeShow = true
} },
}, confirmRevoke() {
onLoad() { bal.cancelWithdraw({ pkId: this.thepkId }).then(res => {
this.getSearch() if (res.code == 200) {
}, uni.showToast({
title: res.msg,
methods: { })
// this.revokeShow = false
revoke(row) { this.getSearch()
this.thepkId = row.pkId }
this.revokeShow = true })
}, },
confirmRevoke(){ getSearch() {
bal.cancelWithdraw({pkId:this.thepkId}).then(res=>{ bal.getWithdrawList(this.queryParams).then(res => {
if(res.code==200){ this.tableList = res.rows
uni.showToast({ })
title: res.msg },
}) },
this.revokeShow=false }
this.getSearch()
}
})
},
getSearch() {
bal.getWithdrawList(this.queryParams).then(res => {
this.tableList = res.rows
})
}
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .u-popup__content { ::v-deep .u-popup__content {
overflow: auto; overflow: auto;
} }
.content { .content {
background: #F2F2F2; background: #f2f2f2;
padding: 10rpx 24rpx; padding: 10rpx 24rpx;
.contentList { .contentList {
background-color: #fff; background-color: #fff;
margin: 10rpx 0; margin: 10rpx 0;
box-shadow: 0rpx 2rpx 10rpx 0rpx rgba(204, 204, 204, 0.4); box-shadow: 0rpx 2rpx 10rpx 0rpx rgba(204, 204, 204, 0.4);
border-radius: 10rpx; border-radius: 10rpx;
.linebox { .linebox {
padding: 20rpx; padding: 20rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
font-size: 26rpx; font-size: 26rpx;
.line_title { .line_title {
min-width: 150rpx; min-width: 150rpx;
color: #666666; color: #666666;
} }
.line_content { .line_content {
font-weight: bold; font-weight: bold;
color: #333333; color: #333333;
} }
.thesuccess { .thesuccess {
color: #005BAC; color: #005bac;
} }
} }
} }
}
</style>
}
</style>