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