消防资源统计功能模块

pull/6/head
liujun 2024-01-12 14:44:44 +08:00
parent d027db8bb7
commit 053a39279c
7 changed files with 694 additions and 2 deletions

View File

@ -9,7 +9,15 @@ module.exports = {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
proxyTable: {
'/api': {
target: 'http://192.168.151.56:8092/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
// Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST

View File

@ -0,0 +1,169 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-col :span="5">
<el-form-item label="名称:" label-width="110px">
<el-input v-model="form.FIRERESOURCES_NAME" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-form>
<div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
border
tooltip-effect="dark"
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRERESOURCES_NAME" label="名称"/>
<el-table-column prop="FIRERESOURCES_TYPENAME" label="消防资源类型"/>
<el-table-column prop="LONGTITUDE" label="消防资源经纬度">
<template slot-scope="{row}">
{{ row.LONGTITUDE }} -- {{ row.LATITUDE }}
</template>
</el-table-column>
<el-table-column prop="CREATIME" label="创建时间"/>
</el-table>
<div class="page-btn-group">
<div>
<el-button @click="getBack"></el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList()"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
import TiandiMap from '../../../../components/TianMap/TiandiMap'
export default {
components: { Pagination, SelectTree, TiandiMap },
directives: { waves },
inject: ['setActiveName', 'getInfo', 'setInfo'],
data() {
return {
config: config,
firekzsImgs: [],
waitForDeleteImgs: [],
dialogImageUrl: '',
dialogVisible: false,
dialogFormMap: false,
map: null,
corpList: [],
marker: null,
describeList: [
{
code: '',
palce: '',
name: '',
type: '',
corp: '',
ramake: ''
}
],
addBtnType: true,
FIRE_RESOURCES_TYPE: '',
listLoading: true,
form: {
FIRERESOURCES_NAME: '',
FIRERESOURCES_TYPE: 'xfkzs01',
CORPINFO_ID: ''
},
diaLoading: false,
LONGTITUDE: '', //
LATITUDE: '', //
treeData: [],
typeData: [],
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
//
varList: []
}
},
created() {
this.form.CORPINFO_ID = this.getInfo().CORPINFO_ID
this.getList()
},
methods: {
getRowKey(row) {
return row.FIRE_DEVICE_ID
},
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
this.varList = []
requestFN(
'/fireResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goKeyReset() {
this.form.FIRERESOURCES_NAME = ''
this.getList()
},
getBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.rightCont {
width: 100%
}
#map {
width: 1000px;
height: 500px;
}
</style>

View File

@ -0,0 +1,169 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-col :span="5">
<el-form-item label="名称:" label-width="110px">
<el-input v-model="form.FIRERESOURCES_NAME" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-form>
<div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
border
tooltip-effect="dark"
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRERESOURCES_NAME" label="名称"/>
<el-table-column prop="FIRERESOURCES_TYPENAME" label="消防资源类型"/>
<el-table-column prop="LONGTITUDE" label="消防资源经纬度">
<template slot-scope="{row}">
{{ row.LONGTITUDE }} -- {{ row.LATITUDE }}
</template>
</el-table-column>
<el-table-column prop="CREATIME" label="创建时间"/>
</el-table>
<div class="page-btn-group">
<div>
<el-button @click="getBack"></el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList()"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
import TiandiMap from '../../../../components/TianMap/TiandiMap'
export default {
components: { Pagination, SelectTree, TiandiMap },
directives: { waves },
inject: ['setActiveName', 'getInfo', 'setInfo'],
data() {
return {
config: config,
firekzsImgs: [],
waitForDeleteImgs: [],
dialogImageUrl: '',
dialogVisible: false,
dialogFormMap: false,
map: null,
corpList: [],
marker: null,
describeList: [
{
code: '',
palce: '',
name: '',
type: '',
corp: '',
ramake: ''
}
],
addBtnType: true,
FIRE_RESOURCES_TYPE: '',
listLoading: true,
form: {
FIRERESOURCES_NAME: '',
FIRERESOURCES_TYPE: 'xfbf01',
CORPINFO_ID: ''
},
diaLoading: false,
LONGTITUDE: '', //
LATITUDE: '', //
treeData: [],
typeData: [],
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
//
varList: []
}
},
created() {
this.form.CORPINFO_ID = this.getInfo().CORPINFO_ID
this.getList()
},
methods: {
getRowKey(row) {
return row.FIRE_DEVICE_ID
},
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
this.varList = []
requestFN(
'/fireResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goKeyReset() {
this.form.FIRERESOURCES_NAME = ''
this.getList()
},
getBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.rightCont {
width: 100%
}
#map {
width: 1000px;
height: 500px;
}
</style>

View File

@ -0,0 +1,169 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-col :span="5">
<el-form-item label="名称:" label-width="110px">
<el-input v-model="form.FIRERESOURCES_NAME" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-form>
<div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
border
tooltip-effect="dark"
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRERESOURCES_NAME" label="名称"/>
<el-table-column prop="FIRERESOURCES_TYPENAME" label="消防资源类型"/>
<el-table-column prop="LONGTITUDE" label="消防资源经纬度">
<template slot-scope="{row}">
{{ row.LONGTITUDE }} -- {{ row.LATITUDE }}
</template>
</el-table-column>
<el-table-column prop="CREATIME" label="创建时间"/>
</el-table>
<div class="page-btn-group">
<div>
<el-button @click="getBack"></el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList()"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
import TiandiMap from '../../../../components/TianMap/TiandiMap'
export default {
components: { Pagination, SelectTree, TiandiMap },
directives: { waves },
inject: ['setActiveName', 'getInfo', 'setInfo'],
data() {
return {
config: config,
firekzsImgs: [],
waitForDeleteImgs: [],
dialogImageUrl: '',
dialogVisible: false,
dialogFormMap: false,
map: null,
corpList: [],
marker: null,
describeList: [
{
code: '',
palce: '',
name: '',
type: '',
corp: '',
ramake: ''
}
],
addBtnType: true,
FIRE_RESOURCES_TYPE: '',
listLoading: true,
form: {
FIRERESOURCES_NAME: '',
FIRERESOURCES_TYPE: 'xfsy01',
CORPINFO_ID: ''
},
diaLoading: false,
LONGTITUDE: '', //
LATITUDE: '', //
treeData: [],
typeData: [],
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
//
varList: []
}
},
created() {
this.form.CORPINFO_ID = this.getInfo().CORPINFO_ID
this.getList()
},
methods: {
getRowKey(row) {
return row.FIRE_DEVICE_ID
},
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
this.varList = []
requestFN(
'/fireResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goKeyReset() {
this.form.FIRERESOURCES_NAME = ''
this.getList()
},
getBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.rightCont {
width: 100%
}
#map {
width: 1000px;
height: 500px;
}
</style>

View File

@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-form label-width="80px">
<el-row>
<el-col :span="6">
<el-form-item label="企业名称">
<el-input v-model="form.KEYWORDS" placeholder="请输入企业名称..."/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" class="ml-10" @click="getList">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="resetting">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="loading"
ref="multipleTable"
:data="list"
:row-key="getRowKey"
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
tooltip-effect="dark"
border
fit
highlight-current-row>
<el-table-column :reserve-selection="true" type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column label="企业名称" align="center" prop="CORP_NAME"/>
<el-table-column label="属地" align="center" prop="COMPANY_AREA"/>
<el-table-column label="消防控制室数" align="center">
<template slot-scope="{row}">
<div class="link-type" @click="goControlRoomInfo({CORPINFO_ID:row.CORPINFO_ID,TYPE:'FireControlRoom'})">
{{ row.xiaoFangKongZhiShiNum }}
</div>
</template>
</el-table-column>
<el-table-column label="消防泵房数" align="center">
<template slot-scope="{row}">
<div class="link-type" @click="goControlRoomInfo({CORPINFO_ID:row.CORPINFO_ID,TYPE:'FirePumpRoom'})">
{{ row.xiaoFangBengFangNum }}
</div>
</template>
</el-table-column>
<el-table-column label="消防水源数" align="center">
<template slot-scope="{row}">
<div class="link-type" @click="goControlRoomInfo({CORPINFO_ID:row.CORPINFO_ID,TYPE:'FireResources'})">
{{ row.xiaoFangShuiYuanNum }}
</div>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList()"/>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination },
directives: { waves },
inject: ['setActiveName', 'getInfo', 'setInfo'],
data() {
return {
loading: true,
list: [],
listQuery: {
page: 1,
limit: 20
},
total: 0,
authority: {
add: false,
del: false,
edit: false
},
form: {
KEYWORDS: ''
}
}
},
created() {
this.getList()
},
methods: {
getList() {
this.loading = true
requestFN(
'/fireReport/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
this.list = data.list
this.total = data.page.totalResult
this.loading = false
}).catch((e) => {
this.loading = false
})
},
getRowKey(row) {
return row.CORPINFO_ID
},
resetting() {
this.form.KEYWORDS = ''
this.getList()
},
goControlRoomInfo(e) {
this.setActiveName(e.TYPE)
this.setInfo(e)
}
}
}
</script>
<style>
.tree_dialog .selectTree {
width: 300px;
}
.hide .el-upload--picture-card {
display: none;
}
</style>

View File

@ -0,0 +1,46 @@
<template>
<component :is="parentObj.activeName"/>
</template>
<script>
import List from './components/list'
import FirePumpRoom from './components/firePumpRoom'
import FireResources from './components/fireResources.vue'
import FireControlRoom from './components/fireControlRoom.vue'
export default {
components: {
List, FirePumpRoom, FireResources, FireControlRoom
},
data() {
return {
parentObj: {
activeName: 'List',
CORPINFO_ID: ''
},
info: {}
}
},
methods: {
setActiveName(activeName) {
this.parentObj.activeName = activeName
},
getInfo() {
return this.info
},
setInfo(e) {
this.info = e
}
},
provide() {
return {
parentObj: this.parentObj,
setActiveName: this.setActiveName,
getInfo: this.getInfo,
setInfo: this.setInfo
}
}
}
</script>
<style scoped>
</style>

View File

@ -1,6 +1,6 @@
const config = {
weburl: 'http://192.168.0.45:8082/', // 前台地址
httpurl: 'http://192.168.151.56:8092/', // 后台地址
httpurl: '/api', // 后台地址
qyurl: 'http://192.168.0.45:8080/', // 企业前台
fileUrl: 'http://192.168.192.201:8991/file/', // 附件服务器地址
publicKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2zCyUYSD0pNrbtaYdvGfHfWoRV+fo/2N9O2PLLz/jZvMkigkq4eAq4JO+Ek0wDHI9WxP6iTSLYCHhIOs9CQTPvyldJFm8riZtQZlBTD8Plkb3rjrgwTqbBi3w3+HKYdkSvGFXJIdSOPbpXnj5BzN8vlVaybs24R/vpUzG9178lwIDAQAB',