You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

381 lines
8.9 KiB

<template>
<view class="index">
<!-- 余额显示 -->
<view class="wrap">
<text>账户余额(积分)</text>
<view class="sec">
<view class="pri">
<text>{{moneys}}</text>
</view>
</view>
<view class="thir">
<view style="width: 33%;">
<text>本月累计收益</text>
<text>{{sumOrderMoney}}</text>
</view>
<view style="width: 33%;">
<text>今日团队收益</text>
<text>{{teamDayTotalMoney}}</text>
</view>
<view style="width: 33%;">
<text>今日个人收益</text>
<text>{{dayMyMoney}}</text>
</view>
</view>
<view class="thir" style="margin-top: 32upx;">
<view style="width: 33%;">
<text>本月个人收益</text>
<text>{{monthYuGu}}</text>
</view>
<view style="width: 33%;">
<text>本月团队收益</text>
<text>{{teamTotalMoney}}</text>
</view>
<view style="width: 33%;">
<text>上月累计收益</text>
<text>{{lastjiesuan}}</text>
</view>
</view>
</view>
<!-- 时间分割 -->
<view class="nav">
<view @click="chooseNav" data-num="1">
<text :class="[current=='1'?'red':'' ]">今日</text>
<view :class="[current=='1'?'active':'unactive' ]"></view>
</view>
<view @click="chooseNav" data-num="2">
<text :class="[current=='2'?'red':'' ]">昨日</text>
<view :class="[current=='2'?'active':'unactive']"></view>
</view>
<view @click="chooseNav" data-num="3">
<text :class="[current=='3'?'red':'' ]">本月</text>
<view :class="[current=='3'?'active':'unactive']"></view>
</view>
<view @click="chooseNav" data-num="4">
<text :class="[current=='4'?'red':'' ]">上月</text>
<view :class="[current=='4'?'active':'unactive']"></view>
</view>
</view>
<view class="nav">
<view @click="chooseNavTwo" data-num="1">
<text :class="[currentTwo=='1'?'red':'' ]">我的收益</text>
<view :class="[currentTwo=='1'?'active':'unactive' ]"></view>
</view>
<view @click="chooseNavTwo" data-num="2">
<text :class="[currentTwo=='2'?'red':'' ]">团队收益</text>
<view :class="[currentTwo=='2'?'active':'unactive']"></view>
</view>
</view>
<view class="item" v-if="currentTwo=='1' && orderInfo.length > 0">
<view class="note">
<text style="width: 33%;text-align: center;">商品名称</text>
<text style="width: 33%;text-align: center;">成员名称</text>
<text style="width: 33%;text-align: center;">返利积分</text>
</view>
<view v-if="orderInfo.length > 0" class="note notes" v-for="(item,index) in orderInfo" :key="index">
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.goodsTitle}}</text>
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.nickName}}</text>
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.integral | formatPrice}}</text>
</view>
</view>
<view class="item" v-if="currentTwo=='2' && orderInfo.length > 0">
<view class="note">
<text style="width: 33%;text-align: center;">商品名称</text>
<text style="width: 33%;text-align: center;">成员名称</text>
<text style="width: 33%;text-align: center;">返利积分</text>
</view>
<view v-if="orderInfo" class="note notes" v-for="(item,index) in orderInfo" :key="index">
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.goodsTitle}}</text>
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.nickName}}</text>
<text style="width: 33%;text-align: center;font-size: 28rpx;">{{item.money | formatPrice}}</text>
</view>
</view>
<!-- 加载更多提示 -->
<view class="s-col is-col-24" v-if="orderInfo.length > 0">
<load-more :loadingType="loadingType" :contentText="contentText"></load-more>
</view>
<!-- 加载更多提示 -->
<empty v-if="orderInfo.length === 0" des="暂无收益数据" show="false"></empty>
</view>
</template>
<script>
export default {
data() {
return {
arr: [1, 2],
current: '1',
currentTwo: '1',
dayMyMoney:0,
moneys: 0,
orderNum: 0,
monthYuGu: 0,
jiesuan: 0,
moneyAll: 0,
nowMonth: 0,
teamTotalMoney: 0,
teamDayTotalMoney: 0,
personDayTotalMoney: 0,
orderInfo: [],
lastjiesuan: 0,
sumOrderMoney: 0,
lastMoneyAll: 0,
totalMoney: 0,
page: 1,
limit: 20,
loadingType: 0,
scrollTop: false,
contentText: {
contentdown: '上拉显示更多',
contentrefresh: '正在加载...',
contentnomore: '没有更多数据了'
}
}
},
filters: {
formatPrice(data) {
if (typeof(data) === "number") {
return parseFloat(data).toFixed(2);
}
return 0.00;
}
},
onLoad() {
this.getMoney();
this.getOrderDetails(1)
},
onReachBottom() {
this.page = this.page + 1
this.getOrderDetails(this.current);
},
methods: {
getOrderDetails(item) {
this.$queue.showLoading('加载中...');
let userId = this.$queue.getData('userId');
this.$Request.getT('/statistical/selectOrdersMoneyDetailsByUserIdAndTime?day=' + item + '&userId=' +
userId + '&type=' + this.currentTwo + '&page=' + this.page + '&limit=' + this.limit).then(res => {
if (res.code === 0 && res.data) {
if (this.page === 1) {
this.orderInfo = [];
}
res.data.list.forEach(d => {
this.orderInfo.push(d);
});
if (res.data.list.length === this.limit) {
this.loadingType = 0
} else {
this.loadingType = 3
}
uni.hideLoading()
} else {
this.loadingType = 2;
uni.hideLoading();
}
});
},
//获取付款收入查询
getMoney() {
let userId = this.$queue.getData('userId');
this.$Request.getT('/statistical/selectOrdersMoneyByUserId?userId=' + userId).then(res => {
if (res.code === 0) {
this.moneys = res.data.money.money;
this.sumOrderMoney = res.data.monthSumMoney;
this.teamDayTotalMoney = res.data.dayTeamMoney;
this.monthYuGu = res.data.monthMyMoney;
this.dayMyMoney = res.data.dayMyMoney;
this.teamTotalMoney = res.data.monthTeamMoney;
this.lastjiesuan = res.data.upMonthSumMoney;
}
});
},
chooseNavTwo(e) {
this.page = 1;
this.currentTwo = e.currentTarget.dataset.num;
this.getOrderDetails(this.current)
},
chooseNav(e) {
this.page = 1;
this.current = e.currentTarget.dataset.num;
this.getOrderDetails(e.currentTarget.dataset.num)
}
}
}
</script>
<style scoped lang="scss">
.index {
background: #FFFFFF;
}
.wrap {
color: #ffffff;
padding: 0 40upx 50upx;
;
// width: 750upx;
// height: 320upx;
padding-top: 40upx;
background: #FF3530;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.pri {
width: 92%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 22upx;
}
.pri>text {
width: 50%;
font-size: 48upx;
font-family: DINPro;
font-weight: bold;
color: #FFFFFF;
line-height: 32upx;
}
.pri>view {
width: 160upx;
height: 58upx;
background: #FFFFFF;
border-radius: 29upx;
font-size: 24upx;
font-family: PingFang SC;
font-weight: 500;
color: #FF1E43;
line-height: 58upx;
text-align: center;
}
.sec {
width: 100%;
margin-top: 40upx;
margin-bottom: 61upx;
}
.thir {
display: flex;
width: 100%;
justify-content: flex-start;
align-items: center;
}
.thir>view {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.thir>view>text:nth-child(1) {
margin-bottom: 17upx;
}
.nav {
display: flex;
padding-top: 28upx;
background: #ffffff;
font-size: 32upx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
padding-bottom: 14upx;
view {
flex: 1;
text-align: center;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.active {
background: #FF3530;
width: 36upx;
height: 6upx;
margin: 0 auto;
// margin-top: 10upx;
border-bottom: 6upx solid #FF3530;
position: relative;
top: 12upx;
}
.unactive {
width: 36upx;
height: 6upx;
border-radius: 4upx;
margin: 0 auto;
// margin-top: 10upx;
// border-bottom: 4upx solid
}
// }
}
.item {
width: 100%;
background: #ffffff;
padding: 20upx 40upx 4upx;
.tit {
padding-bottom: 19upx;
border-bottom: 1px solid #E6E6E6;
margin-bottom: 20upx;
font-size: 32upx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
}
.note {
display: flex;
justify-content: space-around;
width: 100%;
margin: 20rpx 30rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
margin-bottom: 42upx;
text {
text-align: left;
position: relative;
left: -48upx;
}
}
.notes {
font-size: 38upx;
font-family: DINPro;
font-weight: 500;
color: #333333;
}
}
.red {
color: #FF3530;
}
</style>