<template>
	<view class="window">
		<!-- #ifndef H5 -->
		<view class="topLine" :style="{ height: topBar + 'px' }"></view>
		<!-- #endif -->
		<view class="nav row_align_center" id="nav">
			<li class="li_5" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li>
			<text class="title li_5">{{ title ? title : '' }}</text>
			<li class="iconfont icon-zuojiantou back hidden"></li>
		</view>
		<view class="row_align_center head" id="head">
			<!-- 日期下拉列表 -->
			<drop-down ref="caleDrop" @tap="changDrop(1)" @changeItem="changeTime" :list="timeArray" :contentTop="top"
				selectWidth="260rpx" contentLeft="0"></drop-down>
			<!-- 日历选择日期 -->
			<view v-if="showCalendar"
				:class="['dropdown-item__selected', listWidth != '150rpx' ? 'dropdown-item__right' : 'dropdown-item__left']"
				@click="openCalendar" class="calendar_drag">
				<view class="selected__name">{{ nowDate }}</view>
				<li class="iconfont icon-calendar" style="margin-left: 10rpx;"></li>
			</view>
			<!-- 公司区域下拉列表 -->
			<drop-down ref="companyDrop" @tap="changDrop(2)" @changeItem="changeLocation" :list="locationArray"
				:contentTop="top" contentRight="10" :selectWidth="showCalendar ? '200rpx' : '400rpx'" listWidth="75%">
			</drop-down>
		</view>
		<uni-calendar ref="calendar" :insert="false" :start-date="startDate" :end-date="endDate" :clearDate="false"
			@confirm="confirm">
		</uni-calendar>
		<!--滑动列表头-->
		<wuc-tab id="wuctab" :tab-list="tabList" :tabCur.sync="tabCur" tab-class="text-center text-white bg-blue"
			select-class="text-white"></wuc-tab>
		<!--主体内容-->
		<view class="data_body" :style="{ height: scrollHeight }">
			<view v-if="tabCur == 0">
				<wechat :scrollHeight="scrollHeight" />
			</view>
			<view v-else-if="tabCur == 1">
				<user-operate :scrollHeight="scrollHeight" />
			</view>
			<view v-else-if="tabCur == 2">
				<user-healthy :scrollHeight="scrollHeight" />
			</view>
			<view v-else-if="tabCur == 3">
				<user-server :scrollHeight="scrollHeight"></user-server>
			</view>
		</view>
		<!--水印-->
		<view class="water-mark-mask row_wrap" :style="{ height: scrollHeight }">
			<text class="container" v-for="(count, index) in 10" :key="index">{{ info.name }}</text>
		</view>
	</view>
</template>
<script>
import Wechat from "../../components/data-center/wechat.vue"
import UserOperate from "../../components/data-center/user-operate.vue"
import UserHealthy from "../../components/data-center/user-healthy.vue"
import UserServer from "../../components/data-center/user-server.vue"
import WucTab from '../../components/wuc-tab/wuc-tab.vue'
import DropDown from '../../components/drop-down/drop-down.vue'
import UniCalendar from '../../components/uni-calendar/uni-calendar.vue'

import Config from '../../static/js/config'
import Common from "../../static/js/common"

export default {
	components: {
		WucTab,
		DropDown,
		UniCalendar,
		Wechat,
		UserOperate,
		UserHealthy,
		UserServer,
	},
	data() {
		return {
			tabList: Config.TABLIST, //标签头
			timeArray: Config.TIMEARRAY, //时间数组
			info: '大便超人', //用户数据
			title: "数据报表中心", //标题
			showDataTime: "today", //选中的时间
			tabCur: 0, //标签头下标
			topBar: 17, //导航高
			top: '180', //下拉栏位置
			scrollHeight: "100%", //数据展示体高度
			nowDate: Common.getNowDate(), //现在日期
			endDate: Common.getNowDate(), //日历可选日期范围的结束时间
			startDate: Common.getPreMonth(Common.getNowDate()), //日历可选日期范围的开始时间,
			showCalendar: false,
		};
	},
	computed: {
		locationArray() {
			return [{
				value: "GDBJ-ENTRY-1",
				text: "天猫"
			}, {
				value: "GDBJ-ENTRY-201",
				text: "京东"
			}];
		}
	},
	methods: {
		gotoBack() {
			Common.navigateBack("/index/index");
		},
		changDrop(index) {
			if (index == 1 && this.$refs.companyDrop.showList) {
				this.$refs.companyDrop.closePopup()
			} else if (index == 2 && this.$refs.caleDrop.showList) {
				this.$refs.caleDrop.closePopup()
			}
		},
		// 打开日历
		openCalendar() {
			this.$refs.calendar.open();
		},
		// 日历选择日期
		confirm(e) {
			if (this.nowDate != e.fulldate || !this.showCalendar) {
				this.showCalendar = true;
				this.$refs.caleDrop.selectAuto();
				this.nowDate = e.fulldate;
				this.showDataTime = e.fulldate.replace(/-/g, "");
				Common.tipMsg("当前时间:" + this.showDataTime)
			}
		},
		//下拉选择时间
		changeTime(e) {
			if (e.value == "auto") {
				this.openCalendar();
			} else if (this.showDataTime != e.value) {
				this.showDataTime = e.value;
				this.showCalendar = false;
				Common.tipMsg("当前时间:" + this.showDataTime)
			}
		},
		changeLocation(e) {
			Common.tipMsg("当前选中平台:" + e.text)
		},
		//获取设备信息
		async getTelephoneInfo() {
			var telephoneInfo = await Common.getTelephoneInfo();
			let hasHeight = 0;
			if (telephoneInfo.top >= 40) {
				this.top = telephoneInfo.statusBarHeight * 2 + 150;
				this.topBar = telephoneInfo.statusBarHeight;
			}

			// 设置滚动高度
			const query = wx.createSelectorQuery();
			query.select('#nav').boundingClientRect();
			query.select('#head').boundingClientRect();
			query.select('#wuctab').boundingClientRect();
			query.exec(res => {
				res.map((item, index) => {
					hasHeight += item.height;
				})
				this.scrollHeight = (telephoneInfo.screenHeight - hasHeight - this.topBar) + 'px';
			})
		},
		getH5Info() {
			uni.getSystemInfo({
				success: e => {
					let hasHeight = 0;
					let element = wx.createSelectorQuery().in(this);
					element.select('#nav').boundingClientRect();
					element.select('#head').boundingClientRect();
					element.select('#wuctab').boundingClientRect();
					element.exec(res => {
						res.map((item, index) => {
							hasHeight += item.height;
						})
						this.scrollHeight = (e.screenHeight - hasHeight) + 'px';
					})
				},
				fail: (err) => {
					reject(err);
				}
			})
		}
	},
	onReady() {
		//#ifndef H5
		uni.showShareMenu();
		this.getTelephoneInfo();
		//#endif
		//#ifdef H5
		this.getH5Info();
		//#endif
	}
};
</script>
<style lang="scss">
page,
body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}

.li_5 {
	list-style-type: none;
}

.window {
	height: 100vh;
	overflow: hidden;

	.topLine {
		background-color: #40A2ED;
		width: 100%;
	}

	scroll-view {
		box-sizing: border-box;
	}

	.swiper {
		box-sizing: border-box;
	}

	.nav {
		background-image: url(http://photo.gdbjyy.cn/image/BCAI/top_bg.jpg);
		background-size: 100% 100%;

		.back {
			font-size: 54rpx;
			padding: 20rpx 14rpx 15rpx 14rpx;
			color: #fff;
		}

		.title {
			color: #fff;
			font-size: 30rpx;
			flex: 1;
			text-align: center;
		}

		.hidden {
			visibility: hidden;
		}
	}

	.head {
		display: flex;
		justify-content: space-between;
		padding: 0 16rpx 14rpx 16rpx;
		color: #fff;
		background-color: #40A2ED;
		justify-content: space-between;
		font-size: 26rpx !important;

		.calendar_drag {
			width: 340rpx;
			display: flex;
			justify-content: center;
			align-items: center;

			.calendar_name {
				margin-right: 10rpx;
			}

			.icon-calendar {
				font-size: 26rpx;
				margin-top: 4rpx;
			}
		}
	}

	.data_body {
		overflow: auto;
		text-align: center;
		color: #333333;
		background-repeat: repeat;
		background-color: #ffffff;
		position: relative;

		.item {
			padding: 0 20rpx;
			margin-bottom: 20rpx;

			.name {
				font-weight: 600;
				font-size: 36rpx;
			}

			.operate {
				view {
					padding: 5rpx 12rpx;
					color: #fff;
				}

				.bg-blue {
					background-color: #40A2ED;
				}

				.bg-yellow {
					background-color: #FFC300;
				}
			}

			.tip {
				margin-bottom: 30rpx;

				.update {
					color: #C4100A;
					margin-left: auto;
					font-size: 30rpx;
				}
			}
		}

		.cry {
			font-size: 96rpx;
			margin-bottom: 10rpx;
		}
	}
}

.water-mark-mask {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 1000;
	justify-content: space-between;
	pointer-events: none; //无视鼠标事件，相当于鼠标事件透传下去一样
	flex: 1;
	overflow: hidden;

	text {
		width: 50%;
		color: #909399;
		opacity: 0.25;
		transform: rotate(-15deg);
	}
}

.histogram {
	height: 100%;
	width: 100%;

	canvas {
		margin-top: 40rpx;
	}
}
</style>
