502 lines
11 KiB
Vue
502 lines
11 KiB
Vue
|
<template>
|
|||
|
<view class="list">
|
|||
|
<view class="head">
|
|||
|
<view class="head_conent">
|
|||
|
<view class="sum">
|
|||
|
<view class="text">已提现金额</view>
|
|||
|
<u-count-to class="num" style="color: #F84221;" :startVal="0" :endVal="sumTofixed" :decimals="2"
|
|||
|
bold font-size="22"></u-count-to>
|
|||
|
</view>
|
|||
|
<view class="line"></view>
|
|||
|
<view class="sum">
|
|||
|
<view class="text">已提现次数</view>
|
|||
|
<u-count-to class="num" :startVal="0" :endVal="all_count" bold font-size="22"></u-count-to>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="search">
|
|||
|
<view class="search-time" @click="onOpenTime">
|
|||
|
<text class="month">{{where.start_time + (where.end_time ? ( ' 至 ' + where.end_time):'')}}</text>
|
|||
|
<u-icon name="arrow-down" color="#333" :bold="true"></u-icon>
|
|||
|
</view>
|
|||
|
<view class="total">已提现金额{{extractSum}}</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="recoder" v-if="UserApplylist.length > 0">
|
|||
|
<view class="card" v-for="(item,index) in UserApplylist" :key="index">
|
|||
|
<view class="right">
|
|||
|
<view class="item" style="justify-content: flex-start;">
|
|||
|
<text class="rest">余额提现至</text>
|
|||
|
<text class="code">({{item.financial_account.bank_code}})</text>
|
|||
|
<text class="withdraw-type legal_company"
|
|||
|
:style="{background:item.checkType==1?'#F55726':''}">{{item.checkType ==1 ?'对公':'法人'}}</text>
|
|||
|
</view>
|
|||
|
<view class="item">
|
|||
|
<view class="item_title">
|
|||
|
<text>{{`${item.financial_account.bank}`}}</text>
|
|||
|
</view>
|
|||
|
<view class="item_money">+{{item.extract_money}}</view>
|
|||
|
</view>
|
|||
|
<view class="item">
|
|||
|
<view class="item-time">{{item.create_time}}</view>
|
|||
|
<view class="item_status audit" v-if="item.status == 0">待审核</view>
|
|||
|
<view class="item_status trans" v-if="item.status == 1 && ((!item.image || !item.image[0]))">
|
|||
|
待转账
|
|||
|
</view>
|
|||
|
<view class="item_status done" v-if="item.status == 1 && item.image && item.image[0]"
|
|||
|
@click="handleView(item)">
|
|||
|
已转账
|
|||
|
<u-icon name="arrow-right" color="#46B03A" size="14"></u-icon>
|
|||
|
</view>
|
|||
|
<view class="item_status lose" v-if="item.status == -1">审核不通过</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="remark" v-if="item.status == -1">备注:{{item.refusal}}</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view style="color:#afafaf;" class='loadingicon acea-row row-center-wrapper'>
|
|||
|
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<u-empty v-else text="暂无记录~" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
|||
|
</u-empty>
|
|||
|
|
|||
|
<!-- 时间组件 -->
|
|||
|
<h-datetime-picker ref="pickerDate" @reset="reset" @confirm="confirm"
|
|||
|
:params="{year: true,month: true,day: false,hour: false,minute: false,second: false,timestamp: true,}"></h-datetime-picker>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
import {
|
|||
|
getAdminApplyListAPI
|
|||
|
} from '@/api/user.js';
|
|||
|
import Loading from '@/components/Loading/index.vue';
|
|||
|
export default {
|
|||
|
components: {
|
|||
|
Loading
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
currTab: 0, //自定义选择时间tab
|
|||
|
sum: 0,
|
|||
|
count: 0,
|
|||
|
scrollTop: 0,
|
|||
|
endDate: '',
|
|||
|
merId: '',
|
|||
|
UserApplylist: [],
|
|||
|
|
|||
|
loaded: false,
|
|||
|
loading: false,
|
|||
|
loadTitle: '加载更多',
|
|||
|
where: {
|
|||
|
page: 1,
|
|||
|
limit: 15,
|
|||
|
keyword: '',
|
|||
|
start_time: '',
|
|||
|
end_time: ''
|
|||
|
},
|
|||
|
all_extract: 0,
|
|||
|
all_count: 0,
|
|||
|
extractSum: 0,
|
|||
|
}
|
|||
|
},
|
|||
|
computed: {
|
|||
|
sumTofixed() {
|
|||
|
return this.returnFloat(this.all_extract)
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
onLoad(option) {
|
|||
|
this.merId = option.mer_id;
|
|||
|
this.where.start_time = new Date().format('yyyy-MM');
|
|||
|
this.ApplyList();
|
|||
|
},
|
|||
|
|
|||
|
// 下拉到底部
|
|||
|
onReachBottom() {
|
|||
|
this.ApplyList();
|
|||
|
},
|
|||
|
|
|||
|
methods: {
|
|||
|
// 选择时间
|
|||
|
onOpenTime() {
|
|||
|
this.$refs.pickerDate.open()
|
|||
|
},
|
|||
|
|
|||
|
// 确认
|
|||
|
confirm(e) {
|
|||
|
if (e.time) {
|
|||
|
this.where.start_time = e.time;
|
|||
|
this.where.end_time = '';
|
|||
|
} else {
|
|||
|
this.where.start_time = e.start_time.time;
|
|||
|
this.where.end_time = e.end_time.time;
|
|||
|
}
|
|||
|
this.where.page = 1;
|
|||
|
this.loaded = false;
|
|||
|
this.UserApplylist = [];
|
|||
|
this.ApplyList();
|
|||
|
},
|
|||
|
|
|||
|
// 重置
|
|||
|
reset(e) {
|
|||
|
this.where.page = 1;
|
|||
|
this.loaded = false;
|
|||
|
this.UserApplylist = [];
|
|||
|
this.where.end_time = '';
|
|||
|
this.where.start_time = new Date().format('yyyy-MM');
|
|||
|
this.ApplyList();
|
|||
|
},
|
|||
|
|
|||
|
// 查看
|
|||
|
handleView(item) {
|
|||
|
if (!item.image || item.length == 0) return;
|
|||
|
uni.previewImage({
|
|||
|
urls: [...item.image]
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
ApplyList() {
|
|||
|
var that = this;
|
|||
|
if (that.loading || that.loaded) return;
|
|||
|
that.loading = true;
|
|||
|
that.loadTitle = '';
|
|||
|
|
|||
|
getAdminApplyListAPI(this.merId, this.where).then(res => {
|
|||
|
that.loading = false;
|
|||
|
that.loaded = res.data.list.length < that.where.limit;
|
|||
|
that.UserApplylist.push.apply(that.UserApplylist, res.data.list);
|
|||
|
that.where.page = that.where.page + 1;
|
|||
|
that.loadTitle = that.loaded ? '已全部加载~' : '加载更多';
|
|||
|
|
|||
|
//截取银行卡后四位
|
|||
|
this.UserApplylist.forEach(item => {
|
|||
|
item.financial_account.bank_code = item.financial_account.bank_code.substr(-4)
|
|||
|
});
|
|||
|
|
|||
|
this.count = res.data.count;
|
|||
|
this.extractSum = res.data.extractSum || 0; //已提现金额
|
|||
|
this.all_count = res.data.all_count || 0;
|
|||
|
this.all_extract = res.data.all_extract || 0;
|
|||
|
}).catch(err => {
|
|||
|
that.loading = false;
|
|||
|
that.loadTitle = '加载更多';
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
/**数字强制转为两位小数*/
|
|||
|
returnFloat(value) {
|
|||
|
var value = Math.round(parseFloat(value) * 100) / 100;
|
|||
|
var xsd = value.toString().split(".");
|
|||
|
if (xsd.length == 1) {
|
|||
|
value = value.toString() + ".00";
|
|||
|
return value;
|
|||
|
}
|
|||
|
if (xsd.length > 1) {
|
|||
|
if (xsd[1].length < 2) {
|
|||
|
value = value.toString() + "0";
|
|||
|
}
|
|||
|
return value;
|
|||
|
}
|
|||
|
},
|
|||
|
},
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss">
|
|||
|
.list {
|
|||
|
|
|||
|
.search {
|
|||
|
position: sticky;
|
|||
|
top: 0;
|
|||
|
display: flex;
|
|||
|
justify-content: space-between;
|
|||
|
align-items: center;
|
|||
|
padding: 0 50rpx 0rpx 48rpx;
|
|||
|
height: 90rpx;
|
|||
|
background: #f5f5f5;
|
|||
|
|
|||
|
.search-time {
|
|||
|
display: flex;
|
|||
|
|
|||
|
.month {
|
|||
|
font-weight: bold;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
margin-right: 6rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.total {
|
|||
|
font-size: 24rpx;
|
|||
|
color: #666666;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.head {
|
|||
|
position: sticky;
|
|||
|
z-index: 10;
|
|||
|
width: 694rpx;
|
|||
|
margin: 28rpx auto 00rpx;
|
|||
|
padding: 28rpx;
|
|||
|
background-color: #fff;
|
|||
|
border-radius: 24rpx;
|
|||
|
box-shadow: 0rpx 4rpx 10rpx 2rpx rgba(161, 161, 161, 0.4);
|
|||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|||
|
|
|||
|
.head_conent {
|
|||
|
display: flex;
|
|||
|
justify-content: space-around;
|
|||
|
align-items: center;
|
|||
|
|
|||
|
.line {
|
|||
|
width: 1rpx;
|
|||
|
height: 70rpx;
|
|||
|
background-color: #dfdfdf;
|
|||
|
}
|
|||
|
|
|||
|
.sum {
|
|||
|
flex: 1;
|
|||
|
text-align: center;
|
|||
|
color: #737373;
|
|||
|
font-size: 30rpx;
|
|||
|
|
|||
|
.num {
|
|||
|
font-size: 48.06rpx;
|
|||
|
margin-bottom: 15rpx;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
|
|||
|
.text {
|
|||
|
margin-bottom: 24rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #666666;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.public-wrapper {
|
|||
|
width: 90%;
|
|||
|
margin: 70px auto;
|
|||
|
box-shadow: 0px 0px 5px rgba(#FA6514, 0.7);
|
|||
|
border-radius: 10px;
|
|||
|
|
|||
|
.title {
|
|||
|
font-size: 18px;
|
|||
|
font-weight: 700;
|
|||
|
padding: 10px 0 0 10px;
|
|||
|
}
|
|||
|
|
|||
|
.conter {
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
padding: 10px 0 0 10px;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
|
|||
|
.footer {
|
|||
|
.scroll-Y {
|
|||
|
max-height: 60vh;
|
|||
|
|
|||
|
.footer_list {
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
padding: 10px 0 0 10px;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.recoder {
|
|||
|
padding: 0 28rpx 28rpx 28rpx;
|
|||
|
|
|||
|
.time {
|
|||
|
height: 42rpx;
|
|||
|
font-size: 30rpx;
|
|||
|
font-family: PingFang SC-Medium, PingFang SC;
|
|||
|
font-weight: 500;
|
|||
|
color: #333333;
|
|||
|
line-height: 45rpx;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
|
|||
|
.icon {
|
|||
|
width: 30rpx;
|
|||
|
height: 30rpx;
|
|||
|
transform: rotate(90deg);
|
|||
|
margin-left: 10rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.card {
|
|||
|
width: 694rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 21rpx 21rpx 21rpx 21rpx;
|
|||
|
opacity: 1;
|
|||
|
padding: 28rpx;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
|
|||
|
.right {
|
|||
|
flex: 1;
|
|||
|
|
|||
|
.item {
|
|||
|
width: 100%;
|
|||
|
display: flex;
|
|||
|
justify-content: space-between;
|
|||
|
align-items: center;
|
|||
|
margin-bottom: 20rpx;
|
|||
|
|
|||
|
.rest {
|
|||
|
margin-right: 10rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
}
|
|||
|
|
|||
|
.code {
|
|||
|
margin-right: 10rpx;
|
|||
|
font-weight: bold;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
}
|
|||
|
|
|||
|
.legal_company {
|
|||
|
font-size: 24rpx;
|
|||
|
color: #FFFFFF;
|
|||
|
background: #72BE53;
|
|||
|
border-radius: 6rpx;
|
|||
|
padding: 2rpx 10rpx;
|
|||
|
}
|
|||
|
|
|||
|
.legal_person {
|
|||
|
font-size: 24rpx;
|
|||
|
color: #FFFFFF;
|
|||
|
background: #FF8056;
|
|||
|
border-radius: 6rpx;
|
|||
|
padding: 2rpx 10rpx;
|
|||
|
}
|
|||
|
|
|||
|
.item-time {
|
|||
|
font-size: 28rpx;
|
|||
|
color: #666666;
|
|||
|
}
|
|||
|
|
|||
|
&_title {
|
|||
|
font-weight: bold;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
}
|
|||
|
|
|||
|
&_money {
|
|||
|
font-weight: bold;
|
|||
|
font-size: 36rpx;
|
|||
|
color: #F55726;
|
|||
|
}
|
|||
|
|
|||
|
&_brank {
|
|||
|
font-size: 26rpx;
|
|||
|
font-family: PingFang SC-Regular, PingFang SC;
|
|||
|
font-weight: 400;
|
|||
|
color: #737373;
|
|||
|
line-height: 39rpx;
|
|||
|
}
|
|||
|
|
|||
|
&_time {
|
|||
|
font-size: 23rpx;
|
|||
|
font-family: PingFang SC-Regular, PingFang SC;
|
|||
|
font-weight: 400;
|
|||
|
color: #B3B3B3;
|
|||
|
line-height: 34rpx;
|
|||
|
}
|
|||
|
|
|||
|
.item_status {
|
|||
|
display: flex;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
height: 44rpx;
|
|||
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|||
|
padding: 2rpx 16rpx;
|
|||
|
font-size: 28rpx;
|
|||
|
}
|
|||
|
|
|||
|
.audit {
|
|||
|
background: rgba(38, 172, 245, .2);
|
|||
|
color: #26ACF5;
|
|||
|
}
|
|||
|
|
|||
|
.trans {
|
|||
|
background: rgba(245, 87, 38, .2);
|
|||
|
color: #F55726;
|
|||
|
}
|
|||
|
|
|||
|
.done {
|
|||
|
display: flex;
|
|||
|
background: rgba(70, 176, 58, .2);
|
|||
|
color: #46B03A;
|
|||
|
}
|
|||
|
|
|||
|
.lose {
|
|||
|
background: rgba(102, 102, 102, .2);
|
|||
|
color: #666;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.item-title {
|
|||
|
justify-content: flex-start;
|
|||
|
|
|||
|
text {
|
|||
|
&:nth-child(1) {
|
|||
|
width: 198rpx;
|
|||
|
height: 40rpx;
|
|||
|
font-family: PingFang SC, PingFang SC;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
line-height: 51rpx;
|
|||
|
text-align: left;
|
|||
|
font-style: normal;
|
|||
|
text-transform: none;
|
|||
|
}
|
|||
|
|
|||
|
&:nth-child(1) {
|
|||
|
width: 198rpx;
|
|||
|
height: 40rpx;
|
|||
|
font-family: PingFang SC, PingFang SC;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #333333;
|
|||
|
line-height: 51rpx;
|
|||
|
text-align: left;
|
|||
|
font-style: normal;
|
|||
|
text-transform: none;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.remark {
|
|||
|
word-wrap: break-word;
|
|||
|
font-size: 24rpx;
|
|||
|
color: #F55726;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|