|
@@ -104,313 +104,14 @@
|
|
|
<eventLocationSupermap ref="eventLocationSupermap" style="width: 100%;height: 51vh;"
|
|
|
:mapDiv="'eventLocationMap'" :mapSite="{doubleClickZoom:false,zoom:8}" :codes="['9fa5']"
|
|
|
:isSideBySide="false" @preview="preview"
|
|
|
- @showEventInfo_notProcessed="showEventInfo_notProcessed"
|
|
|
- @showEventInfo_Processed="showEventInfo_Processed"></eventLocationSupermap>
|
|
|
+ @showEventDialog="showEventDialog"></eventLocationSupermap>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!--事件弹层-->
|
|
|
<div class="event-info">
|
|
|
- <el-dialog title="事件信息-未处理" :visible.sync="eventInfoVisible_notProcessed"
|
|
|
- v-if="eventInfoVisible_notProcessed" width="80%" hight="1000px" @close="cancelEventShow()"
|
|
|
- append-to-body>
|
|
|
- <div style="position:absolute; right: 0;top:60px; width:40%;">
|
|
|
- <el-steps :space="200" :active="1" finish-status="success" align-center>
|
|
|
- <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="eventInfoVisibleActiveName" @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">
|
|
|
- <div class="d-l-con">
|
|
|
- <div class="d-l-l-text">
|
|
|
- <i class="i-small"></i>
|
|
|
- <h4>{{information.name}}:</h4>
|
|
|
- <h4>{{information.content}}</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="forthis d-map h-30">
|
|
|
- <div class="this-title">
|
|
|
- <span>涉事单位</span>
|
|
|
- </div>
|
|
|
- <div class="i-list-con h-26">
|
|
|
- <span v-for="(company,index) in listEventDept" :key="index">
|
|
|
- <div class="d-l-con">
|
|
|
- <div class="d-l-l-text">
|
|
|
- <i class="i-small"></i>
|
|
|
- <h4>{{company.deptName}}</h4>
|
|
|
- </div>
|
|
|
- <div class="d-l-l-count"
|
|
|
- :class="[company.eventStatus=='未处理'?'state-wcl':'state-wyc']">
|
|
|
- <!-- {{['未处理','无异常'][company.state]}}-->{{company.eventStatus}}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </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="switchImage(item)">
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-right">
|
|
|
- <div class="forthis h-67">
|
|
|
- <div class="this-title">
|
|
|
- <span>处理过程</span>
|
|
|
- </div>
|
|
|
- <div class="i-list-con">
|
|
|
- <div class="this-con">
|
|
|
- <span v-for="(company,index) in listLog" :key="index">
|
|
|
-
|
|
|
- <div class="z-begin" v-if="company.messageType=='sys_messageType_1'">
|
|
|
- {{company.logContent}}
|
|
|
- </div>
|
|
|
- <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>{{company.createBy}}</span><span>
|
|
|
- {{company.createTime}}</span>
|
|
|
- </div>
|
|
|
- <div class="z-info">
|
|
|
- <div class="this-con-list-info">
|
|
|
- {{company.logContent}}
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <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>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-btm-btn">
|
|
|
- <el-form>
|
|
|
- <el-form-item>
|
|
|
- <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="实时画面" name="frame">
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="地理位置" name="point">
|
|
|
- <div class="info-button-group">
|
|
|
- <button>视频联动</button>
|
|
|
- <button @click="editableLayers('notProcessedSupermap')">测量工具</button>
|
|
|
- </div>
|
|
|
- <notProcessedSupermap ref="notProcessedSupermap" v-if="'point' === eventInfoVisibleActiveName"
|
|
|
- style="width:100% ;height: 75vh;" :mapDiv="'notProcessedSupermap'"
|
|
|
- :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" @preview="preview"
|
|
|
- :isSideBySide="false"></notProcessedSupermap>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog title="事件信息-处理中" :visible.sync="eventInfoVisible_Processed" v-if="eventInfoVisible_Processed"
|
|
|
- width="80%" hight="1000px" @close="cancelEventShow()" append-to-body>
|
|
|
- <div style="position:absolute; right: 0;top:60px; width:40%;">
|
|
|
- <el-steps :space="200" :active=zt finish-status="success" align-center>
|
|
|
- <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="eventInfoVisibleActiveName" @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">
|
|
|
- <div class="d-l-con">
|
|
|
- <div class="d-l-l-text">
|
|
|
- <i class="i-small"></i>
|
|
|
- <h4>{{information.name}}:</h4>
|
|
|
- <h4>{{information.content}}</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="forthis d-map h-30">
|
|
|
- <div class="this-title">
|
|
|
- <span>涉事单位</span>
|
|
|
- </div>
|
|
|
- <div class="i-list-con h-26">
|
|
|
- <span v-for="(company,index) in listEventDept.allDept" :key="index">
|
|
|
- <div class="d-l-con">
|
|
|
- <div class="d-l-l-text">
|
|
|
- <i class="i-small"></i>
|
|
|
- <h4>{{company.deptName}}</h4>
|
|
|
- </div>
|
|
|
- <div class="d-l-l-count"
|
|
|
- :class="[company.eventStatus=='未处理'?'state-wcl':'state-wyc']">
|
|
|
- <!-- {{['未处理','无异常'][company.state]}}-->{{company.eventStatus}}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </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="switchImage(item)">
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-right">
|
|
|
- <div class="forthis h-67">
|
|
|
- <div class="this-title">
|
|
|
- <span>处理过程</span>
|
|
|
- </div>
|
|
|
- <div class="i-list-con">
|
|
|
- <div class="this-con">
|
|
|
- <span v-for="(company,index) in listLog" :key="index">
|
|
|
-
|
|
|
- <div class="z-begin" v-if="company.messageType=='sys_messageType_1'">
|
|
|
- {{company.logContent}}
|
|
|
- </div>
|
|
|
- <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>{{company.createBy}}</span><span>
|
|
|
- {{company.createTime}}</span>
|
|
|
- </div>
|
|
|
- <div class="z-info">
|
|
|
- <div class="this-con-list-info">
|
|
|
- {{company.logContent}}
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <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>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="e-btm-btn">
|
|
|
- <el-form>
|
|
|
- <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="实时画面" name="frame">
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="地理位置" name="point">
|
|
|
- <div class="info-button-group">
|
|
|
- <button>视频联动</button>
|
|
|
- <button @click="editableLayers('processedSupermap')">测量工具</button>
|
|
|
- </div>
|
|
|
- <processedSupermap v-if="'point' === eventInfoVisibleActiveName" ref="processedSupermap"
|
|
|
- style="width:100% ;height: 75vh;" :mapDiv="'processedSuperMap'"
|
|
|
- :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" @preview="preview"
|
|
|
- :isSideBySide="false"></processedSupermap>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </el-dialog>
|
|
|
+ <eventdetailsdialog ref="eventdetailsdialog" :calendarDay="this.getCurrentDataStr"></eventdetailsdialog>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -436,8 +137,7 @@
|
|
|
|
|
|
import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
|
|
|
import eventLocationSupermap from '@/components/supermap' //超图
|
|
|
- import notProcessedSupermap from '@/components/supermap' //超图
|
|
|
- import processedSupermap from '@/components/supermap' //超图
|
|
|
+ import eventdetailsdialog from '@/views/eventdetailsdialog.vue' //事件详情弹窗
|
|
|
/** ----------------------------------摄像头预览开始------------------------------------- */
|
|
|
import {
|
|
|
getDahuaVideoServer
|
|
@@ -449,9 +149,9 @@
|
|
|
dicts: ['event_source'],
|
|
|
components: {
|
|
|
eventLocationSupermap,
|
|
|
- notProcessedSupermap,
|
|
|
- processedSupermap,
|
|
|
+ eventdetailsdialog,
|
|
|
vBottomMenu,
|
|
|
+
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -570,6 +270,15 @@
|
|
|
/** ----------------------------------摄像头预览结束------------------------------------- */
|
|
|
},
|
|
|
methods: {
|
|
|
+ getCurrentDataStr() {
|
|
|
+ let date = new Date()
|
|
|
+ let y = date.getFullYear()
|
|
|
+ let m = date.getMonth() + 1
|
|
|
+ m = m < 10 ? '0' + m : m
|
|
|
+ let d = date.getDate()
|
|
|
+ d = d < 10 ? '0' + d : d
|
|
|
+ return y + '-' + m + '-' + d
|
|
|
+ },
|
|
|
cancelEventLocationShow() {
|
|
|
this.longitude = ''
|
|
|
this.latitude = ''
|
|
@@ -580,6 +289,10 @@
|
|
|
this.cameraMarkersList = []
|
|
|
|
|
|
},
|
|
|
+ showEventDialog(eventCode) {
|
|
|
+ //事件信息弹出
|
|
|
+ this.$refs.eventdetailsdialog.showEventDialog(eventCode)
|
|
|
+ },
|
|
|
getNearEvent() {
|
|
|
if (this.longitude == null || this.longitude == "" || this.latitude == null || this.latitude == "") {
|
|
|
this.$modal.msgError('请输入经纬度!');
|