彭宇 il y a 2 ans
Parent
commit
00457b1d82
4 fichiers modifiés avec 941 ajouts et 243 suppressions
  1. 17 0
      src/api/event.js
  2. 612 115
      src/views/event.vue
  3. 310 127
      src/views/forest.vue
  4. 2 1
      vue.config.js

+ 17 - 0
src/api/event.js

@@ -35,3 +35,20 @@ export function getEventListByTypeList(eventType) {
     method: 'post',
   })
 }
+
+// 查询事件(森林防火)详细
+export function getForest(id) {
+  return request({
+    url: '/center-event/event/forest/forestfire/' + id,
+    method: 'get'
+  })
+}
+
+
+//修改森林防火事件状态
+export function updateCentereventTForestfireStatus(id,zt) {
+  return request({
+    url: '/center-event/event/forest/forestfire/updateCentereventTForestfireStatus/'+ id+'/'+zt,
+    method: 'get'
+  })
+}

+ 612 - 115
src/views/event.vue

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

+ 310 - 127
src/views/forest.vue

@@ -60,7 +60,7 @@
 			</div>
 			<!-- 地图 -->
 			<supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" :mapSite="{doubleClickZoom:false}"
-				:codes="['9fa5']" :isSideBySide="false" @preview="preview" @showEventInfo_notProcessed="showEventInfo_notProcessed"></supermap>
+				:codes="['9fa5']" :isSideBySide="false" @preview="preview" @showEventInfo_notProcessed="showEventInfo_notProcessed" @showEventInfo_Processed="showEventInfo_Processed"></supermap>
 			<!-- 右侧 -->
 			<div class="rightbar" :class="indentright" ref="right">
 				<div class="forthis">
@@ -258,7 +258,7 @@
                   </el-select>
                   <el-select v-model="eventStatus" clearable placeholder="请选择状态" class="m-r-1rem" @change="setXsYc">
                     <el-option
-                      v-for="item in options"
+                      v-for="item in optionsNotProcessed"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
@@ -284,17 +284,26 @@
           </el-tab-pane>
           <el-tab-pane label="地理位置" name="point" style="height: 1000px;">
           </el-tab-pane>
-          <supermapNotProcessed ref="supermapNotProcessed"  style="width: 1000px;height: 1000px;" :mapDiv="'forestfireWarmSuperMap'" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" @preview="preview" :isSideBySide="false"></supermapNotProcessed>
+          <supermapNotProcessed ref="supermapNotProcessed"  style="width: 1000px;height: 1000px;" :mapDiv="'forestWarmSuperMap'" :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-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'">
+			<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">
 											<div class="d-l-con" @click="">
 												<div class="d-l-l-text">
 													<i class="i-small"></i>
@@ -303,118 +312,122 @@
 												</div>
 											</div>
 										</span>
-									</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>
+                </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" @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-right">
-								<div class="forthis h-67">
-									<div class="this-title">
-										<span>处理过程</span>
-									</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>
-
-													</div>
-												</div>
-											</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 ref="preview" :src="url3"
-																:preview-src-list="srcList1"
-																style="width:7rem; height:5rem;margin: 2px;">
-															</el-image>
-														</div>
-
-													</div>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-						</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>
-
-							</el-form>
-						</div>
-					</el-tab-pane>
-					<el-tab-pane label="联动点位" disabled name="point">暂无信息</el-tab-pane>
-				</el-tabs>
-			</el-dialog>
+                  </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="tp(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}}  {{company.createTime}}
+                      </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">
+          </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>
 	</div>
 </template>
 
 <script>
   import {
-    getTodayEvent,getEventStatusList,getEventSourceList,getEventListByDeptIdList
+    getTodayEvent,getEventStatusList,getEventSourceList,getEventListByDeptIdList,updateCentereventTForestfireStatus,getForest
   } from '@/api/event'
   import {
     getBaseInfo,selectByeventCode,getWarm,updateDeptEventStatus,listByEventCode,selectCameraEventByCameraId,listCenterdataTAttachByBusId,selectchannelCodeByCameraId,selectFjsxt
@@ -422,6 +435,7 @@
 
   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' //一体化公共底部菜单
 
@@ -437,6 +451,7 @@
 		components: {
 			supermap,
       supermapNotProcessed,
+      supermapProcessed,
 			vheader,
 			vBottomMenu
 		},
@@ -473,6 +488,7 @@
 				open: false,
 				iframeVue: null,
 				eventInfoVisible_notProcessed: false,
+        eventInfoVisible_Processed: false,
 				eventInfoVisible2: false,
 				activeName: 'info',
 				radio: '1',
@@ -480,7 +496,7 @@
         /** ----------------------------------事件弹窗开始------------------------------------- */
         listEventPic: [],//事件图片
         url: '',
-        eventTypeShow : '',
+        id: '',
         eventType : '',
         deptName : '',
         eventStatus : '',
@@ -494,7 +510,7 @@
         listEventDept: [],//涉事单位List,
         listLog: [],//处理过程List,
         listoperateDept:[],
-        options: [{
+        optionsNotProcessed: [{
           value: 'wyc',
           label: '无异常'
         }, {
@@ -512,6 +528,22 @@
           zt: ''
         },
         /** ----------------------------------事件弹窗结束------------------------------------- */
+        aniu: true,
+        showZt: true,
+        zt: "",
+        fireReport:false,
+        optionsProcessed: [{
+          value: 'bj',
+          label: '办结'
+        }, {
+          value: 'zy',
+          label: '支援'
+        },
+          {
+            value: 'gd',
+            label: '归档'
+          }
+        ],
 				forestFarm: [{
 						name: '双辽市',
 						id: '',
@@ -668,12 +700,6 @@
 		},
 
 		methods: {
-      async beforeLeave(newactiveName, oldActiveName) {
-        let that = this;
-        if (newactiveName == 'frame') {
-          return await that.formLeaveTable()
-        }
-      },
 			//态势感知chart
 			cameraChat() {
 				// 基于准备好的dom,初始化echarts实例
@@ -902,16 +928,23 @@
 				}
 			},
       /** ----------------------------------事件弹窗开始------------------------------------- */
+      async beforeLeave(newactiveName, oldActiveName) {
+        let that = this;
+        if (newactiveName == 'frame') {
+          return await that.formLeaveTable()
+        }
+      },
 			// 弹层方法
 			showEventInfo_notProcessed(id) {
         let that = this
+        that.id=id;
 				that.eventInfoVisible_notProcessed = true
         that.listEventPic = [],
           that.url = '',
           that.resetQuery()
           getWarm(id).then(res => {
+            debugger
           let data = res.data
-          that.id = data.id;
           that.cameraId = data.reportById
           that.reportTime = data.reportTime
           that.reportAddress = data.reportAddress
@@ -925,7 +958,6 @@
           that.information[5].content = data.reportBy
           that.information[6].content = data.eventContent
           selectByeventCode(data.eventCode).then(res1 => {
-            debugger
             let that = this
             that.listEventDept = res1.data.allDept
             that.listoperateDept = res1.data.operateDept
@@ -984,9 +1016,8 @@
           this.deptId = ''
           this.eventType = ''
           this.deptName = ''
-          this.eventShow = false
-          this.getList();
-          cancelEventShow();
+          this.eventInfoVisible_notProcessed = false
+          this.cancelEventShow();
         })
       },
       setXsYc() {
@@ -1068,7 +1099,6 @@
 
         }
       },
-      /** ----------------------------------事件弹窗结束------------------------------------- */
       /** 重置按钮操作 */
       resetQuery() {
         this.eventTypeShow = false
@@ -1076,9 +1106,156 @@
         this.deptName = ''
         this.eventStatus = ''
       },
-			showEventInfo2() {
-				this.eventInfoVisible2 = true
-			},
+      /** ----------------------------------事件弹窗结束------------------------------------- */
+      /** ----------------------------------事件弹窗开始-处理中------------------------------------- */
+      updateEventStatusProcessed() {
+        if(this.eventStatus==''){
+          this.$modal.msgError("请选择状态");
+          return
+        }
+        updateCentereventTForestfireStatus(this.id, this.eventStatus).then(response => {
+          this.$modal.msgSuccess(response.msg)
+          this.eventStatus=''
+          this.eventInfoVisible_Processed = false
+          cancelEventShow();
+        })
+
+      },
+      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);
+
+
+
+        }
+      },
+      showEventInfo_Processed(id) {
+        let that = this
+        that.eventInfoVisible_Processed = true;
+        that.listEventPic = [];
+        that.url = '';
+        that.id=id;
+        getForest(id).then(response => {
+          let data = response.data
+          debugger
+          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
+          }
+          console.log(this.optionsProcessed)
+
+          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=""
+              }
+            })
+          }
+        })
+      },
+      /** ----------------------------------事件弹窗结束-处理中------------------------------------- */
       getBaseInfo() {
         let that = this
         that.sourceData = [];
@@ -1111,7 +1288,13 @@
               markersMap.isAggregation = true
             }
             for (let i = 0; i < res.data.visuForestVgdEventBOList.length; i++) {
-              markersMap.click = "showEventInfo_notProcessed"
+              if(res.data.visuForestVgdEventBOList[i].eventStatus=="event_event_status_1"||res.data.visuForestVgdEventBOList[i].eventStatus=="event_event_status_2"||res.data.visuForestVgdEventBOList[i].eventStatus=="event_event_status_6"){
+                markersMap.click = "showEventInfo_Processed"
+              }else if(res.data.visuForestVgdEventBOList[i].eventStatus=="event_event_status_4"){
+                markersMap.click = "showEventInfo_notProcessed"
+              }else{
+                markersMap.click = "showEventInfo_Processed"
+              }
               markersMap.parameter = res.data.visuForestVgdEventBOList[i].id
               markersMap.lng = res.data.visuForestVgdEventBOList[i].longitude
               markersMap.lat =res.data.visuForestVgdEventBOList[i].latitude

+ 2 - 1
vue.config.js

@@ -36,7 +36,8 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
          // target: `http://127.0.0.1:3031`,
-         target: `http://117.78.49.164:3031`,
+         // target: `http://117.78.49.164:3031`,
+         target: `http://192.168.1.110:3031`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''