From dc2421508ec5cc18dc5ff2b2df6b39aba59188c8 Mon Sep 17 00:00:00 2001
From: seatonwan9 <seatonwan9@163.com>
Date: 星期日, 30 五月 2021 20:24:25 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue | 323 ++++++++++++++++++++++++++++++-----------------------
1 files changed, 180 insertions(+), 143 deletions(-)
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
index 599d02d..63fa1f4 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
@@ -1,53 +1,76 @@
<template>
- <div class="click-location">
- <el-row>
- <el-input type="text" v-model="clickLocation" @change="focusLocation">
- <el-button slot="suffix" type="text" @click="focusLocation">
- <img src="../../../../../public/assets/images/map/emergency/search.png" alt="">
- </el-button>
- </el-input>
- </el-row>
- <!-- <el-scrollbar style="height:250.34px">-->
- <el-row v-for="(item,index) in searchList.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index"
- style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left"
- class="environmental-risk-list">
- <el-col :span="4">
- <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state"
- style="background: none;margin: 0 15px">
- </el-col>
- <el-col :span="12">
- <div class=search-list>
- <!-- <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛�<h3 style="display: inline-block">{{ item.name }}</h3></h4>-->
- <h3 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛歿{ item.name }}</h3>
- <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鍦板潃锛�<span>{{ item.address }}</span>
- <p>鐢佃瘽锛�<span>{{ item.phone }}</span></p>
- </div>
- </el-col>
- <el-col :span="8" style="text-align: right">
- <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)">
- 瀹氫綅
- </el-button>
- </el-col>
- </el-row>
- <!-- </el-scrollbar>-->
- <!-- <el-card class="footer-page" >-->
- <div v-if="total > 10">
- <el-pagination
- small
- @current-change="handlePage"
- :page-size=pageSize
- :current-page.sync="currentPage"
- layout="prev, pager, next"
- :total=total
- class="warnPagination"
- >
- </el-pagination>
+ <div class="click-location">
+ <el-row>
+ <!-- clearable-->
+ <el-input type="text" v-model="clickLocation" @change="focusLocation">
+ <el-button slot="suffix" type="text" @click="focusLocation">
+ <img src="../../../../../public/assets/images/map/emergency/search.png" alt="">
+ </el-button>
+ </el-input>
+ </el-row>
+ <!-- <el-scrollbar style="height:250.34px">-->
+ <el-row v-for="(item,index) in searchList.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index"
+ style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left"
+ class="environmental-risk-list">
+<!-- <div v-if="item.resultType === 1">-->
+ <el-col :span="4">
+ <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state"
+ style="background: none;margin: 0 15px">
+ </el-col>
+ <el-col :span="12">
+ <div class=search-list>
+ <!-- <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛�<h3 style="display: inline-block">{{ item.name }}</h3></h4>-->
+ <h3 style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden" :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛歿{ item.name }}</h3>
+ <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鍦板潃锛�<span>{{ item.address }}</span>
+ <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鐢佃瘽锛�<span>{{ item.phone }}</span></p>
+ </div>
+ </el-col>
+ <el-col :span="8" style="text-align: right">
+ <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)">
+ 瀹氫綅
+ </el-button>
+ </el-col>
+<!-- </div>-->
+ </el-row>
+ <el-row v-for="(item,index) in searchListStatistics.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index"
+ style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left"
+ class="environmental-risk-list">
+ <!-- <div v-if="item.resultType === 1">-->
+ <el-col :span="4">
+ <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state"
+ style="background: none;margin: 0 15px">
+ </el-col>
+ <el-col :span="12">
+ <div class=search-list>
+ <!-- <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛�<h3 style="display: inline-block">{{ item.name }}</h3></h4>-->
+ <h3 :class="activeNum===index?'hover':''" @click="handleLocation(index)" >鍚嶇О锛歿{ item.name }}</h3>
+ <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鍦板潃锛�<span>{{ item.address }}</span>
+ <p>鐢佃瘽锛�<span>{{ item.phone }}</span></p>
</div>
- <!-- </el-card>-->
- <el-row style="text-align: right">
- <el-button type="primary" size="small" @click="confirm">纭</el-button>
- </el-row>
+ </el-col>
+ <el-col :span="8" style="text-align: right">
+ <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)">
+ 瀹氫綅
+ </el-button>
+ </el-col>
+ <!-- </div>-->
+ </el-row>
+ <div v-if="total > 5">
+ <el-pagination
+ small
+ @current-change="handlePage"
+ :page-size=pageSize
+ :current-page.sync="currentPage"
+ layout="prev, pager, next"
+ :total=total
+ class="warnPagination"
+ >
+ </el-pagination>
</div>
+ <el-row style="text-align: right">
+ <el-button type="primary" size="small" @click="confirm">纭</el-button>
+ </el-row>
+ </div>
</template>
<script>
@@ -62,15 +85,21 @@
data () {
return {
activeNum: -1,
- // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁
- clickLocation: '',
- searchList: [],
- marker: null,
+ // 鍒嗛〉
total: 0,
// 鍒嗛〉 榛樿灞曠ず
currentPage: 1,
// 鍒嗛〉 姣忛〉澶氬皯鏁版嵁
- pageSize: 3
+ pageSize: 3,
+ // 瀹氫綅鐐瑰睍绀�
+ marker: window.L.layerGroup().addTo(window.map),
+ layersGroupArrList: [],
+ // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁
+ clickLocation: '',
+ // 鎼滅储鏁版嵁灞曠ず鍒楄〃 1
+ searchList: [],
+ // 鎼滅储鏁版嵁灞曠ず鍒楄〃 2
+ searchListStatistics: []
}
},
methods: {
@@ -83,14 +112,19 @@
},
// 鎼滅储瀹氫綅
focusLocation () {
- const getBoundsData = '' + window.map.getBounds()._southWest.lng + ',' + window.map.getBounds()._southWest.lat + ',' + window.map.getBounds()._northEast.lng + ',' + window.map.getBounds()._northEast.lat
+ // 姣忔杩涜鎼滅储 閮藉涔嬪墠鏁扮粍鍒楄〃杩涜缃┖
+ this.searchList = []
+ this.total = ''
+ this.searchListStatistics = []
+ // 鎼滅储鏁版嵁data鍙傛暟
+ const getBoundsData = '' + window.map.getBounds().getSouthWest().lng + ',' + window.map.getBounds().getSouthWest().lat + ',' + window.map.getBounds().getNorthEast().lng + ',' + window.map.getBounds().getNorthEast().lat
const data = {
postStr: {
keyWord: this.clickLocation,
level: window.map.getZoom(),
mapBound: getBoundsData,
queryType: 7,
- count: 14,
+ count: 50,
start: 0,
queryTerminal: 10000
},
@@ -99,28 +133,27 @@
// $http.get('http://10.246.133.164//api/search?', data)
reportLocationSearch(data).then(res => {
console.log(res)
- this.searchList = res.pois
- this.total = res.pois.length
+ // 杩斿洖鏁版嵁绫诲瀷 1锛堟櫘閫歅OI锛�
+ if (res.resultType === 1) {
+ this.searchList = res.pois
+ this.total = res.pois.length
+ } else if (res.resultType === 2) {
+ // 杩斿洖鏁版嵁绫诲瀷 2锛堢粺璁�
+ this.searchListStatistics = res.statistics.priorityCitys
+ this.total = res.statistics.priorityCitys.length
+ }
})
},
// 鐐瑰嚮瀹氫綅
locationMapClick (val, index) {
this.activeNum = index
- // console.log(val)
const ps = val.lonlat.trim().split(' ')
- // const htmls = '<div><ul><li>' + val.name + '</li></ul></div>'
- // var myIcon = window.L.divIcon({
- // html: htmls,
- // className: 'company-bindTooltip',
- // iconSize: 16
- // })
this.marker = window.L.marker([ps[1], ps[0]], {
icon: window.L.icon({
iconUrl: iconUrl,
- iconSize: [25, 40],
- iconAnchor: [15, 15]
+ iconSize: [26, 40],
+ iconAnchor: [13, 20]
})
- // icon: myIcon
})
.bindTooltip(val.name, {
permanent: 'true',
@@ -130,15 +163,19 @@
className: ''
})
window.map.addLayer(this.marker)
+ this.layersGroupArrList.push(this.marker)
window.map.setView([ps[1], ps[0]], 17)
pulseEffect([ps[1], ps[0]])
},
// 鐐瑰嚮纭鎸夐挳浜嬩欢
confirm () {
window.mapManager.clearHighlight()
- window.map.removeLayer(this.marker)
+ for (let i = 0; i < this.layersGroupArrList.length; i++) {
+ window.map.removeLayer(this.layersGroupArrList[i])
+ }
this.searchList = []
this.clickLocation = ''
+ this.total = 0
eventBus.$emit('location-setChange', true)
}
}
@@ -146,91 +183,91 @@
</script>
<style lang="less" scoped>
- /*/deep/ .el-row {*/
- /* margin: 2px 0 !important;*/
- /* padding: 0;*/
- /* height: 10px;*/
- /* max-height: 10px;*/
- /*}*/
- .environmental-risk-list {
- color: @color;
- border-bottom: 1px solid rgba(0, 255, 246, 0.14);
+/*/deep/ .el-row {*/
+/* margin: 2px 0 !important;*/
+/* padding: 0;*/
+/* height: 10px;*/
+/* max-height: 10px;*/
+/*}*/
+.environmental-risk-list {
+ color: @color;
+ border-bottom: 1px solid rgba(0, 255, 246, 0.14);
- h3 {
- font-size: 0.1rem;
- }
- }
+ h3 {
+ font-size: 0.1rem;
+ }
+}
- /*<!--.environmental-risk-list:hover {-->*/
- /*<!-- color: @color-highlight;-->*/
- /*<!-- background: @background-color;-->*/
- /*<!--}-->*/
- .search-list {
- h3:hover {
- color: @color-highlight;
- }
- }
+/*<!--.environmental-risk-list:hover {-->*/
+/*<!-- color: @color-highlight;-->*/
+/*<!-- background: @background-color;-->*/
+/*<!--}-->*/
+.search-list {
+ h3:hover {
+ color: @color-highlight;
+ }
+}
- .hover {
- color: @color-highlight;
- }
+.hover {
+ color: @color-highlight;
+}
- .click-location {
- margin: 0 auto;
- text-align: center;
+.click-location {
+ margin: 0 auto;
+ text-align: center;
- .el-input {
- width: 80%;
- margin: 15px auto;
- }
- }
+ .el-input {
+ width: 80%;
+ margin: 15px auto;
+ }
+}
- /deep/
- .warnPagination {
- .btn-quicknext, .btn-quickprev {
- color: #e4e8f1 !important;
- background-color: transparent;
- // border: 1px solid #25AECD;
- border-left: 1px solid #25AECD;
- border-bottom: 1px solid #25AECD;
- border-top: 1px solid #25AECD;
- color: #e4e8f1;
- }
+/deep/
+.warnPagination {
+ .btn-quicknext, .btn-quickprev {
+ color: #e4e8f1 !important;
+ background-color: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
- .el-pager li {
- color: #e4e8f1;
- background: transparent;
- // border: 1px solid #25AECD;
- border-left: 1px solid #25AECD;
- border-bottom: 1px solid #25AECD;
- border-top: 1px solid #25AECD;
- }
+ .el-pager li {
+ color: #e4e8f1;
+ background: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ }
- .el-pager li.active {
- border-color: #25AECD;
- background-color: rgba(38, 222, 253, 0.3);
- color: #e4e8f1;
- }
+ .el-pager li.active {
+ border-color: #25AECD;
+ background-color: rgba(38, 222, 253, 0.3);
+ color: #e4e8f1;
+ }
- .el-pager li:hover {
- border-color: #25AECD;
- background-color: rgba(38, 222, 253, 0.3);
- color: #34e0ff;
- }
+ .el-pager li:hover {
+ border-color: #25AECD;
+ background-color: rgba(38, 222, 253, 0.3);
+ color: #34e0ff;
+ }
- .btn-prev {
- background-color: transparent;
- // border: 1px solid #25AECD;
- border-left: 1px solid #25AECD;
- border-bottom: 1px solid #25AECD;
- border-top: 1px solid #25AECD;
- color: #e4e8f1;
- }
+ .btn-prev {
+ background-color: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
- .btn-next {
- background-color: transparent;
- border: 1px solid #25AECD;
- color: #e4e8f1;
- }
- }
+ .btn-next {
+ background-color: transparent;
+ border: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
+}
</style>
--
Gitblit v1.8.0