From 4b7d2c5f13c7c816746ecd7c64fc4d8bb7580e70 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 14 Nov 2024 15:29:26 +0800
Subject: [PATCH] 首页接口

---
 src/views/pac/components/box/dataContent.vue         |   14 +++---
 src/views/companyInfo/components/box/dataContent.vue |   14 +++---
 src/views/pac/index.vue                              |    2 
 src/pages/layout/components/mainSearch.vue           |   87 ++++++++++++++++++++++++++++++++++++++++++-
 src/views/pac/components/leftContainer.vue           |    1 
 5 files changed, 100 insertions(+), 18 deletions(-)

diff --git a/src/pages/layout/components/mainSearch.vue b/src/pages/layout/components/mainSearch.vue
index e8efa2c..e30b525 100644
--- a/src/pages/layout/components/mainSearch.vue
+++ b/src/pages/layout/components/mainSearch.vue
@@ -22,17 +22,31 @@
 </template>
 
 <script setup>
+import { fuzzyQuery } from '../../../api/firmInfo/firmInfo'
+
 // 搜索栏相关
 let isShowSearchSKValBox = false
-let searchVal = ''
-let searchSKValList = []
+let searchVal = ref('')
+let searchSKValList = ref([])
 
 const onSearch = () => {
-  if (searchVal == '') {
+  if (searchVal.value == '') {
     isShowSearchSKValBox = false
+    // 清空
+    clearPoint()
   } else {
     isShowSearchSKValBox = true
+    getFuzzyQuery()
   }
+}
+
+function getFuzzyQuery() {
+  fuzzyQuery({
+    name: searchVal.value
+  }).then(res => {
+    // console.log(res.data.data)
+    searchSKValList.value = res.data.data
+  })
 }
 
 const onFocus = () => {
@@ -41,7 +55,72 @@
 
 const sKValItemClick = (item) => {
   isShowSearchSKValBox = false
+  if (item.lat && item.lng) {
+    handleCheckChange(item)
+  } else {
+    console.log('没有经纬度')
+  }
 }
+let addTileLayers = {}
+const handleCheckChange = (item) => {
+  console.log(item)
+  // 先清空,在添加
+  clearPoint()
+  if (!addTileLayers[item.name]) {
+    addTileLayers[item.name] = new DC.HtmlLayer(item.name)
+    window.$viewer.addLayer(addTileLayers[item.name])
+    let iconEl = ''
+    if ('showPanel' in item && item.showPanel == false) {
+      if (item.backgroundIcon) {
+        iconEl = `
+                        <div class="map-name">${i[item.showParams] || item.name}</div>
+                        <div class="map-icon">
+                          <img src="${item.backgroundIcon}">
+                        </div>
+                        `
+      }
+    } else {
+      iconEl = `<div class="marsBlueGradientPnl">
+                               <div>${item.name}</div>  </div>`
+    }
+    let divIcon = new DC.DivIcon(
+      new DC.Position(item.lng, item.lat, 0),
+      `<div class="public-map-popup">
+                  ${iconEl}
+                </div>`
+    )
+
+    divIcon.attrParams = item
+
+    let incident = () => { }
+
+    if (item.incident) incident = item.incident
+
+    divIcon.on(DC.MouseEventType.CLICK, incident)
+
+    addTileLayers[item.name].addOverlay(divIcon)
+    window.$viewer.flyToPosition(new DC.Position(item.lng, item.lat, 2000, 0, -90, 0))
+
+  } else {
+    console.log('已存在*******************************')
+    window.$viewer.removeLayer(addTileLayers[item.name])
+  }
+}
+
+
+function clearPoint() {
+  let arr = Object.keys(addTileLayers)
+  arr.forEach(i => {
+    addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
+  })
+}
+
+onUnmounted(() => {
+  let arr = Object.keys(addTileLayers)
+  arr.forEach(i => {
+    addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
+  })
+})
 </script>
 
 <style lang="scss" scoped>
@@ -84,8 +163,10 @@
       color: #ffffff;
       cursor: pointer;
       height: 20px;
+      margin: 3px;
       line-height: 20px;
       padding-left: 10px;
+      overflow: hidden;
     }
 
     ul>li:hover {
diff --git a/src/views/companyInfo/components/box/dataContent.vue b/src/views/companyInfo/components/box/dataContent.vue
index 0f21eed..4f048bf 100644
--- a/src/views/companyInfo/components/box/dataContent.vue
+++ b/src/views/companyInfo/components/box/dataContent.vue
@@ -35,7 +35,7 @@
 let addTileLayers = {}
 const handleCheckChange = (row) => {
     let companyInfo = JSON.parse(localStorage.getItem('companyInfo'))
-    console.log(row)
+    // console.log(row)
     resData.data.forEach(item => {
         if (row.value === item.value) {
             if (!addTileLayers[item.label]) {
@@ -106,14 +106,14 @@
 
 onMounted(() => {
     tabClick(resData.data[0])
-}),
+})
 
-    onUnmounted(() => {
-        let arr = Object.keys(addTileLayers)
-        arr.forEach(i => {
-            addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
-        })
+onUnmounted(() => {
+    let arr = Object.keys(addTileLayers)
+    arr.forEach(i => {
+        addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
     })
+})
 </script>
 
 <template>
diff --git a/src/views/pac/components/box/dataContent.vue b/src/views/pac/components/box/dataContent.vue
index c55c9e6..9ebfad7 100644
--- a/src/views/pac/components/box/dataContent.vue
+++ b/src/views/pac/components/box/dataContent.vue
@@ -34,7 +34,7 @@
 const curSelect = ref('1')
 let addTileLayers = {}
 const handleCheckChange = (row) => {
-    console.log(row)
+    // console.log(row)
     resData.data.forEach(item => {
         if (row.value === item.value) {
             if (!addTileLayers[item.label]) {
@@ -104,14 +104,14 @@
 
 onMounted(() => {
     tabClick(resData.data[0])
-}),
+})
 
-    onUnmounted(() => {
-        let arr = Object.keys(addTileLayers)
-        arr.forEach(i => {
-            addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
-        })
+onUnmounted(() => {
+    let arr = Object.keys(addTileLayers)
+    arr.forEach(i => {
+        addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
     })
+})
 </script>
 
 <template>
diff --git a/src/views/pac/components/leftContainer.vue b/src/views/pac/components/leftContainer.vue
index 941c04f..b6fad8b 100644
--- a/src/views/pac/components/leftContainer.vue
+++ b/src/views/pac/components/leftContainer.vue
@@ -48,6 +48,7 @@
 <style lang="scss" scoped>
 .left-container {
   background: none;
+  width: 90px;
 }
 
 .left-container>div .title-box {
diff --git a/src/views/pac/index.vue b/src/views/pac/index.vue
index f341db6..039387e 100644
--- a/src/views/pac/index.vue
+++ b/src/views/pac/index.vue
@@ -17,7 +17,7 @@
     <div class="container page-container">
         <left-container></left-container>
 
-        <right-container></right-container>
+        <!-- <right-container></right-container> -->
     </div>
 </template>
 

--
Gitblit v1.9.3