<template>
	<div class="edit">
		<el-tabs type="card" v-model="activeName" >
			<el-tab-pane label="楼盘页面" name="first"></el-tab-pane>
			<el-tab-pane label="单元列表页面" name="second"></el-tab-pane>
		</el-tabs>
		<div class="tab-content" v-if="activeName=='first'" ref="tabContent" :style="{ height: lpbContentHight + 'px' }" v-show="bjztFlag">
			<!-- 楼盘表主体 -->
			<div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }">
				<lpbContent ref="lpbContent" :zrzbsm="formData.bsm" :key="time"></lpbContent>
			</div>
			<!-- 右侧图例 -->
			<div class="lp-legend">
				<div class="handleCol">
					<div class="btn" @click="legendToggle">
						<i v-show="!legendToggleFlag" class="el-icon-d-arrow-left"></i>
						<i v-show="legendToggleFlag" class="el-icon-d-arrow-right"></i>
					</div>
					<div :class="selectedZt == 'dyzt' ? 'dyzt selectedZt' : 'dyzt'" @click="selectedZt = 'dyzt'">
						<span>单元状态</span>
					</div>
					<div :class="selectedZt == 'fwxz' ? 'fwxz selectedZt' : 'fwxz'" @click="selectedZt = 'fwxz'">
						<span>房屋性质</span>
					</div>
					<div :class="selectedZt == 'fwyt' ? 'fwyt selectedZt' : 'fwyt'" @click="selectedZt = 'fwyt'">
						<span>房屋用途</span>
					</div>
					<div :class="selectedZt == 'qsx' ? 'qsx selectedZt' : 'qsx'" @click="selectedZt = 'qsx'">
						<span>缺失项</span>
					</div>

				</div>
				<div class="legendTable-wrap" :style="{ width: legendToggleFlag ? '204px' : '0' }">
					<table class="legendTable" v-show="selectedZt == 'dyzt'" cellspacing="1" cellpadding="1" border="1">
						<tr>
							<th>状态</th>
							<th>套数</th>
							<th>面积</th>
						</tr>
						<tr v-for="(item, index) in dyztList" :key="index" class="cp"
							@click="handleChoosedH(item.bsms, item.color)">
							<td>
								<i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }}
							</td>
							<td>{{ item.ts }}</td>
							<td>{{ item.mj }}</td>
						</tr>
					</table>
					<table class="legendTable" v-show="selectedZt == 'fwxz'" cellspacing="1" cellpadding="1" border="1">
						<tr>
							<th>性质</th>
							<th>套数</th>
							<th>面积</th>
						</tr>
						<tr v-for="(item, index) in fwxzList" :key="index" class="cp"
							@click="handleChoosedH(item.bsms, item.color)">
							<td>
								<i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }}
							</td>
							<td>{{ item.ts }}</td>
							<td>{{ item.mj }}</td>
						</tr>
						<tr v-show="fwxzList.length < 1">
							<td colspan="3" class="tac">暂无数据</td>
						</tr>
					</table>

					<table class="legendTable" v-show="selectedZt == 'fwyt'" cellspacing="1" cellpadding="1" border="1">
						<tr>
							<th>用途</th>
							<th>套数</th>
							<th>面积</th>
						</tr>
						<tr v-for="(item, index) in fwytList" :key="index" class="cp"
							@click="handleChoosedH(item.bsms, item.color)">
							<td>
								<i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }}
							</td>
							<td>{{ item.ts }}</td>
							<td>{{ item.mj }}</td>
						</tr>
						<tr v-show="fwytList.length < 1">
							<td colspan="3" class="tac">暂无数据</td>
						</tr>
					</table>

					<table class="legendTable" v-show="selectedZt == 'qsx'" cellspacing="1" cellpadding="1" border="1">
						<tr>
							<th>数据缺失项</th>
							<th>套数</th>
							<th>面积</th>
						</tr>
						<tr v-for="(item, index) in qsxList" :key="index" class="cp" @click="handleChoosedH(item.bsms, item.color)">
							<td>
								<i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }}
							</td>
							<td>{{ item.ts }}</td>
							<td>0</td>
						</tr>
						<tr v-show="qsxList.length < 1">
							<td colspan="3" class="tac">暂无数据</td>
						</tr>
					</table>
				</div>
			</div>
		</div>
    <!--    单元列表页面-->
    <selectZrzH v-else :sqywInfo="formData" />
	</div>
</template>

<script>
import lpbContent from "./lpbContent/index";
import selectZrzH from "../ywbl/ywsq/components/selectZrzH"
import { getLpbFwytAndQlxz,getLpbQsxtj } from '@/api/lpb'
export default {
	name: "lpb",
	props: {
		formData: {
			type: Object,
			default: {}
		}
	},
	components: {
		lpbContent,
    selectZrzH
	},
	data () {
		return {
      activeName:"first",
			bsms: [],
			dialogVisible: false,
			scyclx: "0", //1是实测  0是预测
			menuType: "",
			selectedZt: "dyzt", //图例选中项,默认选中单元状态
			dyztList: [
				{
					name: "未确权",
					color: "#83AAFE",
					ts: "12",
					mj: "1633",
				},
				{
					name: "已确权",
					color: "#6EDEE1",
					ts: "22",
					mj: "3109",
				},
				{
					name: "已备案",
					color: "#8ADC88",
					ts: "3",
					mj: "409",
				},
				{
					name: "预抵押",
					color: "#F2AD67",
					ts: "11",
					mj: "1466",
				},
				{
					name: "在建抵押",
					color: "#F191C8",
					ts: "13",
					mj: "1792",
				},
				{
					name: "抵押",
					color: "#FF8282",
					ts: "14",
					mj: "13",
				},
				{
					name: "查封",
					color: "#D7CECF",
					ts: "9",
					mj: "1436",
				},
				{
					name: "异议",
					color: "#D4A3EB",
					ts: "34",
					mj: "4342",
				},
				{
					name: "限制",
					color: "#A5A3FB",
					ts: "2",
					mj: "285",
				},
			],
			fwxzList: [],
			fwytList: [],
			qsxList: [],
			legendToggleFlag: false,
			lpbContentHight: "",
			lpbContentwidth: "",
			time: "",
			dyztBsmList: {}, //单元状态bsmList
			bjztFlag: true,
			qsztList: [],
		};
	},
	created () {
		window.addEventListener("resize", this.getHeight);
    console.log(this.formData);
		this.getHeight();
	},
	mounted () {
		//获取各项单元状态的户bsm
		// this.getDyztBsmList();
		//获取房屋用途统计数据
		this.getLpbFwytAndQlxz();
		// 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6
		setTimeout(() => {
			this.lpbContentwidth = ((document.documentElement.clientWidth || document.body.clientWidth) - 340) - 34 - 6;
		}, 100);
	},
	methods: {
		/* handleTabClick(event){
			if(event.name=="first"){
				this.$router.push({
					path:"/lpb/index",
				})
			}else if(event.name=="second"){
				this.$router.push({
				path:"/ywbl/ywsq/components/selectAllHInfo",
				})
			}
			},*/
		//获取高度计算lpb内容区高度
		getHeight () {
			this.lpbContentHight = window.innerHeight - 190;
		},
		//图例的展开收起
		legendToggle () {
			this.legendToggleFlag = !this.legendToggleFlag;
		},
		//切换房屋状态
		handleChoosedH (bsms, color) {
			//每次切换房屋状态,将之前高亮的户边框颜色重置为默认
			this.$refs.lpbContent.choosedList = [];
			this.$refs.lpbContent.$refs.hBsm.forEach((item) => {
				item.style.border = '';
				item.className = '';
			});
			this.bsms = bsms;
			//清除选中户
			this.$nextTick(() => {
				//给hBsmList传值
				// console.log(bsms,'bsms');
				this.$refs.lpbContent.choosedList = bsms;
				this.$refs.lpbContent.borderColor = color;
			})
		},
		//获取各项单元状态统计数据
		getDyztBsmList () {
			let data = {
				zrzbsm: 'ca71bcc498794a1e0ec3ac93869719f6',
				scyclx: 1,
			};
			getLpbTj(data).then((res) => {
				if (res.code === 200) {
					this.dyztList = res.result;
					this.dyztList.splice(1, 0, this.dyztList[8]);
					this.dyztList.pop();
					this.dyztList.forEach(item => {
						item.ts = item.bsms.length;
						switch (item.name) {
							case 'Qqzt':
								item.color = "#6EDEE1";
								item.name = "已确权"
								break;
							case 'Wqqzt':
								item.color = "#83AAFE";
								item.name = "未确权"
								break;
							case 'Bazt':
								item.color = "#8ADC88";
								item.name = "已备案"
								break;
							case 'Ydyzt':
								item.color = "#F2AD67";
								item.name = "预抵押"
								break;
							case 'Zjgcdyzt':
								item.color = "#F191C8";
								item.name = "在建抵押"
								break;
							case 'Dyzt':
								item.color = "#FF8282";
								item.name = "抵押"
								break;
							case 'Cfzt':
								item.color = "#D7CECF";
								item.name = "查封"
								break;
							case 'Yyzt':
								item.color = "#D4A3EB";
								item.name = "异议"
								break;
							case 'Xzzt':
								item.color = "#A5A3FB";
								item.name = "限制"
								break;
							default:
								break;
						}
					})
				}
			});
		},
		// 获取房屋用途和房屋性质及缺失项统计数据
		getLpbFwytAndQlxz () {
			getLpbFwytAndQlxz('ca71bcc498794a1e0ec3ac93869719f6').then((res) => {
				if (res.code === 200) {
					// this.fwytList = res.result
					this.fwytList = res.result.fwyt;
					this.fwxzList = res.result.qlxz;
					if (this.fwytList.length > 0) {
						this.fwytList.forEach(item => {
							item.color = "#2591FD";
							item.ts = item.bsms.length
						})
					}
					if (this.fwxzList.length > 0) {
						this.fwxzList.forEach(item => {
							item.color = "#2591FD";
							item.ts = item.bsms.length
						})
					}
				}
			});
			// getLpbQsxtj('ca71bcc498794a1e0ec3ac93869719f6').then((res) => {
			// 	if (res.code === 200) {
			// 		this.qsxList = [
			// 			{
			// 				name: '坐落',
			// 				bsms: res.result.zl.bsms,
			// 				color: '#2591FD',
			// 				ts: res.result.zl.bsms.length
			// 			},
			// 			{
			// 				name: '分层分户图',
			// 				bsms: res.result.fcfht.bsms,
			// 				color: '#2591FD',
			// 				ts: res.result.fcfht.bsms.length
			// 			},
			// 			{
			// 				name: '室号',
			// 				bsms: res.result.shbw.bsms,
			// 				color: '#2591FD',
			// 				ts: res.result.shbw.bsms.length
			// 			}
			// 		]
			// 	}
			// });
		}
	},
	computed: {},
	destroyed () {
		window.removeEventListener("resize", this.getHeight);
	},
	watch: {
		//树结构和图例伸缩时修改楼盘表主要内容区宽度
		legendToggleFlag (n) {
			if (n) {
				this.lpbContentwidth -= 204;
			} else {
				this.lpbContentwidth += 204;
			}
		},
		selectedZt (n) {
			this.legendToggleFlag = true;
		},
	},
};
</script>
<style scoped lang="scss">
.edit {
	height: 100%;
	background-color: #F4F9FF;
	.tab-content {
		border: 1px solid #dedede;
		background-color: #ffffff;
		display: flex;
		&::-webkit-scrollbar {
			width: 1px;
		}
		.lp-tree {
			height: 100%;
			overflow: hidden;
			transition: 0.5s;
			.treeData {
				margin-top: 20px;
				margin-left: 26px;
				float: left;
			}
		}
		.w0 {
			width: 0;
		}
		.w260 {
			width: 260px;
		}
		.lp-overview {
			transition: 0.5s;
			flex: 1;
			border: 1px solid rgb(236, 236, 236);
			border-top: 0;
			border-bottom: 0;
			margin-right: 10px;
			box-sizing: border-box;
		}
		.lp-legend {
			transition: 0.5s;
			height: 100%;
			font-size: 14px;
			.handleCol {
				width: 34px;
				float: right;
				height: 100%;
				.btn {
					cursor: pointer;
					height: 40px;
					line-height: 40px;
					text-align: center;
					background-color: #0091ff;
					color: #fff;
					border-bottom: 1px solid #e6e6e6;
				}
				.dyzt,
				.fwxz,
				.fwyt,
				.qsx {
					height: 122px;
				}
				.dyzt,
				.fwxz,
				.fwyt,
				.qsx {
					cursor: pointer;
					border-bottom: 1px solid #e6e6e6;
					border-left: 1px solid #e6e6e6;

					span {
						text-align: center;
						height: 100%;
						-webkit-writing-mode: vertical-rl;
						writing-mode: vertical-rl;
						line-height: 34px;
						letter-spacing: 2px;
					}
				}

				.selectedZt {
					background-color: #0091ff;
					color: #fff;
				}
			}

			.legendTable-wrap {
				transition: 0.5s;
				float: right;
				overflow: hidden;

				.legendTable {
					margin-top: -1px;
					border-color: #e4ebf4 !important;
					border-collapse: collapse;
					border-spacing: 0;
					tr {
						height: 40px;
						line-height: 40px;

						th:first-child {
							width: 80px;
						}

						th {
							width: 60px;
							height: 40px;
							white-space: nowrap;
						}

						td {
							height: 40px;
							text-align: center;
							white-space: nowrap;
							.circle{
								display: inline-block;
								width: 12px;
								height: 12px;
								border-radius: 6px;
								margin-right: 2px;
								position: relative;
								top: 1px;
							}
						}

						td:first-child {
							text-align: left;
							text-indent: 2px;
						}
					}
				}
			}
		}
	}
}
</style>