shop-applet/pages/users/gather_list/index.vue

473 lines
10 KiB
Vue
Raw Normal View History

2023-09-20 18:16:59 +08:00
<template>
2024-04-11 18:11:28 +08:00
<view class="list">
2023-09-20 18:16:59 +08:00
<view class="head">
<view class="head_conent">
2023-11-07 17:45:09 +08:00
<view class="sum">
<view class="text">已提现金额</view>
2024-04-11 18:11:28 +08:00
<u-count-to class="num" style="color: #F84221;" :startVal="0" :endVal="sumTofixed" :decimals="2"
bold font-size="22"></u-count-to>
2023-11-07 17:45:09 +08:00
</view>
2024-04-11 18:11:28 +08:00
<view class="line"></view>
2023-11-07 17:45:09 +08:00
<view class="sum">
<view class="text">已提现次数</view>
2024-04-11 18:11:28 +08:00
<u-count-to class="num" :startVal="0" :endVal="all_count" bold font-size="22"></u-count-to>
2023-09-20 18:16:59 +08:00
</view>
</view>
</view>
2024-04-11 18:11:28 +08:00
<view class="search">
<view class="search-time">
<text class="month">2024年04月</text>
<u-icon name="arrow-down" color="#333" :bold="true"></u-icon>
2023-09-20 18:16:59 +08:00
</view>
2024-04-11 18:11:28 +08:00
<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>
2023-09-20 18:16:59 +08:00
</view>
2024-04-11 18:11:28 +08:00
<view class="item">
<view class="item_title">
<text>{{`${item.financial_account.bank}`}}</text>
2023-09-20 18:16:59 +08:00
2024-04-11 18:11:28 +08:00
</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>
2023-09-20 18:16:59 +08:00
</view>
2024-04-11 18:11:28 +08:00
</view>
<view style="color:#afafaf;" class='loadingicon acea-row row-center-wrapper' v-if='UserApplylist.length > 0'>
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view>
<!-- 日期选择 -->
<!-- <u-datetime-picker ref="datetimePicker" :show="true" v-model="value1" mode="year-month"
:formatter="formatter"></u-datetime-picker> -->
2023-09-20 18:16:59 +08:00
</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
2024-04-11 18:11:28 +08:00
} from '@/api/user.js';
import Loading from '@/components/Loading/index.vue';
2023-09-20 18:16:59 +08:00
export default {
2024-04-11 18:11:28 +08:00
components: {
Loading
},
2023-09-20 18:16:59 +08:00
data() {
return {
sum: 0,
2024-04-11 18:11:28 +08:00
count: 0,
2023-09-20 18:16:59 +08:00
scrollTop: 0,
2024-04-11 18:11:28 +08:00
endDate: '',
2023-09-20 18:16:59 +08:00
merId: '',
2024-04-11 18:11:28 +08:00
UserApplylist: [],
loaded: false,
loading: false,
loadTitle: '加载更多',
where: {
page: 1,
limit: 15,
keyword: '',
start_time: ''
},
all_extract: 0,
all_count: 0,
extractSum: 0,
value1: Number(new Date())
2023-09-20 18:16:59 +08:00
}
},
computed: {
2024-04-11 18:11:28 +08:00
sumTofixed() {
return this.returnFloat(this.all_extract)
2023-09-20 18:16:59 +08:00
}
},
onLoad(option) {
2024-04-11 18:11:28 +08:00
this.merId = option.mer_id;
let date = new Date();
this.endDate = `${date.getFullYear()}-${date.getMonth()+1}-01`
2023-09-20 18:16:59 +08:00
this.ApplyList()
},
2024-04-11 18:11:28 +08:00
// 下拉到底部
onReachBottom() {
this.ApplyList();
},
2023-09-20 18:16:59 +08:00
methods: {
2024-04-11 18:11:28 +08:00
formatter(type, value) {
if (type === 'year') {
return `${value}`
}
if (type === 'month') {
return `${value}`
2023-09-20 18:16:59 +08:00
}
2024-04-11 18:11:28 +08:00
if (type === 'day') {
return `${value}`
2023-09-20 18:16:59 +08:00
}
2024-04-11 18:11:28 +08:00
return value
2023-09-20 18:16:59 +08:00
},
2024-04-11 18:11:28 +08:00
// 查看
handleView(item) {
if (!item.image || item.length == 0) return;
uni.previewImage({
urls: [...item.image]
})
2023-09-20 18:16:59 +08:00
},
2024-04-11 18:11:28 +08:00
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 = '加载更多';
2023-09-20 18:16:59 +08:00
})
2024-04-11 18:11:28 +08:00
},
2023-09-20 18:16:59 +08:00
2024-04-11 18:11:28 +08:00
/**数字强制转为两位小数*/
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;
}
},
},
2023-09-20 18:16:59 +08:00
}
</script>
<style lang="scss">
.list {
2024-04-11 18:11:28 +08:00
.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;
}
}
2023-09-20 18:16:59 +08:00
.head {
2023-11-07 17:45:09 +08:00
width: 694rpx;
2024-04-11 18:11:28 +08:00
margin: 28rpx auto 40rpx;
padding: 28rpx;
2023-11-07 17:45:09 +08:00
background-color: #fff;
border-radius: 24rpx;
2024-04-11 18:11:28 +08:00
box-shadow: 0rpx 4rpx 10rpx 2rpx rgba(161, 161, 161, 0.4);
border-radius: 20rpx 20rpx 20rpx 20rpx;
2023-09-20 18:16:59 +08:00
.head_conent {
2023-11-07 17:45:09 +08:00
display: flex;
justify-content: space-around;
align-items: center;
2024-04-11 18:11:28 +08:00
.line {
width: 1rpx;
height: 70rpx;
background-color: #dfdfdf;
}
2023-11-07 17:45:09 +08:00
.sum {
flex: 1;
2024-04-11 18:11:28 +08:00
text-align: center;
color: #737373;
font-size: 30rpx;
.num {
font-size: 48.06rpx;
margin-bottom: 15rpx;
font-weight: bold;
}
2023-09-20 18:16:59 +08:00
2024-04-11 18:11:28 +08:00
.text {
margin-bottom: 24rpx;
font-size: 28rpx;
color: #666666;
}
}
2023-09-20 18:16:59 +08:00
}
}
.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;
2024-04-11 18:11:28 +08:00
}
}
}
}
.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;
}
2023-09-20 18:16:59 +08:00
2024-04-11 18:11:28 +08:00
.trans {
background: rgba(245, 87, 38, .2);
color: #F55726;
2023-09-20 18:16:59 +08:00
}
2024-04-11 18:11:28 +08:00
.done {
display: flex;
background: rgba(70, 176, 58, .2);
color: #46B03A;
2023-09-20 18:16:59 +08:00
}
2024-04-11 18:11:28 +08:00
.lose {
background: rgba(102, 102, 102, .2);
color: #666;
2023-09-20 18:16:59 +08:00
}
2024-04-11 18:11:28 +08:00
}
.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;
}
2023-09-20 18:16:59 +08:00
}
}
}
2024-04-11 18:11:28 +08:00
.remark {
word-wrap: break-word;
font-size: 24rpx;
color: #F55726;
font-weight: bold;
}
2023-09-20 18:16:59 +08:00
}
}
}
</style>