|
@@ -59,9 +59,7 @@
|
|
|
</div>
|
|
|
<!-- 地图 -->
|
|
|
<supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" :mapSite="{doubleClickZoom:false}"
|
|
|
- :codes="['9fa5']" :isSideBySide="false"></supermap>
|
|
|
- <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 85%;z-index: 1000;">弹层事件演示用按钮1</button>
|
|
|
- <button @click="showEventInfo2" style="position: absolute; right: 40%;top: 85%;z-index: 1000;">弹层事件演示用按钮2</button>
|
|
|
+ :codes="['9fa5']" :isSideBySide="false" @showEventInfo_notProcessed="showEventInfo_notProcessed" @showEventInfo_Processed="showEventInfo_Processed"></supermap>
|
|
|
<!-- 右侧 -->
|
|
|
<div class="rightbar" :class="indentright" ref="right">
|
|
|
<div class="forthis">
|
|
@@ -92,14 +90,23 @@
|
|
|
</div>
|
|
|
<!--事件弹层-->
|
|
|
<div class="event-info">
|
|
|
- <el-dialog title="事件信息" :visible.sync="eventInfoVisible1" width="80%">
|
|
|
- <el-tabs v-model="activeName">
|
|
|
- <el-tab-pane label="基础信息" name="info">
|
|
|
+ <el-dialog title="事件信息-未处理" :visible.sync="eventInfoVisible_notProcessed" v-if="eventInfoVisible_notProcessed" width="80%" @close="cancelEventShow()">
|
|
|
+ <div style="position:absolute; right: 0;top:60px; width:40%;">
|
|
|
+ <el-steps :space="200" :active="1" finish-status="success">
|
|
|
+ <el-step title="待处理"></el-step>
|
|
|
+ <el-step title="处理中"></el-step>
|
|
|
+ <el-step title="已办结"></el-step>
|
|
|
+ <el-step title="已归档"></el-step>
|
|
|
+ </el-steps>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClickNotProcessed" :before-leave="beforeLeave" >
|
|
|
+ <el-tab-pane label="基础信息" name="info" >
|
|
|
<div class="event-info-con">
|
|
|
<div class="e-left">
|
|
|
<div class="forthis">
|
|
|
<div class="i-list-con h-35">
|
|
|
- <span v-for="(information,index) in information" :key="index+'5'">
|
|
|
+ <span v-for="(information,index) in information" :key="index">
|
|
|
<div class="d-l-con" @click="">
|
|
|
<div class="d-l-l-text">
|
|
|
<i class="i-small"></i>
|
|
@@ -111,31 +118,40 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="forthis d-map h-30">
|
|
|
- <!-- <supermapDetails></supermapDetails> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-center">
|
|
|
- <div class="forthis">
|
|
|
<div class="this-title">
|
|
|
<span>涉事单位</span>
|
|
|
</div>
|
|
|
- <div class="i-list-con h-24">
|
|
|
- <span v-for="(company,index) in company" :key="index+'6'">
|
|
|
+ <div class="i-list-con h-26">
|
|
|
+ <span v-for="(company,index) in listEventDept" :key="index">
|
|
|
<div class="d-l-con" @click="">
|
|
|
<div class="d-l-l-text">
|
|
|
<i class="i-small"></i>
|
|
|
- <h4>{{company.name}}</h4>
|
|
|
+ <h4>{{company.deptName}}</h4>
|
|
|
</div>
|
|
|
<div class="d-l-l-count"
|
|
|
- :class="[company.state==0?'state-wcl':'state-wyc']">
|
|
|
- {{['未处理','无异常'][company.state]}}
|
|
|
+ :class="[company.eventStatus=='未处理'?'state-wcl':'state-wyc']">
|
|
|
+<!-- {{['未处理','无异常'][company.state]}}-->{{company.eventStatus}}
|
|
|
</div>
|
|
|
</div>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-image :src="url02" :preview-src-list="srcList" class="img-company">
|
|
|
- </el-image>
|
|
|
+ </div>
|
|
|
+ <div class="e-center">
|
|
|
+ <div class="forthis">
|
|
|
+ <div class="i-list-con h-35">
|
|
|
+ <el-image :src="url" :preview-src-list="listEventPic" class="img-company" style="height: 100%;" v-if="url!=''">
|
|
|
+ </el-image>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="forthis h-30">
|
|
|
+ <div class="i-list-con h-26">
|
|
|
+ <el-image :src="item"
|
|
|
+ style="width:3.9rem; height:3rem;margin: 2px;"
|
|
|
+ v-for="(item,index) in listEventPic" @click="tp(item)">
|
|
|
+ </el-image>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="e-right">
|
|
|
<div class="forthis h-67">
|
|
@@ -144,56 +160,39 @@
|
|
|
</div>
|
|
|
<div class="i-list-con">
|
|
|
<div class="this-con">
|
|
|
- <div class="z-begin">党校监控点位 2022-02-12 14:39 上报警情
|
|
|
- </div>
|
|
|
- <div class="z-info-list">
|
|
|
+ <span v-for="(company,index) in listLog" :key="index">
|
|
|
|
|
|
- <el-image :src="require('@/assets/images/visual/user-img.png')"
|
|
|
- style="width: 3rem; height: 3rem;margin:2px;">
|
|
|
- </el-image>
|
|
|
-
|
|
|
- <div class="z-info-list-con">
|
|
|
- <div class="user-and-time">
|
|
|
- <span>中心管理员</span><span> 2022-02-12 14:39</span>
|
|
|
- </div>
|
|
|
- <div class="z-info">
|
|
|
- <div class="this-con-list-info">
|
|
|
- 请处理单位及时处理
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-image :src="url02" :preview-src-list="srcList"
|
|
|
- style="width:7rem; height:5rem;margin: 2px;"
|
|
|
- v-for="(item,index) in 1" key="index+'7'">
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="z-begin" v-if="company.messageType=='sys_messageType_1'">
|
|
|
+ {{company.logContent}} {{company.createTime}}
|
|
|
</div>
|
|
|
- <div class="z-info-list">
|
|
|
+ <div class="z-info-list" v-if="company.messageType=='sys_messageType_2'">
|
|
|
|
|
|
<el-image :src="require('@/assets/images/visual/user-img.png')"
|
|
|
style="width: 3rem; height: 3rem;margin:2px;">
|
|
|
</el-image>
|
|
|
|
|
|
<div class="z-info-list-con">
|
|
|
+
|
|
|
<div class="user-and-time">
|
|
|
- <span>救援队</span><span> 2022-02-12 14:39</span>
|
|
|
+ <span>{{company.createBy}}</span><span> {{company.createTime}}</span>
|
|
|
</div>
|
|
|
<div class="z-info">
|
|
|
<div class="this-con-list-info">
|
|
|
- 正在赶往现场
|
|
|
+ {{company.logContent}}
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-image ref="preview" :src="url03"
|
|
|
- :preview-src-list="srcList"
|
|
|
- style="width:7rem; height:5rem;margin: 2px;">
|
|
|
+ <el-image :src="url" :preview-src-list="srcList"
|
|
|
+ style="width:6.5rem; height:5rem;margin: 2px;"
|
|
|
+ v-for="(item,index) in 4">
|
|
|
</el-image>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</div>
|
|
|
+ </span>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -202,25 +201,62 @@
|
|
|
<div class="e-btm-btn">
|
|
|
<el-form>
|
|
|
<el-form-item>
|
|
|
- <el-radio v-model="radio" label="1">无异常</el-radio>
|
|
|
- <el-radio v-model="radio" label="2">确认警情</el-radio>
|
|
|
- <el-button type="success" @click="">确定</el-button>
|
|
|
+ <el-select v-model="deptName" clearable placeholder="请选择部门" class="m-r-1rem" @change="setValue" >
|
|
|
+ <el-option
|
|
|
+ v-for="item in listoperateDept"
|
|
|
+ :key="item.deptId"
|
|
|
+ :label="item.deptName"
|
|
|
+ :value="{value:item.deptId,label:item.deptName}" :disabled="item.eventStatus=='未处理' ? false:true">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-select v-model="eventStatus" clearable placeholder="请选择状态" class="m-r-1rem" @change="setXsYc">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsNotProcessed"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-select v-model="eventType" clearable placeholder="请选择事件" class="m-r-1rem" v-if="eventTypeShow" >
|
|
|
+ <el-option
|
|
|
+ v-for="item in listeventType"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.eventTypeName"
|
|
|
+ :value="item.eventType">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <el-radio v-model="radio" label="1">无异常</el-radio>
|
|
|
+ <el-radio v-model="radio" label="2">确认火情</el-radio> -->
|
|
|
+ <el-button type="success" @click="updateEventStatusNotProcessed">确定</el-button>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="联动点位" disabled name="point">暂无信息</el-tab-pane>
|
|
|
+ <el-tab-pane label="实时画面" name="frame">
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="地理位置" name="point" style="height: 1000px;">
|
|
|
+ </el-tab-pane>
|
|
|
+ <supermapNotProcessed ref="supermapNotProcessed" style="width: 1000px;height: 1000px;" :mapDiv="'supermapNotProcessedSuperMap'" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" @preview="preview" :isSideBySide="false"></supermapNotProcessed>
|
|
|
</el-tabs>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="事件信息" :visible.sync="eventInfoVisible2" width="80%">
|
|
|
- <el-tabs v-model="activeName">
|
|
|
+ <el-dialog title="事件信息-处理中" :visible.sync="eventInfoVisible_Processed" v-if="eventInfoVisible_Processed" width="80%" @close="cancelEventShow()">
|
|
|
+ <div style="position:absolute; right: 0;top:60px; width:40%;">
|
|
|
+ <el-steps :space="200" :active=zt finish-status="success">
|
|
|
+ <el-step title="待处理"></el-step>
|
|
|
+ <el-step title="处理中"></el-step>
|
|
|
+ <el-step title="支援"></el-step>
|
|
|
+ <el-step title="已办结"></el-step>
|
|
|
+ <el-step title="已归档"></el-step>
|
|
|
+ </el-steps>
|
|
|
+ </div>
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClickProcessed" :before-leave="beforeLeave">
|
|
|
<el-tab-pane label="基础信息" name="info">
|
|
|
<div class="event-info-con">
|
|
|
<div class="e-left">
|
|
|
<div class="forthis">
|
|
|
<div class="i-list-con h-35">
|
|
|
- <span v-for="(information,index) in information" :key="index+'8'">
|
|
|
+ <span v-for="(information,index) in information" :key="index">
|
|
|
<div class="d-l-con" @click="">
|
|
|
<div class="d-l-l-text">
|
|
|
<i class="i-small"></i>
|
|
@@ -232,31 +268,40 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="forthis d-map h-30">
|
|
|
- <!-- <supermapDetails></supermapDetails> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-center">
|
|
|
- <div class="forthis">
|
|
|
<div class="this-title">
|
|
|
<span>涉事单位</span>
|
|
|
</div>
|
|
|
- <div class="i-list-con h-24">
|
|
|
- <span v-for="(company,index) in company" :key="index+'9'">
|
|
|
+ <div class="i-list-con h-26">
|
|
|
+ <span v-for="(company,index) in listEventDept.allDept" :key="index">
|
|
|
<div class="d-l-con" @click="">
|
|
|
<div class="d-l-l-text">
|
|
|
<i class="i-small"></i>
|
|
|
- <h4>{{company.name}}</h4>
|
|
|
+ <h4>{{company.deptName}}</h4>
|
|
|
</div>
|
|
|
<div class="d-l-l-count"
|
|
|
- :class="[company.state==0?'state-wcl':'state-wyc']">
|
|
|
- {{['未处理','无异常'][company.state]}}
|
|
|
+ :class="[company.eventStatus=='未处理'?'state-wcl':'state-wyc']">
|
|
|
+<!-- {{['未处理','无异常'][company.state]}}-->{{company.eventStatus}}
|
|
|
</div>
|
|
|
</div>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-image :src="url2" :preview-src-list="srcList1" class="img-company">
|
|
|
- </el-image>
|
|
|
+ </div>
|
|
|
+ <div class="e-center">
|
|
|
+ <div class="forthis">
|
|
|
+ <div class="i-list-con h-35">
|
|
|
+ <el-image :src="url" :preview-src-list=listEventPic class="img-company" style="height: 100%;" v-if="url!=''">
|
|
|
+ </el-image>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="forthis h-30">
|
|
|
+ <div class="i-list-con h-26">
|
|
|
+ <el-image :src="item"
|
|
|
+ style="width:3.9rem; height:3rem;margin: 2px;"
|
|
|
+ v-for="(item,index) in listEventPic" @click="tp(item)">
|
|
|
+ </el-image>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="e-right">
|
|
|
<div class="forthis h-67">
|
|
@@ -265,56 +310,39 @@
|
|
|
</div>
|
|
|
<div class="i-list-con">
|
|
|
<div class="this-con">
|
|
|
- <div class="z-begin">党校监控点位 2022-02-12 14:39 上报警情
|
|
|
- </div>
|
|
|
- <div class="z-info-list">
|
|
|
-
|
|
|
- <el-image :src="require('@/assets/images/visual/user-img.png')"
|
|
|
- style="width: 3rem; height: 3rem;margin:2px;">
|
|
|
- </el-image>
|
|
|
-
|
|
|
- <div class="z-info-list-con">
|
|
|
- <div class="user-and-time">
|
|
|
- <span>中心管理员</span><span> 2022-02-12 14:39</span>
|
|
|
- </div>
|
|
|
- <div class="z-info">
|
|
|
- <div class="this-con-list-info">
|
|
|
- 请处理单位及时处理
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-image :src="url2" :preview-src-list="srcList1"
|
|
|
- style="width:7rem; height:5rem;margin: 2px;"
|
|
|
- v-for="(item,index) in 1" :key="index+'10'">
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
+ <span v-for="(company,index) in listLog" :key="index">
|
|
|
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="z-begin" v-if="company.messageType=='sys_messageType_1'">
|
|
|
+ {{company.logContent}} {{company.createTime}}
|
|
|
</div>
|
|
|
- <div class="z-info-list">
|
|
|
+ <div class="z-info-list" v-if="company.messageType=='sys_messageType_2'">
|
|
|
|
|
|
<el-image :src="require('@/assets/images/visual/user-img.png')"
|
|
|
style="width: 3rem; height: 3rem;margin:2px;">
|
|
|
</el-image>
|
|
|
|
|
|
<div class="z-info-list-con">
|
|
|
+
|
|
|
<div class="user-and-time">
|
|
|
- <span>杀虫队</span><span> 2022-02-12 14:39</span>
|
|
|
+ <span>{{company.createBy}}</span><span> {{company.createTime}}</span>
|
|
|
</div>
|
|
|
<div class="z-info">
|
|
|
<div class="this-con-list-info">
|
|
|
- 正在赶往现场
|
|
|
+ {{company.logContent}}
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-image ref="preview" :src="url3"
|
|
|
- :preview-src-list="srcList1"
|
|
|
- style="width:7rem; height:5rem;margin: 2px;">
|
|
|
+ <el-image :src="url" :preview-src-list="srcList"
|
|
|
+ style="width:6.5rem; height:5rem;margin: 2px;"
|
|
|
+ v-for="(item,index) in 4">
|
|
|
</el-image>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</div>
|
|
|
+ </span>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -322,16 +350,28 @@
|
|
|
</div>
|
|
|
<div class="e-btm-btn">
|
|
|
<el-form>
|
|
|
- <el-form-item>
|
|
|
- <el-radio v-model="radio" label="1">无异常</el-radio>
|
|
|
- <el-radio v-model="radio" label="2">确认警情</el-radio>
|
|
|
- <el-button type="success" @click="">确定</el-button>
|
|
|
+ <el-form-item v-if=showZt>
|
|
|
+ <el-select v-model="eventStatus" clearable placeholder="请选择状态" class="m-r-1rem">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsProcessed"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <el-radio v-model="radio" label="1">无异常</el-radio>
|
|
|
+ <el-radio v-model="radio" label="2">确认火情</el-radio> -->
|
|
|
+ <el-button type="success" @click="updateEventStatusProcessed">确定</el-button>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="联动点位" disabled name="point">暂无信息</el-tab-pane>
|
|
|
+ <el-tab-pane label="实时画面" name="frame" >
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="地理位置" name="point">
|
|
|
+ </el-tab-pane>
|
|
|
+ <supermapProcessed ref="supermapProcessed" style="width: 1000px;height: 1000px;" :mapDiv="'supermapProcessedSuperMap'" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" @preview="preview" :isSideBySide="false"></supermapProcessed>
|
|
|
</el-tabs>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -340,30 +380,49 @@
|
|
|
|
|
|
<script>
|
|
|
import {
|
|
|
- getTodayEvent, getEventStatusList, getEventSourceList, getEventListByDeptIdList, getEventListByTypeList
|
|
|
+ getTodayEvent, getEventStatusList, getEventSourceList, getEventListByDeptIdList, getEventListByTypeList,getForest,updateCentereventTForestfireStatus
|
|
|
} from '@/api/event'
|
|
|
+ import {
|
|
|
+ selectByeventCode,getWarm,updateDeptEventStatus,listByEventCode,selectCameraEventByCameraId,listCenterdataTAttachByBusId,selectchannelCodeByCameraId,selectFjsxt
|
|
|
+ } from '@/api/forest'
|
|
|
+ /** ----------------------------------摄像头预览开始------------------------------------- */
|
|
|
+ import {getDahuaVideoServer} from "@/api/dahua/dahua";
|
|
|
+ import DHWs from '@/dahua/lib/DHWs'
|
|
|
|
|
|
+ /** ----------------------------------摄像头预览结束------------------------------------- */
|
|
|
import supermap from '@/components/supermap' //超图
|
|
|
+ import supermapNotProcessed from '@/components/supermap' //超图
|
|
|
+ import supermapProcessed from '@/components/supermap' //超图
|
|
|
import vheader from '@/components/v-header.vue' //一体化共用头部
|
|
|
import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
|
|
|
// import echarts from 'echarts'
|
|
|
let echarts = require('echarts')
|
|
|
export default {
|
|
|
+ dicts: ['event_source'],
|
|
|
components: {
|
|
|
supermap,
|
|
|
+ supermapNotProcessed,
|
|
|
+ supermapProcessed,
|
|
|
vheader,
|
|
|
vBottomMenu
|
|
|
},
|
|
|
created() {
|
|
|
- // this.$watch("open", function(newValue, oldValue) {
|
|
|
- // this.outOpen();
|
|
|
- // })
|
|
|
+ /** ----------------------------------摄像头预览开始------------------------------------- */
|
|
|
+ const DHWsInstance = DHWs.getInstance();
|
|
|
+ this.ws = DHWsInstance;
|
|
|
+ console.log(this.ws);
|
|
|
+ /** ----------------------------------摄像头预览结束------------------------------------- */
|
|
|
},
|
|
|
mounted() {
|
|
|
this.getTodayEvent()
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ /** ----------------------------------摄像头预览开始------------------------------------- */
|
|
|
+ activePanel: 'key1',
|
|
|
+ isLogin: false,
|
|
|
+ cameraParams: [],
|
|
|
+ /** ----------------------------------摄像头预览结束------------------------------------- */
|
|
|
markersList: [],
|
|
|
todayEventCountList: [],//今日事件列表
|
|
|
todayEventSourcetList: [],//今日事件列表
|
|
@@ -373,11 +432,64 @@
|
|
|
iframeBoo: true,
|
|
|
open: false,
|
|
|
iframeVue: null,
|
|
|
- eventInfoVisible1: false,
|
|
|
+ eventInfoVisible_notProcessed: false,
|
|
|
+ eventInfoVisible_Processed: false,
|
|
|
eventInfoVisible2: false,
|
|
|
activeName: 'info',
|
|
|
radio: '1',
|
|
|
eventList: [],
|
|
|
+ /** ----------------------------------事件弹窗开始-未处理------------------------------------- */
|
|
|
+ listEventPic: [],//事件图片
|
|
|
+ url: '',
|
|
|
+ id: '',
|
|
|
+ eventType : '',
|
|
|
+ deptName : '',
|
|
|
+ eventStatus : '',
|
|
|
+ cameraId: '',
|
|
|
+ reportTime: '',
|
|
|
+ reportAddress: '',
|
|
|
+ eventCode: null,
|
|
|
+ eventSource: '',
|
|
|
+ //事件详情弹出显隐
|
|
|
+ eventTypeShow: false,
|
|
|
+ listEventDept: [],//涉事单位List,
|
|
|
+ listLog: [],//处理过程List,
|
|
|
+ listoperateDept:[],
|
|
|
+ optionsNotProcessed: [{
|
|
|
+ value: 'wyc',
|
|
|
+ label: '无异常'
|
|
|
+ }, {
|
|
|
+ value: 'qr',
|
|
|
+ label: '确认'
|
|
|
+ }],
|
|
|
+ listeventType: [],
|
|
|
+ updateEventStatusForm: {
|
|
|
+ id: '',
|
|
|
+ eventStatus: '',
|
|
|
+ eventCode: '',
|
|
|
+ deptId: '',
|
|
|
+ deptName: '',
|
|
|
+ eventType: '',
|
|
|
+ zt: ''
|
|
|
+ },
|
|
|
+ /** ----------------------------------事件弹窗结束-未处理------------------------------------- */
|
|
|
+ aniu: true,
|
|
|
+ showZt: true,
|
|
|
+ zt: "",
|
|
|
+ fireReport:false,
|
|
|
+ optionsProcessed: [
|
|
|
+ {
|
|
|
+ value: 'bj',
|
|
|
+ label: '办结'
|
|
|
+ }, {
|
|
|
+ value: 'zy',
|
|
|
+ label: '支援'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'gd',
|
|
|
+ label: '归档'
|
|
|
+ }
|
|
|
+ ],
|
|
|
forestFarm: [
|
|
|
{
|
|
|
name: '双辽市',
|
|
@@ -581,14 +693,341 @@
|
|
|
this.indentText = '收起左右栏'
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ /** ----------------------------------事件弹窗开始-未处理------------------------------------- */
|
|
|
+ formLeaveTable(){
|
|
|
+ let p=new Promise((resolve, reject) =>
|
|
|
+ reject()
|
|
|
+ );
|
|
|
+ return p;
|
|
|
+ },
|
|
|
+ async beforeLeave(newactiveName, oldActiveName) {
|
|
|
+ let that = this;
|
|
|
+ if (newactiveName == 'frame') {
|
|
|
+ return await that.formLeaveTable()
|
|
|
+ }
|
|
|
+ },
|
|
|
// 弹层方法
|
|
|
- showEventInfo1() {
|
|
|
- this.eventInfoVisible1 = true
|
|
|
+ showEventInfo_notProcessed(id) {
|
|
|
+ let that = this
|
|
|
+ that.id=id;
|
|
|
+ that.eventInfoVisible_notProcessed = true
|
|
|
+ that.listEventPic = [],
|
|
|
+ that.url = '',
|
|
|
+ that.resetQuery()
|
|
|
+ getWarm(id).then(res => {
|
|
|
+ let data = res.data
|
|
|
+ that.id = data.id;
|
|
|
+ that.cameraId = data.reportById
|
|
|
+ that.reportTime = data.reportTime
|
|
|
+ that.reportAddress = data.reportAddress
|
|
|
+ that.eventCode = data.eventCode
|
|
|
+ that.eventSource = data.eventSource
|
|
|
+ that.information[0].content = data.eventTitle
|
|
|
+ that.information[1].content = data.reportTime
|
|
|
+ that.information[2].content = that.selectDictLabel(that.dict.type.event_source, data.eventSource)
|
|
|
+ that.information[3].content = data.longitude
|
|
|
+ that.information[4].content = data.latitude
|
|
|
+ that.information[5].content = data.reportBy
|
|
|
+ that.information[6].content = data.eventContent
|
|
|
+ selectByeventCode(data.eventCode).then(res1 => {
|
|
|
+ let that = this
|
|
|
+ that.listEventDept = res1.data.allDept
|
|
|
+ that.listoperateDept = res1.data.operateDept
|
|
|
+ })
|
|
|
+
|
|
|
+ listByEventCode(data.eventCode).then(res2 => {
|
|
|
+ let that = this
|
|
|
+ that.listLog = res2.data
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ selectCameraEventByCameraId(data.reportById).then(res3 => {
|
|
|
+ let that = this
|
|
|
+ that.listeventType = res3.data
|
|
|
+ })
|
|
|
+
|
|
|
+ if (data.attachId != null) {
|
|
|
+ listCenterdataTAttachByBusId(data.attachId).then(res4 => {
|
|
|
+ let that = this
|
|
|
+ that.listEventPic = res4.data
|
|
|
+ if (that.listEventPic.length > 0) {
|
|
|
+ that.url = that.listEventPic[0]
|
|
|
+ } else {
|
|
|
+ that.url = ""
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateEventStatusNotProcessed() {
|
|
|
+ if (this.deptName == '') {
|
|
|
+ this.$modal.msgError("请选择部门");
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.eventStatus == '') {
|
|
|
+ this.$modal.msgError("请选择状态");
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.eventTypeShow) {
|
|
|
+ if (this.eventType == '') {
|
|
|
+ this.$modal.msgError("请选择事件类型");
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.updateEventStatusForm.id = this.id
|
|
|
+ this.updateEventStatusForm.zt = this.eventStatus
|
|
|
+ this.updateEventStatusForm.eventCode = this.eventCode
|
|
|
+ this.updateEventStatusForm.deptId = this.deptId
|
|
|
+ this.updateEventStatusForm.deptName = this.deptName
|
|
|
+ this.updateEventStatusForm.eventType = this.eventType
|
|
|
+
|
|
|
+
|
|
|
+ updateDeptEventStatus(this.updateEventStatusForm).then(response => {
|
|
|
+ this.$modal.msgSuccess(response.msg)
|
|
|
+ this.eventStatus = ''
|
|
|
+ this.deptId = ''
|
|
|
+ this.eventType = ''
|
|
|
+ this.deptName = ''
|
|
|
+ this.eventShow = false
|
|
|
+ this.getList();
|
|
|
+ cancelEventShow();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateEventStatusProcessed() {
|
|
|
+ if(this.eventStatus==''){
|
|
|
+ this.$modal.msgError("请选择状态");
|
|
|
+ return
|
|
|
+ }
|
|
|
+ updateCentereventTForestfireStatus(this.id, this.eventStatus).then(response => {
|
|
|
+ this.$modal.msgSuccess(response.msg)
|
|
|
+ this.eventStatus=''
|
|
|
+ this.eventShow = false
|
|
|
+ this.getList();
|
|
|
+ cancelEventShow();
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ setXsYc() {
|
|
|
+ let that = this
|
|
|
+ if (this.eventStatus == 'qr') {
|
|
|
+ this.eventTypeShow = true
|
|
|
+ } else {
|
|
|
+ this.eventTypeShow = false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setValue(event) {
|
|
|
+ this.deptId = event.value
|
|
|
+ this.deptName = event.label
|
|
|
+ },
|
|
|
+ cancelEventShow() {
|
|
|
+ this.activeName = 'info';
|
|
|
+ },
|
|
|
+ handleClickNotProcessed: function (tab, oldActiveName) {
|
|
|
+ let that = this
|
|
|
+ if (tab.name == 'frame') {
|
|
|
+ if (that.eventSource == 'event_source_2') {
|
|
|
+ selectchannelCodeByCameraId(that.cameraId).then(res => {
|
|
|
+ let channelCode = [];
|
|
|
+ if (res.data != null && res.data.length > 0) {
|
|
|
+ for (let i = 0; i < res.data.length; i++) {
|
|
|
+ channelCode.push(res.data[i].channelCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //this.preview("ZgVzqsjwA1DT3G85KJ7HH0");
|
|
|
+ this.preview(channelCode);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else if (tab.name == 'point') {
|
|
|
+ setTimeout(() => {
|
|
|
+ that.markersMapList=[];
|
|
|
+ let information={};
|
|
|
+ information.lng = that.information[3].content;
|
|
|
+ information.lat = that.information[4].content;
|
|
|
+ let bindPopupHtml = '';
|
|
|
+ for (let i = 0; i < that.information.length; i++) {
|
|
|
+ bindPopupHtml += '<span>' +
|
|
|
+ ' <div class="d-l-con">' +
|
|
|
+ ' <div class="d-l-l-text">' +
|
|
|
+ ' <h4>' + that.information[i].name + ':' + that.information[i].content + '</h4>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' </span>';
|
|
|
+ }
|
|
|
+ information.bindPopupHtml = bindPopupHtml;
|
|
|
+ information.click = "";
|
|
|
+ information.keepBindPopup = false;
|
|
|
+ information.isAggregation = false;
|
|
|
+ information.icon = "marker";
|
|
|
+ that.markersMapList.push(information)
|
|
|
+ that.$refs.supermapNotProcessed.dropLocation(that.information[4].content,that.information[3].content)
|
|
|
+ // 查询火点附近摄像头
|
|
|
+ selectFjsxt(that.information[3].content,that.information[4].content).then(response => {
|
|
|
+ console.log("vv",response.data)
|
|
|
+ if (response.data!=null&&response.data.length>0){
|
|
|
+ for(let i=0;i<response.data.length;i++)
|
|
|
+ {
|
|
|
+ let marke={};
|
|
|
+ marke.lng = response.data[i].longitude;
|
|
|
+ marke.lat = response.data[i].latitude;
|
|
|
+ let code=response.data[i].channelCode.split(",");
|
|
|
+ marke.bindPopupHtml = response.data[i].cameraName;
|
|
|
+ marke.click = "preview";
|
|
|
+ marke.parameter = code;
|
|
|
+ marke.keepBindPopup = false;
|
|
|
+ marke.isAggregation = false;
|
|
|
+ marke.icon = "camera";
|
|
|
+ that.markersMapList.push(marke)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.$refs.supermapNotProcessed.clearM(false)
|
|
|
+ that.$refs.supermapNotProcessed.setMarkers(that.markersMapList)
|
|
|
+ })
|
|
|
+ }, 1000);
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 重置按钮操作 */
|
|
|
+ resetQuery() {
|
|
|
+ this.eventTypeShow = false
|
|
|
+ this.eventType = ''
|
|
|
+ this.deptName = ''
|
|
|
+ this.eventStatus = ''
|
|
|
+ },
|
|
|
+ /** ----------------------------------事件弹窗结束-未处理------------------------------------- */
|
|
|
+ /** ----------------------------------事件弹窗开始-处理中------------------------------------- */
|
|
|
+ handleClickProcessed(tab, event) {
|
|
|
+ let that=this
|
|
|
+ if(tab.name == 'frame'){
|
|
|
+ if(that.eventSource=='event_source_2') {
|
|
|
+ selectchannelCodeByCameraId(that.cameraId).then(res => {
|
|
|
+ let channelCode=[];
|
|
|
+ if(res.data!=null&&res.data.length>0){
|
|
|
+ for (let i = 0; i < res.data.length; i++) {
|
|
|
+ channelCode.push(res.data[i].channelCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //this.preview("ZgVzqsjwA1DT3G85KJ7HH0");
|
|
|
+ this.preview(channelCode);
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ } else if (tab.name == 'point') {
|
|
|
+ setTimeout(() => {
|
|
|
+ that.markersMapList=[];
|
|
|
+ let information={};
|
|
|
+ information.lng = that.information[3].content;
|
|
|
+ information.lat = that.information[4].content;
|
|
|
+ let bindPopupHtml = '';
|
|
|
+ for (let i = 0; i < that.information.length; i++) {
|
|
|
+ bindPopupHtml += '<span>' +
|
|
|
+ ' <div class="d-l-con">' +
|
|
|
+ ' <div class="d-l-l-text">' +
|
|
|
+ ' <h4>' + that.information[i].name + ':' + that.information[i].content + '</h4>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' </span>';
|
|
|
+ }
|
|
|
+ information.bindPopupHtml = bindPopupHtml;
|
|
|
+ information.click = "";
|
|
|
+ information.keepBindPopup = false;
|
|
|
+ information.isAggregation = false;
|
|
|
+ information.icon = "marker";
|
|
|
+ that.markersMapList.push(information)
|
|
|
+
|
|
|
+ // 查询火点附近摄像头
|
|
|
+ selectFjsxt(that.information[3].content,that.information[4].content).then(response => {
|
|
|
+ console.log("vv",response.data)
|
|
|
+ if (response.data!=null&&response.data.length>0){
|
|
|
+ for(let i=0;i<response.data.length;i++)
|
|
|
+ {
|
|
|
+
|
|
|
+ let marke={};
|
|
|
+ marke.lng = response.data[i].longitude;
|
|
|
+ marke.lat = response.data[i].latitude;
|
|
|
+ let code=response.data[i].channelCode.split(",");
|
|
|
+ marke.bindPopupHtml = response.data[i].cameraName;
|
|
|
+ marke.click = "preview";
|
|
|
+ marke.parameter = code;
|
|
|
+ marke.keepBindPopup = false;
|
|
|
+ marke.isAggregation = false;
|
|
|
+ marke.icon = "camera";
|
|
|
+ that.markersMapList.push(marke)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.$refs.supermapProcessed.clearM(false)
|
|
|
+ that.$refs.supermapProcessed.setMarkers(that.markersMapList)
|
|
|
+ })
|
|
|
+ }, 1000);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
},
|
|
|
- showEventInfo2() {
|
|
|
- this.eventInfoVisible2 = true
|
|
|
+ showEventInfo_Processed(id) {
|
|
|
+ let that = this
|
|
|
+ that.id=id;
|
|
|
+ that.eventInfoVisible_Processed = true;
|
|
|
+ that.listEventPic = [];
|
|
|
+ that.url = '';
|
|
|
+ getForest(id).then(response => {
|
|
|
+ let data = response.data
|
|
|
+ if (data.eventStatus != 'event_event_status_1') {
|
|
|
+ this.aniu = false
|
|
|
+ }
|
|
|
+ if(data.eventStatus=='event_event_status_6'){
|
|
|
+ this.optionsProcessed.splice(1,2)
|
|
|
+ this.zt=3
|
|
|
+ }
|
|
|
+ if(data.eventStatus=='event_event_status_1'){
|
|
|
+ this.optionsProcessed.splice(2,1)
|
|
|
+ this.zt=2
|
|
|
+ }
|
|
|
+ if(data.eventStatus=='event_event_status_2'){
|
|
|
+ this.optionsProcessed.splice(0,2)
|
|
|
+ this.zt=4
|
|
|
+ }
|
|
|
+ if(data.eventStatus=='event_event_status_3'){
|
|
|
+ this.showZt=false
|
|
|
+ this.fireReport=true
|
|
|
+ this.zt=5
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ let that = this
|
|
|
+ this.eventSource=data.eventSource
|
|
|
+ this.id=data.id;
|
|
|
+ this.reportTime=data.reportTime
|
|
|
+ this.cameraId=data.reportById
|
|
|
+ this.reportAddress=data.reportAddress
|
|
|
+ this.eventCode=data.eventCode
|
|
|
+ this.information[0].content = data.eventTitle
|
|
|
+ this.information[1].content = data.reportTime
|
|
|
+ this.information[2].content = that.selectDictLabel(that.dict.type.event_source, data.eventSource)
|
|
|
+ this.information[3].content = data.longitude
|
|
|
+ this.information[4].content = data.latitude
|
|
|
+ this.information[5].content = data.reportBy
|
|
|
+ this.information[6].content = data.eventContent
|
|
|
+
|
|
|
+ selectByeventCode(data.eventCode).then(response => {
|
|
|
+ that.listEventDept=response.data
|
|
|
+ })
|
|
|
+
|
|
|
+ listByEventCode(data.eventCode).then(response => {
|
|
|
+ that.listLog=response.data
|
|
|
+ })
|
|
|
+ if(data.attachId != null){
|
|
|
+ listCenterdataTAttachByBusId(data.attachId).then(response => {
|
|
|
+ that.listEventPic=response.data
|
|
|
+ if(that.listEventPic.length>0) {
|
|
|
+ that.url = that.listEventPic[0]
|
|
|
+ }else{
|
|
|
+ that.url=""
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
+ /** ----------------------------------事件弹窗结束-处理中------------------------------------- */
|
|
|
getTodayEvent() {
|
|
|
let that = this
|
|
|
//获取左侧菜单列表
|
|
@@ -625,11 +1064,18 @@
|
|
|
icon: 'marker',
|
|
|
bindPopupHtml: '',
|
|
|
click: '',
|
|
|
+ parameter: '',
|
|
|
keepBindPopup: false,
|
|
|
isAggregation: false
|
|
|
}
|
|
|
if(res.data.eventList!=null&&res.data.eventList.length>0){
|
|
|
+ if(eventStatus=="event_event_status_1_2_6"){
|
|
|
+ markersMap.click = "showEventInfo_Processed"
|
|
|
+ }else if(eventStatus=="event_event_status_4"){
|
|
|
+ markersMap.click = "showEventInfo_notProcessed"
|
|
|
+ }
|
|
|
for (let i = 0; i < res.data.eventList.length; i++) {
|
|
|
+ markersMap.parameter = res.data.eventList[i].id
|
|
|
markersMap.lng = res.data.eventList[i].longitude
|
|
|
markersMap.lat =res.data.eventList[i].latitude
|
|
|
markersMap.bindPopupHtml = '<div class="map-tip">' +
|
|
@@ -796,7 +1242,6 @@
|
|
|
//点击事件分类
|
|
|
let that = this
|
|
|
getEventListByTypeList(eventType).then(res => {
|
|
|
- debugger
|
|
|
that.$refs.supermap.clearM(false)
|
|
|
that.eventList=res.data.eventList;
|
|
|
that.markersList = [];
|
|
@@ -855,7 +1300,59 @@
|
|
|
},
|
|
|
dropLocation(lat,lng) {
|
|
|
this.$refs.supermap.dropLocation(lat,lng)
|
|
|
- }
|
|
|
+ },
|
|
|
+ /** ----------------------------------摄像头预览开始------------------------------------- */
|
|
|
+ alertLogin: function () {
|
|
|
+ this.$modal.msg("登录中....");
|
|
|
+ },
|
|
|
+ alertLoginSuccess: function () {
|
|
|
+ this.$modal.msgSuccess("登录成功!");
|
|
|
+ },
|
|
|
+ alertLoginFailed: function () {
|
|
|
+ this.$modal.msgError("登陆失败!");
|
|
|
+ },
|
|
|
+ alertReinstall: function () {
|
|
|
+ this.$modal.msgWarning("请重新安装客户端");
|
|
|
+ },
|
|
|
+ /** 预览按钮操作 */
|
|
|
+ preview(channelCode) {
|
|
|
+ getDahuaVideoServer().then(newResponse => {
|
|
|
+ this.ws.detectConnectQt().then(res => {
|
|
|
+ if (res) { // 连接客户端成功
|
|
|
+ this.alertLogin();
|
|
|
+ this.ws.login({
|
|
|
+ loginIp: newResponse.loginIp,
|
|
|
+ loginPort: newResponse.loginPort,
|
|
|
+ userName: newResponse.userName,
|
|
|
+ userPwd: newResponse.userPwd,
|
|
|
+ token: '',
|
|
|
+ https: 1
|
|
|
+ });
|
|
|
+ this.ws.on('loginState', (res) => {
|
|
|
+ this.isLogin = res;
|
|
|
+ console.log('---res-----', res);
|
|
|
+ if (res) {
|
|
|
+ this.alertLoginSuccess()
|
|
|
+ this.activePanel = 'key2'
|
|
|
+ this.realTimeVideoDialog(channelCode);
|
|
|
+ } else {
|
|
|
+ this.alertLoginFailed();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else { // 连接客户端失败
|
|
|
+ this.alertReinstall();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ realTimeVideoDialog(cameraParams) { // 调用弹窗实时播放接口
|
|
|
+ if (!this.isLogin) {
|
|
|
+ this.$Message.info('正在登陆客户端,请稍等......');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ this.ws.openVideo(cameraParams);
|
|
|
+ },
|
|
|
+ /** ----------------------------------摄像头预览结束------------------------------------- */
|
|
|
}
|
|
|
}
|
|
|
</script>
|