From 79c5d6a424c52ec50e856cdab5d98474cfd02be8 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 07 Mar 2023 17:01:40 +0800
Subject: [PATCH] 火灾管理火灾补录
---
src/views/fire/fireSupplement.vue | 107 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 68 insertions(+), 39 deletions(-)
diff --git a/src/views/fire/fireSupplement.vue b/src/views/fire/fireSupplement.vue
index 02c9089..da4b8dd 100644
--- a/src/views/fire/fireSupplement.vue
+++ b/src/views/fire/fireSupplement.vue
@@ -8,7 +8,17 @@
</div>
<el-row>
<el-col :span="12">
- <avue-form ref="form" v-model="form" :option="option"></avue-form>
+ <avue-form ref="form" v-model="form" :option="option">
+ <template slot="no">
+ <el-autocomplete class="inline-input"
+ v-model="form.no"
+ :fetch-suggestions="querySearch"
+ placeholder="请输入火灾编号"
+ :trigger-on-focus="false"
+ @select="handleSelect"
+ ></el-autocomplete>
+ </template>
+ </avue-form>
</el-col>
<el-col :span="12">
<OpenLayersMap ref="olMap" :mapLocation="mapLocation"></OpenLayersMap>
@@ -54,6 +64,7 @@
<script>
import {add} from "@/api/fireSupplement/fireSupplement";
import OpenLayersMap from "@/components/OpenLayersMap/index";
+import {getAll} from "@/api/fire/fire";
export default {
name: "fireSupplieMent",
@@ -72,10 +83,11 @@
prop: 'no',
span: 24,
type: 'input',
- disabled: true,
+ slot:true
},
{
label: "行政区域",
+ disabled:true,
prop: "location",
span: 24,
type: "cascader",
@@ -83,49 +95,19 @@
label: 'title',
value: 'key'
},
- separator: '',
- lazy: true,
- lazyLoad(node, resolve) {
- let stop_level = 2;
- let level = node.level;
- let data = node.data || {}
- let code = data.key;
- let list = [];
- let callback = () => {
- resolve((list || []).map(ele => {
- return Object.assign(ele, {
- leaf: level >= stop_level
- })
- }));
- }
- if (level == 0) {
- axios.get(`${baseUrl}00`).then(res => {
- list = res.data.data;
- callback()
- })
- } else if (level == 1) {
- axios.get(`${baseUrl}${code}`).then(res => {
- list = res.data.data;
- callback()
- })
- } else if (level == 2) {
- axios.get(`${baseUrl}${code}`).then(res => {
- list = res.data.data;
- callback()
- })
- } else {
- callback()
- }
- }
+ dicUrl: 'api/blade-system/region/lazy-tree',
+ slot: true
},
{
label: '具体地址',
+ disabled:true,
prop: 'address',
span: 24,
type: 'input'
},
{
label: "发现方式",
+ disabled:true,
prop: "findWay",
type: "select",
row: true,
@@ -142,6 +124,7 @@
},
{
label: "火灾等级",
+ disabled:true,
prop: "level",
type: "select",
row: true,
@@ -158,23 +141,27 @@
},
{
label: "发现时间",
+ disabled:true,
prop: "alarmTime",
type: "datetime",
},
{
label: '报警人',
+ disabled:true,
prop: 'caller',
span: 24,
type: 'input'
},
{
label: '火灾描述',
+ disabled:true,
prop: 'description',
span: 24,
type: 'textarea'
},
{
label: '现场图片',
+ disabled:true,
prop: 'images',
listType: 'picture-card',
type: 'upload',
@@ -253,7 +240,7 @@
},
{
label: '重伤人数',
- prop: 'seriousInjuredPerson',
+ prop: 'seriousInjuryPerson',
span: 8,
type: 'input',
append: '人'
@@ -612,7 +599,7 @@
policeResourcesForm: {},
isDetail: false,
mapLocation:{
- isDetail:false
+ isDetail:true
},
}
},
@@ -620,12 +607,16 @@
if (this.info) {
this.initDetail()
} else {
- this.form = this.$route.params
+ this.initSupplement()
}
},
methods: {
submit(form, done) {
form.fireId = this.form.id
+ if (!form.fireId){
+ this.$message.warning("请填写需要补录的火灾编号");
+ return
+ }
form.economicLoss = this.economicData
form.damageArea = this.damageAreaData
form.policeResources = this.policeResourcesData
@@ -760,10 +751,48 @@
location:[this.form.lon,this.form.lat]
}
},
+ //补录
+ initSupplement(){
+ this.form = this.$route.params
+ if (this.form.id){
+ this.option.detail = true
+ this.mapLocation = {
+ isDetail: true,
+ location:[this.form.lon,this.form.lat]
+ }
+ }
+
+ },
+ //返回列表页
goToList() {
this.isDetail = false
this.$emit('goToList')
+ },
+ //自动补全
+ 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)
+ }
+ })
+ },
+ //选择事件
+ handleSelect(item){
+ Object.assign(this.form,item)
+ this.mapLocation = {
+ isDetail:true,
+ location:[this.form.lon,this.form.lat]
+ }
+ this.$refs.olMap.addPoint(this.mapLocation.location)
}
+ },
+ destroyed() {
+ //点击其他菜单时会关闭当前页,防止出现多个相同tab
+ this.$router.$avueRouter.closeTag("/fire/fireSupplement")
}
}
</script>
--
Gitblit v1.9.3