Hwf 7 bulan lalu
induk
melakukan
eaf7e8ba4b

+ 9 - 0
src/api/globalMap/index.ts

@@ -79,6 +79,15 @@ export const getEmergencyExpertNameLike = (params) => {
   });
 };
 
+// 全局模糊搜索
+export const getPointInfoComprehensiveSearch = (params) => {
+  return request({
+    url: '/api/gateway/v1/get_point_info_comprehensive_search',
+    method: 'post',
+    data: params
+  });
+};
+
 // 获取周围视频点位接口
 export const getVideoInfo = (params) => {
   return request({

+ 2 - 1
src/hooks/AMap/useAMap.ts

@@ -64,10 +64,10 @@ export function useAMap(options) {
   };
   // 添加搜索的标记的
   const addSearchMarker = (item) => {
-    debugger
     map.setZoom(18);
     map.setCenter(item.lnglat);
     addMarker([item], true);
+    options.onMarkerClick(item);
   };
 
   const addMarker = (points, isSearchItem?: boolean) => {
@@ -198,6 +198,7 @@ export function useAMap(options) {
     infoWindow = new AMap.InfoWindow({
       // 完全自定义
       isCustom: isCustom,
+      autoMove: false,
       offset: new AMap.Pixel(0, -20) // 信息窗体的偏移量
       // 可以根据需要设置其他InfoWindow的属性
     });

+ 10 - 10
src/views/globalMap/LeftMenu.vue

@@ -4,7 +4,7 @@
       <input v-model="searchState.searchText" class="input" @input="changeSearchText" @keyup.enter="changeSearchText" />
       <div v-show="searchState.showList" class="search-list">
         <div v-for="(item, index) in searchState.resultList" :key="index" class="list-item"
-             @click="selectSearchMarker(item)">{{ item.name + '(' + item.company + ')' }}
+             @click="selectSearchMarker(item)">{{ item.name }}
         </div>
         <div v-show="searchState.showList && searchState.resultList.length === 0" style="text-align: center">无数据
         </div>
@@ -62,7 +62,7 @@
 </template>
 
 <script lang="ts" setup>
-import { getEmergencyExpertNameLike } from '@/api/globalMap';
+import { getPointInfoComprehensiveSearch } from '@/api/globalMap';
 import { listMenu } from '@/api/system/menu';
 
 const emits = defineEmits(['switchMap', 'clickMenu', 'selectSearchMarker']);
@@ -81,10 +81,10 @@ const changeSearchText = () => {
     return;
   } else {
     console.log('搜索值:', searchState.searchText);
-    getEmergencyExpertNameLike({
+    getPointInfoComprehensiveSearch({
       page: 1,
       limit: 10,
-      name: searchState.searchText
+      keywords: searchState.searchText
     }).then((res) => {
       searchState.showList = true;
       searchState.resultList = res.data.list;
@@ -204,8 +204,8 @@ defineExpose({ setMenuChange });
     position: absolute;
     top: 100px;
     left: 0;
-    background-color: #eceff7;
-    border: 1px solid #042350;
+    background-color: #0d1d4e;
+    border: 1px solid #2C81FF;
     width: 815px;
     color: #000;
     font-size: 46px;
@@ -213,11 +213,11 @@ defineExpose({ setMenuChange });
 
     .list-item {
       display: block;
-      font-size: 16px;
-      line-height: 40px;
+      font-size: 38px;
+      min-height: 80px;
       cursor: pointer;
-      padding: 0 10px;
-
+      padding: 10px;
+      color: #ffffff;
       &:hover {
         background-color: #0a6ebd;
       }

+ 2 - 2
src/views/globalMap/index.vue

@@ -176,12 +176,12 @@ const selectSearchMarker = (item) => {
   let item2 = deepClone(item);
   // 获取图标
   if (iconList[item2.dataType]) {
-    item2.icon = iconList[item2.dataType].image;
+    item2.icon = iconList[item2.dataType].imageHover;
     item2.image = iconList[item2.dataType].image;
     item2.imageHover = iconList[item2.dataType].imageHover;
     item2.size = iconList[item2.dataType].size;
   } else {
-    item2.icon = iconList['common'].image;
+    item2.icon = iconList['common'].imageHover;
     item2.image = iconList['common'].image;
     item2.imageHover = iconList['common'].imageHover;
     item2.size = iconList['common'].size;