<template>
	<view :data-theme="theme">
		<view class='commission-details'>
			<view class='promoterHeader'>
				<view class='headerCon acea-row row-between-wrapper'>
					<view>
						<view class='name'>{{name}}</view>
						<view class='money' v-if="recordType == 4">¥<text class='num'>{{extractCount}}</text></view>
						<view class='money' v-else>¥<text class='num'>{{commissionCount}}</text></view>
					</view>
					<view class='iconfont icon-jinbi1'></view>
				</view>
			</view>
			<view class='sign-record' v-if="recordType == 4">
				<block v-for="(item,index) in recordList" :key="index" v-if="recordList.length>0">
					<view class='list borderPad'>
						<view class='item'>
							<view class='data'>{{item.month}}</view>
							<view class='listn borRadius14'>
								<block v-for="(child,indexn) in item.list" :key="indexn">
									<view class='itemn acea-row row-between-wrapper'>
										<view style="width: 70%;">
											<view v-if="child.auditStatus!==1" class='name line1'>
												{{child.auditStatus | statusFilter}}
											</view>
											<view class='name line1' v-else>审核成功 / {{child.accountStatus==0?'待结算':'已结算'}}
											</view>
											<view v-show="child.auditStatus==2 && child.refusalReason" class="font-color-red mb8">{{child.refusalReason}}</view>
											<view>{{child.createTime}}</view>
										</view>
										<view class='num font_color'>{{child.closingPrice}}</view>
									</view>
								</block>
							</view>
						</view>
					</view>
				</block>
				<view v-if="recordList.length == 0">
					<emptyPage title='暂无结算记录~' :imgSrc="urlDomain+'crmebimage/presets/noJilu.png'"></emptyPage>
				</view>
			</view>
			<view class='sign-record' v-else>
				<block v-for="(item,index) in recordList" :key="index" v-if="recordList.length>0">
					<view class='list borderPad'>
						<view class='item'>
							<view class='data'>{{item.month}}</view>
							<view class='listn borRadius14'>
								<block v-for="(child,indexn) in item.list" :key="indexn">
									<view class='itemn acea-row row-between-wrapper'>
										<view>
											<view class='name line1'>{{child.title}}</view>
											<view>{{child.updateTime}}</view>
										</view>
										<view class='num font_color' v-if="child.type == 1">+{{child.price}}
										</view>
										<view class='num' v-else>-{{child.price}}</view>
									</view>
								</block>
							</view>
						</view>
					</view>
				</block>
				<view v-if="recordList.length == 0">
					<emptyPage title='暂无佣金记录~' :imgSrc="urlDomain+'crmebimage/presets/noJilu.png'"></emptyPage>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	// +----------------------------------------------------------------------
	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
	// +----------------------------------------------------------------------
	// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
	// +----------------------------------------------------------------------
	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
	// +----------------------------------------------------------------------
	// | Author: CRMEB Team <admin@crmeb.com>
	// +----------------------------------------------------------------------
	import {
		getCommissionInfo,
		getClosingRecordApi,
	} from '@/api/user.js';
	import {
		toLogin
	} from '@/libs/login.js';
	import {
		mapGetters
	} from "vuex";
	import emptyPage from '@/components/emptyPage.vue'
	import {
		setThemeColor
	} from '@/utils/setTheme.js'
	const app = getApp();
	export default {
		components: {
			emptyPage
		},
		filters: {
			statusFilter(status) {
				const statusMap = {
					'2': '已拒绝',
					'0': '待审核',
					'1': '审核成功'
				}
				return statusMap[status]
			}
		},
		data() {
			return {
				urlDomain: this.$Cache.get("imgHost"),
				name: '',
				type: 0,
				page: 1,
				limit: 20,
				recordList: [],
				recordType: 0,
				loadend: false,
				extractCount: 0,
				theme: app.globalData.theme,
				commissionCount: 0,
				bgColor: '#e93323'
			};
		},
		computed: mapGetters(['isLogin']),
		onLoad(options) {
			if (this.isLogin) {
				this.type = options.type;
				this.extractCount = options.extractCount;
				this.commissionCount = options.commissionCount;
			} else {
				toLogin();
			}
			let that = this;
			that.bgColor = setThemeColor();
			uni.setNavigationBarColor({
				frontColor: '#ffffff',
				backgroundColor: that.bgColor,
			});
		},
		onShow: function() {
			let type = this.type;
			if (type == 1) {
				uni.setNavigationBarTitle({
					title: "结算记录"
				});
				this.name = '结算总额';
				this.recordType = 4;
				this.getList();
			} else if (type == 2) {
				uni.setNavigationBarTitle({
					title: "佣金记录"
				});
				this.name = '佣金记录';
				this.recordType = 3;
				this.getRecordList();
			} else {
				uni.showToast({
					title: '参数错误',
					icon: 'none',
					duration: 1000,
					mask: true,
					success: function(res) {
						setTimeout(function() {
							// #ifndef H5
							uni.navigateBack({
								delta: 1,
							});
							// #endif
							// #ifdef H5
							history.back();
							// #endif

						}, 1200)
					},
				});
			}

		},
		methods: {
			getList: function() {
				let that = this;
				let recordList = that.recordList;
				let recordListNew = [];
				if (that.loadend == true) return;
				getClosingRecordApi({
					page: that.page,
					limit: that.limit
				}).then(res => {
					that.page = that.page + 1;
					let len = that.page > res.data.totalPage;
					let recordListData = res.data || [];
					recordListNew = recordList.concat(recordListData);
					that.loadend = len;
					that.$set(that, 'recordList', recordListNew);
				});
			},
			getRecordList: function() {
				let that = this;
				let page = that.page;
				let limit = that.limit;
				let loadend = that.loadend;
				let recordType = that.recordType;
				let recordList = that.recordList;
				let recordListNew = [];
				if (loadend == true) return;
				getCommissionInfo({
					page: page,
					limit: limit
				}).then(res => {
					if (res.data.list) {
						that.page = page + 1;
						let len = that.page > res.data.totalPage;
						let recordListData = res.data.list || [];
						recordListNew = recordList.concat(recordListData);
						that.loadend = len;
						that.$set(that, 'recordList', recordListNew);
					}
				});
			}
		},
		onReachBottom: function() {
			if (this.type == 1) {
				this.getList();
			} else {
				this.getRecordList();
			}

		}
	}
</script>

<style scoped lang="scss">
	.commission-details .promoterHeader .headerCon .money {
		font-size: 36rpx;
	}

	.promoterHeader {
		@include main_bg_color(theme);
	}

	.commission-details .promoterHeader .headerCon .money .num {
		font-family: 'Guildford Pro';
	}

	.font_color {
		color: #E93323 !important;
	}
</style>