<template>
	<view class="wrap">
		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
			@clickLeft="toBack">
			<view style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
				<text style="color: white;font-size: 1rem;">{{title}}</text>
			</view>
		</uni-nav-bar>
		<!-- 	<u-gap height="75px"></u-gap> -->
		<view class="container">
			<uSection title="查询" type="line" style="padding-left: 10px;padding-right: 10px;">
				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
					@popupclosed="onpopupclosed">
				</uni-data-picker>
			</uSection>
			<view>
				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
				</uni-search-bar>
			</view>
			<uSection title="">
				<uList>
					<uni-list-item v-for="item in list" :key="item.id">
						<!-- 自定义 body -->
						<template v-slot:body>
							<view style="width: 100%;display: flex;flex-direction: column;">
								<view
									style="width:100%;display:flex;flex-direction: row;justify-content: flex-start;align-items: center;">
									<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
										src="/static/images/home/n3.png" mode="widthFix">
									</image>
									<text
										style="margin-left: 10rpx; font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
									<text style="margin-left:8rpx;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
								</view>
								<view style="display: flex;flex-direction: row;align-items: center;">
									<uIcons class="input-uni-icon" type="location" size="18" color="skyblue" />
									<view style="margin-left:5px;font-size: 0.7rem;">
										{{item.locationDesc}}
									</view>
								</view>
								<view style="margin-top: 5px;display: flex;flex-direction: row;align-items: center;">
									<uIcons class="input-uni-icon" type="gear-filled" size="18" color="skyblue" />
									<!-- <text style="font-size: 0.7rem;">当前运行状态：</text> -->
									<text v-if="item.runStatus==0"
										style="margin-left:5px;font-size: 0.7rem;color:green">运行正常</text>
									<text v-else style="margin-left:5px;font-size: 0.7rem;color:orangered">设备故障</text>
								</view>
								<view
									style="height:22%;padding-top:4px;display:  flex;flex-direction: row;justify-content: flex-end;">

									<view
										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
										@click="openPage(item.rtuCode)">
										<view style="display:flex;flex-direction: column;justify-content: center;">
											<uIcons class="input-uni-icon" type="compose" size="18" color="coral" />
										</view>
										<view
											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
											<text style="color:black;font-size:0.7rem">开始填报</text>
										</view>
									</view>

									<view
										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
										@click="toLocation(item)">
										<view style="display:flex;flex-direction: column;justify-content: center;">
											<uIcons class="input-uni-icon" type="location" size="18" color="coral" />
										</view>
										<view
											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
											<text style="color:black;font-size:0.7rem">导航</text>
										</view>
									</view>

								</view>
								<!-- 								<view
									style="margin-top: 10rpx;padding-left: 0rpx;padding-right: 0rpx;display: flex;flex-direction: row;justify-content: center;">
									<view  style="width: 100%;">
										<button style="background-color: lightblue;" type="default"
											@click="openPage(item.rtuCode)">开始填报</button>
									</view>
									<view v-if="item.reportStatus == 1" style="width: 100%;">
										<button type="default" @click="toPlanClose(item.id)">已提交</button>
									</view>
								</view> -->
							</view>
						</template>
					</uni-list-item>
				</uList>
			</uSection>
			<uGroup>
				<view class="uni-pagination-box">
					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
						@change="change" />
				</view>
			</uGroup>
		</view>
		<!-- 	<u-gap height="70"></u-gap> -->
	</view>
</template>

<script>
	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
	import uSection from '@/uni_modules/uni-section/uni-section.vue'
	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
	import http from '@/http/api.js';
	export default {
		components: {
			uNavBar,
			uList,
			uListItem,
			uIcons,
			uGroup,
			uSection,
			uDataPicker,
			uPagination,
			uBreadcrumb,
		},
		onLoad(option) {
			this.getProjectTree();
		},
		data() {
			return {
				list: [],
				title: '设备巡检任务',
				desc: '',
				pageSize: 10,
				// 当前页
				pageCurrent: 1,
				// 数据总量
				total: 0,
				projectTree: [],
				selectedTreeNode: '',
				searchVal: '',
				orgId: '',
				projectId: '',
			}
		},
		computed: {
			getIcon() {
				return path => {
					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
				}
			},
		},
		onShow() {
			this.getEquipmentList();
		},
		methods: {
			toBack() {
				uni.navigateBack({
					delta: 1
				})
			},
			// 分页触发
			change(e) {
				//this.$refs.table.clearSelection()
				//this.selectedIndexs.length = 0
				this.pageCurrent = e.current;
				this.getEquipmentList()
			},
			onnodeclick(node) {
				console.log("onnodeclick++++++++++" + node.projectId)
				if (node.projectId != null) {
					this.orgId = node.orgId;
					this.projectId = node.projectId;
					this.searchVal = '';
					this.pageCurrent = 1;
					this.getEquipmentList();
				}
			},
			onpopupopened(e) {

			},
			onpopupclosed(e) {

			},
			onchange(node) {

			},
			search(res) {
				this.getEquipmentList();
			},
			input(res) {

			},
			clear(res) {
				this.searchVal = '';
				this.getEquipmentList();
			},
			blur(res) {

			},
			focus(e) {

			},
			cancel(res) {
				this.searchVal = '';
				this.getEquipmentList();
			},
			onBackPress() {
				// #ifdef APP-PLUS
				plus.key.hideSoftKeybord();
				// #endif
			},
			getProjectTree() {
				var that = this;
				http.request({
					url: '/galaxy-test/rtu/manage/tree',
					method: 'GET',
				}).then(res => {
					console.log(res)
					if (res.data != null) {
						that.projectTree = res.data;
						//console.log("ffffffff " + that.projectTree[0].orgId)
						that.selectedTreeNode = that.projectTree[0].value;
						that.orgId = that.projectTree[0].orgId;
						that.projectId = that.projectTree[0].projectId;

						that.getEquipmentList();
					}
				}).catch(err => {
					console.log(err)
				})
			},
			getEquipmentList() {
				var that = this;
				const current = this.pageCurrent;
				const size = this.pageSize;
				const isSubmit = '0';
				var postData = {};
				postData['rtuCode'] = this.searchVal;
				postData['rtuName'] = this.searchVal;
				postData['orgId'] = this.orgId;
				postData['projectId'] = this.projectId;
				http.request({
					url: '/galaxy-test/equipment/inspection/plan/my/page',
					method: 'GET',
					params: {
						current,
						size,
						isSubmit
					},
					data: postData,
				}).then(res => {

					if (res.data.records != null) {
						that.list = res.data.records;
					}
					this.total = res.data.total;
				}).catch(err => {
					console.log(err)
				})
			},
			openPage(rtuCode) {
				var url = '/pages/equipment-inspection/equipmentinspectionreport?rtuCode=' +
					rtuCode;
				uni.navigateTo({
					url: url
				})
			},
			toLocation(item) {
				let lat = item.lat;
				let lng = item.lng;
				let name = item.rtuName;
				let add = item.locationDesc;
				uni.openLocation({
					latitude: Number(lat),
					longitude: Number(lng),
					name: name,
					address: "",
					success() {

					}
				})
			},
		}
	}
</script>

<style>
	/* page {
		background-color: rgb(240, 242, 244);
	} */
</style>

<style lang="scss" scoped>
	.container {
		padding: 0 0 150rpx;
	}

	.order-title-image {
		/* #ifndef APP-NVUE */
		display: block;
		/* #endif */
		// margin-right: 10px;
		width: 20px;
		height: 20px;
		border-radius: 50%;

	}

	.u-cell-icon {
		width: 36rpx;
		height: 36rpx;
		margin-right: 8rpx;
	}

	.slot-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		align-items: center;
	}

	.slot-image {
		/* #ifndef APP-NVUE */
		display: block;
		/* #endif */
		margin-right: 10px;
		width: 30px;
		height: 30px;
	}

	.slot-text {
		flex: 1;
		font-size: 14px;
		color: #4cd964;
		margin-right: 10px;
	}

	.content-box {
		flex: 1;
		/* #ifdef APP-NVUE */
		justify-content: center;
		/* #endif */
		height: 100%;
		line-height: 44px;
		padding: 0 15px;
		position: relative;
		background-color: #fff;
		border-bottom-color: #f5f5f5;
		border-bottom-width: 1px;
		border-bottom-style: solid;
	}

	.content-text {
		font-size: 15px;
	}

	.example-body {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		justify-content: center;
		padding: 10px 0;
		background-color: #fff;
	}

	.button {
		border-color: #e5e5e5;
		border-style: solid;
		border-width: 1px;
		padding: 4px 8px;
		border-radius: 4px;
	}

	.button-text {
		font-size: 15px;
	}

	.slot-button {
		/* #ifndef APP-NVUE */
		display: flex;
		height: 100%;
		/* #endif */
		flex: 1;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		padding: 0 20px;
		background-color: #ff5a5f;
	}

	.slot-button-text {
		color: #ffffff;
		font-size: 14px;
	}
</style>
