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/fireSupplement.vue | 57 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 45 insertions(+), 12 deletions(-)
diff --git a/src/views/fire/fireSupplement.vue b/src/views/fire/fireSupplement.vue
index da4b8dd..353eb6a 100644
--- a/src/views/fire/fireSupplement.vue
+++ b/src/views/fire/fireSupplement.vue
@@ -7,7 +7,7 @@
<el-button v-if="isDetail" size="small" @click="goToList">返回</el-button>
</div>
<el-row>
- <el-col :span="12">
+ <el-col :span="11">
<avue-form ref="form" v-model="form" :option="option">
<template slot="no">
<el-autocomplete class="inline-input"
@@ -16,9 +16,13 @@
placeholder="请输入火灾编号"
:trigger-on-focus="false"
@select="handleSelect"
+ @blur="inputBlur"
></el-autocomplete>
</template>
</avue-form>
+ </el-col>
+ <el-col :span="1">
+
</el-col>
<el-col :span="12">
<OpenLayersMap ref="olMap" :mapLocation="mapLocation"></OpenLayersMap>
@@ -65,13 +69,13 @@
import {add} from "@/api/fireSupplement/fireSupplement";
import OpenLayersMap from "@/components/OpenLayersMap/index";
import {getAll} from "@/api/fire/fire";
+import {getLazyTree} from "@/api/base/region";
export default {
name: "fireSupplieMent",
components: {OpenLayersMap},
props: ['info'],
data() {
- let baseUrl = '/api/blade-system/region/lazy-tree?parentCode='
return {
form: {},
option: {
@@ -95,7 +99,8 @@
label: 'title',
value: 'key'
},
- dicUrl: 'api/blade-system/region/lazy-tree',
+ // dicUrl: 'api/blade-system/region/lazy-tree',
+ dicData:[],
slot: true
},
{
@@ -601,9 +606,19 @@
mapLocation:{
isDetail:true
},
+ fireList:[],
}
},
created() {
+ //手动加载区域的数据字典,使用dicUrl会使其他数据字典回显更慢
+ getLazyTree().then(res=>{
+ if (res.data.code == 200){
+ let data = res.data.data
+ data.shift()
+ const column = this.findObject(this.option.column, "location");
+ column.dicData = data
+ }
+ })
if (this.info) {
this.initDetail()
} else {
@@ -760,8 +775,17 @@
isDetail: true,
location:[this.form.lon,this.form.lat]
}
+ }else {
+ getAll().then(res=>{
+ if (res.data.code == 200){
+ let data = res.data.data
+ data.forEach(e=>{
+ e.value = e.no
+ })
+ this.fireList = data
+ }
+ })
}
-
},
//返回列表页
goToList() {
@@ -770,14 +794,11 @@
},
//自动补全
querySearch(queryString, cb){
- getAll({no:queryString}).then(res=>{
- if (res.data.code == 200){
- let data = res.data.data
- data.forEach(e=>{
- e.value = e.no
- })
- cb(data)
- }
+ this.$nextTick(()=>{
+ let filterArray = this.fireList.filter(e => {
+ return e.no.indexOf(queryString) != -1
+ })
+ cb(filterArray)
})
},
//选择事件
@@ -788,6 +809,18 @@
location:[this.form.lon,this.form.lat]
}
this.$refs.olMap.addPoint(this.mapLocation.location)
+ },
+ inputBlur(e){
+ let value = e.target.value
+ let filterArray = this.fireList.filter(e => {
+ return e.no.indexOf(value) != -1
+ })
+ if (filterArray.length>0){
+ this.handleSelect(filterArray[0])
+ }else {
+ this.$refs.form.resetForm()
+ this.$refs.olMap.clearDraw()
+ }
}
},
destroyed() {
--
Gitblit v1.9.3