| 
														
															@@ -6,14 +6,13 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import { ref, onMounted, onUnmounted } from "vue"; 
														 | 
														
														 | 
														
															 import { ref, onMounted, onUnmounted } from "vue"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import AMapLoader from "@amap/amap-jsapi-loader"; 
														 | 
														
														 | 
														
															 import AMapLoader from "@amap/amap-jsapi-loader"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import eventBus from "@/api/eventBus"; 
														 | 
														
														 | 
														
															 import eventBus from "@/api/eventBus"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import { convertPointToArray } from "@/utils/index"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const map = ref(null); 
														 | 
														
														 | 
														
															 const map = ref(null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const mouseTool = ref(null); 
														 | 
														
														 | 
														
															 const mouseTool = ref(null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const selectedArea = ref(null); 
														 | 
														
														 | 
														
															 const selectedArea = ref(null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const selectedPoints = ref([]); 
														 | 
														
														 | 
														
															 const selectedPoints = ref([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const allPoints = ref([ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    { lng: 113.61448114737868, lat: 23.585550924763083 }, // 示例点位 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-]); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const allPoints = ref([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const defalutIcon = ref(null) 
														 | 
														
														 | 
														
															 const defalutIcon = ref(null) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const activeIcon = ref(null) 
														 | 
														
														 | 
														
															 const activeIcon = ref(null) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -30,8 +29,8 @@ const initMap = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }).then((AMap) => { 
														 | 
														
														 | 
														
															         }).then((AMap) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 创建地图实例 
														 | 
														
														 | 
														
															             // 创建地图实例 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             map.value = new AMap.Map("map-container", { 
														 | 
														
														 | 
														
															             map.value = new AMap.Map("map-container", { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                zoom: 17, // 初始缩放级别 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                center: [113.61448114737868 ,23.585550924763083], 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                zoom: 18, // 初始缩放级别 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                center: [113.6149629 ,23.58594117], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 layers: [ 
														 | 
														
														 | 
														
															                 layers: [ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     // 卫星 
														 | 
														
														 | 
														
															                     // 卫星 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     new AMap.TileLayer.Satellite(), 
														 | 
														
														 | 
														
															                     new AMap.TileLayer.Satellite(), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -60,11 +59,12 @@ const initMap = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 添加示例点位 
														 | 
														
														 | 
														
															             // 添加示例点位 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             allPoints.value.forEach((point) => { 
														 | 
														
														 | 
														
															             allPoints.value.forEach((point) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 point.icon = new AMap.Marker({ 
														 | 
														
														 | 
														
															                 point.icon = new AMap.Marker({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    position: [point.lng, point.lat], 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    position: point.lngLat, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     map: map.value, 
														 | 
														
														 | 
														
															                     map: map.value, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     icon:defalutIcon.value, 
														 | 
														
														 | 
														
															                     icon:defalutIcon.value, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    offset: defalutOffset.value 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    offset: defalutOffset.value, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 }); 
														 | 
														
														 | 
														
															                 }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                point.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             }); 
														 | 
														
														 | 
														
															             }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             startRectangleSelection() 
														 | 
														
														 | 
														
															             startRectangleSelection() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -104,6 +104,7 @@ const clearSelection = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         selectedPoints.value.forEach(item =>{ 
														 | 
														
														 | 
														
															         selectedPoints.value.forEach(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           item.icon.setIcon(defalutIcon.value) 
														 | 
														
														 | 
														
															           item.icon.setIcon(defalutIcon.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           item.icon.setOffset(defalutOffset.value) 
														 | 
														
														 | 
														
															           item.icon.setOffset(defalutOffset.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+          item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }) 
														 | 
														
														 | 
														
															         }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         selectedPoints.value = []; // 清空选中的点位 
														 | 
														
														 | 
														
															         selectedPoints.value = []; // 清空选中的点位 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -115,18 +116,42 @@ const checkPointsInArea = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     const bounds = selectedArea.value.getBounds(); // 获取框选区域的边界 
														 | 
														
														 | 
														
															     const bounds = selectedArea.value.getBounds(); // 获取框选区域的边界 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     selectedPoints.value = allPoints.value.filter((point) => { 
														 | 
														
														 | 
														
															     selectedPoints.value = allPoints.value.filter((point) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return bounds.contains([point.lng, point.lat]); // 判断点位是否在框选区域内 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return bounds.contains(point.lngLat); // 判断点位是否在框选区域内 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }); 
														 | 
														
														 | 
														
															     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     selectedPoints.value.forEach(item =>{ 
														 | 
														
														 | 
														
															     selectedPoints.value.forEach(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      item.icon.setIcon(activeIcon.value) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      item.icon.setOffset(activeOffset.value) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(item.type==='defalutIcon'){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setIcon(activeIcon.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setOffset(activeOffset.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.type = 'activeIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setIcon(defalutIcon.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setOffset(defalutOffset.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }) 
														 | 
														
														 | 
														
															     }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    eventBus.emit('map:list',selectedPoints.value) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    const arr = selectedPoints.value.filter(item =>item.type==='activeIcon') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    eventBus.emit('map:list',arr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const getList = () =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    const params = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        farmId:sessionStorage.getItem('farmId'), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        regionId:sessionStorage.getItem('regionId') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    VE_API.variety.pointList(params).then(res =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        allPoints.value = res.data.map(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                ...item, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                lngLat:convertPointToArray(item.point) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        initMap(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 组件挂载时初始化地图 
														 | 
														
														 | 
														
															 // 组件挂载时初始化地图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 onMounted(() => { 
														 | 
														
														 | 
														
															 onMounted(() => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    initMap(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     eventBus.on('handle:clear',clearSelection) 
														 | 
														
														 | 
														
															     eventBus.on('handle:clear',clearSelection) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }); 
														 | 
														
														 | 
														
															 }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |