|
@@ -29,6 +29,7 @@ import { deepClone } from '@/utils';
|
|
|
import { getPointInfo } from '@/api/globalMap';
|
|
|
import RightMenu from './RightMenu/index.vue';
|
|
|
import { PointType } from '@/api/globalMap/type';
|
|
|
+import { c } from 'vite/dist/node/types.d-aGj9QkWt';
|
|
|
|
|
|
interface Props {
|
|
|
isComponent?: boolean;
|
|
@@ -109,7 +110,7 @@ let showDrawTools = ref(false);
|
|
|
// 右侧菜单
|
|
|
|
|
|
// 点击菜单
|
|
|
-const clickMenu = (item) => {
|
|
|
+const clickMenu = (item, dataList) => {
|
|
|
if (item.path === '1') {
|
|
|
// 空间分析
|
|
|
if (item.component === 'spatial') {
|
|
@@ -117,11 +118,28 @@ const clickMenu = (item) => {
|
|
|
}
|
|
|
rightMenuRef.value.updateMenu(item.checked ? '1' : '2', item);
|
|
|
} else if (item.path === '2') {
|
|
|
+ let checked = item.checked ? '1' : '2';
|
|
|
+ let index = findChecked(dataList, item.name);
|
|
|
// 打点信息
|
|
|
addMarkers(item);
|
|
|
- rightMenuRef.value.updateMenu(item.checked ? '1' : '2', { name: '图层分析', meta: { icon: 'icon1' } });
|
|
|
+ if (item.checked || (!item.checked && index === 0)) {
|
|
|
+ rightMenuRef.value.updateMenu(checked, ['易涝隐患点'].includes(item.name) ? item : { name: '图层分析', meta: { icon: 'icon1' } });
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
+const findChecked = (dataList, name) => {
|
|
|
+ let index = 0;
|
|
|
+ dataList.forEach((item) => {
|
|
|
+ if (item.name !== name && item.path === '2' && !!item.checked) {
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ if (item.children && item.children.length > 0) {
|
|
|
+ let res = findChecked(item.children, name);
|
|
|
+ index += res;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return index;
|
|
|
+};
|
|
|
// 点击搜索结果,添加标注
|
|
|
const selectSearchMarker = (item) => {
|
|
|
const dom = activeMap.value === 'satellite2' ? map2Ref.value : mapRef.value;
|