<!--
 * @Title: 
 * @Description: 危险区信息
 * @Author: swp
 * @Date: 2022-08-24 10:49:21
 * @LastEditors: 
 * @LastEditTime: 2022-08-24 10:49:21
-->
<template>
	<view class="container">
		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
			@clickLeft="toBack">
			<view class="nav-title">
				<text>{{title}}</text>
			</view>
		</uni-nav-bar>
		<view class="container">
			<uni-collapse @change="searchAreaStatus">
				<uni-collapse-item :show-animation="true" :open="true">
					<template v-slot:title>
						<view class="view-flex-block-center" style="height: 40px;width: 100%;">
							<view class="view-flex-inline-center">
								<text v-if="showSearch" style="color: coral;">点击收起查询区</text>
								<text v-else style="color: coral;">点击展开查询区</text>
							</view>
						</view>
					</template>
				</uni-collapse-item>
			</uni-collapse>
			<view v-if="showSearch" class="search-block">
				<view style="padding-left: 10px;padding-right: 10px;margin-top: 10px;">
					<view>
						<uni-data-select v-model="cityRegionValue" :localdata="cityRegionData"
							@change="cityRegionChange" :clear="false" placeholder="请选择盟市"></uni-data-select>
					</view>
					<view style="margin-top: 10px;">
						<uni-data-select v-model="districtRegionValue" :localdata="districtRegionData"
							@change="districtRegionChange" placeholder="请选择区旗县"></uni-data-select>
					</view>
					<view style="margin-top: 10px;">
						<uni-data-select v-model="townRegionValue" :localdata="townRegionData"
							@change="townRegionChange" placeholder="请选择乡镇"></uni-data-select>
					</view>
					<view style="margin-top: 10px;">
						<uni-data-select v-model="countryRegionValue" :localdata="countryRegionData"
							@change="countryRegionChange" placeholder="请选择村"></uni-data-select>
					</view>
					<!-- 					<view style="margin-top: 10px;">
						<uni-data-select v-model="dangerAreaValue" :localdata="dangerAreaData" @change="dangerAreaChange"
							placeholder="请选择危险区"></uni-data-select>
					</view> -->
				</view>
				<view class="rtu-code">
					<uni-easyinput :styles="inputStyles" @input="dangerAreaNameValInput" prefixIcon="search"
						v-model="dangerAreaNameVal" placeholder="请录入危险区名称">
					</uni-easyinput>
				</view>
				<view class="submit-btn">
					<button type="default" @click="search">查 询</button>
				</view>
			</view>

			<!-- 			<uni-section title="查询" type="line">
				<view class="search-block">
					<view class="name">
						<uni-easyinput :styles="inputStyles" @input="adNameValInput" prefixIcon="search"
							v-model="adNameVal" placeholder="请输入行政区名称">
						</uni-easyinput>
					</view>
					<view class="name">
						<uni-easyinput :styles="inputStyles" @input="dangerAreaNameValInput" prefixIcon="search"
							v-model="dangerAreaNameVal" placeholder="请输入危险区名称">
						</uni-easyinput>
					</view>
					<view class="submit-btn">
						<button type="default" @click="search">查 询</button>
					</view>
				</view>
			</uni-section> -->
			<view v-if="list.length>0">
				<uni-list>
					<uni-list-item v-for="item in list" :key="item.id">
						<template v-slot:body>
							<view class="list-item-block">
								<view class="line">
									<text class="title text-ellipsis">{{item.dangerAreaName}}</text>
								</view>
								<view class="line" style="margin-top: 5px;">
									<uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18"
										color="orangered" />
									<text class="lable">行政区划：</text>
									<text class="content" style="color: gray;">{{item.adnm}}</text>
								</view>
								<view class="item-button-group">
									<view class="item-button mid-size" @click="toResidentRegQr(item)">
										<view class="view-flex-inline-center">
											<uni-icons class="input-uni-icon" type="scan" size="18" color="coral" />
											<text class="button-text">群众登记二维码</text>
										</view>
									</view>
<!-- 									<view class="item-button mid-size" @click="toQr(item)">
										<view class="view-flex-inline-center">
											<uni-icons class="input-uni-icon" type="scan" size="18" color="coral" />
											<text class="button-text">危险区二维码</text>
										</view>
									</view> -->
									<view class="item-button mid-size" @click="toMap(item)">
										<view class="view-flex-inline-center">
											<uni-icons class="input-uni-icon" type="location" size="18" color="coral" />
											<text class="button-text">地图查看</text>
										</view>
									</view>
								</view>
							</view>
						</template>
					</uni-list-item>
				</uni-list>
				<uni-group>
					<view class="pagination-block">
						<uni-pagination show-icon :pageSize="pageSize" :current="pageCurrent" :total="total"
							@change="pageChange" />
					</view>
				</uni-group>
			</view>
			<view v-else class="view-flex-inline-center">
				<view style="margin-top: 10px;color: gray;font-size: 1rem;">暂无数据</view>
			</view>
		</view>
	</view>
</template>

<script>
	import http from '@/http/api.js';
	import {
		devUrl,
		prodUrl
	} from '@/common/setting';
	export default {
		components: {

		},
		data() {
			return {
				title: '危险区信息',
				showSearch: true,
				cityRegionValue: '',
				cityRegionData: [],
				districtRegionValue: '',
				districtRegionData: [],
				townRegionValue: '',
				townRegionData: [],
				countryRegionValue: '',
				countryRegionData: [],
				// dangerAreaValue: '',
				// dangerAreaData: [],
				pageSize: 10,
				pageCurrent: 1,
				total: 0,
				list: [],
				query: {},
				// adNameVal: '',
				dangerAreaNameVal: '',
				inputStyles: {
					color: '#808080',
					borderColor: '#d3d3d3'
				},
			}
		},
		computed: {

		},
		onInit(option) {
			console.log("onInit")
		},
		onLoad(option) {
			console.log("onLoad")
			this.getCityRegion({});
		},
		onShow() {
			console.log("onShow")
			this.pageCurrent = 1;
			this.getPage();
		},
		onReady() {
			console.log("onReady")
		},
		methods: {
			toBack() {
				uni.navigateBack({
					delta: 1
				})
			},
			searchAreaStatus(e) {
				if (e.length > 0) {
					this.showSearch = true;
				} else {
					this.showSearch = false;
				}
			},
			cityRegionChange(e) {
				this.cityRegionValue = e;
				this.districtRegionData = [];
				this.districtRegionValue = '';
				this.townRegionData = [];
				this.townRegionValue = '';
				this.countryRegionData = [];
				this.countryRegionValue = '';
				// this.dangerAreaData = [];
				// this.dangerAreaValue='';
				let p = {
					'parentCode': this.cityRegionValue
				}
				this.getDistrictRegion(p);
				this.pageCurrent = 1;
				this.list = [];
				this.query['adcd'] = this.cityRegionValue;
				this.getPage({});
			},
			districtRegionChange(e) {
				if (e == undefined || e == null || e == '') {
					this.districtRegionValue = '';
					this.townRegionData = [];
					this.townRegionValue = '';
					this.countryRegionData = [];
					this.countryRegionValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.cityRegionValue;
					this.getPage({});
				} else {
					this.districtRegionValue = e;
					this.townRegionData = [];
					this.townRegionValue = '';
					this.countryRegionData = [];
					this.countryRegionValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					let p = {
						'parentCode': this.districtRegionValue
					}
					this.getTownRegion(p);
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.districtRegionValue;
					this.getPage({});
				}
			},
			townRegionChange(e) {
				if (e == undefined || e == null || e == '') {
					this.townRegionValue = '';
					this.countryRegionData = [];
					this.countryRegionValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.districtRegionValue;
					this.getPage({});
				} else {
					this.townRegionValue = e;
					this.countryRegionData = [];
					this.countryRegionValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					let p = {
						'parentCode': this.townRegionValue
					}
					this.getCountryRegion(p);
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.townRegionValue;
					this.getPage({});
				}
			},
			countryRegionChange(e) {
				if (e == undefined || e == null || e == '') {
					this.countryRegionValue = '';
					//this.dangerAreaValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.townRegionValue;
					this.getPage({});
				} else {
					this.countryRegionValue = e;
					//this.dangerAreaValue = '';
					//this.dangerAreaData = [];
					//this.dangerAreaValue='';
					// this.getDangerAreaList({
					// 	'adcd': this.countryRegionValue
					// })
					this.pageCurrent = 1;
					this.list = [];
					this.query['adcd'] = this.countryRegionValue;
					this.getPage({});
				}
			},
			// dangerAreaChange(e) {
			// 	if (e == undefined || e == null || e == '') {
			// 		this.dangerAreaValue = '';
			// 		this.pageCurrent = 1;
			// 		this.list = [];
			// 		this.getPage({});
			// 	} else {
			// 		this.dangerAreaValue = e;
			// 		this.pageCurrent = 1;
			// 		this.list = [];
			// 		this.getPage({
			// 			dangerAreaPid: this.dangerAreaValue
			// 		});
			// 	}
			// },
			getCityRegion(params = {}) {
				let that = this;
				http.request({
					url: '/galaxy-business/baseinfo/region/whole/yj/list',
					method: 'GET',
					data: params,
				}).then(res => {
					that.cityRegionData = res.data.map(item => {
						return {
							value: item.adcd,
							text: item.adnm,
						}
					})
				}).catch(err => {
					console.log(err)
				})
			},
			getDistrictRegion(params = {}) {
				let that = this;
				http.request({
					url: '/galaxy-business/baseinfo/region/whole/yj/list',
					method: 'GET',
					data: params,
				}).then(res => {
					that.districtRegionData = res.data.map(item => {
						return {
							value: item.adcd,
							text: item.adnm,
						}
					})
				}).catch(err => {
					console.log(err)
				})
			},
			getTownRegion(params = {}) {
				let that = this;
				http.request({
					url: '/galaxy-business/baseinfo/region/whole/yj/list',
					method: 'GET',
					data: params,
				}).then(res => {
					that.townRegionData = res.data.map(item => {
						return {
							value: item.adcd,
							text: item.adnm,
						}
					})
				}).catch(err => {
					console.log(err)
				})
			},
			getCountryRegion(params = {}) {
				let that = this;
				http.request({
					url: '/galaxy-business/baseinfo/region/whole/yj/list',
					method: 'GET',
					data: params,
				}).then(res => {
					that.countryRegionData = res.data.map(item => {
						return {
							value: item.adcd,
							text: item.adnm,
						}
					})
				}).catch(err => {
					console.log(err)
				})
			},
			// getDangerAreaList(params = {}) {
			// 	let postData = Object.assign(params, this.query);
			// 	let that = this;
			// 	http.request({
			// 		url: '/galaxy-business/map/dangerarea/select',
			// 		method: 'GET',
			// 		data: postData,
			// 	}).then(res => {
			// 		that.dangerAreaData = res.data.map(item => {
			// 			return {
			// 				value: item.dangerAreaPid,
			// 				text: item.dangerAreaName,
			// 			}
			// 		})
			// 	}).catch(err => {
			// 		console.log(err)
			// 	})
			// },
			// adNameValInput(e) {
			// 	if (e == null || e.length == 0) {
			// 		this.adNameVal = '';
			// 	}
			// },
			dangerAreaNameValInput(e) {
				if (e == null || e == '' || e.length == 0) {
					this.dangerAreaNameVal = '';
					this.pageCurrent = 1;
					this.getPage({});
				}
			},
			search() {
				this.pageCurrent = 1;
				let params = {};
				if (this.dangerAreaNameVal != '' && this.dangerAreaNameVal.length > 0) {
					params['dangerAreaName'] = this.dangerAreaNameVal;
				}
				this.getPage(params);
			},
			toMap(item) {
				let url = '/pages/yjxt/dangerarea/dangerareamap?id=' + item.id;
				uni.navigateTo({
					url: url
				})
			},
			toQr(item) {
				let url = '/pages/yjxt/dangerarea/dangerareaqr?qrType=1&id=' + item.dangerAreaPid;
				uni.navigateTo({
					url: url
				})
			},
			toResidentRegQr(item) {
				let url = '/pages/yjxt/dangerarea/dangerareaqr?qrType=2&id=' + item.dangerAreaPid;
				uni.navigateTo({
					url: url
				})
			},
			pageChange(e) {
				this.pageCurrent = e.current;
				this.getPage()
			},
			getPage(params = {}) {
				// if (this.adNameVal.length > 0) {
				// 	params['adName'] = this.adNameVal;
				// }
				// if (this.dangerAreaNameVal.length > 0) {
				// 	params['dangerAreaName'] = this.dangerAreaNameVal;
				// }
				const current = this.pageCurrent;
				const size = this.pageSize;
				let postData = Object.assign(params, this.query);
				let that = this;
				http.request({
					url: '/galaxy-business/map/dangerarea/page',
					method: 'GET',
					params: {
						current,
						size,
					},
					data: postData,
				}).then(res => {
					if (res.data.records != null) {
						that.list = res.data.records;
					}
					this.total = res.data.total;
				}).catch(err => {
					console.log(err)
				})
			},
		}
	}
</script>

<style>
	.uni-body {
		font-size: 0.7rem;
	}
</style>