This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-03-29 17:09:20 +08:00
parent 83e56bb3ff
commit 926c71c0d3
7 changed files with 1399 additions and 147 deletions

View File

@ -11,6 +11,31 @@ import request from "@/utils/request.js";
import request1 from "@/utils/requestb.js"; import request1 from "@/utils/requestb.js";
import Cache from '@/utils/cache' import Cache from '@/utils/cache'
/**
* 提现----审核进度
*/
export function progressBankList(merId) {
return request.get(`admin/${merId}/bank_progress`);
}
/**
* 提现----添加银行卡
*/
export function addBank(merId, data) {
return request.post(`admin/${merId}/add_bank`, data);
}
/**
* 提现----查询银行卡
*/
export function searchBank(merId) {
return request.get(`admin/${merId}/bank_list`);
}
/** /**
* 获取版本信息 * 获取版本信息
*/ */
@ -133,7 +158,9 @@ export function registerForget(data) {
* *
*/ */
export function getMenuList() { export function getMenuList() {
return request.get("common/menus", {}, { noAuth: true }); return request.get("common/menus", {}, {
noAuth: true
});
} }
/* /*
* 签到用户信息 * 签到用户信息
@ -540,7 +567,9 @@ export function imgToBase(data) {
* *
*/ */
export function getAgreementApi(key) { export function getAgreementApi(key) {
return request.get('agreement/' + key, {}, { noAuth: true }); return request.get('agreement/' + key, {}, {
noAuth: true
});
} }
/** /**
* 获取协议 * 获取协议
@ -612,7 +641,9 @@ export function growthValueRecord(data) {
* *
*/ */
export function cacheLst() { export function cacheLst() {
return request.get('agreement_lst', {}, { noAuth: true }) return request.get('agreement_lst', {}, {
noAuth: true
})
} }
/** /**
* 协议规则列表对应的数据 * 协议规则列表对应的数据
@ -620,7 +651,9 @@ export function cacheLst() {
* *
*/ */
export function cacheInfo(key) { export function cacheInfo(key) {
return request.get(`agreement/${key}`, {}, { noAuth: true }) return request.get(`agreement/${key}`, {}, {
noAuth: true
})
} }
/** /**
* 注销账户 * 注销账户
@ -644,7 +677,9 @@ export function serviceUser(merId, uid) {
* *
*/ */
export function serviceSaveMark(merId, uid, mark) { export function serviceSaveMark(merId, uid, mark) {
return request.post(`service/mark/${merId}/${uid}`, { mark }) return request.post(`service/mark/${merId}/${uid}`, {
mark
})
} }
/** /**
* 获取会员卡类型 * 获取会员卡类型
@ -668,7 +703,9 @@ export function memberCardCreate(id, data) {
* *
*/ */
export function memberEquity() { export function memberEquity() {
return request.get(`svip/user_info`, {}, { noAuth: true }) return request.get(`svip/user_info`, {}, {
noAuth: true
})
} }
/** /**
* 付费会员优惠券 * 付费会员优惠券
@ -676,7 +713,9 @@ export function memberEquity() {
* *
*/ */
export function memberCouponLst() { export function memberCouponLst() {
return request.get(`svip/coupon_lst`, {}, { noAuth: true }) return request.get(`svip/coupon_lst`, {}, {
noAuth: true
})
} }
/** /**
* 付费会员优惠券--领取 * 付费会员优惠券--领取
@ -692,7 +731,9 @@ export function receiveMemberCoupon(id) {
* *
*/ */
export function groomList(data) { export function groomList(data) {
return request.get(`svip/product_lst`, data, { noAuth: true }) return request.get(`svip/product_lst`, data, {
noAuth: true
})
} }
/** /**
* 客服聊天--撤回消息 * 客服聊天--撤回消息

View File

@ -303,6 +303,28 @@
} }
], ],
"subPackages": [{ "subPackages": [{
"root": "pages/withdrawal",
"name": "withdrawal",
"pages": [{
"path": "index",
"style": {
"navigationBarTitleText": "提货付款",
"navigationStyle": "custom"
}
}, {
"path": "add",
"style": {
"navigationBarTitleText": "添加银行卡",
"navigationStyle": "custom"
}
}, {
"path": "progress",
"style": {
"navigationBarTitleText": "提现进度",
"navigationStyle": "custom"
}
}]
}, {
"root": "pages/payment", "root": "pages/payment",
"name": "payment", "name": "payment",
"pages": [{ "pages": [{

View File

@ -1,6 +1,5 @@
<template> <template>
<view class="content"> <view class="content">
<view class="content-top"> <view class="content-top">
<view class="content-tops"> <view class="content-tops">
<view class="content-top_img" v-if="Object.keys(userInfoData).length>0"> <view class="content-top_img" v-if="Object.keys(userInfoData).length>0">
@ -1450,7 +1449,6 @@
title: '申请正在审核中,请勿重复提交' title: '申请正在审核中,请勿重复提交'
}) })
} }
} else { } else {
this.isFshow = true this.isFshow = true
this.countDown() this.countDown()
@ -1489,8 +1487,10 @@
}) })
break; break;
case 5: case 5:
//
uni.navigateTo({ uni.navigateTo({
url: '/pages/users/embody/embody?mer_id=' + this.userInfoData.service.mer_id // url: '/pages/users/embody/embody?mer_id=' + this.userInfoData.service.mer_id
url: '/pages/withdrawal/index?mer_id=' + this.userInfoData.service.mer_id
}) })
break; break;
case 6: case 6:

499
pages/withdrawal/add.vue Normal file
View File

@ -0,0 +1,499 @@
<!-- 类型变更 -->
<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></text>
</view>
</view>
<!-- 表单部分 -->
<view class="withdrawal-con">
<view class="withdrawal">
<view class="withdrawal-left">
<text class="withdrawal-left-to">提现至</text>
<text
class="withdrawal-left-empty">{{bindForm.is_own === 0 ? '法人账户' : bindForm.is_own === 1 ? '对公账户':'请选择账户类型'}}</text>
</view>
<view class="withdrawal-right" @click="show = true">
<text class="withdrawal-right-add">{{bindForm.is_own === ''?'选择':'更换'}}账户</text>
<u-icon name="arrow-right" size="14" color="#40AE36"></u-icon>
</view>
</view>
<!-- 提现信息 法人账户-->
<view class="withdrawal-info" v-if="bindForm.is_own === 0">
<view class="withdrawal-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户银行</view>
<view class="withdrawal-form-item-val">{{bindForm.bank?bindForm.bank:'请选择开户银行'}}</view>
<view class="withdrawal-change" @click="changeBank">
<text class="withdrawal-right-add">{{bindForm.bank?'更换':'选择'}}银行</text>
<u-icon name="arrow-right" size="14" color="#40AE36"></u-icon>
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">持卡人</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.name" type="text" placeholder="请输入持卡人"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">身份证</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.id_card" type="text" placeholder="请输入身份证"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行账户</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.bank_code" type="text" placeholder="请输入银行账户"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户网点</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.bank_branch" type="text" placeholder="请输入银行账户"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">手机号码</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.phone" type="text" placeholder="请输入手机号码"
placeholder-class="placeholderClass">
</view>
</view>
</view>
<!-- 相关凭证 -->
<view class="withdrawal-envidence">
<view class="withdrawal-envidence">
<text class="withdrawal-envidence-main">请上传相关凭证</text>
<text class="withdrawal-envidence-sub">(图片格式支持JPGPNGJPEG)</text>
</view>
<view class="withdrawal-envience-img">
<view class="image-wrap" v-for="(item,indx) in bindForm.temp" :key="indx">
<view class="icon" @click="delImg(indx)">
<u-icon name="close-circle-fill" size="24" color="#909399" />
</view>
<image :src="item"></image>
</view>
<view class="image-wrap placeholder-img" @click="handleUpload">
<u-icon name="camera" size="40"></u-icon>
<text>上传凭证</text>
</view>
</view>
</view>
</view>
<!-- 提现信息 对公账户-->
<view class="withdrawal-info" v-if="bindForm.is_own === 1">
<view class="withdrawal-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户银行</view>
<view class="withdrawal-form-item-val">{{bindForm.bank?bindForm.bank:'请选择开户银行'}}</view>
<view class="withdrawal-change" @click="changeBank">
<text class="withdrawal-right-add">{{bindForm.bank?'更换':'选择'}}银行</text>
<u-icon name="arrow-right" size="14" color="#40AE36"></u-icon>
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">账户名称</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.name" type="text" placeholder="请输入账户名称"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行账户</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.bank_code" type="text" placeholder="请输入银行账户"
placeholder-class="placeholderClass">
</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户网点</view>
<view class="withdrawal-form-item-val">
<input v-model="bindForm.bank_branch" type="text" placeholder="请输入开户网点"
placeholder-class="placeholderClass">
</view>
</view>
</view>
</view>
</view>
<!-- 提现btn -->
<view class="withdrawal-btn tapActive" v-if="bindForm.is_own !== ''" @click="handleBind">
<view class="withdrawal-btn-wrap">
<text>提交绑定</text>
</view>
</view>
<!-- 提现账户 -->
<u-action-sheet title="请选择提现账户" :actions="list" :show="show" round="15" @select="handleSelected"
@close="show = false"></u-action-sheet>
<!-- 银行 -->
<u-action-sheet title="请选择银行" :actions="bankList" :show="bankShow" round="15" @select="handleSelectedBank"
@close="bankShow = false"></u-action-sheet>
</view>
</template>
<script>
import {
extractBank,
addBank,
searchBank
} from "@/api/user.js";
export default {
data() {
return {
list: [{
name: '对公账户'
}, {
name: '法人账户'
}],
show: false,
bankList: [], //
bankShow: false,
bindForm: {
name: '', //
bank: '', //
bank_code: '', //
bank_branch: '', //
financial_img: '', //
id_card: '', //
phone: '', //
is_own: '', //(01)
temp: []
},
mer_id: 30
}
},
methods: {
//
handleSelected(e) {
this.show = false;
if (e.name == '法人账户') this.bindForm.is_own = 0;
if (e.name == '对公账户') this.bindForm.is_own = 1;
},
//
handleUpload() {
this.$util.uploadImageOne('upload/image', res => {
this.bindForm.temp.push(res.data.path);
});
},
//
delImg(index) {
this.bindForm.temp.splice(index, 1);
},
//
handleSelectedBank(e) {
this.bindForm.bank = e.name;
this.bankShow = false;
},
//
changeBank() {
if (this.bankList.length > 0) {
this.bankShow = true;
} else {
extractBank().then(res => {
this.bankList = res.data;
this.bankShow = true;
})
}
},
//
handleBind() {
if (!this.bindForm.name) return this.$util.Tips({
title: this.bindForm.is_own === 0 ? '法人姓名不能为空!' : '账户名称不能为空!'
});
if (!this.bindForm.bank) return this.$util.Tips({
title: '开户银行不能为空!'
});
if (!this.bindForm.bank) return this.$util.Tips({
title: '银行账户不能为空!!'
});
if (!this.bindForm.bank_branch) return this.$util.Tips({
title: '开户网点不能为空!'
});
//
if (this.bindForm.is_own === 0) {
if (!this.bindForm.temp.length > 0) return this.$util.Tips({
title: '开户网点不能为空!'
});
this.bindForm.financial_img = this.bindForm.temp.join(",");
if (!uni.$u.test.idCard(this.bindForm.id_card)) return this.$util.Tips({
title: '身份证不能为空!'
});
if (!uni.$u.test.mobile(this.bindForm.phone)) return this.$util.Tips({
title: '手机号有误!'
});
}
addBank(this.mer_id, this.bindForm).then(res => {
this.$util.Tips({
title: '提交成功,请等待后台审核!'
}, () => {
uni.navigateBack();
});
}).catch(err => {
this.$util.Tips({
title: 'err'
});
})
},
//
handleBack() {
uni.navigateBack()
}
}
}
</script>
<style lang="scss">
page {
background-color: #F8F9FA;
}
.shop_type {
padding-bottom: 184rpx;
.shop_type-head {
background-color: #40AE36;
margin-bottom: 30rpx;
.shop-type-navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx;
height: 88rpx;
.shop-type-navbar-title {
font-size: 32rpx;
color: #FFFFFF;
}
}
}
}
</style>

488
pages/withdrawal/index.vue Normal file
View File

@ -0,0 +1,488 @@
<!-- 类型变更 -->
<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-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></text>
</view>
</view>
<view class="withdrawal-con">
<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>
</view>
<view class="withdrawal-right" v-if="bankList.length < 2 ">
<text class="withdrawal-right-add">更改账户</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-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行卡</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">持卡人</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.name}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">身份证</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.id_card}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行账户</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank_code}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户网点</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank_branch}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">提现金额</view>
<view class="withdrawal-form-item-val">
<input type="number" v-model="payForm.extract_money" placeholder="请输入提现金额"
placeholder-class="placeholderClass">
</view>
</view>
</view>
<!-- 协议 -->
<view class="withdrawal-pro">
<text class="withdrawal-pro-txt">企业授权法人提现书</text>
<text class="withdrawal-pro-progress" @click="viewProgress">查看审核进度</text>
</view>
<!-- 提示 -->
<view class="tips">
<view>当前可提现金额:{{extract_money || '0.00'}},暂存金额: {{lock_money || '0.00'}}</view>
<view>当前商户押金:{{ot_margin || '0.00'}}</view>
<view>说明:用户下单后该订单金额存放在暂存金额中用户确认收货后次日18:00才可提现该笔订单金额
提货付款订单在完成后次日18:00才可提现</view>
</view>
</view>
<!-- 提现信息 对公账户-->
<view class="withdrawal-info" v-else>
<view class="withdrawal-form">
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">对公账户</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.name}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">银行账户</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank_code}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户银行</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">开户网点</view>
<view class="withdrawal-form-item-val">{{bankInfo.financial_account.bank_branch}}</view>
</view>
<view class="withdrawal-form-item">
<view class="withdrawal-form-item-label">提现金额</view>
<view class="withdrawal-form-item-val">
<input type="number" v-model="payForm.extract_money" placeholder="请输入提现金额"
placeholder-class="placeholderClass">
</view>
</view>
</view>
<!-- 协议 -->
<view class="withdrawal-pro">
<!-- <text class="withdrawal-pro-txt">企业授权法人提现书</text> -->
<text class="withdrawal-pro-progress" @click="viewProgress">查看审核进度</text>
</view>
<!-- 提示 -->
<view class="tips">
<view>当前可提现金额:{{extract_money || '0.00'}},暂存金额: {{lock_money || '0.00'}}</view>
<view>当前商户押金:{{ot_margin || '0.00'}}</view>
<view>说明:用户下单后该订单金额存放在暂存金额中用户确认收货后次日18:00才可提现该笔订单金额
提货付款订单在完成后次日18:00才可提现</view>
</view>
</view>
</view>
<!-- 提现btn -->
<view class="withdrawal-btn tapActive" @click="handleSubmit">
<view class="withdrawal-btn-wrap">
<text v-if="bankList.length == 0">点击查看审核进度</text>
<text v-else>点击提现</text>
</view>
</view>
<!-- 提现提示 -->
<u-modal :show="tipShow" title="提示"
content='工作日当日10点前提现当日12点到账, 当日16点前提现当日18点到账, 当日18点后提现次日12点到账, 周末节假日提现, 下一工作日18点前到账'
@confirm="tipShow = false"></u-modal>
<!-- 支付密码 键盘 -->
<popups ref="popups" :isPay="true" @confirm="handleConfirm" @clear="handleClear" @change="handleChange" />
<!-- 密码错误事件处理 -->
<payPwd ref="payPwd" @left="handleLeft" @right="handleRight"></payPwd>
</view>
</template>
<script>
getAdminApplyAPI
import {
postCreateApplyAPI,
getAdminApplyAPI,
} from '@/api/user.js'
import {
searchBank
} from "@/api/user.js";
import payPwd from "@/components/payPwd/index.vue";
import popups from "@/components/popups/index.vue";
export default {
components: {
popups,
payPwd
},
data() {
return {
tipShow: false,
bankList: [],
bankInfo: undefined,
type: 0, // 0 1
payForm: {
extract_money: "",
financial_bank_bank: "",
financial_bank_branch: "",
financial_bank_code: "",
financial_bank_name: "",
financial_type: 1,
withdrawal_pwd: "",
},
mer_id: '',
ot_margin: '', //
extract_money: '', //
lock_money: '', //
}
},
onLoad(opt) {
this.mer_id = opt.mer_id;
this.getBankInfo();
},
methods: {
//
getBankInfo() {
searchBank(this.mer_id).then(res => {
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 //
})
},
//
handleAddAccount() {
if (this.bankList.length < 2) {
let isOwn = this.bankList[0].financial_account.is_own;
if (isOwn === 0) {
return this.$util.Tips({
title: "您还没有添加对公账户!"
})
} else {
return this.$util.Tips({
title: "您还没有添加法人账户!"
})
}
}
if (this.type === 0)
this.type = 1;
else
this.type = 0;
this.bankInfo = this.bankList[this.type];
},
//
viewProgress() {
uni.navigateTo({
url: "/pages/withdrawal/progress?mer_id=" + this.mer_id
})
},
//
async handleSubmit() {
if (this.bankList.length == 0) {
this.viewProgress();
} else {
this.payForm.financial_bank_bank = this.bankInfo.financial_account.bank;
this.payForm.financial_bank_branch = this.bankInfo.financial_account.bank_branch;
this.payForm.financial_bank_code = this.bankInfo.financial_account.bank_code;
this.payForm.financial_bank_name = this.bankInfo.financial_account.name;
if (!this.payForm.extract_money) return this.$util.Tips({
title: '请输入提现金额'
});
if (!Number(this.payForm.extract_money) < 0) return this.$util.Tips({
title: '请输入正确的提现金额'
});
//
const result = await this.$util.checkPassword();
if (result.data.code == 101) { //
return this.$util.Tips({
title: "您暂未设置支付密码,请前往设置!"
}, () => {
uni.navigateTo({
url: "/pages/users/user_modify_pwd/index?type=payPwd"
});
})
}
this.$refs.popups.handleOpen();
}
},
//
async handleConfirm(e) {
const result = await this.$util.checkPassword(e);
//
if (result.data.code == 100) {
this.$set(this.payForm, 'withdrawal_pwd', e);
this.submit();
} else {
this.$refs.payPwd.handleOpen(result.data.code);
}
},
// 101 102
handleLeft(code) {
uni.navigateTo({
url: "/pages/users/user_modify_pwd/index?type=payPwd"
});
this.$refs.payPwd.handleClose();
},
//
handleRight(code) {
if (code == 101) { //
this.$refs.payPwd.handleClose(code);
} else {
this.$refs.payPwd.handleClose();
this.$refs.popups.handleOpen();
}
},
handleClear() {},
handleChange(val) {
if (!val)
this.load = false;
},
submit() {
uni.showLoading({
title: '申请提现中~',
mask: true
});
postCreateApplyAPI(this.mer_id, this.payForm).then(res => {
uni.hideLoading();
this.$util.Tips({
title: "提现申请成功,请等待审核!"
}, () => {
uni.navigateBack()
})
}).catch(err => {
uni.hideLoading();
this.$util.Tips({
title: err
})
})
},
handleBack() {
uni.navigateBack()
}
}
}
</script>
<style lang="scss">
page {
background-color: #F8F9FA;
}
.shop_type {
padding-bottom: 184rpx;
.shop_type-head {
background-color: #40AE36;
margin-bottom: 30rpx;
.shop-type-navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx;
height: 88rpx;
.shop-type-navbar-title {
font-size: 32rpx;
color: #FFFFFF;
}
}
}
}
</style>

View File

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

View File

@ -0,0 +1,194 @@
<!-- 银行卡审核进度 -->
<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></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>
<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>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
progressBankList
} from "@/api/user.js";
export default {
data() {
return {
form: {
status: 2,
check_name: '',
fail_msg: '',
create_time: ''
},
mer_id: '',
data0: undefined, //
data1: undefined, //
bankList: []
}
},
onLoad(opt) {
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: {
handleBack() {
uni.navigateBack()
}
}
}
</script>
<style lang="scss">
page {
background-color: #F8F9FA;
}
.shop_type {
padding-bottom: 184rpx;
.shop_type-head {
background-color: #40AE36;
margin-bottom: 30rpx;
.shop-type-navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx;
height: 88rpx;
.shop-type-navbar-title {
font-size: 32rpx;
color: #FFFFFF;
}
}
}
}
.shop-type-con-progress {
margin: 0 30rpx 30rpx;
.shop-type-con-detail {
margin-bottom: 20rpx;
margin-left: 20rpx;
font-weight: 600;
font-size: 30rpx;
color: #333333;
}
.shop-type-con-progress-card {
display: flex;
width: 100%;
padding: 30rpx;
background: #FFFFFF;
box-shadow: 0rpx 4rpx 6rpx 2rpx rgba(0, 0, 0, 0.16);
border-radius: 20rpx 20rpx 20rpx 20rpx;
.shop-type-con-progress-left {
width: 12%;
display: flex;
flex-direction: column;
align-items: center;
.dot {
width: 4rpx;
height: 4rpx;
border-radius: 50%;
background-color: #ccc;
margin-bottom: 4rpx;
}
.shop-type-con-progress-left-item {
width: 36rpx;
height: 36rpx;
border-radius: 50%;
}
}
.shop-type-con-progress-right {
flex: 1;
margin-bottom: 40rpx;
&:nth-last-child(1) {
margin-bottom: 0;
}
.shop-type-con-progress-right-name {
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.shop-type-con-progress-right-time {
font-size: 26rpx;
color: #666666;
}
}
.audit-info {
font-size: 22rpx;
color: #666666;
}
}
}
</style>