From 4adfa4774e09f3b388335bb8dee5dea518856e5b Mon Sep 17 00:00:00 2001
From: yangdelong <828900aaa>
Date: 星期日, 30 五月 2021 19:23:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue |  231 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 193 insertions(+), 38 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 ba23015..f160110 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
@@ -1,32 +1,91 @@
 <template>
-    <div class="click-location">
-        <el-row>
-            <el-input type="text" v-model="clickLocation" clearable @change="focusLocation"></el-input>
-        </el-row>
-        <el-row>
-            <el-button type="primary" @click="confirm" style="text-align: right">纭</el-button>
-        </el-row>
+  <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">
+      <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>
+    <!--        </el-card>-->
+    <el-row style="text-align: right">
+      <el-button type="primary" size="small" @click="confirm">纭</el-button>
+    </el-row>
+  </div>
 </template>
 
 <script>
 
 import { reportLocationSearch } from '../../../../api/request'
 import { pulseEffect } from '../../../../utils/utils'
+import eventBus from '../../../../eventBus'
+import iconUrl from '../../../../../public/assets/images/map/marker-icon.png'
+
 export default {
   name: 'ReportLocationSearch',
   data () {
     return {
+      activeNum: -1,
       // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁
-      clickLocation: ''
+      clickLocation: '',
+      searchList: [],
+      marker: window.L.layerGroup().addTo(window.map),
+      layer: window.L.layerGroup().addTo(window.map),
+      layersGroupArrList: [],
+      total: 0,
+      // 鍒嗛〉 榛樿灞曠ず
+      currentPage: 1,
+      // 鍒嗛〉 姣忛〉澶氬皯鏁版嵁
+      pageSize: 3
     }
   },
   methods: {
-    // 鑾峰緱鐒︾偣 杩涜瀹氫綅
+    handlePage (currentPage) {
+      // this.focusLocation()
+      this.currentPage = currentPage
+    },
+    handleLocation (index) {
+      this.activeNum = index
+    },
+    // 鎼滅储瀹氫綅
     focusLocation () {
-      // console.log(this.clickLocation)
-      // console.log(window.map.getZoom())
-      // console.log(window.map.getBounds())
       const getBoundsData = '' + window.map.getBounds()._southWest.lng + ',' + window.map.getBounds()._southWest.lat + ',' + window.map.getBounds()._northEast.lng + ',' + window.map.getBounds()._northEast.lat
       const data = {
         postStr: {
@@ -40,43 +99,139 @@
         },
         type: 'query'
       }
-      // console.log(data)
+      // $http.get('http://10.246.133.164//api/search?', data)
       reportLocationSearch(data).then(res => {
-        console.log(res)
-        // const as = res.pois[0].lonlat.trim().split(' ')
-        // window.map.setView([as[1], as[0]], 17)
-        // pulseEffect([as[1], as[0]])
-        for (let i = 0; i < res.pois.length; i++) {
-          const as = res.pois[i].lonlat.trim().split(' ')
-          if (res.pois[i].name.indexOf(this.clickLocation) >= 0) {
-            window.map.setView([as[1], as[0]], 17)
-            pulseEffect([as[1], as[0]])
-          }
-        }
+        // console.log(res)
+        this.searchList = res.pois
+        this.total = res.pois.length
+        // this.searchList = res.statistics.priorityCitys
+        // this.total = res.statistics.priorityCitys.length
       })
+    },
+    // 鐐瑰嚮瀹氫綅
+    locationMapClick (val, index) {
+      this.activeNum = index
+      const ps = val.lonlat.trim().split(' ')
+      this.marker = window.L.marker([ps[1], ps[0]], {
+        icon: window.L.icon({
+          iconUrl: iconUrl,
+          iconSize: [26, 40],
+          iconAnchor: [13, 20]
+        })
+      })
+        .bindTooltip(val.name, {
+          permanent: 'true',
+          direction: 'bottom',
+          offset: [0, 10],
+          sticky: true,
+          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 () {
-      // 閫氳繃瀛愮粍浠跺悜鐖剁粍浠朵紶閫掓暟鎹�
-      this.$emit('locationClick', this.LongLatPos)
-      console.log('鎼滅储瀹氫綅')
+      window.mapManager.clearHighlight()
+      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)
     }
   }
 }
 </script>
 
 <style lang="less" scoped>
-    .click-location {
-        margin: 0 auto;
-        text-align: center;
+/*/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);
 
-        .el-input {
-            width: 80%;
-            margin: 15px auto;
-        }
+  h3 {
+    font-size: 0.1rem;
+  }
+}
 
-        .el-button {
-            margin: 15px auto;
-        }
-    }
+/*<!--.environmental-risk-list:hover {-->*/
+/*<!--    color: @color-highlight;-->*/
+/*<!--    background: @background-color;-->*/
+/*<!--}-->*/
+.search-list {
+  h3:hover {
+    color: @color-highlight;
+  }
+}
+
+.hover {
+  color: @color-highlight;
+}
+
+.click-location {
+  margin: 0 auto;
+  text-align: center;
+
+  .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;
+  }
+
+  .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: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-next {
+    background-color: transparent;
+    border: 1px solid #25AECD;
+    color: #e4e8f1;
+  }
+}
 </style>

--
Gitblit v1.8.0