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