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