<template>
	<div>
		<el-container>
			<el-main>
				<el-form :inline="true" :model="formInline" class="demo-form-inline">
					<el-form-item>
						<el-date-picker v-model="formInline.startDate" type="date" placeholder="选择开始日期" :value-format="'yyyy-MM-dd'"></el-date-picker>
					</el-form-item>
					<el-form-item>
						<el-date-picker v-model="formInline.endDate" type="date" placeholder="选择结束日期" :value-format="'yyyy-MM-dd'"></el-date-picker>
					</el-form-item>
					<el-form-item>
						<el-button type="primary" @click="tripletDayInfoPage">查询</el-button>
					</el-form-item>
					<el-form-item>
						<el-button type="primary" @click="prepareReset">重置</el-button>
					</el-form-item>
					<el-dialog title="提示" :visible.sync="resetDialogVisible" width="30%">
						<span>确认重置吗?</span>
						<span slot="footer" class="dialog-footer">
							<el-button @click="resetDialogVisible = false">取 消</el-button>
							<el-button type="primary" @click.prevent="reset()">确 定</el-button>
						</span>
					</el-dialog>
				</el-form>
				<el-table border :data="tripletDayInfoList" v-loading="loading">
					<el-table-column prop="id" label="序号" width="100" sortable></el-table-column>
					<el-table-column label="三连时间">
						<template slot-scope="props">
							{{ props.row.tripletDate | dateDayFormat }}
						</template>
					</el-table-column>
					<el-table-column prop="likeNum" label="点赞数量" show-overflow-tooltip></el-table-column>
					<el-table-column prop="collectNum" label="收藏数量" show-overflow-tooltip></el-table-column>
					<el-table-column prop="commentNum" label="评论数量" show-overflow-tooltip></el-table-column>
					<el-table-column label="创建时间">
						<template slot-scope="props">
							{{ props.row.createTime | dateFormat }}
						</template>
					</el-table-column>
					<el-table-column label="更新时间">
						<template slot-scope="props">
							{{ props.row.updateTime | dateFormat }}
						</template>
					</el-table-column>
				</el-table>
				<el-pagination class="pagination" background :key="elementui_page_component_key" :current-page.sync="currentPage" :page-size="pageSize" :total="total" @current-change="handleCurrentChange"></el-pagination>
			</el-main>
			<el-backtop class="backtop"></el-backtop>
		</el-container>
	</div>
</template>

<script>
import axios from 'axios'
export default {
	name: 'MyTripletDayInfo',

	data() {
		return {
			formInline: {
				startDate: null,
				endDate: null,
			},
			// 用户列表数据
			tripletDayInfoList: [],
			loading: false,
			resetDialogVisible: false,
			elementui_page_component_key: 0,
			currentPage: Number(localStorage.getItem('csdnTripletDayInfoPage')) || 1,
			pageSize: 9,
			total: 0,
		}
	},
	watch: {
		'formInline.startDate'(newVal, oldVal) {
			if (newVal !== oldVal) {
				this.currentPage = 1
				localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
				this.tripletDayInfoPage()
			}
		},
		'formInline.endDate'(newVal, oldVal) {
			if (newVal !== oldVal) {
				this.currentPage = 1
				localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
				this.tripletDayInfoPage()
			}
		},
		// 监听currentPage的变化，将新值保存到localStorage中
		currentPage(newPage) {
			localStorage.setItem('csdnTripletDayInfoPage', newPage.toString())
		},
	},
	created() {
		//获取问题类型的枚举
		this.tripletDayInfoPage()
	},
	mounted() {
		this.currentPage = 1
	},
	methods: {
		prepareReset() {
			this.resetDialogVisible = true
		},
		async tripletDayInfoPage() {
			this.loading = true
			const { data: res } = await axios.post('http://120.79.36.53:8888/dayInfo/page', {
				page: this.currentPage,
				pageSize: this.pageSize,
				startDate: this.formInline.startDate,
				endDate: this.formInline.endDate,
			})
			if (res.code === 200) {
				this.total = res.result.totalElements
				this.tripletDayInfoList = res.result.content
			}
			this.loading = false
		},
		async reset() {
			this.loading = true
			const { data: res } = await axios.get('http://120.79.36.53:8888/dayInfo/add')
			this.resetDialogVisible = false
			this.tripletDayInfoPage()
			this.loading = false
		},
		handleCurrentChange(currentPage) {
			this.currentPage = currentPage
			this.tripletDayInfoPage()
		},
		refreshPage() {
			//获取问题类型的枚举
			this.tripletDayInfoPage()
			location.reload()
		},
	},
}
</script>

<style lang="less" scoped>
.el-header {
	background-color: #b3c0d1;
	color: #333;
	line-height: 60px;
}

.el-aside {
	color: #333;
}

.pagination {
	margin-top: 16px;
	text-align: right;
}
.header-button-item {
	margin-right: 15px;
	font-size: 20px;
}

.red-title {
	line-height: 24px;
	font-size: 18px;
	color: red;
}

.backtop {
	position: fixed;
	bottom: 50px;
	right: 50px;
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
	background-color: #007aff;
	color: #fff;
	cursor: pointer;
	z-index: 999;
}
.custom-textarea {
	width: 100%;
	text-align: left;
}
.backtop:hover {
	background-color: #0050a0;
}
</style>