From b3d9e0d7a9479ba8e615a82e6f454fd2ebf62ac6 Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期六, 29 五月 2021 10:20:16 +0800 Subject: [PATCH] 企业应急-事件上报-搜索定位/经纬度定位修改 --- src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue | 148 ++++++++++++++++++++++-------------------------- 1 files changed, 68 insertions(+), 80 deletions(-) diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue index bfb60e1..084d73e 100644 --- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue +++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue @@ -1,42 +1,34 @@ <template> <div class="report-location-box"> - <div class="report-location"> - <el-tabs v-model="activeName"> - <el-tab-pane label="鐐瑰嚮瀹氫綅" name="first"> - <div class="click-location"> - <el-row> - <el-input type="text" v-model="clickLocation" clearable @focus="focusLocation"></el-input> - </el-row> - <el-row> - <el-button type="primary" @click="confirm">纭</el-button> - </el-row> + <el-tabs v-model="activeName"> + <el-tab-pane label="鎼滅储瀹氫綅" name="first"> + <ReportLocationSearch></ReportLocationSearch> + </el-tab-pane> + <el-tab-pane label="绠℃瀹氫綅" name="second"> + <ReportLocationSection></ReportLocationSection> + </el-tab-pane> + <el-tab-pane label="缁忕含搴﹀畾浣�" name="third"> + <el-row class="place-box"> + <div class="place-left"> + <el-form :model="LongLatPos" label-width="90px"> + <el-form-item label="缁忓害:"> + <el-input v-model="LongLatPos.longPos"></el-input> + </el-form-item> + <el-form-item label="绾害:"> + <el-input v-model="LongLatPos.latPos"></el-input> + </el-form-item> + </el-form> </div> - </el-tab-pane> - <el-tab-pane label="绠℃瀹氫綅" name="second"> - <ReportLocationSection></ReportLocationSection> - </el-tab-pane> - <el-tab-pane label="缁忕含搴﹀畾浣�" name="third"> - <el-row class="place-box"> - <div class="place-left"> - <el-form :model="LongLatPos" label-width="90px"> - <el-form-item label="缁忓害:"> - <el-input v-model="LongLatPos.longPos"></el-input> - </el-form-item> - <el-form-item label="绾害:"> - <el-input v-model="LongLatPos.latPos"></el-input> - </el-form-item> - </el-form> - </div> - <div class="place-right"> - <el-button type="primary" @click="mapPoints">瀹氫綅</el-button> - </div> - </el-row> - <div class="place-bottom" style="text-align: center;margin: 10px"> - <el-button type="primary" @click="confirm">纭</el-button> + <div class="place-right"> + <el-button type="primary" size="small" @click="mapPoints">鐐瑰嚮瀹氫綅</el-button> + <el-button type="primary" size="small" @click="dataPoints">鏁版嵁瀹氫綅</el-button> </div> - </el-tab-pane> - </el-tabs> - </div> + </el-row> + <div class="place-bottom" style="text-align: center;margin: 5px"> + <el-button type="primary" @click="confirm">纭</el-button> + </div> + </el-tab-pane> + </el-tabs> </div> </template> @@ -44,18 +36,22 @@ // import eventBus from '../../../../eventBus' // 绠℃瀹氫綅缁勪欢 import ReportLocationSection from './ReportLocationSection' +import ReportLocationSearch from './ReportLocationSearch' + +import { pulseEffect } from '../../../../utils/utils' + +import iconUrl from '../../../../../public/assets/images/map/loc.png' export default { name: 'ReportLocation', components: { + ReportLocationSearch, ReportLocationSection }, data () { return { // active tab鍒囨崲 activeName: 'first', - // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁 - clickLocation: '', // 缁忕含搴﹀畾浣� LongLatPos: { longPos: '', @@ -63,39 +59,43 @@ } } }, - // mounted () { - // // 鎺ユ敹瑙勫畾 姣忔閲嶆柊閫夋嫨瀹氫綅 閮芥寚瀹� 閫夋嫨绗竴涓紑濮� - // eventBus.$on('tab-change', (obj) => { - // this.activeName = obj - // }) - // }, methods: { - // 鍦板浘涓婄偣鍑� - selectPipeLine () { - window.map.on('click', this.selectClick) - // window.mapManager.clickDialogSwitch = false - }, - // 鍦板浘涓婄偣鍑诲洖璋� - selectClick (e) { - window.map.off('click', this.selectClick) - // const point = [e.latlng.lng, e.latlng.lat] - const pointX = e.latlng.lng - const pointY = e.latlng.lat - this.clickLocation = '\'' + pointX + '\'' + pointY + '' - this.mapPointResult(e) - }, - mapPointResult (e) { - console.log(e) - this.LongLatPos.longPos = e.latlng.lng - this.LongLatPos.latPos = e.latlng.lat - }, - // 鑾峰緱鐒︾偣 杩涜瀹氫綅 - focusLocation () { - this.selectPipeLine() - }, - // 缁忕含搴﹀畾浣� + // 鐐瑰嚮瀹氫綅 mapPoints () { - this.selectPipeLine() + window.map.on('click', (e) => { + this.LongLatPos.longPos = parseFloat(e.latlng.lng).toFixed(6) + this.LongLatPos.latPos = parseFloat(e.latlng.lat).toFixed(6) + const as = [this.LongLatPos.latPos, this.LongLatPos.longPos] + // console.log(as) + window.map.setView(as, 17) + pulseEffect(as) + const marker = window.L.marker(as, { + icon: window.L.icon({ + iconUrl: iconUrl, + iconSize: [30, 30], + iconAnchor: [15, 15] + }) + }) + window.map.addLayer(marker) + window.map.off('click') + }) + }, + // 閫氳繃鏁版嵁瀹氫綅 + dataPoints () { + const as = [this.LongLatPos.latPos, this.LongLatPos.longPos] + // console.log(as) + window.map.setView(as, 17) + pulseEffect(as) + const marker = window.L.marker(as, { + icon: window.L.icon({ + iconUrl: iconUrl, + iconSize: [30, 30], + iconAnchor: [15, 15] + }) + }) + window.map.addLayer(marker) + this.LongLatPos.latPos = '' + this.LongLatPos.longPos = '' }, // 鐐瑰嚮纭鎸夐挳浜嬩欢 confirm () { @@ -115,19 +115,7 @@ align-items: center; justify-content: space-around; } - .click-location { - margin: 0 auto; - text-align: center; - .el-input { - width: 80%; - margin: 15px auto; - } - - .el-button { - margin: 15px auto; - } - } .place { text-align: center; -- Gitblit v1.8.0