<template>
	<view class="page">
		<u-navbar :title="bttit" :border-bottom="false" :background="bgc" title-color='#000' back-icon-color="#000" title-size='36' height='50'></u-navbar>
		<view class="box">
			<view class="top">
				<u-search placeholder="搜索" input-align="center" v-model="keyword" @custom="seach"></u-search>
			</view>
			<u-picker mode="time" v-model="show" :params="params" @confirm="confirm"></u-picker>
			<view class="date">
				<text @click="btnks(1)">{{selector}}</text> -- <text @click="btnks(2)">{{selectors}}</text>
			</view>
			<view class="jesx">
				<view class="sx">金额筛选：</view><text
					@click="btnaddid(1)">{{qishiprice == '' ? qishiprice + '起始金额' : qishiprice + '元'}} </text>
				--
				<text @click="btnaddid(2)">{{jieshuprice == '' ? jieshuprice + '结束金额' : jieshuprice + '元'}} </text>
				<view class="cx" @click="btnchaxun">查询</view>
			</view>


			<!-- 店铺排行 -->
			<view class="shoppm">
				<view class="shopname">
					<view class="one">店铺名称</view>
					<view class="two">￥{{sytit}}（元）
						<image @click="btnpx" src="https://api.ccttiot.com/smartmeter/img/static/usFoZqC3MrePH4pqCJe7" mode=""
							style="display: inline-block;width: 46rpx;height: 46rpx;vertical-align: middle;"></image>
					</view>
				</view>
				<view class="listshop" @scrolltolower="onReachBottom" v-for="(item,index) in listarr" :key="index">
					<view class="nikename">
						<text :style="{  
                           width: '38rpx',  
                           height: '38rpx',  
                           background: '#ccc',  
                           display: 'inline-block',  
                           borderRadius: '50%',  
                           textAlign: 'center',  
                           marginRight: '14rpx',  
                           fontSize: '24rpx',  
                           lineHeight: '38rpx',  
                           color: getColorByIndex(index)}">
							{{index + 1}}</text>
						{{item.storeName}}
					</view>
					<view class="price" v-if="sytit == '收益金额'">{{item.income}}</view>
					<view class="price" v-else>{{item.flow}}</view>
				</view>

				<view class="" style="width: 448rpx;height: 448rpx;margin: auto;margin-top: 100rpx;text-align: center;"
					v-if="showflag">
					<image style="width: 448rpx;height: 448rpx;"
						src="https://api.ccttiot.com/smartmeter/img/static/ufLi6IZd5kh1MIEZFYTo" mode=""></image>
					<view class="" style="font-size: 30rpx;color: #ccc;margin-top: 30rpx;">暂无更多店铺收益...</view>
				</view>

			</view>
		</view>

		<!-- 弹窗 -->
		<view class="tanc" v-if="vipflag">
			<view class="tit">{{textje}}</view>
			<input type="text" v-model="jesum" />
			<view class="xian"></view>
			<view class="anniu">
				<text @click="btnqx">取消</text> <text style="border-left: 1px solid #D8D8D8;color: #25CE88;"
					@click="trueje">确定</text>
			</view>
		</view>
		<view class="mask" v-if="vipflag"></view>

	</view>
</template>

<script>
	export default {
		data() {
			return {
				params: {
					year: true,
					month: true,
					day: true,
					hour: false,
					minute: false,
					second: false
				},
				show: false,
				selector: '',
				selectors: '',
				num: '',
				vipflag: false,
				textje: '请输入起始金额',
				qishiprice: '',
				jieshuprice: '',
				jesum: '',
				jeflag: '',
				listarr: [],
				pagesum: 1,
				pagesize: 10,
				pagenum: 1,
				pagesize: 10, // 一页多少数据
				isLoading: false, // 是否正在加载数据  
				noMoreData: false, // 是否没有更多数据  
				total: 0,
				keyword: '',
				bgc: {
					background: '#25CE88'
				},
				showflag: false,
				isAsc:'desc',
				bttit:'',
				sytit:''
			}
		},
		onLoad(option) {
			this.bttit = option.tit
			this.sytit = option.tits
			let today = new Date()
			this.selector = this.formatDate(today)
			this.selectors = this.formatDate(today)
			this.getlist()
		},
		methods: {
			btnchaxun() {
				this.pagenum = 1
				this.listarr = []
				this.getlist()
			},
			seach(){
				this.pagenum = 1
				this.listarr = []
				this.getlist()
			},
			btnpx(){
				if(this.isAsc == 'asc'){
					this.isAsc = 'desc'
					this.pagenum = 1
					this.listarr = []
					this.getlist()
				}else{
					this.isAsc = 'asc'
					this.pagenum = 1
					this.listarr = []
					this.getlist()
				}
				
			},
			getlist() {
				this.$u.get('/agent/report/agent/storeRank?orderByColumn=' + 'income' + '&isAsc=' + this.isAsc +
					'&startDate=' + this.selector + '&endDate=' + this.selectors + '&pageNum=' + this.pagenum +
					'&pageSize=' + this.pagesize + '&startAmount=' + this.qishiprice + '&endAmount=' + this.jieshuprice + '&keyword=' + this.keyword + '&isAsc=' + this.isAsc).then(res => {
					if (res.code == 200) {
						this.total = res.total
						if (this.total > 0) {
							this.showflag = false
						} else {
							this.showflag = true
						}
						if (res.rows.length > 0) {
							// 有数据，追加到列表  
							this.listarr = this.listarr.concat(res.rows)
							this.pagenum++
						} else {
							// 没有更多数据  
							this.noMoreData = true;
						}
					}
				})
			},
			onReachBottom() {
				let sum = this.total / this.pagesize
				if (this.pagenum - 1 < sum) {
					this.getlist(); // 上拉加载更多  
				} else {
					uni.showToast({
						title: '没有更多店铺收益了',
						icon: 'none',
						duration: 1000
					})
				}
			},

			formatDate(date) {
				let year = date.getFullYear();
				let month = String(date.getMonth() + 1).padStart(2, '0');
				let day = String(date.getDate()).padStart(2, '0');
				return `${year}-${month}-${day}`;
			},
			btnks(num) {
				this.show = true
				if (num == 1) {
					this.num = 1
				} else {
					this.num = 2
				}
			},
			confirm(e) {
				if (this.num == 1) {
					this.selector = e.year + '-' + e.month + '-' + e.day
				} else {
					this.selectors = e.year + '-' + e.month + '-' + e.day
				}
			},
			btnaddid(num) {
				this.vipflag = true
				if (num == 1) {
					this.textje = '请输入起始金额'
					this.jeflag = true
				} else {
					this.textje = '请输入结束金额'
					this.jeflag = false
				}
			},
			btnqx() {
				this.vipflag = false
			},
			trueje() {
				this.vipflag = false
				// 为true是起始金额 为false是结束金额
				if (this.jeflag == true) {
					this.qishiprice = this.jesum
					this.jesum = ''
				} else {
					this.jieshuprice = this.jesum
					this.jesum = ''
				}
			},

			getColorByIndex(index) {
				const colors = ['red', 'orange', 'green', 'black']; // 颜色数组  
				return index < colors.length ? colors[index] : colors[3]; // 如果index小于颜色数组长度，返回对应颜色；否则返回黑色  
			}

		}
	}
</script>

<style lang="scss">
	/deep/ .u-title,
	/deep/ .uicon-nav-back {
		padding-bottom: 22rpx;
	}

	page {
		// background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%);
	}

	.page {
		width: 750rpx;
		// position: fixed;
		// top: 0;
		// left: 0;

		.mask {
			width: 750rpx;
			height: 100vh;
			background: #000000;
			border-radius: 0rpx 0rpx 0rpx 0rpx;
			opacity: 0.2;
			z-index: 1;
			position: fixed;
			top: 0;
			left: 0;
		}

		.box {
			width: 750rpx;
			height: 1440rpx;
			background: #F4F5F7;
			border-radius: 0rpx 0rpx 0rpx 0rpx;

			.shoppm {
				.listshop {
					padding: 24rpx 48rpx;
					box-sizing: border-box;
					display: flex;
					justify-content: space-between;
					border-bottom: 1rpx solid #F0F0F0;
					font-size: 28rpx;
					color: #3D3D3D;

					.nikename {}
				}

				.shopname {
					display: flex;
					justify-content: space-between;
					padding: 0rpx 48rpx;
					box-sizing: border-box;
					margin-top: 60rpx;
					border-bottom: 1rpx solid #F0F0F0;
					padding-bottom: 24rpx;

					.one {
						font-size: 28rpx;
						color: #808080;
					}

					.two {
						font-weight: 600;
						font-size: 28rpx;
						color: #3D3D3D;
					}
				}
			}

			.jesx {
				display: flex;
				justify-content: space-between;
				margin-top: 32rpx;
				padding: 0 22rpx;
				box-sizing: border-box;

				text {
					padding: 6rpx 18rpx;
					box-sizing: border-box;
					background: #eee;
					border-radius: 10rpx 10rpx 10rpx 10rpx;
					font-size: 24rpx;
					color: #808080;
				}

				.sx {
					font-size: 24rpx;
					color: #3D3D3D;
					width: 120rpx;
					margin-top: 6rpx;
				}

				.cx {
					width: 100rpx;
					margin-right: 20rpx;
					text-align: center;
					font-size: 24rpx;
					color: #FFFFFF;
					height: 46rpx;
					line-height: 46rpx;
					background: #25CE88;
					border-radius: 10rpx 10rpx 10rpx 10rpx;
				}
			}

			.date {
				padding-left: 80rpx;
				padding-right: 80rpx;
				box-sizing: border-box;
				display: flex;
				justify-content: space-between;
				margin-top: 26rpx;

				text {
					padding: 6rpx 18rpx;
					box-sizing: border-box;
					background: #eee;
					border-radius: 10rpx 10rpx 10rpx 10rpx;
					font-size: 24rpx;
					color: #808080;
				}
			}

			.top {
				padding: 28rpx 32rpx;
				box-sizing: border-box;

				/deep/ .u-content {
					border: 1px solid #ccc;
					border-radius: 50rpx 0 0 50rpx !important;
				}

				/deep/ .u-action {
					border-radius: 0 50rpx 50rpx 0 !important;
					width: 112rpx;
					height: 65rpx;
					line-height: 65rpx;
					border: 2rpx solid #ccc;
					margin-left: 0;
					color: #3D3D3D;
					background-color: #f2f2f2;
				}
			}
		}

		.tanc {
			width: 610rpx;
			height: 282rpx;
			background: #FFFFFF;
			border-radius: 30rpx 30rpx 30rpx 30rpx;
			position: fixed;
			top: 628rpx;
			left: 50%;
			transform: translateX(-50%);
			z-index: 2;

			.tit {
				width: 100%;
				text-align: center;
				margin-top: 28rpx;
				font-weight: 500;
				font-size: 32rpx;
				color: #3D3D3D;
			}

			input {
				width: 504rpx;
				height: 62rpx;
				background: #EEEEEE;
				border-radius: 6rpx 6rpx 6rpx 6rpx;
				margin: auto;
				margin-top: 22rpx;
				padding-left: 20rpx;
			}

			.xian {
				width: 610rpx;
				height: 2rpx;
				background: #D8D8D8;
				border-radius: 0rpx 0rpx 0rpx 0rpx;
				margin-top: 26rpx;
			}

			.anniu {
				display: flex;
				justify-content: space-between;
				height: 98rpx;

				text {
					padding: 24rpx;
					text-align: center;
					box-sizing: border-box;
					font-weight: 500;
					font-size: 36rpx;
					color: #3D3D3D;
					display: inline-block;
					width: 100%;
					height: 100rpx;
				}
			}
		}
	}
</style>