<template>
	<view>
		<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
			<block slot="backText">返回</block>
			<block slot="content">清单检查记录</block>
			<block slot="right">
				<view @click="showDrawer('showRight')">查询</view>
			</block>
		</cu-custom>
		<uni-drawer ref="showRight" mode="right" :mask-click="true" @change="change($event,'showRight')">
			<view class="scroll-view">
				<scroll-view class="scroll-view-box" scroll-y="true">
					<view class="de-drawer">
						<view class="padding-sm bb-default text-semi">
							高级查询
						</view>
						
						
						<view class="picker-tree-select">
							<view class="">
								检查部门
							</view>
							<view class="picker-tree-box">
								<view class="picker-tree" style="padding-right: 0upx;" @tap="showDeptTree">
									{{DEPTNAME}}
									<text class="cuIcon-triangledownfill"></text>
								</view>
							</view>
							<tki-tree ref="tkiTree" :selectParent=true :range="treeNode" rangeKey="name"
								@confirm="depttreeConfirm" @cancel="depttreeCancel"></tki-tree>
						</view>
						<view class="picker-tree-select">
							<view class="">
								检查人
							</view>
							<view class="picker-tree-box">
								<picker @change="PickerUser" :value="uindex" :range="userList" range-key="NAME">
									<view class="picker">
										{{USER_NAME?USER_NAME:'请选择'}}									
										<text class="cuIcon-triangledownfill"></text>
									</view>
								</picker>
							</view>
						</view>
						<view class="picker-tree-select">
							<view class="">
								清单类型
							</view>
							<view class="picker-tree-box">
								<picker @change="PickerType" :value="tindex" :range="typeList" range-key="NAME">
									<view class="picker">
										{{TYPE_NAME?TYPE_NAME:'请选择'}}									
										<text class="cuIcon-triangledownfill"></text>
									</view>
								</picker>
							</view>
						</view>
						<view class="picker-tree-select">
							<view class="">
								排查周期
							</view>
							<view class="picker-tree-box">
								<picker @change="PickerPeriod" :value="pindex" :range="periodList" range-key="NAME">
									<view class="picker">
										{{PERIOD_NAME?PERIOD_NAME:'请选择'}}									
										<text class="cuIcon-triangledownfill"></text>
									</view>
								</picker>
							</view>
						</view>
						<view class="padding-sm bb-default text-semi">
							时间查询
						</view>
						<view class="search-time-box">
							<view class="time-style">
								<picker mode="date" @change="changeStarDate">
									<text class="cuIcon-calendar text-gray mr10"></text>
									<text class="text-grey f24">{{starDate==''?'开始时间':starDate}}</text>
								</picker>
							</view>
							<view class="fenge">-</view>
							<view class="time-style">
								<picker mode="date" @change="changeEndDate">
									<text class="cuIcon-calendar text-gray mr10"></text>
									<text class="text-grey f24">{{endDate==''?'结束时间':endDate}}</text>
								</picker>
							</view>
						</view>
					<!-- 	<view class="picker-tree-select">
							<view class="">
								风险点（单元）
							</view>
							<view class="picker-tree-box">
								<picker @change="PickerUnit" :value="uindex" :range="unitList" range-key="RISKUNITNAME">
									<view class="picker">
										{{RISK_UNIT_NAME?RISK_UNIT_NAME:'请选择'}}									
										<text class="cuIcon-triangledownfill"></text>
									</view>
								</picker>
							</view>
						</view>	 -->
						
						<!-- <view class="padding-sm bb-default">
							风险等级
						</view>
						<view class="de-drawer-nr">
							<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelA'?'bg-blue':'line-blue'"
								@click="changeLevel('levelA')">重大风险</view>
							<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelB'?'bg-blue':'line-blue'"
								@click="changeLevel('levelB')">较大风险</view>
							<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelC'?'bg-blue':'line-blue'"
								@click="changeLevel('levelC')">一般风险</view>
							<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelD'?'bg-blue':'line-blue'"
								@click="changeLevel('levelD')">低风险</view>

						</view> -->

						<view class="de-drawer-bottom">
							<view class="cz-btn">
								<text class="cu-btn" @click="reset">重置</text>
							</view>
							<view class="done-btn" @click="closeDrawer('showRight')">
								<text class="cu-btn bg-blue">完成</text>
							</view>
						</view>
					</view>
				</scroll-view>
			</view>
		</uni-drawer>
		<view class="select-fixed top-fixed">
			<view class="cu-bar search bg-white">
				<view class="search-form radius">
					<text class="cuIcon-search"></text>
					<input @input="InputBlur" placeholder="请输入关键字" confirm-type="search"></input>

				</view>
				<view class="action">
					<button class="cu-btn bg-green shadow-blur radius" @click="getQuery">搜索</button>
				</view>
			</view>
			<view class="line"></view>
		</view>
		<scroll-view class="dy-scroll-nobg" @scrolltolower="scrolltolower" scroll-y
			:style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
			<view v-if="list.length>0">
				<view class="dy-card" v-for="item in list" :key="item.LISTMANAGER_ID" @click="$noMultipleClicks(goToList,item.LISTMANAGER_ID)">
					<view class="dy-card-title">
						<text><text v-if="item.USER_ID == loginUserId" style="margin-right: 10upx;color: #07BB07;">★</text>清单名称：{{item.NAME}}</text>
						<text class="cuIcon-right f30 text-gray"></text>
					</view>
					<view class="dy-card-content">
						<view class="dy-sub-stitle">
							<text class="text-grey">清单类型：{{item.TYPENAME}}</text>
							<text class="text-grey">排查周期：{{item.PERIODNAME}}</text>
						</view>
						<view class="dy-sub-stitle">
							<text class="text-grey">部门：{{item.DEPARTMENT_NAME}}</text>
						</view>
						<view class="dy-sub-stitle">
							<text class="text-grey">岗位：{{item.POST_NAME}}</text>
							<text class="text-grey">人员：{{item.USER_NAME}}</text>
						</view>
						<view class="dy-sub-stitle">
							<text class="text-grey">检查次数：{{item.count}}</text>
							<text class="text-grey">超期未检查次数：{{item.overTimeCount}}</text>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="dataFlag=='noData'" class="dy-null">
				<view class="dy-null-img">
					<image :src="background[dataFlag].url" mode=""></image>
				</view>
				<view class="dy-null-title">
					{{background[dataFlag].msg}}
				</view>
			</view>
			<view class="cu-tabbar-height"></view>
		</scroll-view>
	</view>
</template>

<script>
	import {
		basePath,
		corpinfoId,
		loginSession,
		loginUser,
		loginUserId
	} from '@/common/tool.js';
	import tkiTree from "@/components/select-tree/select-tree.vue"
	export default {
		components: {
			tkiTree
		},
		data() {
			return {
				showRight: false,
				noClick:true,
				dataFlag: 'noData',
				sTop: 0,
				totalHeight: 0,
				list: [], //返回数据
				page: 1, //分页参数--页数
				rows: 10, //分页参数--每页数据条数
				totalCount: 0, //分页参数--初始化页数
				isEnd: false, //防止多次刷新
				totalPage: 0, //分页参数--分页数量
				NameLikes: '',

				starDate:'',
				endDate:'',
				treeNode: [], //部门下拉数据
				DEPT: '', //部门
				DEPTNAME: '请选择', //部门

				userList:[],
				uindex: -1,
				USER_ID:'',
				USER_NAME:'',
				
				typeList:[],
				tindex: -1,
				TYPE_ID:'',
				TYPE_NAME:'',
				
				periodList:[],
				pindex: -1,
				PERIOD_ID:'',
				PERIOD_NAME:'',
				
				LEVELID: '',
				loginUserId:''
			}
		},
		onReady() {
			let that = this;
			let CustomBar = this.CustomBar;
			uni.getSystemInfo({ //调用uni-app接口获取屏幕高度
				success(res) { //成功回调函数
					let titleH = uni.createSelectorQuery().select(".top-fixed"); //想要获取高度的元素名（class/id）
					titleH.boundingClientRect(data => {
						that._data.sTop = data.height //计算高度：元素高度=窗口高度-元素距离顶部的距离（data.top）
						that.totalHeight = data.height + CustomBar
					}).exec()
				}
			})
		},

		// onReachBottom() { //页面上拉触底事件的处理函数
		// 	var _this = this;
		// 	_this.showCount = -1;
		// 	_this.currentPage = _this.currentPage + 1;
		// 	_this.isEnd = false;
		// 	if(_this.totalPage >= _this.currentPage){
		// 		_this.getDate();//开始分页查询
		// 	}

		// },
		onLoad() { //页面第一次加载时触发，从跳转页面返回时不能触发，可以传递参
			var _this = this;
			console.info(loginUser)
			_this.background = require('@/common/background.json');
			_this.showCount = -1;
			_this.currentPage = 1;
			_this.list = [];
			_this.isEnd = false;
			_this.loginUserId = loginUserId;
			_this.DEPT = loginUser.DEPARTMENT_ID;
			_this.getDate();
			_this.getDept();
			_this.getDicList();
			loginSession();
		},
		onShow() { //页面显示或从后台跳回小程序时显示此页面时触发，从跳转页面返回时触发，不能传递参数
			// var _this = this;
			// _this.showCount = -1;
			// _this.currentPage = 1;
			// _this.list = [];
			// _this.isEnd = false;
			// _this.getDate();
		},

		methods: {
			//跳转事件
			goToDetail(e) {
				uni.navigateTo({
					url: '/pages/basics/risk-distribution/risk-distribution-detail?id=' + e
						.IDENTIFICATIONPARTS_ID + '&LEVELID=' + e.LEVELID + "&DEPT_NAME=" + e.DEPT_NAME
				});
			},
			getDept() {
				var _this = this;
				uni.request({
					url: basePath + '/app/sys/listTree', //部门下拉接口
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					data: {
						CORPINFO_ID: corpinfoId,
						DEPARTMENT_ID:loginUser.DEPARTMENT_ID
					},
					success: (res) => {
						if ("success" == res.data.result) {
							_this.treeNode = eval(res.data.zTreeNodes);
						} else {
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				});
			},
			
			//获取人员列表
			getUserList(){
				//发送 post 请求
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					url: basePath+'/app/sys/listUser',
					data: {DEPARTMENT_ID:_this.DEPT,tm:new Date().getTime()},
					success: function(res){
						if("success" == res.data.result){
							_this.userList = res.data.userList;

						}else{
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
			},
			goToList(id){
				uni.navigateTo({
					url: '/pages/application/check-record/record_list?LISTMANAGER_ID='+id
				});
			},
			//获取数据类型列表
			getDicList(){
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
					data: {DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'},
					dataType: 'json',
					success: function (res) {
						_this.typeList = res.data.list;
					}
				});
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
					data: {DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'},
					dataType: 'json',
					success: function (res) {
						_this.periodList = res.data.list;
					}
				});
			},
			getQuery() { //搜索按钮事件
				var _this = this;
				_this.showCount = -1;
				_this.currentPage = 1;
				_this.list = [];
				_this.isEnd = false;
				_this.getDate();
			},
			InputBlur(e) {
				this.NameLikes = e.detail.value
			},
			// 确定回调事件
			depttreeConfirm(e) {
				// this.isUps=false;
				this.DEPT = e[0].id;
				this.DEPTNAME = e[0].name;
				this.uindex = -1;
				this.RISK_UNIT_ID = ''; //单元
				this.RISK_UNIT_NAME = ''; //单元
				this.$forceUpdate(); //强制刷新
				this.getUserList();
				this.getQuery();
			},
			
			changeStarDate(e) {
				this.starDate = e.detail.value
				this.getQuery();
			},
			changeEndDate(e) {
				this.endDate = e.detail.value
				this.getQuery();
			},
			// 取消回调事件
			depttreeCancel(e) {
				// this.isUps=false;
			},
			PickerUser(e) {
				this.uindex = e.detail.value;
				this.USER_ID = this.userList[this.uindex].USER_ID;
				this.USER_NAME = this.userList[this.uindex].NAME;
				
				this.$forceUpdate(); //强制刷新
				this.getQuery();
			},
			PickerType(e) {
				this.tindex = e.detail.value;
				this.TYPE_ID = this.typeList[this.tindex].BIANMA;
				this.TYPE_NAME = this.typeList[this.tindex].NAME;
				
				this.$forceUpdate(); //强制刷新
				this.getQuery();
			},
			PickerPeriod(e) {
				this.pindex = e.detail.value;
				this.PERIOD_ID = this.periodList[this.pindex].BIANMA;
				this.PERIOD_NAME = this.periodList[this.pindex].NAME;
				
				this.$forceUpdate(); //强制刷新
				this.getQuery();
			},
			changeLevel(e) {
				var _this = this;
				_this.LEVELID = e
				_this.getQuery();
			},
			reset() {
				var _this = this;
				_this.DEPT = '';
				_this.DEPTNAME = '请选择';
				
				_this.userList = [];
				_this.USER_ID = '';
				_this.USER_NAME = '';
				_this.uindex = -1;
				
				_this.PERIOD_ID = '';
				_this.PERIOD_NAME = '';
				_this.pindex = -1;
				_this.TYPE_ID = '';
				_this.TYPE_NAME = '';
				_this.tindex = -1;
				_this.starDate = '';
				_this.endDate = '';
				_this.getQuery();
			},
			// 显示树形选择器
			showDeptTree() {
				// this.isUps=true
				this.$refs.tkiTree._show();
			},
			// 打开窗口
			showDrawer(e) {
				this.$refs[e].open()
			},
			// 关闭窗口
			closeDrawer(e) {
				this.$refs[e].close()
			},
			// 抽屉状态发生变化触发
			change(e, type) {
				this[type] = e
			},
			// 滑动到底方法
			scrolltolower() {
				var _this = this;
				_this.showCount = -1;
				_this.currentPage = _this.currentPage + 1;
				_this.isEnd = false;
				if (_this.totalPage >= _this.currentPage) {
					_this.getDate(); //开始分页查询
				}
			},
			getDate() {
				var _this = this;
				if (_this.isEnd) {
					return
				} else {
					this.isEnd = true;
				}
				uni.showLoading({
					title: "加载中..."
				}); //加载中动画
				uni.request({
					url: basePath + '/app/listmanager/recordList?showCount=' + _this.showCount + '&currentPage=' + _this
						.currentPage,
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					data: {
						CORPINFO_ID: corpinfoId,
						DEPARTMENT_ID: _this.DEPT,
						STARTTIME:_this.starDate,
						ENDTIME:_this.endDate,
						USER_ID:loginUser.USER_ID,
						PERIOD:_this.PERIOD_ID,
						TYPE:_this.TYPE_ID,
						//STATUS:_this.STATUS,
						//HASHIDDEN:_this.HASHIDDEN,
						//LISTINGLEVEL:_this.LISTINGLEVEL,
						tm: new Date().getTime(),
						KEYWORDS: _this.NameLikes, //关键字模糊查询
					},
					success: (res) => {
						uni.hideLoading(); //结束加载中动画
						if (res.data != null) {
							_this.totalPage = res.data.page.totalPage;
							if (_this.list.length == 0) {
								_this.list = res.data.varList;
							} else {
								if (res.data.varList != null) {
									_this.list2 = res.data.varList;
									_this.list = _this.list.concat(_this.list2);
								}
							}
						}

					}
				})
			},
		}
	}
</script>

<style>
	.dy-list {
		background: #fff;
		margin-top: 2upx;
	}
	.dy-card{
		background-color: #fff;
		border-radius: 10upx;
		margin:30upx
	}
	.dy-stitle{
		margin: 16upx 0;
	}
	.dy-sub-stitle{
		margin: 16upx 0;
		display: flex;
		justify-content: space-between;
	}
	.dy-card-title{
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #eee;
		min-height: 80upx;
		line-height: 80upx;
		padding: 0 30upx;
	}
	.dy-card-content{
		padding: 0upx 30upx 30upx;
	
	}
</style>
