<template>
	<view class="handlecase">
		<view class="" v-if="sysType == 2">
			<button type="primary" @tap="newlyAddedCases"  v-if="checkPermi(['caseManagement:list:add'])">新增案件</button>
		</view>
		<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :buttonList='buttonList' :key="index"
			:sysType='sysType'>
		</List>
		<view class="emptyBox" v-if="caseList.length == 0">
			<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
		</view>
	</view>
</template>

<script>
	import List from './component/list.vue'
	import {
		respondentList,
		caseApplicationTj,
		queryCaseFlowInfo
	} from '../../api/handlecase/index.js'
	import LuanqingEmpty from "@/components/luanqing-empty.vue"
	export default {
		components: {
			List,
			'luanqing-empty': LuanqingEmpty,
		},
		data() {
			return {
				caseList: [],
				pageNum: 1,
				pageSize: 10,
				sysType: null,
				total: null,
				buttonList: []
			}
		},
		methods: {
			/**查询按钮列表 */
			getButtonList() {
				queryCaseFlowInfo({
					pageNum: 1,
					pageSize: 100000
				}).then(res => {
					res.rows.forEach(item => {
						if (item.id != 11 && item.id != 17) {
							this.buttonList.push(item)
						}
					});
				})
			},
			getList(parms) {
				console.log(111)
				if (this.sysType == 1) {
					respondentList(parms).then(res => {
						// this.caseList = res.rows;
						if (res.data) {
							this.caseList = [...this.caseList, ...res.data];
						} else {
							this.caseList = []
						}

						this.caseList.forEach(item => {
							switch (item.caseStatus) {
								case 0:
									item.caseStatusName = '立案申请'
									break;
								case 1:
									item.caseStatusName = '待缴费'
									break;
								case 2:
									item.caseStatusName = '待缴费确认'
									break;
								case 3:
									item.caseStatusName = '待确认是否应诉'
									break;
								case 4:
									item.caseStatusName = '待确认证据'
									break;
								case 5:
									item.caseStatusName = '待确定是否指派仲裁员'
									break;
								case 6:
									item.caseStatusName = '待组庭'
									break;
								case 7:
									item.caseStatusName = '待组庭确定'
									break;
								case 8:
									item.caseStatusName = '待组庭审核'
									break;
								case 9:
									item.caseStatusName = '待选择仲裁方式'
									break;
								case 10:
									item.caseStatusName = '待开庭'
									break;
								case 11:
									item.caseStatusName = '待生成仲裁文书'
									break;
								case 12:
									item.caseStatusName = '待确认仲裁文书'
									break;
								case 13:
									item.caseStatusName = '待仲裁文书用印'
									break;
								case 14:
									item.caseStatusName = '待仲裁文书用印审核'
									break;
								case 15:
									item.caseStatusName = '待仲裁文书送达'
									break;
								case 16:
									item.caseStatusName = '待案件归档'
									break;
							}
						})
					})
				} else if (this.sysType == 2) {
					parms.miniProgressFlag = 1;
					caseApplicationTj(parms).then(res => {
						this.total = res.total;
						if (res.rows) {
							this.caseList = [...this.caseList, ...res.rows];
						} else {
							this.caseList = []
						}
					})
				}

			},
			// 新增案件
			newlyAddedCases() {
				uni.navigateTo({
					url: `/pages/handlecase/component/newlyAddedCase?title=新增案件`
				})
			},
			// 触底
			onReachBottom() {
				if (this.caseList.length < 1) {
					return
				} else if (this.total == this.caseList.length) {
					uni.showToast({
						title: '没有数据啦',
						icon: 'none',
						duration: 1000
					})
					return
				} else if (this.caseList.length < 10) {
					uni.showToast({
						title: '没有数据啦',
						icon: 'none',
						duration: 1000
					})
					return
				}
				this.pageNum++;
				let obj = {};
				if (this.sysType == 1) {
					obj = {
						pageNum: this.pageNum,
						pageSize: this.pageSize,
						caseStatus: 4
					}
				} else if (this.sysType == 2) {
					obj = {
						pageNum: this.pageNum,
						pageSize: this.pageSize,
					}
				}
				this.getList(obj)
			}
		},
		onShow() {
			this.buttonList = []
			this.sysType = uni.getStorageSync('sysType');
			let obj = {}
			if (this.sysType == 1) {
				obj = {
					pageNum: this.pageNum,
					pageSize: this.pageSize,
					caseStatus: 4
				}
			} else if (this.sysType == 2) {
				obj = {
					pageNum: this.pageNum,
					pageSize: this.pageSize,
				}
			}
			this.getList(obj)
			this.getButtonList()
		},
		// onLoad() {
		// 	let obj = {
		// 		pageNum: this.pageNum,
		// 		pageSize: this.pageSize,
		// 		caseStatus:4
		// 	}
		// 	this.getList(obj)
		// }

	}
</script>

<style lang="scss">
	.handlecase {
		.caseList {
			// height: 360rpx;
			// background-color: #ffffff;
			// border-radius: 30rpx;
			// margin-top: 20rpx;
		}
	}
</style>