指挥模块样式调整

liujun0703-新项目开发
liujun 2024-08-12 11:12:19 +08:00
parent a23cf15888
commit d598ba41fd
7 changed files with 481 additions and 17 deletions

View File

@ -6,17 +6,26 @@
:title="title"
:width="width"
append-to-body
custom-class="bi_enterprise_dialog"
top="5vh"
@close="handlerClose">
<!-- 消防模块 -->
<xf-point v-if="value.otherInfo.type === 'point'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<xf-control v-if="value.otherInfo.type === 'xfbf01' || value.otherInfo.type ==='xfkzs01' || value.otherInfo.type ==='xfjyd01' || value.otherInfo.type ==='xfsy01'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<xf-point v-if="value.otherInfo && value.otherInfo.type === 'point'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<xf-control v-if="value.otherInfo && (value.otherInfo.type === 'xfbf01' || value.otherInfo.type ==='xfkzs01' || value.otherInfo.type ==='xfjyd01' || value.otherInfo.type ==='xfsy01')" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<!-- 气象模块 -->
<weatherstation v-if="value.type === '12'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<windspeedstation v-if="value.type === '11'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<weatherstation v-if="value.type === '12'" :id="value.id" :type="value.type" :gangkou="gangkou"/>
<windspeedstation v-if="value.type === '11'" :id="value.id" :type="value.type" :gangkou="gangkou"/>
<!-- 摄像头 -->
<video-play-plat v-if="value.otherInfo.type === 'platcamera'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<video-play-plat v-if="value.otherInfo && value.otherInfo.type === 'platcamera'" :id="value.id" :type="value.otherInfo.type" :gangkou="gangkou"/>
<!-- 物资装备库 -->
<wu-zi v-if="value.type === '0'" :id="value.id" :type="value.type"/>
<!-- 避难所 -->
<bi-nan-suo v-if="value.type === '1'" :id="value.id" :type="value.type"/>
<!-- 排水井 -->
<pai-shui-jing v-if="value.type === '2'" :id="value.id" :type="value.type"/>
<!-- 封闭卡口 -->
<feng-bi-ka-kou v-if="value.type === '3'" :id="value.id" :type="value.type"/>
<!-- 报警点 -->
<bao-jing v-if="value.type === '13'" :id="value.id" :type="value.type"/>
</el-dialog>
</div>
</template>
@ -27,9 +36,14 @@ import XfPoint from '../../../map/dialog/xfPoint.vue'
import weatherstation from '../../../map/dialog/weatherstation.vue'
import windspeedstation from '../../../map/dialog/weatherstation.vue'
import videoPlayPlat from '../../../map/dialog/video_play_plat.vue'
import WuZi from '../dialog/wuZi.vue'
import BiNanSuo from '../dialog/biNanSuo.vue'
import PaiShuiJing from '../dialog/paiShuiJing.vue'
import FengBiKaKou from '../dialog/fengBiKaKou.vue'
import BaoJing from '../dialog/baoJing.vue'
export default {
components: { videoPlayPlat, windspeedstation, weatherstation, XfPoint, XfControl },
components: { WuZi, BiNanSuo, PaiShuiJing, FengBiKaKou, BaoJing, videoPlayPlat, windspeedstation, weatherstation, XfPoint, XfControl },
props: {
visible: {
type: Boolean,

View File

@ -75,6 +75,7 @@ export default {
title: ''
},
activeIndex: 0,
range: 20,
rangeList: [20, 50, 100, 500, 1000, 5000],
mapIco: [
{
@ -296,9 +297,10 @@ export default {
},
mounted() {
/** 调用地图初始化方法 */
this.mapInit()
this.firstInitPoint()
/** 调用初始化点位绘制方法 */
this.initPoints()
// this.initPoints()
/** 初始化选中首个二级坐标点位分类 */
this.currSubControlPoint = this.subControlPoint['0']
},
@ -307,31 +309,30 @@ export default {
this.FIRERESERVEPLAN_ID = this.$route.query.FIRERESERVEPLAN_ID
this.initInfo()
this.initWebsocket()
this.initPoint({ code: 0, REPORT_ID: this.REPORT_ID, range: this.range })
},
beforeDestroy() {
if (this.webSocket) {
console.log('关闭websocket')
this.webSocket.close()
}
if (this.heartbeat) {
console.log('清除定时器')
clearInterval(this.heartbeat)
}
},
methods: {
/** 地图初始化 */
mapInit() {
mapInit(e) {
mapInstance = new window.BMapGL.Map('map') //
mapInstance.centerAndZoom(new window.BMapGL.Point('119.645516', '39.934547'), 15) //
mapInstance.centerAndZoom(new window.BMapGL.Point(e.y, e.x), 15) //
mapInstance.enableScrollWheelZoom(true) //
},
setActive(item, index) {
//
this.activeIndex = index
this.range = item
},
/** 扎点方法 */
addPoint(anchor) {
console.log(anchor)
if (!anchor.icon) throw new Error('请传入图标')
if (!anchor.y) throw new Error('请传入经度')
if (!anchor.x) throw new Error('请传入纬度')
@ -343,7 +344,6 @@ export default {
this.infoDialog.visible = true
this.infoDialog.info = anchor
this.infoDialog.title = anchor.typeName
console.log(anchor)
})
mapInstance.addOverlay(marker) //
},
@ -508,7 +508,6 @@ export default {
}
var _this = this
this.webSocket.onmessage = function(message) {
console.log(message)
_this.initInfo()
}
//
@ -532,7 +531,9 @@ export default {
requestFN(
'/bi/emergency/getPoint',
{
code: row.code
code: row.code,
reportId: this.REPORT_ID,
range: this.range
}
).then((data) => {
if (data.result === 'success') {
@ -545,6 +546,25 @@ export default {
console.log(e)
loading.close()
})
},
firstInitPoint() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
requestFN(
'/bi/emergency/firstPoint', { code: 0, reportId: this.REPORT_ID, range: this.range }
).then((data) => {
if (data.result === 'success') {
this.mapInit(data.firstPoint)
}
loading.close()
}).catch((e) => {
console.log(e)
loading.close()
})
}
}
}

View File

@ -0,0 +1,105 @@
<template>
<div class="app-container print-work" style="width: 100%">
<table class="table-ui">
<tr>
<td class="tbg">机主姓名</td>
<td>{{ form.OWNER_NAME }}</td>
<td class="tbg">呼入电话</td>
<td>{{ form.INCOMING_PHONE }}</td>
</tr>
<tr>
<td class="tbg">接入方式</td>
<td>{{ form.ACCESS_MODE }}</td>
<td class="tbg">事件类型</td>
<td>{{ form.EVENT_TYPE }}</td>
</tr>
<tr>
<td class="tbg">经度</td>
<td>{{ form.LONGITUDE }}</td>
<td class="tbg">纬度</td>
<td>{{ form.LATITUDE }}</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
form: {
EVENT_NAME: '',
INCOMING_PHONE: '',
OWNER_NAME: '',
CALLER_ADDRESS: '',
ACCESS_MODE: '',
EVENT_TYPE: '',
NAME: '',
CONTACT_PHONE: '',
UNIT_NAME: '',
REGION: '',
UNIT_ADDRESS: '',
INDUSTRY_TYPE: '',
ECONOMIC_TYPE: '',
MAJOR_HAZARD: '',
REPORT_TIME: '',
OCCURRENCE_TIME: '',
LOCATION_ADDRESS: '',
LONGITUDE: '',
LATITUDE: '',
REPORT_TYPE: '',
ACCIDENT_TITLE: '',
ACCIDENT_LEVEL: '',
INJURY_TYPE: '',
ACCIDENT_TYPE: '',
TRAPPED_PEOPLE_COUNT: '',
MISSING_PEOPLE_COUNT: '',
DEATH_PEOPLE_COUNT: '',
SERIOUS_INJURY_PEOPLE_COUNT: '',
MINOR_INJURY_PEOPLE_COUNT: '',
POISONING_PEOPLE_COUNT: '',
DIRECT_ECONOMIC_LOSS: '',
BRIEF_PROCESS: '',
ORDER_CONTENT: '',
PLAN_NAME: '',
RESPONSE_NAME: '',
DISPOSAL_SITUATION: ''
}
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/major/registration/detailLog', { Id: this.id }
).then((data) => {
if (data.result === 'success') {
this.form = data.msg
}
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,104 @@
<template>
<div class="app-container print-work" style="width: 100%">
<table class="table-ui">
<tr>
<td class="tbg">名称</td>
<td>{{ form.SHELTER_NAME }}</td>
<td class="tbg">设备类型</td>
<td>{{ form.TYPE_NAME }}</td>
</tr>
<tr>
<td class="tbg">详情地址</td>
<td colspan="3">{{ form.ADDRESS }}</td>
</tr>
<tr>
<td class="tbg">经度</td>
<td>{{ form.LONGITUDE }}</td>
<td class="tbg">纬度</td>
<td>{{ form.LATITUDE }}</td>
</tr>
<tr>
<td class="tbg">联系人</td>
<td>{{ form.CONTACT_PERSON }}</td>
<td class="tbg">联系人固定电话</td>
<td>{{ form.CONTACT_TELE_PHONE }}</td>
</tr>
<tr>
<td class="tbg">联系人移动电话</td>
<td>{{ form.CONTACT_MOBILE_PHONE }}</td>
<td class="tbg"/>
<td/>
</tr>
<tr>
<td class="tbg">企业名称</td>
<td>{{ form.COMPANY }}</td>
<td class="tbg">所属区域</td>
<td>{{ form.REGION_NAME }}</td>
</tr>
<tr>
<td class="tbg">所属单位</td>
<td>{{ form.AFFILIATEDUNIT_NAME }}</td>
<td class="tbg"/>
<td/>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
form: {
SHELTER_NAME: '',
TYPE: '',
LONGITUDE: '',
LATITUDE: '',
CONTACT_PERSON: '',
CONTACT_TELE_PHONE: '',
CONTACT_MOBILE_PHONE: '',
ADDRESS: '',
COMPANY: '',
REGION: '',
AFFILIATEDUNIT: ''
}
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/shelterRefuge/detail', { id: this.id }
).then((data) => {
if (data.result === 'success') {
this.form = data.data
}
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,74 @@
<template>
<div class="app-container print-work" style="width: 100%">
<table class="table-ui">
<tr>
<td class="tbg">名称</td>
<td>{{ form.NAME }}</td>
<td class="tbg">地址</td>
<td>{{ form.ADDRESS }}</td>
</tr>
<tr>
<td class="tbg">联系人</td>
<td>{{ form.CONTACT_PERSON }}</td>
<td class="tbg">联系电话</td>
<td>{{ form.CONTACT_PHONE }}</td>
</tr>
<tr>
<td class="tbg">描述</td>
<td :colspan="3">{{ form.DESCRIPTION }}</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
form: {
NAME: '',
ADDRESS: '',
CONTACT_PERSON: '',
CONTACT_PHONE: '',
DESCRIPTION: '',
LONGITUDE: '',
LATITUDE: ''
}
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/major/checkpoint/detail', { ID: this.id }
).then((data) => {
if (data.result === 'success') {
this.form = data.msg
}
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,79 @@
<template>
<div class="app-container print-work" style="width: 100%">
<table class="table-ui">
<tr>
<td class="tbg">名称</td>
<td>{{ form.NAME }}</td>
<td class="tbg">类型</td>
<td>{{ form.TYPE_NAME }}</td>
</tr>
<tr>
<td class="tbg">地址</td>
<td>{{ form.ADDRESS }}</td>
<td class="tbg">联系人</td>
<td>{{ form.CONTACT_PERSON }}</td>
</tr>
<tr>
<td class="tbg">联系电话</td>
<td>{{ form.CONTACT_PHONE }}</td>
<td class="tbg">描述</td>
<td>{{ form.DESCRIPTION }}</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
form: {
ID: '',
NAME: '',
TYPE: null,
TYPE_NAME: '',
ADDRESS: '',
CONTACT_PERSON: '',
CONTACT_PHONE: '',
DESCRIPTION: '',
LATITUDE: '',
LONGITUDE: ''
}
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/major/drainage/detail', { ID: this.id }
).then((data) => {
if (data.result === 'success') {
this.form = data.msg
}
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,68 @@
<template>
<div class="app-container print-work" style="width: 100%">
<table class="table-ui">
<tr>
<td class="bbg-transparent">资源库名称</td>
<td>{{ info.RESOURCE_LIBRARY_NAME }}</td>
<td class="bbg-transparent">所在地点</td>
<td>{{ info.LOCATION }}</td>
</tr>
<tr>
<td class="bbg-transparent">存放资源类别</td>
<td>{{ info.RESOURCE_CATEGORY }}</td>
<td class="bbg-transparent">资源数量</td>
<td>{{ info.RESOURCE_QUANTITY }}</td>
</tr>
<tr>
<td class="bbg-transparent">联系电话</td>
<td>{{ info.CONTACT_PHONE }}</td>
<td class="bbg-transparent">联系人手机号码</td>
<td>{{ info.CONTACT_MOBILE_PHONE }}</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
info: null
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/major/resource/detail', { ID: this.id }
).then((data) => {
if (data.result === 'success') {
this.info = data.msg
}
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>