From 9ecc792eb82c7a94f35ea7f2056567202c6efbff Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Mar 2023 11:00:19 +0800
Subject: [PATCH] 地图选点方式改变,点击按钮后根据所选行政区跳转
---
src/views/fire/fireAdd.vue | 53 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 46 insertions(+), 7 deletions(-)
diff --git a/src/views/fire/fireAdd.vue b/src/views/fire/fireAdd.vue
index 69161dd..a456c4d 100644
--- a/src/views/fire/fireAdd.vue
+++ b/src/views/fire/fireAdd.vue
@@ -1,24 +1,34 @@
<template>
<basic-container>
<el-row>
- <el-col :span="12">
+ <el-col :span="11">
<avue-form ref="form" v-model="form" :option="option" @submit="submit"></avue-form>
</el-col>
+ <el-col :span="1">
+
+ </el-col>
<el-col :span="12">
+ <OpenLayersMap ref="olMap" @getMapData="getMapData" :map-location="mapLocation"></OpenLayersMap>
</el-col>
</el-row>
</basic-container>
</template>
<script>
-import axios from '@/router/axios';
import {add} from "@/api/fire/fire";
+import OpenLayersMap from "@/components/OpenLayersMap/index";
+import axios from "@/router/axios"
+import {getDetail} from "@/api/base/region";
export default {
name: "fireAdd",
+ components: {OpenLayersMap},
data() {
let baseUrl = '/api/blade-system/region/lazy-tree?parentCode='
return {
form:{},
+ mapLocation:{
+ isDetail:false
+ },
option: {
column: [
{
@@ -36,7 +46,7 @@
label: 'title',
value: 'key'
},
- separator:'',
+ separator: '',
lazy: true,
lazyLoad(node, resolve) {
let stop_level = 2;
@@ -56,7 +66,7 @@
list = res.data.data;
callback()
})
- }else if (level == 1) {
+ } else if (level == 1) {
axios.get(`${baseUrl}${code}`).then(res => {
list = res.data.data;
callback()
@@ -66,10 +76,10 @@
list = res.data.data;
callback()
})
- }else{
+ } else {
callback()
}
- }
+ },
},
{
label:'具体地址',
@@ -126,7 +136,8 @@
label:'火灾描述',
prop:'description',
span:24,
- type:'textarea'
+ type:'textarea',
+ minRows:3,
},
{
label: '现场图片',
@@ -146,6 +157,17 @@
},
mounted() {
},
+ watch:{
+ "form.location":{
+ handler(newVal){
+ if (newVal){
+ if (newVal.length == 3){
+ this.getRegionDetail(newVal)
+ }
+ }
+ }
+ }
+ },
methods: {
submit(form,done){
add(form).then(res=>{
@@ -155,6 +177,7 @@
message: "操作成功!"
});
this.$refs.form.resetForm()
+ this.$refs.olMap.clearDraw()
done();
}else {
this.$message({
@@ -163,6 +186,22 @@
});
done();
}
+ }),error=>{
+ window.console.log(error);
+ done();
+ }
+ },
+ //获取地图经纬度
+ getMapData(data){
+ this.form.lon = data[0]
+ this.form.lat = data[1]
+ },
+ getRegionDetail(regionCode){
+ let code = regionCode[2]
+ getDetail(code).then(res=>{
+ let data = res.data.data
+ let regionName = [data.provinceName,data.cityName,data.districtName]
+ this.$refs.olMap.getLocation(regionCode,regionName)
})
}
}
--
Gitblit v1.9.3