483 lines
11 KiB
Vue
483 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">
|
||
<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">{{"对公"}}</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.length> 0)">待转账
|
||
</view>
|
||
<view class="item_status done" v-if="item.status == 1 && item.image && item.image.length > 0"
|
||
@click="handleView(item)">
|
||
已转账
|
||
<u-icon name="arrow-right" color="#46B03A"></u-icon>
|
||
</view>
|
||
<view class="item_status lose" v-if="item.status == -1">审核不通过</view>
|
||
</view>
|
||
</view>
|
||
<view class="remark" v-if="item.mark">{{item.mark}}</view>
|
||
</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>
|
||
|
||
<!-- 时间组件 -->
|
||
<h-datetime-picker ref="pickerDate" @reset="reset" @confirm="confirm"></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-dd');
|
||
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.ApplyList();
|
||
},
|
||
|
||
// 重置
|
||
reset(e) {
|
||
this.where.end_time = '';
|
||
this.where.start_time = new Date().format('yyyy-MM-dd');
|
||
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 {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
margin: 0 50rpx 20rpx 48rpx;
|
||
|
||
.search-time {
|
||
display: flex;
|
||
|
||
.month {
|
||
font-weight: 600;
|
||
font-size: 28rpx;
|
||
color: #333333;
|
||
margin-right: 6rpx;
|
||
}
|
||
}
|
||
|
||
.total {
|
||
font-size: 24rpx;
|
||
color: #666666;
|
||
}
|
||
}
|
||
|
||
.head {
|
||
width: 694rpx;
|
||
margin: 28rpx auto 40rpx;
|
||
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: 600;
|
||
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: 600;
|
||
font-size: 28rpx;
|
||
color: #333333;
|
||
}
|
||
|
||
&_money {
|
||
font-weight: 600;
|
||
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 {
|
||
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> |