<template>
	<view class="content">
		<!-- 日期搜索 -->
		<view class="calendar">
			<ren-calendar ref='ren' :markDays='markDays' @maskClick="maskClick" @onMonthClickPre='onMonthClickPre'
				@onMonthClickNext="onMonthClickNext">
			</ren-calendar>
		</view>
		<!-- 列表 -->
		<view class="box">
			<view class="list" v-for="(item,ind) in infoList" :key="ind" @click="handleDetail(item)">
				<view class="time">{{item.time}}</view>
				<view class="kcal">
					<view>摄入卡路里<text>{{item.val}}</text>{{item.unit}}</view>
					<view class="status">
						<text class="quan" :style="'background:'+item.color"></text>
						{{item.describe}}
					</view>
					<uni-icons type="forward" size="20" color="#666"></uni-icons>
				</view>
			</view>
			<view v-if="!infoList.length" class="nolist">
				<icon class="iconfont icon-wancan"></icon>
				<text>还没有记录哦</text>
			</view>
		</view>

	</view>
</template>

<script>
	import {
		mapState
	} from "vuex";
	import RenCalendar from '@/uni_modules/ren-calendar/ren-calendar.vue';
	export default {
		data() {
			return {
				list: [],
				page: 1,
				lastPage: '',
				markDays: {
					warning: [],
					success: [],
					error: [],
				},
				infoList: []
			}
		},
		components: {
			RenCalendar,
		},
		computed: {
			...mapState(["user"]),
			end() {
				return this.$tools.getTime()
			},
			endDate() {
				return this.$tools.getDate("start")
			},
		},
		onLoad() {
			let that = this
			that.page = 1
			that.list = []
			that.startM = that.$tools.getMonth(that.$tools.getTime(), 0).substring(0, 10)
			that.endM = that.$tools.getMonth(that.$tools.getTime(), 0).substring(11, 21)
			that.handleList()
		},
		onReachBottom() {
			let that = this
			if (!this.lastPage || this.page >= this.lastPage) {
				uni.showToast({
					title: '没有更多数据！',
					icon: 'none'
				})
				return
			}
			this.page++
			this.handleList(this.page)
		},
		methods: {
			handleList() {
				let that = this
				that.$model.getMyLogList({
					aud_id: that.user.aud_id,
					page: that.page,
					s_time: that.startM,
					e_time: that.endM
				}).then(res => {
					if (res) {
						console.log("11111", res)
						that.list = res.content_list
						for (var i = 0; i < res.pkList.list.length; i++) {
							if (Date.parse(that.endDate) == Date.parse(res.pkList.list[i].time)) {
								that.infoList.push(res.pkList.list[i]);
							}
							if (res.pkList.list[i].describe=="超标") {
								that.markDays.error.push(res.pkList.list[i].time);
							}
							if (res.pkList.list[i].describe=="达标") {
								that.markDays.success.push(res.pkList.list[i].time);
							}
							if (res.pkList.list[i].describe=="不达标") {
								that.markDays.warning.push(res.pkList.list[i].time);
							}
						}
					}
				})
			},
			// 日期选择
			maskClick(e) {
				let that = this
				console.log('maskClick事件:', e);
				that.infoList = []
				for (var i = 0; i < that.list.length; i++) {
					if (Date.parse(e.date) == Date.parse(that.list[i].time)) { //includes 检测数组是否有某个值
						that.infoList.push(that.list[i]);
					}
				}
			},
			onMonthClickPre(data) {
				let that = this
				console.log("上月", data)
				that.list = []
				that.infoList = []
				that.markDays = {
					warning: [],
					success: [],
					error: [],
				}
				that.startM = data.substring(0, 10)
				that.endM = data.substring(11, 21)
				that.handleList()
			},
			onMonthClickNext(data) {
				console.log("下月", data)
			},
			handleDetail(item) {
				let that = this
				uni.setStorageSync("startDay", item.time)
				uni.switchTab({
					url: '/pages/count/count'
				});
			}

		}
	}
</script>

<style scoped="scoped" lang="scss">
	.content {
		padding: 0 15px;
	}

	.calendar {
		text-align: center;
		background: #fff;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 20;
		height: 40px;
		line-height: 40px;
		box-shadow: 0px 1px 5px 2px #dfe2e1fc;
	}

	.box {
		margin-top: 55px;
		width: 100%;
	}

	.list {
		color: #999;
		width: calc(100% - 30px);
		background: #fff;
		margin-bottom: 15px;
		border-radius: 15px;
		padding: 10px 15px;


		.time {
			width: 100%;
			height: 30px;
			line-height: 30px;
		}

		.kcal {
			display: flex;
			justify-content: space-between;
			align-items: center;

			text {
				font-size: 16px;
				font-weight: bold;
				margin: 0 3px;
				color: #000;
			}

			.status {
				width: 85px;
			}

			.quan {
				width: 12px;
				height: 12px;
				background: $uni-color-warning;
				display: inline-block;
				border-radius: 50%;
				margin-right: 5px;
			}

			.quan1 {
				background: $uni-color-success;
			}

			.quan2 {
				background: $maincolor;
			}
		}
	}
</style>