<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" @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="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" @scrolltolower="scrolltolower" scroll-y
			:style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
			<view v-if="list.length>0">
				<view class="dy-list">
					<!-- <view class="dy-list-item p201 arrow" @click="goToDetail">
						<view class="dy-title-flex">
							<text>风险类型：污水</text>
							<text class="bg-yellow light cu-tag radius">一般风险/C级</text>
						</view>
						<view class="dy-subtitle">
							<text>风险源：泵仓</text>
						</view>
						<view class="dy-subtitle">
							<text>管控部门/责任人：污水班组/班组长</text>
						</view>
					</view> -->
					<view class="dy-list-item p201 arrow" v-for="i in list" @click="goToDetail(i)">
						<view class="dy-title-flex">
							<text>部位名称：{{i.PARTSNAME}}</text>
							<text v-if="i.LEVELID=='levelA'" class="bg-red light cu-tag radius">重大风险/A级</text>
							<text v-else-if="i.LEVELID=='levelB'" class="bg-orange light cu-tag radius">较大风险/B级</text>
							<text v-else-if="i.LEVELID=='levelC'" class="bg-yellow light cu-tag radius">一般风险/C级</text>
							<text v-else-if="i.LEVELID=='levelD'" class="bg-blue light cu-tag radius">低风险/D级</text>

						</view>
						<view class="dy-subtitle">
							<text>风险点（单元）：{{i.RISKUNITNAME}}</text>
						</view>
						<view class="dy-subtitle">
							<text>管控部门：{{i.DEPT_NAME}}</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 { decryptAes } from "@/common/aesUtil";
	import {
		basePath,
		corpinfoId,
		loginSession,
      loginUser
	} from '@/common/tool.js';
	import tkiTree from "@/components/select-tree/select-tree.vue"
	export default {
		components: {
			tkiTree
		},
		data() {
			return {
				showRight: false,
				dataFlag: 'noData',
				sTop: 0,
				totalHeight: 0,
				list: [], //返回数据
				page: 1, //分页参数--页数
				rows: 10, //分页参数--每页数据条数
				totalCount: 0, //分页参数--初始化页数
				isEnd: false, //防止多次刷新
				totalPage: 0, //分页参数--分页数量
				NameLikes: '',

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

				unitList: [], //风险单元列表
				RISK_UNIT_ID: '', //单元
				RISK_UNIT_NAME: '', //单元
				uindex: -1,
				LEVELID: '',
			}
		},
		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;
			_this.background = require('@/common/background.json');
			_this.showCount = -1;
			_this.currentPage = 1;
			_this.list = [];
			_this.isEnd = false;
			_this.getDate();
			_this.getDept();
			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:loginUser.CORPINFO_ID,
            USER_ID:loginUser.USER_ID,
					},
					success: (res) => {
            res.data = decryptAes(res.data);
						if ("success" == res.data.result) {
							_this.treeNode = eval(res.data.zTreeNodes);
						} else {
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				});
			},
			//获取单元列表
			getUnitList() {
				//发送 post 请求
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/app/riskpoint/listUnit',
					data: {
						DEPARTMENT_ID: _this.DEPT,
						tm: new Date().getTime()
					},
					success: function(res) {
            res.data = decryptAes(res.data);
						if ("success" == res.data.result) {
							_this.unitList = res.data.unitList;
						} else {
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
			},
			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.getUnitList();
				this.getQuery();
			},
			// 取消回调事件
			depttreeCancel(e) {
				// this.isUps=false;
			},
			PickerUnit(e) {
				this.uindex = e.detail.value;
				this.RISK_UNIT_ID = this.unitList[this.uindex].RISKUNIT_ID;
				this.RISK_UNIT_NAME = this.unitList[this.uindex].RISKUNITNAME;
				this.$forceUpdate(); //强制刷新
				this.getQuery();
			},
			changeLevel(e) {
				var _this = this;
				_this.LEVELID = e
				_this.getQuery();
			},
			reset() {
				var _this = this;
				_this.DEPT = '';
				_this.DEPTNAME = '请选择';
				_this.unitList = [];
				_this.RISK_UNIT_ID = ''; //单元
				_this.RISK_UNIT_NAME = ''; //单元
				_this.uindex = -1;
				_this.LEVELID = '';
				_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/riskpoint/list?showCount=' + _this.showCount + '&currentPage=' + _this
						.currentPage,
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					data: {
						CORPINFOID: corpinfoId,
						RISK_UNIT_ID: _this.RISK_UNIT_ID,
						DEPARTMENT_ID: _this.DEPT,
						LEVELID: _this.LEVELID,
						IS_APP: 1,
						tm: new Date().getTime(),
						KEYWORDS: _this.NameLikes, //关键字模糊查询
					},
					success: (res) => {
            res.data = decryptAes(res.data);
						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-card {
		background-color: #fff;
		border-radius: 10upx;
		margin: 30upx
	}

	.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;

	}

	.dy-card-content-item {
		margin-top: 20upx;
	}

	.dy-card-content-item .title {
		display: flex;
		align-items: center;
	}

	.dy-card-content-item .title .l {
		width: 10upx;
		height: 30upx;
		border-radius: 20upx;
		background-color: #666;
		margin-right: 10upx;
	}

	.dy-card-content-item .content {
		background-color: #F1F1F1;
		padding: 10upx 14upx;
		margin-top: 14upx;
		line-height: 1.6;
	}

	.dy-card-content-item .name text {
		background-color: #F1F1F1;
		padding: 10upx 14upx;
		margin-top: 14upx;
		line-height: 1.6;
		display: inline-block;
	}

	.dy-card-foot {
		border-top: 1px solid #eee;
		padding: 30upx;
	}
	.picker-tree{
		padding-right: 0;
	}
</style>
