249 lines
5.4 KiB
Vue
249 lines
5.4 KiB
Vue
<template>
|
||
<view class="content">
|
||
<view class="total">
|
||
<view class="">
|
||
账户总余额(元)
|
||
</view>
|
||
<view style="font-size: 36rpx;">
|
||
¥{{balance}}
|
||
</view>
|
||
</view>
|
||
<view class="action">
|
||
<view class="">
|
||
提现至
|
||
</view>
|
||
<view style="font-weight: bold;">
|
||
{{target_bank.is_own?'对公账户':"个人账户"}}
|
||
</view>
|
||
<view style="display: flex;align-items: center;color: #20B128;"
|
||
@click="navgo('/pageQuota/Balance/bindAccout')">
|
||
<text>更换账户</text> <up-icon color="#20B128" name="arrow-right"></up-icon>
|
||
</view>
|
||
</view>
|
||
<view class="form" v-if='true'>
|
||
<up-form labelPosition="left" borderBottom :label-style="{fontSize:'30rpx'}" :model="model1" :rules="rules"
|
||
ref="form1" labelWidth='70'>
|
||
<up-form-item label="银行卡" prop="userInfo.name" borderBottom ref="item1">
|
||
<up-input style="border: none;" v-model="target_bank.bank_name" />
|
||
</up-form-item>
|
||
<up-form-item label="持卡人" prop="userInfo.name" borderBottom ref="item1">
|
||
<up-input style="border: none;" v-model="target_bank.name" />
|
||
</up-form-item>
|
||
<up-form-item label="银行账户" prop="userInfo.name" borderBottom ref="item1">
|
||
<up-input style="border: none;" v-model="target_bank.bank_code" />
|
||
</up-form-item>
|
||
<up-form-item label="开户网点" prop="userInfo.name" borderBottom ref="item1">
|
||
<up-input style="border: none;" v-model="target_bank.bank_branch" />
|
||
</up-form-item>
|
||
<up-form-item label="提现金额" prop="userInfo.name" borderBottom ref="item1">
|
||
<up-input style="border: none;" v-model="form.money" placeholder="请输入提现金额" />
|
||
</up-form-item>
|
||
<text style="color: #999999;font-size: 24rpx;">
|
||
说明:用户下单后该订单金额存放在暂存金额中,用户确认收货后次日18:00才可提现该笔订单金额
|
||
提货付款订单在完成后次日18:00才可提现
|
||
</text>
|
||
</up-form>
|
||
</view>
|
||
|
||
|
||
<up-empty mode="data" v-else :text='emptyText'
|
||
icon="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/89e93202405131146497294.png" />
|
||
<view class="detail" @click="navgo('/pageQuota/Balance/detail')">
|
||
明细
|
||
</view>
|
||
<view class="submit-btn">
|
||
<up-button text="提现" @click="submit" shape="circle" color="#50C758"></up-button>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import {
|
||
bankListApi,
|
||
amountAccountApi,
|
||
UserWithdrawApi
|
||
} from "@/api/balance.js"
|
||
import {
|
||
ref,
|
||
reactive
|
||
} from 'vue';
|
||
const emptyText = '您尚未绑定提现账户,\n点击右上角"添加账户"'
|
||
|
||
const showPop = ref(false)
|
||
const navgo = (url) => {
|
||
uni.navigateTo({
|
||
url
|
||
})
|
||
}
|
||
const bankList = ref([])
|
||
|
||
const getBankList = async () => {
|
||
let res = await bankListApi()
|
||
bankList.value = res.data.lists
|
||
}
|
||
|
||
const choseBank = (item) => {
|
||
form.bank_name = item.name
|
||
form.bank_id = item.id
|
||
showPop.value = false
|
||
}
|
||
|
||
|
||
const form = reactive({
|
||
money: ""
|
||
})
|
||
|
||
|
||
const bank_list = ref([])
|
||
const balance = ref(0.00)
|
||
const target_bank = ref([])
|
||
const getBanlance = () => {
|
||
amountAccountApi().then(res => {
|
||
balance.value = res.data.balance
|
||
bank_list.value = res.data.bank_list
|
||
target_bank.value = res.data.bank_list[0]
|
||
console.log(target_bank.value)
|
||
})
|
||
}
|
||
getBanlance()
|
||
|
||
const submit = async () => {
|
||
await UserWithdrawApi({
|
||
"merchant_bank_id": target_bank.value.id,
|
||
"amount": form.money
|
||
})
|
||
uni.showToast({
|
||
title: '提交成功',
|
||
duration: 1500
|
||
})
|
||
uni.$u.sleep(1500).then(res => {
|
||
uni.navigateTo({
|
||
url: '/pageQuota/Balance/detail'
|
||
})
|
||
})
|
||
}
|
||
|
||
|
||
// 使用 reactive 创建响应式状态
|
||
const state = reactive({
|
||
showSex: false,
|
||
model1: {
|
||
userInfo: {
|
||
name: 'uview-plus UI',
|
||
sex: '',
|
||
},
|
||
},
|
||
actions: [{
|
||
name: '男'
|
||
},
|
||
{
|
||
name: '女'
|
||
},
|
||
{
|
||
name: '保密'
|
||
},
|
||
],
|
||
rules: {
|
||
'userInfo.name': {
|
||
type: 'string',
|
||
required: true,
|
||
message: '请填写姓名',
|
||
trigger: ['blur', 'change'],
|
||
},
|
||
'userInfo.sex': {
|
||
type: 'string',
|
||
max: 1,
|
||
required: true,
|
||
message: '请选择男或女',
|
||
trigger: ['blur', 'change'],
|
||
},
|
||
},
|
||
radio: '',
|
||
switchVal: false,
|
||
});
|
||
|
||
// 使用 ref 创建响应式引用
|
||
const formRef = ref(null);
|
||
|
||
// 定义方法
|
||
function sexSelect(e) {
|
||
state.model1.userInfo.sex = e.name;
|
||
if (formRef.value) {
|
||
formRef.value.validateField('userInfo.sex');
|
||
}
|
||
}
|
||
|
||
getBankList()
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.content {
|
||
padding: 20rpx;
|
||
|
||
.total {
|
||
background-color: #50C758;
|
||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||
color: white;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
padding: 42rpx 30rpx;
|
||
font-size: 30rpx;
|
||
margin-bottom: 30rpx;
|
||
}
|
||
|
||
.action {
|
||
background-color: white;
|
||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||
padding: 30rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin-bottom: 30rpx;
|
||
}
|
||
|
||
.form {
|
||
padding: 28rpx 30rpx;
|
||
background-color: white;
|
||
border-radius: 20rpx;
|
||
}
|
||
|
||
}
|
||
|
||
.popContent {
|
||
padding: 20rpx;
|
||
|
||
.bank-list {
|
||
overflow-y: auto;
|
||
position: relative;
|
||
max-height: 40vh;
|
||
|
||
.bank-li {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 20rpx;
|
||
border-bottom: 1px solid #F8F9FA;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
.detail {
|
||
width: 88rpx;
|
||
height: 88rpx;
|
||
border-radius: 88rpx;
|
||
text-align: center;
|
||
line-height: 88rpx;
|
||
background-color: #50C758;
|
||
color: white;
|
||
position: absolute;
|
||
bottom: 300rpx;
|
||
right: 20rpx;
|
||
}
|
||
|
||
.submit-btn {
|
||
position: fixed;
|
||
bottom: 146rpx;
|
||
width: 710rpx;
|
||
|
||
}
|
||
</style> |