<template>
	<view>
		<view class="list_search card_banner flex">
			<uni-datetime-picker class="list_search_date" v-model="searchForm.createTime" type="daterange" />
			<u-icon class="list_search_icon" name="search" color="#fff" size="28" @click="doSearch"></u-icon>
		</view>
		<view class="list_content">
			<u-cell-group>
				<u-cell v-for="item in dataList" @click="toInfo(item)">
					<view slot="title">
						<view class="text-bold text-black">
							<view class="ellipsis-description">
								{{item.name}}
							</view>
						</view>
					</view>
					<view slot="value">
						<view>
							<u-tag v-if="type==1 || type==4" text="点击中止" type="warning" @click="suspend(item)">
							</u-tag>
						</view>
						<view class="text-grey text-sm list_label margin-top">
							{{item.createTime}}
						</view>

					</view>
					<view slot="label">
						<view class="text-grey margin-top">
							{{item.authorPerson}}
						</view>
					</view>
				</u-cell>
			</u-cell-group>
		</view>
		<u-loadmore :status="status" />
	</view>
</template>

<script>
	import yzCirculationCardService from '@/api/commonseal/yzCirculationCardService.js'
	import yzFlowService from '@/api/commonseal/yzFlowService.js'
	import * as $auth from "@/common/auth.js"
	export default {
		onShow() {
			// 先获取页面栈
			let pages = getCurrentPages();

			// 当前页面的前一个页面
			let prevPage = pages[pages.length - 1];
			if (prevPage.options.type) {
				this.dataList = []
				this.type = prevPage.options.type
				switch (prevPage.options.type) {
					case "1":
						uni.setNavigationBarTitle({
							title: '待办列表' // 设置为你想要显示的标题文本
						});
						break;
					case "3":
						uni.setNavigationBarTitle({
							title: '归档列表' // 设置为你想要显示的标题文本
						});
						break;
					case "4":
						uni.setNavigationBarTitle({
							title: '已办列表' // 设置为你想要显示的标题文本
						});
						break;
					case "5":
						uni.setNavigationBarTitle({
							title: '公文列表' // 设置为你想要显示的标题文本
						});
						break;
				}
				this.searchForm.state = prevPage.options.type
				this.tablePage.currentPage = 0
				this.status = 'loading';
				this.loadmore()
			}

		},
		data() {
			return {
				status: 'loadmore',
				type: "",
				time: "",
				value: "",
				range: [],
				dataList: [],
				searchForm: {
					yearNum: '',
					cardNum: '',
					state: '',
					createTime: ""
				},
				tablePage: {
					pages: 0,
					currentPage: 0,
					pageSize: 10,
					orders: [{
						column: "a.create_time",
						asc: false
					}],
				},
				loading: false,
			}
		},
		methods: {
			
			// 中止
			suspend(row) {
				let that = this
				uni.showModal({
					title: '中止原因',
					placeholderText: '输入中止原因',
					editable: true,
					success: function(res) {
						if (res.confirm) {
							that.status = 'loading';
							row.suspend = res.content;
							row.state = 2;
							row.authorPerson = row.authorId;
							row.proofreader = row.proofreaderId;
							yzCirculationCardService.save(row).then((data) => {
								uni.showToast({
									title: "已中止",
								})	
								that.status = 'loadmore'
								that.dataList = [];
								that.tablePage.currentPage = 0;
								that.tablePage.pageSize = 10;
								that.tablePage.pages = 0;
								that.loadmore()
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			// 查看详情
			toInfo(item) {
				if (this.type == 3 || this.type == 5 || this.type == 4) {
					uni.navigateTo({
						url: '/pages/commonseal/commonInfo?id=' + item.id
					})
				} else {
					uni.navigateTo({
						url: '/pages/commonseal/examineCommon?id=' + item.id
					})
				}
			},
			// 搜索
			doSearch() {
				this.dataList = [];
				this.tablePage.currentPage = 0;
				this.tablePage.pageSize = 10;
				this.tablePage.pages = 0;
				this.loadmore()
			},
			onReachBottom() {
				this.loadmore()
			},
			loadmore() {
				if (this.tablePage.currentPage !== 0 && this.tablePage.pages <= this.tablePage.currentPage) {
					this.status = 'nomore';
					return;
				}
				this.tablePage.currentPage = ++this.tablePage.currentPage;
				//联网加载数据
				this.status = 'loading';
				let {
					createTime,
					...newForm
				} = this.searchForm
				yzCirculationCardService.list({
					current: this.tablePage.currentPage,
					size: this.tablePage.pageSize,
					orders: this.tablePage.orders,
					beginCreateDate: this.searchForm.createTime ? this.searchForm.createTime[0] : '',
					endCreateDate: this.searchForm.createTime ? this.searchForm.createTime[1] : '',
					...newForm
				}).then((data) => {
					//追加新数据
					this.dataList = this.dataList.concat(data.records);
					this.tablePage.pages = data.pages;
					if (this.tablePage.pages <= this.tablePage.currentPage) {
						this.status = 'nomore'
					} else {
						this.status = 'loadmore'
					}
				})

			}
		}

	}
</script>

<style>
	.card_banner {
		width: 100%;
		height: 60px;
		background-color: #36a7f3;
	}

	.ellipsis-description {
		font-size: 18px;
	}

	.u-transition {
		align-items: flex-end;
	}

	.list_search_icon {
		line-height: 60px;
	}

	.list_search_select {
		width: 200px;
		background-color: #fff;
		height: 30px;
		border-radius: 10px;
		margin: 15px 5px 0;
	}

	.list_search_date {
		margin: 8px 5px 0;
	}

	.t-c {
		height: 34px;
		line-height: 34px;
	}

	.list_content {
		background-color: #fff;
	}

	.list_label {
		margin-top: 33px;
	}
</style>