<template>
|
|
<view class="running-water">
|
|
<navbar :title="title[status]" leftClick @leftClick="leftClick"
|
|
bgColor="#DC2828"
|
|
color="#fff"
|
|
/>
|
|
|
|
<view style="background-color: #DC2828;height: 150rpx;">
|
|
|
|
</view>
|
|
|
|
<view class="card-wrapper">
|
|
<view class="card">
|
|
<view class="card-section">
|
|
<view class="amount-title">总佣金(元)</view>
|
|
<view class="amount-value">¥ {{ info.lj_money }}</view>
|
|
<!-- <view class="action-btn" @click="goWithdraw">提现</view> -->
|
|
</view>
|
|
<view class="card-divider"></view>
|
|
<view class="card-section">
|
|
<view class="amount-title">累计提现(元)</view>
|
|
<view class="amount-value">¥ {{ info.lj_price }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="date-filter">
|
|
<text class="filter-title">金额明细</text>
|
|
|
|
<view class="filter-actions">
|
|
<view class="date-select" @click="openCalendar">
|
|
<text class="date-text">{{queryParams.year || '全部'}} {{queryParams.month || ''}}</text>
|
|
<uv-icon name="calendar" size="32rpx" color="#666"></uv-icon>
|
|
</view>
|
|
|
|
<view v-if="queryParams.year" class="reset-btn" @click="resetFilter">
|
|
<uv-icon name="trash" size="28rpx" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="tab-box">
|
|
<view class="tab-box1" v-if="agentFlow.records.length>0 && agentFlow.total>0">
|
|
<uv-cell center border :title="item.title" v-for="(item, index) in agentFlow.records" :key="item.id"
|
|
:value="x[item.type] + item.money" :label="item.createTime" />
|
|
</view>
|
|
<view style="padding: 100rpx 0;" v-else>
|
|
<uv-empty mode="history" textSize="28rpx" iconSize="100rpx" />
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 日历选择器 -->
|
|
<uv-calendars
|
|
ref="calendar"
|
|
:insert="false"
|
|
mode="year-month"
|
|
color="#DC2828"
|
|
@confirm="calendarConfirm"
|
|
></uv-calendars>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
queryParams: {
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
year: '',
|
|
month: ''
|
|
},
|
|
title: ['余额记录', '提现记录', '佣金记录'],
|
|
agentFlow: {
|
|
total: 1,
|
|
records: []
|
|
},
|
|
x: ['+', '-', '-', '+'],
|
|
status: 0,
|
|
info : {},
|
|
}
|
|
},
|
|
onPullDownRefresh() {
|
|
this.getAgentFlow()
|
|
},
|
|
onReachBottom() {
|
|
this.loadMoreData()
|
|
},
|
|
onLoad(e) {
|
|
this.status = e.status || 0;
|
|
// 加载数据
|
|
this.getAgentFlow();
|
|
this.$store.commit('getUserInfo');
|
|
this.getTeamInfo();
|
|
},
|
|
methods: {
|
|
// 获取团队信息
|
|
getTeamInfo() {
|
|
this.$api('getTeamHeader', res => {
|
|
if (res.code == 200) {
|
|
this.info = res.result;
|
|
}
|
|
})
|
|
},
|
|
loadMoreData(){
|
|
if(this.queryParams.pageSize < this.total){
|
|
this.queryParams.pageSize += 10
|
|
this.getAgentFlow()
|
|
}
|
|
},
|
|
leftClick() { //返回钱包
|
|
uni.navigateBack(-1)
|
|
},
|
|
getAgentFlow() { //获取流水记录
|
|
let type = this.status;
|
|
const params = {
|
|
type,
|
|
pageNo: this.queryParams.pageNo,
|
|
pageSize: this.queryParams.pageSize
|
|
};
|
|
|
|
// 只有当年份有值时才添加年份筛选
|
|
if (this.queryParams.year) {
|
|
// 提取数字部分
|
|
const year = this.queryParams.year.replace('年', '');
|
|
params.year = year;
|
|
|
|
// 如果月份有值,添加月份筛选
|
|
if (this.queryParams.month) {
|
|
const month = this.queryParams.month.replace('月', '');
|
|
params.month = month;
|
|
}
|
|
}
|
|
|
|
this.$api('getLogList', params, res => {
|
|
if (res.code == 200) {
|
|
this.agentFlow = res.result;
|
|
}
|
|
})
|
|
},
|
|
goWithdraw() {
|
|
// 跳转到提现页面
|
|
uni.navigateTo({
|
|
url: '/pages_order/mine/withdraw'
|
|
});
|
|
},
|
|
// 日历选择器相关方法
|
|
openCalendar() {
|
|
this.$refs.calendar.open();
|
|
},
|
|
calendarConfirm(e) {
|
|
// 判断是否有值
|
|
if (e.year && e.month) {
|
|
this.queryParams.year = e.year + '年';
|
|
this.queryParams.month = e.month + '月';
|
|
} else {
|
|
// 重置为全部
|
|
this.queryParams.year = '';
|
|
this.queryParams.month = '';
|
|
}
|
|
|
|
// 重置页码
|
|
this.queryParams.pageNo = 1;
|
|
|
|
// 更新数据
|
|
this.getAgentFlow();
|
|
},
|
|
// 重置筛选
|
|
resetFilter() {
|
|
this.queryParams.year = '';
|
|
this.queryParams.month = '';
|
|
this.queryParams.pageNo = 1;
|
|
this.getAgentFlow();
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.running-water {
|
|
width: 750rpx;
|
|
margin: 0 auto;
|
|
min-height: 100vh;
|
|
position: relative;
|
|
background: #F5F5F5;
|
|
|
|
.card-wrapper {
|
|
position: relative;
|
|
padding: 0 30rpx;
|
|
margin-top: -90rpx;
|
|
z-index: 10;
|
|
|
|
.card {
|
|
display: flex;
|
|
background-color: #fff;
|
|
border-radius: 20rpx;
|
|
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
|
|
overflow: hidden;
|
|
|
|
.card-section {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: 30rpx 0;
|
|
|
|
.amount-title {
|
|
font-size: 28rpx;
|
|
color: #666;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.amount-value {
|
|
font-size: 42rpx;
|
|
font-weight: bold;
|
|
color: #DC2828;
|
|
margin-bottom: 30rpx;
|
|
}
|
|
|
|
.action-btn {
|
|
width: 160rpx;
|
|
height: 70rpx;
|
|
line-height: 70rpx;
|
|
text-align: center;
|
|
border: 1px solid #DC2828;
|
|
color: #DC2828;
|
|
font-size: 28rpx;
|
|
border-radius: 35rpx;
|
|
}
|
|
}
|
|
|
|
.card-divider {
|
|
width: 1px;
|
|
background-color: #eee;
|
|
}
|
|
}
|
|
}
|
|
|
|
.date-filter {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin: 0 20rpx;
|
|
margin-top: 30rpx;
|
|
padding: 30rpx;
|
|
background-color: #fff;
|
|
border-radius: 10rpx;
|
|
|
|
.filter-title {
|
|
font-size: 28rpx;
|
|
color: #333;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.filter-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.date-select {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 12rpx 20rpx;
|
|
border: 1px solid #ddd;
|
|
border-radius: 8rpx;
|
|
|
|
.date-text {
|
|
margin-right: 10rpx;
|
|
font-size: 26rpx;
|
|
color: #333;
|
|
}
|
|
}
|
|
|
|
.reset-btn {
|
|
margin-left: 20rpx;
|
|
padding: 12rpx;
|
|
}
|
|
}
|
|
|
|
.tab-box {
|
|
margin: 20rpx;
|
|
background-color: #fff;
|
|
border-radius: 20rpx;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
</style>
|