From 4f33e1e616e2a59112a6265073124abd7f0e81ed Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期二, 25 二月 2025 16:00:27 +0800
Subject: [PATCH] 修改地图

---
 src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue |   48 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue b/src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue
index a9ebc2a..5d42cb7 100644
--- a/src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue
+++ b/src/components/chat/chatComponents/summaryCom/components/recordSetTable/map/BasicMap.vue
@@ -34,7 +34,7 @@
 				</div>
 			</div>
 		</div>
-		<LayerControl v-if="olMap" :olMap="olMap" class="absolute top-3 left-3 z-10" />
+		<!-- <LayerControl v-if="olMap" :olMap="olMap" class="absolute top-3 left-3 z-10" /> -->
 
 		<!-- <PropertyPanel class="absolute top-14 left-10 z-14"></PropertyPanel> -->
 		<PanelTool
@@ -42,10 +42,13 @@
 			ref="panelToolRef"
 			:propertyMap="propertyMap"
 			:propertyConfigMap="propertyConfigMap"
-			class="absolute top-12 right-2 z-14"
+			class="absolute top-0 right-2 z-14 h-full"
 			:olMap="olMap"
+			:isFullscreen="isFullscreen"
+			@toggleFullScreen="toggleFullScreen"
 		></PanelTool>
-		<!-- <el-button class="absolute top-3 right-4" @click="changeTheme" type="primary">鍒囨崲涓婚</el-button> -->
+
+		<Search class="absolute top-0 left-2 z-14 w-fit" :olMap="olMap" :propertyMap="propertyMap"  :propertyConfigMap="propertyConfigMap"/>
 	</div>
 </template>
 
@@ -68,6 +71,7 @@
 import equipPic from './img/equip.svg';
 import LayerControl from './LayerControl.vue';
 import PanelTool from './panelTool/index.vue';
+import Search from './Search.vue';
 import {
 	getMapDrawStyles,
 	getMapLayerGroupList,
@@ -82,28 +86,37 @@
 import { MarkerOverlay } from '/@/model/map/overlay/marker';
 import { useCompRef } from '/@/utils/types';
 import { formatDate } from '/@/utils/formatTime';
+import { MapPanelTool } from './types';
 
 const panelToolRef = useCompRef(PanelTool);
+
 const props = withDefaults(
 	defineProps<{
 		data: any;
 		config?: {
 			sourceType: GaoDeSourceType;
-			markerIsVisible: boolean;
 		};
+		isFullscreen: boolean;
 	}>(),
 	{
 		config: () => ({
 			sourceType: GaoDeSourceType.Vector,
-			markerIsVisible: true,
 		}),
 	}
 );
 
+const locationCurrent = () => {
+	olMap.value.locationCurrent();
+};
+
 const colsArray = computed(() => {
 	return props.data.cols ?? [];
 });
-const emit = defineEmits(['markerClick', 'closeInfoWindow']);
+const emit = defineEmits(['markerClick', 'closeInfoWindow', 'toggleFullScreen']);
+
+const toggleFullScreen = () => {
+	emit('toggleFullScreen');
+};
 
 const containerRef = ref<HTMLDivElement>(null);
 const infoWindowRef = ref<HTMLDivElement>(null);
@@ -258,6 +271,7 @@
 
 const handleVectorTileClick = (feature, layer) => {
 	panelToolRef.value.featureClick(feature);
+	feature && panelToolRef.value.setActivePanel(MapPanelTool.Property);
 	// setActiveStyle(feature,layer);
 };
 const propertyMap = ref({});
@@ -330,15 +344,31 @@
 			const lSize = feature.get('lsize');
 			const lColor = feature.get('lcolor');
 			const lstyle = feature.get('lstyle');
-
+			const pSize1 = feature.get('psize');
+			const pcolor1 = feature.get('pcolor');
+			const pStyle1 = feature.get('pstyle');
 			const lineStyle = olMap.value.getLineStyles({
 				lsize: lSize,
 				lcolor: lColor,
 				lstyle: lstyle,
+				psize: pSize1,
+				pcolor: pcolor1,
+				pstyle: pStyle1,
 			});
 			styles.push(...lineStyle);
 			break;
 		case 'Polygon':
+			const pColor = feature.get('pcolor');
+			const lSize1 = feature.get('lsize');
+			const lColor1 = feature.get('lcolor');
+			const lstyle1 = feature.get('lstyle');
+			const polygonStyle = olMap.value.getPolygonStyles({
+				pcolor: pColor,
+				lsize: lSize1,
+				lcolor: lColor1,
+				lstyle: lstyle1,
+			});
+			styles.push(...polygonStyle);
 			break;
 		default:
 			break;
@@ -410,7 +440,6 @@
 	await getDrawStyles();
 	const res = await getMapLayersByPost();
 	const layers = reverse(res?.layers ?? []);
-	if (layers.length === 0) return;
 	const layerModels = [];
 	for (const item of layers) {
 		const styleFunc = olMap.value.unsupportedLayers.includes(item.id) ? undefined : layerStyleFunc;
@@ -422,6 +451,8 @@
 	getGroupList().then((groupList) => {
 		olMap.value.setAllLayers(layerModels, layers, groupList);
 	});
+	if (layers.length === 0) return;
+
 	getThemeList();
 	getPropertyList();
 	olMap.value.on('featureChange', handleVectorTileClick);
@@ -430,7 +461,6 @@
 	olMap.value = new OLMap({
 		container: containerRef.value,
 		sourceType: props.config?.sourceType,
-		markerIsVisible: props.config?.markerIsVisible,
 	});
 
 	addMarkerLayer();

--
Gitblit v1.9.3