<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>
