企业消防基础信息统计

pull/6/head
liujun 2024-01-15 12:21:18 +08:00
parent 053a39279c
commit 7e4ba6c714
11 changed files with 1718 additions and 10 deletions

View File

@ -0,0 +1,326 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-col :span="4">
<el-form-item label="消防器材类型:" label-width="110px">
<el-select v-model="keySelect.FIRE_DEVICE_TYPE_ID" placeholder="请选择">
<el-option
v-for="item in typeData"
:key="item.NAME"
:label="item.NAME"
:value="item.BIANMA"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="消防区域" label-width="110px">
<el-select v-model="keySelect.FIRE_REGION_ID" placeholder="请选择" class="filter-item">
<el-option
v-for="item in varRegionList"
:key="item.FIRE_REGION_ID"
:label="item.FIRE_REGION_NAME"
:value="item.FIRE_REGION_ID"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="消防点位" label-width="110px">
<el-input v-model="keySelect.FIRE_POINT_NAME" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="器材编号" label-width="110px">
<el-input v-model="keySelect.FIRE_DEVICE_CODE" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="8">
<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"
reserve-selection
align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRE_DEVICE_TYPE_NAME" label="器材类型"/>
<el-table-column prop="FIRE_DEVICE_CODE" label="器材编号"/>
<el-table-column prop="FIRE_REGION_NAME" label="消防区域名称"/>
<el-table-column prop="FIRE_POINT_NAME" label="消防点位名称"/>
<el-table-column prop="FIRE_REGION_CODE" label="消防区域编码"/>
<el-table-column prop="FIRE_POINT_CODE" label="消防点位编码"/>
<el-table-column prop="VALIDITY_START_TIME" label="有效期开始时间"/>
<el-table-column prop="VALIDITY_END_TIME" label="有效期结束时间"/>
<el-table-column prop="REMAKE" label="存放地点"/>
<el-table-column prop="DEPARTMENTNAME" width ="170" label="负责部门"/>
<el-table-column prop="USERNAME" label="点位负责人"/>
</el-table>
<div class="page-btn-group">
<div>
<el-button @click = "goBack()"> </el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList(FIRE_DEVICE_ID)"/>
</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 { upload } from '@/utils/upload'
export default {
components: { Pagination, SelectTree },
directives: { waves },
inject: ['setActiveName', 'getInfo', 'setInfo'],
data() {
return {
addBtnType: true,
listLoading: true,
add: false,
del: false,
edit: false,
form: {
FIRE_DEVICE_TYPE_ID: '',
FIRE_REGION_ID: ''
},
keySelect: {
FIRE_DEVICE_TYPE_ID: '',
FIRE_REGION_ID: '',
FIRE_POINT_NAME: '',
FIRE_DEVICE_CODE: ''
},
treeData: [],
typeData: [],
varRegionList: [],
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
FIRE_POINT_NAME: '',
FIRE_POINT_CODE: '',
//
filterText: '',
varList: [],
pd: [],
defaultProps: {
value: 'id',
children: 'children',
label: 'name'
},
daoruFrom: {
FFILEName: '',
FFILE: ''
}
}
},
watch: {
filterText(val) {
console.log(val)
this.$refs.tree.filter(val)
}
},
created() {
this.getList()
this.hasButton()
this.getDict()
this.getTreeData()
this.getFireRegion()
},
methods: {
getTreeData() {
requestFN(
'/department/listTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
//
getFireRegion() {
requestFN(
'/fireregion/getAllRegionName',
{}
).then((data) => {
this.varRegionList = data.varList
}).catch((e) => {
})
},
goImportStand(FIRE_DEVICE_ID) {
this.$parent.FIRE_DEVICE_ID = FIRE_DEVICE_ID
this.$parent.activeName = 'Info'
},
getRowKey(row) {
return row.FIRE_DEVICE_ID
},
//
getQuery() {
this.getList()
},
//
getList(pid) {
this.listLoading = true
this.varList = []
this.FIRE_POINT_ID = pid
requestFN(
'/fireDevice/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
FIRE_REGION_ID: this.keySelect.FIRE_REGION_ID,
FIRE_DEVICE_TYPE_ID: this.keySelect.FIRE_DEVICE_TYPE_ID,
FIRE_POINT_NAME: this.keySelect.FIRE_POINT_NAME,
FIRE_DEVICE_CODE: this.keySelect.FIRE_DEVICE_CODE,
CORPINFO_ID: this.getInfo().CORPINFO_ID
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goKeyReset() {
this.keySelect.FIRE_DEVICE_TYPE_ID = ''
this.keySelect.FIRE_REGION_ID = ''
this.keySelect.FIRE_DEVICE_CODE = ''
this.getList()
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '249151f04fd64132a949fdd430a7b9c5'
}
).then((data) => {
this.typeData = data.list
console.log(this.typeData)
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a661fa8aedc4d158c9cddaa9d2ec47e'
}
).then((data) => {
this.listingLevelList = this.listingLevelList.concat(data.list)
})
.catch((e) => {
this.listLoading = false
})
},
hasButton: function() {
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.listmanagerfhadminadd //
this.del = data.listmanagerfhadmindel //
this.edit = data.listmanagerfhadminedit //
this.toExcel = data.toExcel // excel
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.rightCont {
width: 100%
}
</style>
<style lang="sass" scoped>
.table-qrcode
text-align: center
padding-top: 20px
width: 100%
.filter-container
position: relative
.filter-flot
position: absolute
right: 0
top: 0
.uploader
width: 570px
display: flex
align-items: center
.el-form-item__content
line-height: 1
.ud-flex
display: flex
</style>

View File

@ -0,0 +1,333 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-row>
<el-col :span="4">
<el-form-item label="点位名称" label-width="110px">
<el-input v-model="FIRE_POINT_NAME" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="点位编码" label-width="110px">
<el-input v-model="FIRE_POINT_CODE" 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-row>
</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
:selectable="selectable"
type="selection"
reserve-selection
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRE_REGION_NAME" label="区域名称"/>
<el-table-column prop="FIRE_POINT_NAME" label="点位名称"/>
<el-table-column prop="FIRE_POINT_CODE" label="编码"/>
<el-table-column prop="DEVICE_COUNT" label="点位下消防器材数"/>
<el-table-column prop="DEPARTMENT_NAME" label="负责部门"/>
<el-table-column prop="USERNAME" label="负责人"/>
<el-table-column label="操作">
<template slot-scope="{row}">
<el-button
v-show="true"
class="tiffany-btn"
icon="el-icon-picture"
type="primary"
size="mini"
@click="handleShowQr(row)">点位二维码
</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
<el-button icon="el-icon-plus" @click="goBack()"> </el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList(FIRE_POINT_ID)"/>
</div>
</div>
</div>
<el-dialog :visible.sync="dialogFormShow" title="查看二维码" width="680px" class="top-dialog">
<div id="printTest" style="border: 1px solid #fff;">
<div class="level-title" style="margin-top:20px">
<h1>消防点位信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="tbg">消防区域</td>
<td >{{ qrInfo.FIRE_REGION_NAME }}</td>
<td class="tbg">消防点位</td>
<td>{{ qrInfo.FIRE_POINT_NAME }}</td>
</tr>
<tr>
<td class="tbg">负责部门</td>
<td>{{ qrInfo.DEPARTMENT_NAME }}</td>
<td class="tbg">负责人</td>
<td>{{ qrInfo.USERNAME }}</td>
</tr>
</table>
<div class="table-qrcode">
<vue-qr :text="qrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormShow = false"> </el-button>
<el-button v-print="'#printTest'" type="primary"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import vueQr from 'vue-qr'
import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
export default {
components: { Pagination, SelectTree, vueQr },
inject: ['setActiveName', 'getInfo', 'setInfo'],
directives: { waves },
data() {
return {
config: config,
addBtnType: true,
listLoading: true,
dialogFormShow: false,
qrcodeStr: '',
qrInfo: {},
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
FIRE_POINT_NAME: '',
FIRE_POINT_CODE: '',
//
filterText: '',
varList: [],
pd: [],
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
}
}
},
watch: {
filterText(val) {
console.log(val)
this.$refs.tree.filter(val)
}
},
created() {
this.getList()
},
methods: {
handleShowQr(ROW) {
this.dialogFormShow = true
this.qrInfo = ROW
this.qrcodeStr = this.config.weburlWaiwang + 'static/qrcode/views/bsbw/point_list.html?id=' + ROW.FIRE_POINT_ID
},
handleEdit(FIRE_POINT_ID) {
this.$parent.FIRE_POINT_ID = FIRE_POINT_ID
this.$parent.activeName = 'Edit'
},
selectable(row, index) {
return row.DEVICE_COUNT == 0
},
getRowKey(row) {
return row.FIRE_POINT_ID
},
//
handleAdd() {
this.$parent.activeName = 'Edit'
this.$parent.FIRE_POINT_ID = ''
this.$parent.FIRE_POINT_CODE = ''
this.$parent.FIRE_POINT_NAME = ''
},
//
getQuery() {
this.getList()
},
//
getList(pid) {
this.listLoading = true
this.varList = []
this.FIRE_POINT_ID = pid
requestFN(
'/firePoint/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
FIRE_POINT_NAME: this.FIRE_POINT_NAME,
FIRE_POINT_CODE: this.FIRE_POINT_CODE,
CORPINFO_ID: this.getInfo().CORPINFO_ID
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
}, goKeyReset() {
this.FIRE_POINT_NAME = ''
this.FIRE_POINT_CODE = ''
this.getList()
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a661fa8aedc4d158c9cddaa9d2ec47e'
}
).then((data) => {
this.listingLevelList = this.listingLevelList.concat(data.list)
})
.catch((e) => {
this.listLoading = false
})
},
handleDelete(row) {
const DATA_IDS = []
if (row.FIRE_POINT_ID) {
DATA_IDS.push(row.FIRE_POINT_ID)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
this.$message({
type: 'warning',
message: '请选择要删除的数据'
})
return
}
selection.forEach(item => {
DATA_IDS.push(item.FIRE_POINT_ID)
})
}
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/firePoint/removeFirePointByIds',
{
DATA_IDS: DATA_IDS.join(',')
}
).then(() => {
this.$message({
message: '删除成功',
type: 'success'
})
this.$refs.multipleTable.clearSelection()
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getList(this.FIRE_POINT_ID)
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
hasButton: function() {
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.listmanagerfhadminadd //
this.del = data.listmanagerfhadmindel //
this.edit = data.listmanagerfhadminedit //
this.toExcel = data.toExcel // excel
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped >
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.table-qrcode{
text-align: center;
padding-top: 20px;
width: 100%;
}
.rightCont {
width: 100%
}
</style>

View File

@ -0,0 +1,188 @@
<template>
<div class="app-container">
<div class="rightCont">
<el-form label-width="50px">
<el-row>
<el-col :span="4">
<el-form-item label="区域名称/编码" label-width="110px">
<el-input v-model="KEYWORDS" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4"/>
<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-row>
</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 :selectable="selectable" type="selection" reserve-selection width="55" align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRE_REGION_NAME" label="区域名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="负责部门"/>
<el-table-column prop="FIRE_REGION_CODE" label="编码"/>
<el-table-column prop="ITEMCOUNT" label="区域下点位数"/>
<el-table-column prop="STATE" label="状态">
<template slot-scope="{row}">
<span v-if="row.STATE === 1" class="color-red"></span>
<span v-if="row.STATE === 0" class="color-green"></span>
</template>
</el-table-column>
<el-table-column prop="REMAKE" label="备注"/>
</el-table>
<div class="page-btn-group">
<div>
<el-button @click="goBack"> </el-button>
</div>
<pagination
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList(HIDDENREGION_ID)"/>
</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'
export default {
components: { Pagination, SelectTree },
inject: ['setActiveName', 'getInfo', 'setInfo'],
directives: { waves },
data() {
return {
addBtnType: true,
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
//
filterText: '',
varList: []
}
},
watch: {
filterText(val) {
console.log(val)
this.$refs.tree.filter(val)
}
},
created() {
this.getList()
this.hasButton()
this.getTreeList()
},
methods: {
getRowKey(row) {
return row.FIRE_REGION_ID
},
selectable(row, index) {
return row.ITEMCOUNT == 0
},
//
getQuery() {
this.getList()
},
//
getList(pid) {
this.listLoading = true
this.varList = []
this.HIDDENREGION_ID = pid
requestFN(
'/fireregion/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS,
CORPINFO_ID: this.getInfo().CORPINFO_ID
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
}, goKeyReset() {
this.KEYWORDS = ''
this.getList()
},
hasButton: function() {
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.listmanagerfhadminadd //
this.del = data.listmanagerfhadmindel //
this.edit = data.listmanagerfhadminedit //
this.toExcel = data.toExcel // excel
}).catch((e) => {
this.listLoading = false
})
},
getTreeList() {
this.treeLoading = true
requestFN(
'/hiddenRegion/listAll',
{}
).then((data) => {
this.treeLoading = false
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
this.treeLoading = false
})
},
goBack() {
this.setActiveName('List')
}
}
}
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
align-items: baseline;
}
.rightCont {
width: 100%
}
</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:'FireRegion'})">
{{ row.xiaoFangQuYuNum }}
</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:'FirePoint'})">
{{ row.xiaoFangDianWeiNum }}
</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:'FireDevice'})">
{{ row.xiaoFangQiCaiNum }}
</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/utilList?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 FireRegion from './components/fireRegion'
import FirePoint from './components/firePoint.vue'
import FireDevice from './components/fireDevice.vue'
export default {
components: {
List, FireRegion, FirePoint, FireDevice
},
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

@ -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

@ -464,16 +464,16 @@ export default {
containAuthorization: [],
eliminateAuthorization: []
},
// {
// label: '',
// dialog_width: '600px',
// check: false,
// type: 'xfsy01',
// img: require('../../assets/map/gangkou_index/buttom/ico7.png'),
// checkImg: require('../../assets/map/gangkou_index/buttom/ico7_on.png'),
// containAuthorization: [],
// eliminateAuthorization: []
// },
{
label: '消防水源',
dialog_width: '600px',
check: false,
type: 'xfsy01',
img: require('../../assets/map/gangkou_index/buttom/ico7.png'),
checkImg: require('../../assets/map/gangkou_index/buttom/ico7_on.png'),
containAuthorization: [],
eliminateAuthorization: []
},
{
label: '消防点位',
dialog_width: '600px',