From 36d078db470bf939ec47b6018ea40fa0b875e86e Mon Sep 17 00:00:00 2001 From: whyczyk <525500596@qq.com> Date: 星期四, 14 十月 2021 15:51:28 +0800 Subject: [PATCH] 地图放大功能开发 --- src/components/charts/chinaMap.vue | 40 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/components/charts/chinaMap.vue b/src/components/charts/chinaMap.vue index 696840a..83e625d 100644 --- a/src/components/charts/chinaMap.vue +++ b/src/components/charts/chinaMap.vue @@ -1,5 +1,5 @@ <template> - <div class="echarts-wrapper"> + <div class="echarts-wrapper" @dblclick="dblclick"> <div class="echarts-content" ref="chart" id="cityChart"> </div> @@ -57,6 +57,8 @@ chartData: "", data() { return { + parentsStyle: {}, + isAllScreen: false, timers: null, mapName: 'zhongguo', mapInfoX: null, @@ -82,6 +84,41 @@ } }, methods: { + findParents(node, select) { + var parent = node.parentNode; + if (parent === null || parent.className.indexOf(select) != -1) { + return parent; + } else { + return this.findParents(parent, select); + } + }, + dblclick(e) { + this.isAllScreen = !this.isAllScreen + let parents = this.findParents(e.currentTarget, 'vdr') + if (this.isAllScreen) { + this.parentsStyle = JSON.parse(JSON.stringify(parents.style)); + parents.style.transform = 'none'; + parents.style.width = '100%'; + parents.style.height = '100%'; + parents.style.position = 'fixed'; + parents.style.left = 0; + parents.style.right = 0; + parents.style.bottom = 0; + parents.style.top = 0; + parents.style.zIndex = 99999; + } else { + parents.style.transform = this.parentsStyle.transform; + parents.style.width = this.parentsStyle.width; + parents.style.height = this.parentsStyle.height; + parents.style.position = this.parentsStyle.position; + parents.style.left = 'initial'; + parents.style.right = 'initial'; + parents.style.bottom = 'initial'; + parents.style.top = 'initial'; + parents.style.zIndex = 'auto'; + } + this.$options.chart.resize(); + }, setOption(opt) { this.$options.chart.setOption(opt); }, @@ -512,7 +549,6 @@ ); }, outClear() { - console.log(this.timers) window.removeEventListener('resize', this.resize); clearInterval(this.timers) this.timers = null -- Gitblit v1.9.1