提现修改

This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-03-30 11:05:34 +08:00
parent 926c71c0d3
commit 34a21b8fb0
5 changed files with 476 additions and 406 deletions

View File

@ -8,11 +8,18 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import request from "@/utils/request.js";
import request1 from "@/utils/requestb.js";
import Cache from '@/utils/cache'
/**
* 提现----查询单条信息
*/
export function getById(id) {
return request.get(`admin/${id}/get_one`);
}
/**
* 提现----审核进度
*/

View File

@ -1,197 +1,11 @@
<!-- 类型变更 -->
<style lang="scss">
.withdrawal-con {
height: calc(100vh - 88rpx - 184rpx - var(--status-bar-height) - 30rpx);
overflow: auto;
padding-bottom: 30rpx;
.withdrawal {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
height: 102rpx;
border-radius: 20rpx;
margin: 0 30rpx 26rpx;
padding: 0 26rpx 0 30rpx;
.withdrawal-left {
display: flex;
.withdrawal-left-to {
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
}
.withdrawal-left-empty {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
}
.withdrawal-right {
display: flex;
align-items: center;
.withdrawal-right-add {
font-size: 28rpx;
color: #40AE36;
}
}
}
.withdrawal-info {
margin: 0 30rpx;
.withdrawal-form {
padding: 0 30rpx;
margin-bottom: 30rpx;
background-color: #fff;
border-radius: 20rpx;
.withdrawal-form-item {
position: relative;
display: flex;
align-items: center;
height: 102rpx;
border-bottom: 2rpx solid #FBFCFC;
.withdrawal-form-item-label {
width: 120rpx;
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
text-align: left;
}
.withdrawal-form-item-val {
font-size: 30rpx;
color: #666666;
/deep/.uni-input-placeholder,
.placeholderClass {
font-size: 30rpx;
color: #999;
}
}
.withdrawal-change {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
display: flex;
color: #40AE36;
align-items: center;
}
}
}
.withdrawal-envidence {
border-radius: 20rpx;
.withdrawal-envidence {
margin-bottom: 30rpx;
.withdrawal-envidence-main {
font-size: 30rpx;
color: #333333;
}
.withdrawal-envidence-sub {
font-size: 22rpx;
color: #666666;
}
}
.withdrawal-envience-img {
display: flex;
flex-wrap: wrap;
background-color: #fff;
padding: 24rpx 20rpx 16rpx;
border-radius: 20rpx;
.image-wrap {
position: relative;
width: 152rpx;
height: 152rpx;
background: #ccc;
margin: 0 12rpx 8rpx 0;
border-radius: 8rpx;
&:nth-child(4n) {
margin-right: 0;
}
.icon {
position: absolute;
right: -24rpx;
top: -24rpx;
z-index: 10;
}
image {
width: 152rpx;
height: 152rpx;
}
}
.placeholder-img {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
border: 2rpx dashed #9E9E9E;
border-radius: 8rpx;
background-color: #F5F5F5;
text {
font-size: 22rpx;
color: #666666;
}
}
}
}
}
}
.withdrawal-btn {
position: fixed;
bottom: 0;
left: 0;
height: 184rpx;
width: 100%;
padding-top: 32rpx;
box-sizing: border-box;
background-color: #f7f8f9;
z-index: 10;
.withdrawal-btn-wrap {
height: 88rpx;
background: linear-gradient(359deg, #72BE53 0%, #46B03A 100%);
border-radius: 88rpx;
margin: 0 30rpx;
line-height: 88rpx;
text-align: center;
text {
font-weight: bold;
font-size: 30rpx;
color: #F5F5F5;
}
}
}
</style>
<!-- 银行卡添加 -->
<template>
<view class="shop_type">
<view class="shop_type-head">
<view style="height: var(--status-bar-height);"></view>
<view class="shop-type-navbar">
<u-icon name="arrow-left" size="18" color="#fff" @click="handleBack" />
<text class="shop-type-navbar-title">添加银行卡</text>
<text class="shop-type-navbar-title">{{bindForm.id?'修改银行卡绑定':'添加银行卡'}}</text>
<text></text>
</view>
</view>
@ -331,7 +145,7 @@
<!-- 提现btn -->
<view class="withdrawal-btn tapActive" v-if="bindForm.is_own !== ''" @click="handleBind">
<view class="withdrawal-btn-wrap">
<text>提交绑定</text>
<text>{{bindForm.id?'重新':''}}提交绑定</text>
</view>
</view>
@ -349,16 +163,13 @@
import {
extractBank,
addBank,
searchBank
searchBank,
getById
} from "@/api/user.js";
export default {
data() {
return {
list: [{
name: '对公账户'
}, {
name: '法人账户'
}],
list: [],
show: false,
bankList: [], //
bankShow: false,
@ -371,13 +182,52 @@
id_card: '', //
phone: '', //
is_own: '', //(01)
temp: []
temp: [],
id: 0
},
mer_id: 30
mer_id: ''
}
},
onLoad(opt) {
if (opt.id) {
this.bindForm.id = opt.id;
this.getBankById();
}
if (opt.mer_id) {
this.mer_id = opt.mer_id;
if (opt.hasOwnProperty('isOwn') && opt.isOwn === 0) {
this.list = [{
name: '对公账户'
}]
} else if (opt.hasOwnProperty('isOwn') && opt.isOwn === 1) {
this.list = [{
name: '法人账户'
}]
} else {
this.list = [{
name: '对公账户'
}, {
name: '法人账户'
}]
}
}
},
methods: {
//
getBankById() {
getById(this.bindForm.id).then(res => {
if (res.data && res.data.financial_account) {
Object.assign(this.bindForm, res.data.financial_account);
this.bindForm.id = res.data.id;
this.mer_id = this.bindForm.mer_id;
if (this.bindForm.is_own === 0 && this.bindForm.financial_img) {
this.$set(this.bindForm, 'temp', this.bindForm.financial_img.split(","));
}
}
})
},
//
handleSelected(e) {
@ -423,33 +273,34 @@
});
if (!this.bindForm.bank) return this.$util.Tips({
title: '开户银行不能为空'
title: '请选择开户银行!'
});
if (!this.bindForm.bank) return this.$util.Tips({
title: '银行账户不能为空!'
title: '请输入银行账户!'
});
if (!this.bindForm.bank_branch) return this.$util.Tips({
title: '开户网点不能为空'
title: '请输入开户网点!'
});
//
if (this.bindForm.is_own === 0) {
if (!this.bindForm.temp.length > 0) return this.$util.Tips({
title: '开户网点不能为空'
title: '请上传凭证'
});
this.bindForm.financial_img = this.bindForm.temp.join(",");
if (!uni.$u.test.idCard(this.bindForm.id_card)) return this.$util.Tips({
title: '身份证不能为空'
title: '请输入正确的身份证号'
});
if (!uni.$u.test.mobile(this.bindForm.phone)) return this.$util.Tips({
title: '手机号有误'
title: '请输入正确的手机号!'
});
}
addBank(this.mer_id, this.bindForm).then(res => {
this.$util.Tips({
title: '提交成功,请等待后台审核!'
@ -496,4 +347,193 @@
}
}
}
.withdrawal-con {
height: calc(100vh - 88rpx - 184rpx - var(--status-bar-height) - 30rpx);
overflow: auto;
padding-bottom: 30rpx;
.withdrawal {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
height: 102rpx;
border-radius: 20rpx;
margin: 0 30rpx 26rpx;
padding: 0 26rpx 0 30rpx;
.withdrawal-left {
display: flex;
.withdrawal-left-to {
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
}
.withdrawal-left-empty {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
}
.withdrawal-right {
display: flex;
align-items: center;
.withdrawal-right-add {
font-size: 28rpx;
color: #40AE36;
}
}
}
.withdrawal-info {
margin: 0 30rpx;
.withdrawal-form {
padding: 0 30rpx;
margin-bottom: 30rpx;
background-color: #fff;
border-radius: 20rpx;
.withdrawal-form-item {
position: relative;
display: flex;
align-items: center;
height: 102rpx;
border-bottom: 2rpx solid #FBFCFC;
.withdrawal-form-item-label {
width: 120rpx;
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
text-align: left;
}
.withdrawal-form-item-val {
color: #666666;
font-size: 30rpx;
/deep/.uni-input-placeholder,
.placeholderClass {
font-size: 28rpx;
color: #999;
}
input {
font-size: 30rpx;
}
}
.withdrawal-change {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
display: flex;
color: #40AE36;
align-items: center;
}
}
}
.withdrawal-envidence {
border-radius: 20rpx;
.withdrawal-envidence {
margin-bottom: 30rpx;
.withdrawal-envidence-main {
font-size: 30rpx;
color: #333333;
}
.withdrawal-envidence-sub {
font-size: 22rpx;
color: #666666;
}
}
.withdrawal-envience-img {
display: flex;
flex-wrap: wrap;
background-color: #fff;
padding: 24rpx 20rpx 16rpx;
border-radius: 20rpx;
.image-wrap {
position: relative;
width: 152rpx;
height: 152rpx;
background: #ccc;
margin: 0 12rpx 8rpx 0;
border-radius: 8rpx;
&:nth-child(4n) {
margin-right: 0;
}
.icon {
position: absolute;
right: -24rpx;
top: -24rpx;
z-index: 10;
}
image {
width: 152rpx;
height: 152rpx;
}
}
.placeholder-img {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
border: 2rpx dashed #9E9E9E;
border-radius: 8rpx;
background-color: #F5F5F5;
text {
font-size: 22rpx;
color: #666666;
}
}
}
}
}
}
.withdrawal-btn {
position: fixed;
bottom: 0;
left: 0;
height: 184rpx;
width: 100%;
padding-top: 32rpx;
box-sizing: border-box;
background-color: #f7f8f9;
z-index: 10;
.withdrawal-btn-wrap {
height: 88rpx;
background: linear-gradient(359deg, #72BE53 0%, #46B03A 100%);
border-radius: 88rpx;
margin: 0 30rpx;
line-height: 88rpx;
text-align: center;
text {
font-weight: bold;
font-size: 30rpx;
color: #F5F5F5;
}
}
}
</style>

View File

@ -1,150 +1,6 @@
<!-- 类型变更 -->
<style lang="scss">
.withdrawal-con {
height: calc(100vh - 88rpx - 184rpx - var(--status-bar-height) - 30rpx);
overflow: auto;
padding-bottom: 30rpx;
}
.withdrawal {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
height: 102rpx;
border-radius: 20rpx;
margin: 0 30rpx 26rpx;
padding: 0 26rpx 0 30rpx;
.withdrawal-left {
display: flex;
.withdrawal-left-to {
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
}
.withdrawal-left-empty {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
}
.withdrawal-right {
display: flex;
align-items: center;
.withdrawal-right-add {
font-size: 28rpx;
color: #40AE36;
}
}
}
.withdrawal-btn {
position: fixed;
bottom: 0;
left: 0;
height: 184rpx;
width: 100%;
padding-top: 32rpx;
box-sizing: border-box;
background-color: #f7f8f9;
z-index: 10;
.withdrawal-btn-wrap {
height: 88rpx;
background: linear-gradient(359deg, #72BE53 0%, #46B03A 100%);
border-radius: 88rpx;
margin: 0 30rpx;
line-height: 88rpx;
text-align: center;
text {
font-weight: bold;
font-size: 30rpx;
color: #F5F5F5;
}
}
}
.withdrawal-info {
margin: 0 30rpx;
background-color: #fff;
border-radius: 20rpx;
padding-bottom: 38rpx;
.withdrawal-form {
padding: 0 30rpx;
margin-bottom: 30rpx;
.withdrawal-form-item {
display: flex;
align-items: center;
height: 102rpx;
border-bottom: 2rpx solid #FBFCFC;
.withdrawal-form-item-label {
width: 120rpx;
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
text-align: left;
}
.withdrawal-form-item-val {
font-size: 30rpx;
color: #666666;
input {}
.placeholderClass {
font-size: 30rpx;
color: #666666;
}
}
}
}
.withdrawal-pro {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 24rpx;
margin-bottom: 30rpx;
.withdrawal-pro-txt {
font-size: 24rpx;
color: #F66C42;
}
.withdrawal-pro-progress {
font-size: 24rpx;
color: #40AE36;
}
}
.tips {
margin: 0 30rpx;
view {
margin-bottom: 20rpx;
font-size: 24rpx;
color: #999999;
line-height: 36rpx;
text {
color: #F55726;
}
}
}
}
</style>
<!-- 提现管理 -->
<template>
<view class="shop_type" v-if="bankInfo">
<view class="shop_type">
<view class="shop_type-head">
<view style="height: var(--status-bar-height);"></view>
<view class="shop-type-navbar">
@ -157,16 +13,18 @@
<view class="withdrawal">
<view class="withdrawal-left" @click="handleAddAccount">
<text class="withdrawal-left-to">提现至</text>
<text class="withdrawal-left-empty">{{bankInfo.is_own === 0 ? '法人账户' : '对公账户'}}</text>
<text
class="withdrawal-left-empty">{{!bankInfo?'请绑定账户': bankInfo.is_own === 0 ? '法人账户' : '对公账户'}}</text>
</view>
<view class="withdrawal-right" v-if="bankList.length < 2 ">
<text class="withdrawal-right-add">更改账户</text>
<view class="withdrawal-right" v-if="bankList.length < 2 " @click="handleToAdd">
<text
class="withdrawal-right-add">{{(bankList.length == 0 || bankList.length ==1)?'添加账户' :''}}</text>
<u-icon name="arrow-right" size="14" color="#40AE36"></u-icon>
</view>
</view>
<!-- 提现信息 法人账户-->
<view class="withdrawal-info" v-if="bankInfo.is_own === 0">
<view class="withdrawal-info" v-if="bankInfo && bankInfo.is_own === 0">
<view class="withdrawal-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行卡</view>
@ -213,7 +71,7 @@
</view>
<!-- 提现信息 对公账户-->
<view class="withdrawal-info" v-else>
<view class="withdrawal-info" v-if="bankInfo && bankInfo.is_own === 1">
<view class="withdrawal-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">对公账户</view>
@ -322,20 +180,39 @@
},
methods: {
handleToAdd() {
let strUrl = "?mer_id=" + this.mer_id;
if (this.bankInfo && this.bankInfo.is_own) strUrl += "&isOwn=" + this.bankInfo.is_own
uni.navigateTo({
url: "/pages/withdrawal/add" + strUrl
})
},
//
getBankInfo() {
uni.showLoading({
title: "加载中...",
})
searchBank(this.mer_id).then(res => {
uni.hideLoading();
this.bankList = res.data.bank;
this.bankInfo = this.bankList[this.type];
this.ot_margin = res.data.ot_margin; //
this.extract_money = res.data.extract_money //
this.lock_money = res.data.lock_money //
}).catch(err => {
uni.hideLoading();
})
},
//
handleAddAccount() {
if (this.bankList.length == 0) return this.$util.Tips({
title: "请先添加一个账户!"
})
if (this.bankList.length < 2) {
let isOwn = this.bankList[0].financial_account.is_own;
if (isOwn === 0) {
@ -485,4 +362,147 @@
}
}
}
.withdrawal-con {
height: calc(100vh - 88rpx - 184rpx - var(--status-bar-height) - 30rpx);
overflow: auto;
padding-bottom: 30rpx;
}
.withdrawal {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
height: 102rpx;
border-radius: 20rpx;
margin: 0 30rpx 26rpx;
padding: 0 26rpx 0 30rpx;
.withdrawal-left {
display: flex;
.withdrawal-left-to {
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
}
.withdrawal-left-empty {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
}
.withdrawal-right {
display: flex;
align-items: center;
.withdrawal-right-add {
font-size: 28rpx;
color: #40AE36;
}
}
}
.withdrawal-btn {
position: fixed;
bottom: 0;
left: 0;
height: 184rpx;
width: 100%;
padding-top: 32rpx;
box-sizing: border-box;
background-color: #f7f8f9;
z-index: 10;
.withdrawal-btn-wrap {
height: 88rpx;
background: linear-gradient(359deg, #72BE53 0%, #46B03A 100%);
border-radius: 88rpx;
margin: 0 30rpx;
line-height: 88rpx;
text-align: center;
text {
font-weight: bold;
font-size: 30rpx;
color: #F5F5F5;
}
}
}
.withdrawal-info {
margin: 0 30rpx;
background-color: #fff;
border-radius: 20rpx;
padding-bottom: 38rpx;
.withdrawal-form {
padding: 0 30rpx;
margin-bottom: 30rpx;
.withdrawal-form-item {
display: flex;
align-items: center;
height: 102rpx;
border-bottom: 2rpx solid #FBFCFC;
.withdrawal-form-item-label {
width: 120rpx;
margin-right: 42rpx;
font-size: 30rpx;
color: #333333;
text-align: left;
}
.withdrawal-form-item-val {
font-size: 30rpx;
color: #666666;
input {}
.placeholderClass {
font-size: 30rpx;
color: #666666;
}
}
}
}
.withdrawal-pro {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 24rpx;
margin-bottom: 30rpx;
.withdrawal-pro-txt {
font-size: 24rpx;
color: #F66C42;
}
.withdrawal-pro-progress {
font-size: 24rpx;
color: #40AE36;
}
}
.tips {
margin: 0 30rpx;
view {
margin-bottom: 20rpx;
font-size: 24rpx;
color: #999999;
line-height: 36rpx;
text {
color: #F55726;
}
}
}
}
</style>

View File

@ -1,8 +0,0 @@
<template>
</template>
<script>
</script>
<style>
</style>

View File

@ -5,56 +5,66 @@
<view style="height: var(--status-bar-height);"></view>
<view class="shop-type-navbar">
<u-icon name="arrow-left" size="18" color="#fff" @click="handleBack" />
<text class="shop-type-navbar-title">类型变更</text>
<text class="shop-type-navbar-title">审核</text>
<text></text>
</view>
</view>
<!-- 进度详情 -->
<view class="shop-type-con-progress" v-for="(item,indx) in bankList" :key="indx">
<view class="shop-type-con-detail">{{item.is_own === 0?'法人账户':'对公账户'}}进度详情</view>
<view class="shop-type-con-progress-card">
<view class="shop-type-con-progress-left">
<view class="shop-type-con-progress-left-item">
<u-icon name="checkmark-circle-fill" size="20" color="#40AE36"></u-icon>
</view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="shop-type-con-progress-left-item">
<u-icon name="checkmark-circle-fill" size="18" color="#999" v-if="item.is_check == 0" />
<u-icon name="checkmark-circle-fill" size="18" color="#40AE36" v-if="item.is_check == 1" />
<u-icon name="close-circle-fill" size="20" color="#F55726" v-if="item.is_check == 2" />
</view>
</view>
<view class="shop-type-con-progress-right">
<view style="display:flex;margin-bottom: 46rpx;justify-content: space-between;align-items: center;">
<view class="shop-type-con-progress-right-name">申请已提交</view>
<view class="shop-type-con-progress-right-time">{{item.create_time}}</view>
</view>
<view style="display: flex;justify-content: space-between;align-items: center;margin-bottom:10rpx;">
<view class="shop-type-con-progress-right-name">
{{item.is_check == 0?'待审核人员审核':item.is_check==1?'审核通过':'审核未通过'}}
<view class="wrap" v-if="bankList.length > 0">
<!-- 进度详情 -->
<view class="shop-type-con-progress" v-for="(item,indx) in bankList" :key="indx">
<view class="shop-type-con-detail">{{item.is_own === 0?'法人账户':'对公账户'}}进度详情</view>
<view class="shop-type-con-progress-card">
<view class="shop-type-con-progress-left">
<view class="shop-type-con-progress-left-item">
<u-icon name="checkmark-circle-fill" size="20" color="#40AE36"></u-icon>
</view>
<view class="shop-type-con-progress-right-time" v-if="item.is_check == 1 || item.is_check == 2">
{{item.update_time}}
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="shop-type-con-progress-left-item">
<u-icon name="checkmark-circle-fill" size="18" color="#999" v-if="item.is_check == 0" />
<u-icon name="checkmark-circle-fill" size="18" color="#40AE36" v-if="item.is_check == 1" />
<u-icon name="close-circle-fill" size="20" color="#F55726" v-if="item.is_check == 2" />
</view>
</view>
<view class="shop-type-con-progress-right">
<view
style="display:flex;margin-bottom: 46rpx;justify-content: space-between;align-items: center;">
<view class="shop-type-con-progress-right-name">申请已提交</view>
<view class="shop-type-con-progress-right-time">{{item.create_time}}</view>
</view>
<view
style="display: flex;justify-content: space-between;align-items: center;margin-bottom:10rpx;">
<view class="shop-type-con-progress-right-name">
{{item.is_check == 0?'待审核人员审核':item.is_check==1?'审核通过':'审核未通过'}}
</view>
<view class="shop-type-con-progress-right-time"
v-if="item.is_check == 1 || item.is_check == 2">
{{item.update_time}}
</view>
</view>
<view class="audit-info" v-if="item.is_check != 0">
<view style="margin-bottom: 10rpx;">
审批人{{item.adminInfo.real_name?item.adminInfo.real_name:item.adminInfo.account?item.adminInfo.account:''}}
</view>
<view class="audit-info-txt" v-if="item.is_check == 2">审核不通过{{item.fail_msg}}</view>
<view style="text-align: right;color:#46B03A;font-weight: bold;" v-if="item.is_check == 2">去修改
<view class="audit-info" v-if="item.is_check != 0">
<view style="margin-bottom: 10rpx;">
审批人{{item.adminInfo.real_name?item.adminInfo.real_name:item.adminInfo.account?item.adminInfo.account:''}}
</view>
<view class="audit-info-txt" v-if="item.is_check == 2">审核不通过{{item.fail_msg}}</view>
<view style="text-align: right;color:#46B03A;font-weight: bold;" v-if="item.is_check == 2"
@click="handleToUpdate(item.id)">
去修改
</view>
</view>
</view>
</view>
</view>
</view>
<u-empty v-else mode="data" text="暂无审批信息~" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</view>
</template>
@ -82,15 +92,16 @@
this.mer_id = opt.mer_id;
progressBankList(this.mer_id).then(res => {
this.bankList = res.data.list;
// const data0 = res.data.bank.find(i => i.is_own === 0);
// if (data0 != undefined) this.data0 = data0;
// const data1 = res.data.bank.find(i => i.is_own === 1);
// if (data1 != undefined) this.data1 = data1;
})
});
},
methods: {
//
handleToUpdate(id) {
uni.redirectTo({
url: "/pages/withdrawal/add?id=" + id
})
},
handleBack() {
uni.navigateBack()