|
@@ -1,6 +1,13 @@
|
|
|
<template>
|
|
|
<!-- 同屏对比弹窗 -->
|
|
|
- <el-dialog title="同屏对比" fullscreen :visible.sync="dialogVisible" :before-close="handleClose">
|
|
|
+ <el-dialog
|
|
|
+ title="同屏对比"
|
|
|
+ fullscreen
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ :before-close="handleClose"
|
|
|
+ @mousedown="changeMouseDownStatus(true)"
|
|
|
+ @mouseup="changeMouseDownStatus(false)"
|
|
|
+ >
|
|
|
<template slot="title">
|
|
|
<div class="dialogTitle">
|
|
|
<div class="dialogTitleIcon"></div>
|
|
@@ -17,7 +24,7 @@
|
|
|
v-for="(mapIndex, index) in checkedCities"
|
|
|
:key="index"
|
|
|
:style="mapListBoxStyle()"
|
|
|
- @mousedown="changeMouseIndex(index)"
|
|
|
+ @mouseover="changeMouseOverIndex(index)"
|
|
|
>
|
|
|
<span>{{ mapList[mapIndex].mapName }}</span>
|
|
|
<Map
|
|
@@ -25,6 +32,7 @@
|
|
|
:index="index"
|
|
|
:mouseIndex="mouseIndex"
|
|
|
:centerZoom="centerZoom"
|
|
|
+ :centerZoomInit="centerZoomInit"
|
|
|
@changeCenterZoom="changeCenterZoom"
|
|
|
/>
|
|
|
</div>
|
|
@@ -89,6 +97,11 @@ export default {
|
|
|
interval: "",
|
|
|
// 地图暂存显示变量
|
|
|
centerZoom: {},
|
|
|
+ // 外部地图暂存中心、层级信息
|
|
|
+ centerZoomInit: {},
|
|
|
+ // 当前光标是否为按下状态
|
|
|
+ MouseDownStatus: false,
|
|
|
+ // 光标作用的地图下标
|
|
|
mouseIndex: -1,
|
|
|
// 底部文本域
|
|
|
textarea1: "",
|
|
@@ -214,6 +227,8 @@ export default {
|
|
|
// 打开弹窗
|
|
|
this.dialogVisible = true;
|
|
|
this.$emit("changeShowBottomMenusStatus", false);
|
|
|
+ // 打开弹窗前首先同步一下地图定位
|
|
|
+ this.centerZoomInit = { center: map2DViewer.map.getCenter(), zoom: map2DViewer.map.getZoom() };
|
|
|
},
|
|
|
// 弹窗关闭询问
|
|
|
handleClose() {
|
|
@@ -233,6 +248,8 @@ export default {
|
|
|
} else {
|
|
|
// 关闭弹窗
|
|
|
this.dialogVisible = false;
|
|
|
+ // 获取地图光标暂存对象
|
|
|
+ this.mouseIndex = -1;
|
|
|
// 修改父级菜单变量(弹窗显示状态和显示底部菜单)
|
|
|
this.$emit("changeShowBottomMenusStatus", true);
|
|
|
}
|
|
@@ -303,8 +320,14 @@ export default {
|
|
|
this.centerZoom = data;
|
|
|
},
|
|
|
// 暂存当前光标所在map组件的下标
|
|
|
- changeMouseIndex(mouseIndex) {
|
|
|
- this.mouseIndex = mouseIndex;
|
|
|
+ changeMouseDownStatus(status) {
|
|
|
+ this.MouseDownStatus = status;
|
|
|
+ },
|
|
|
+ changeMouseOverIndex(mouseIndex) {
|
|
|
+ // 当鼠标按下后(this.MouseDownStatus = true)暂存当前光标所在map组件的下标将不再修改
|
|
|
+ if (!this.MouseDownStatus) {
|
|
|
+ this.mouseIndex = mouseIndex;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
watch: {}
|