创作者微信小程序端
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.

182 lines
4.6 KiB

<template>
<view>
<view class="uni-padding-wrap uni-common-mt">
<uni-segmented-control :current="typeId" :values="items" :style-type="styleType" :active-color="activeColor"
@clickItem="onClickItem" />
</view>
<view class="content">
<view v-if="typeId === 0">
<uni-list border-full v-for="(item,index) in inProfitAdList" :key="index">
<uni-list-item showArrow clickable :title="item.createTime+'@'+item.scanCode"
:note="item.appType+'&'+item.platform+'&'+item.type" :thumb="item.url" thumb-size="lg"
:rightText="'¥'+item.profit" @click="targetToOrder(item.id)" />
</uni-list>
<view class="ivOver" v-if="flagAd">-----已经到底啦-----</view>
</view>
<view v-if="typeId === 1">
<uni-list border-full v-for="(item,index) in inProfitInviteList" :key="index">
<uni-list-item showArrow clickable :title="item.createTime+'@'+item.scanCode"
:note="item.appType+'&'+item.platform+'&'+item.type" :thumb="item.url" thumb-size="lg"
:rightText="'¥'+item.profit" @click="targetToOrder(item.id)" />
</uni-list>
<view class="ivOver" v-if="flagInvite">-----已经到底啦-----</view>
</view>
</view>
</view>
</template>
<script>
import {
queryFrontInProfitAmt
} from '@/api/profit.js'
export default {
data() {
return {
items: ['广告', '邀请'],
typeId: 0,
activeColor: '#007aff',
styleType: 'text',
inProfitAdList: [],
inProfitInviteList: [],
userInfo: {},
pageSize: 10,
pageNum: 1,
flagAd: false,
flagInvite: false
}
},
created() {
const userInfoSync = uni.getStorageSync('userInfo')
this.userInfo = userInfoSync
const typeProfitId = uni.getStorageSync('typeId')
this.typeId = typeProfitId
if (typeProfitId) {
this.queryFrontInProfitAmt()
} else {
this.queryFrontInProfitAmt()
}
},
// 下拉刷新
onPullDownRefresh() {
if(this.typeId === 0){
this.pageNum = 1
this.inProfitAdList = []
this.queryFrontInProfitAmt()
uni.stopPullDownRefresh()
}else{
this.pageNum = 1
this.inProfitInviteList = []
this.queryFrontInProfitAmt()
uni.stopPullDownRefresh()
}
},
// 上划加载更多
onReachBottom() {
if(this.typeId === 0){
if (this.inProfitAdList.length > this.pageNum*this.pageSize-1 ) {
this.flagAd = false;
this.pageNum += 1
this.queryFrontInProfitAmt();
}else{
this.flagAd = true;
}
}else{
if (this.inProfitInviteList.length > this.pageNum*this.pageSize-1 ) {
this.flagInvite = false;
this.pageNum += 1
this.queryFrontInProfitAmt();
}else{
this.flagInvite = true;
}
}
},
methods: {
// 查询指定艺术家已入账收益列表
async queryFrontInProfitAmt() {
const res = await queryFrontInProfitAmt({
creatorId: this.userInfo.id,
type: this.typeId,
pageSize: this.pageSize,
pageNum: this.pageNum
})
if (res.data.code === 200) {
if(this.typeId === 0){
this.inProfitAdList.push(...res.data.rows)
}else{
this.inProfitInviteList.push(...res.data.rows)
}
} else {
uni.showModal({
content: '已入账列表数据加载失败!',
showCancel: false
});
}
},
onClickItem(e) {
let that = this
that.inProfitAdList = []
that.inProfitInviteList = []
if (that.typeId !== e.currentIndex) {
that.typeId = e.currentIndex
uni.showLoading({
title: '加载中',
mask: true,
success() {
// 查询指定艺术家已入账收益列表
const param = {
creatorId: that.userInfo.id,
type: that.typeId,
pageSize: that.pageSize,
pageNum: 1
}
queryFrontInProfitAmt(param).then(res => {
if (res.data.code === 200) {
if(that.typeId === 0){
that.inProfitAdList.push(...res.data.rows)
}else{
that.inProfitInviteList.push(...res.data.rows)
}
console.log('点击操作inProfitAdList',that.inProfitAdList)
console.log('点击操作inProfitInviteList',that.inProfitInviteList)
} else {
uni.showModal({
content: '已入账列表数据加载失败!',
showCancel: false
});
}
})
},
complete() {
uni.hideLoading();
}
});
}
},
targetToOrder(id) {
console.log('id', id)
if (id) {
uni.navigateTo({
url: '../profit/profitInOrder?id=' + id
})
}
}
}
}
</script>
<style lang="scss">
.ivOver {
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
background: #fff;
font-size: 20rpx;
}
</style>