Browse Source

火灾报告编辑区域

彭宇 2 năm trước cách đây
mục cha
commit
e5c08d444f

+ 2 - 2
src/api/disaster.js

@@ -9,10 +9,10 @@ export function getInit(year) {
   })
 }
 // 点击列表获取数据
-export function selectFireLoseByid(id) {
+export function selectFireLoseByid(param) {
   return request({
     url: '/center-fire/VisuForestFireLossController/selectFireLoseByid',
     method: 'post',
-    data:{"id":id}
+    data:param
   })
 }

+ 23 - 20
src/assets/styles/base.scss

@@ -2762,29 +2762,32 @@ div::-webkit-scrollbar {
 }
 
 //超图工具栏
-.leaflet-control {
-  display: flex !important;
-}
+.indexSupermapClass{//首页class
+  .leaflet-control {
+    display: flex !important;
+  }
 
-.leaflet-draw-toolbar {
-  margin-top: 0 !important;
-  display: flex !important;
-}
+  .leaflet-draw-toolbar {
+    margin-top: 0 !important;
+    display: flex !important;
+  }
 
-.leaflet-touch .leaflet-draw-actions {
-  left: 0 !important;
-  top: -33px !important;
-}
+  .leaflet-touch .leaflet-draw-actions {
+    left: 0 !important;
+    top: -33px !important;
+  }
 
-.leaflet-top {
-  top: 89vh !important;
-  left: 50% !important;
-  transform: translateX(-50%) !important;
-}
+  .leaflet-top {
+    top: 89vh !important;
+    left: 50% !important;
+    transform: translateX(-50%) !important;
+  }
 
-.leftflet-toleft {
-  -webkit-transform: translateX(-20rem) !important;
-  transform: translateX(-20rem) !important;
-  transition: all 0.5s ease-in-out !important;
+  .leftflet-toleft {
+    -webkit-transform: translateX(-20rem) !important;
+    transform: translateX(-20rem) !important;
+    transition: all 0.5s ease-in-out !important;
+  }
 }
 
+

+ 242 - 242
src/views/afforestation.vue

@@ -8,40 +8,40 @@
       <!-- 左侧 -->
       <div class="leftbar" :class="indentleft" ref="left">
         <div class="forthis">
-         <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-         	<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-         	<div class="this-title" style="margin: 1rem 0; padding-right:1rem">
-            <el-date-picker v-model="pickYear" @change="getInit()" type="year" placeholder="选择年">
-            </el-date-picker>
-          </div>
-          <div class="i-list-con h-19">
-            <div class="d-l-con" :class="{on:listCurrentIndex1 == item.id}" v-for="(item,index) in afforestationList"
-                 @click="getAfforestationArea(item.id)">
-              <div class="d-l-l-text">
-                <i class="i-small"></i>
-                <h4>{{item.plantingQuantity}}</h4>
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="this-title" style="margin: 1rem 0; padding-right:1rem">
+              <el-date-picker v-model="pickYear" @change="getInit()" type="year" placeholder="选择年">
+              </el-date-picker>
+            </div>
+            <div class="i-list-con h-19">
+              <div class="d-l-con" :class="{on:listCurrentIndex1 == item.id}" v-for="(item,index) in afforestationList"
+                   @click="getAfforestationArea(item.id)">
+                <div class="d-l-l-text">
+                  <i class="i-small"></i>
+                  <h4>{{ item.plantingQuantity }}</h4>
+                </div>
               </div>
             </div>
-          </div>
-		  </dv-border-box-13>
+          </dv-border-box-13>
         </div>
         <div class="forthis">
-			<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-				<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-          <div class="i-list-con h-51">
-            <div class="d-l-con" :class="{on:listCurrentIndex2 == item.points}"
-                 v-for="(item,index) in AfforestationAreaList" @click="setGraphicsList(item.points)">
-              <div class="d-l-l-text">
-                <i class="i-small"></i>
-                <h4>区域{{index+1}}</h4>
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="i-list-con h-51">
+              <div class="d-l-con" :class="{on:listCurrentIndex2 == item.points}"
+                   v-for="(item,index) in AfforestationAreaList" @click="setGraphicsList(item.points)">
+                <div class="d-l-l-text">
+                  <i class="i-small"></i>
+                  <h4>区域{{ index + 1 }}</h4>
+                </div>
               </div>
             </div>
-          </div>
-		   </dv-border-box-13>
+          </dv-border-box-13>
         </div>
       </div>
       <!-- 地图 -->
-      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'disasterMap'"
+      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'disasterMap'" class="indexSupermapClass"
                 :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
       <!--底部 -->
       <vBottomMenu ref="bottomMenu"></vBottomMenu>
@@ -53,243 +53,243 @@
 </template>
 
 <script>
-  import {
-    getAfforestation, getAfforestationArea
-  } from '@/api/afforestation'
-  /** ----------------------------------摄像头预览开始------------------------------------- */
-  import {
-    getDahuaVideoServer
-  } from '@/api/dahua/dahua'
-  import DHWs from '@/dahua/lib/DHWs'
+import {
+  getAfforestation, getAfforestationArea
+} from '@/api/afforestation'
+/** ----------------------------------摄像头预览开始------------------------------------- */
+import {
+  getDahuaVideoServer
+} from '@/api/dahua/dahua'
+import DHWs from '@/dahua/lib/DHWs'
 
-  /** ----------------------------------摄像头预览结束------------------------------------- */
-  import supermap from '@/components/supermap' //超图
-  import vheader from '@/components/v-header.vue' //一体化共用头部
-  import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-  import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-  import TVWall from '@/components/TVWall.vue' //电视墙弹窗
+/** ----------------------------------摄像头预览结束------------------------------------- */
+import supermap from '@/components/supermap' //超图
+import vheader from '@/components/v-header.vue' //一体化共用头部
+import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
+import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
+import TVWall from '@/components/TVWall.vue' //电视墙弹窗
 
-  let echarts = require('echarts')
-  export default {
-    dicts: ['event_source'],
-    components: {
-      supermap,
-      vheader,
-      vBottomMenu,
-      eventLocation,
-      TVWall,
-    },
-    created() {
-      /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      window.showDialog = this.showDialog
-      window.choseLayerSwitching = this.choseLayerSwitching
-      window.choseLayerSwitchingList = this.choseLayerSwitchingList
-      /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    },
-    mounted() {
-      this.getInit()
-    },
-    data() {
-      return {
-        listCurrentIndex1: '',
-        listCurrentIndex2: '',
-        pickYear: new Date(), //选择年份
-        afforestationList: [],
-        AfforestationAreaList: [],
-        graphicsList: [],//地图区域
-        //左右缩进
-        indentStyle: '',
-        indentleft: '',
-        indentright: '',
-        indentText: '收起左右栏',
-        indentdisabled: false
+let echarts = require('echarts')
+export default {
+  dicts: ['event_source'],
+  components: {
+    supermap,
+    vheader,
+    vBottomMenu,
+    eventLocation,
+    TVWall
+  },
+  created() {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    window.showDialog = this.showDialog
+    window.choseLayerSwitching = this.choseLayerSwitching
+    window.choseLayerSwitchingList = this.choseLayerSwitchingList
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+  },
+  mounted() {
+    this.getInit()
+  },
+  data() {
+    return {
+      listCurrentIndex1: '',
+      listCurrentIndex2: '',
+      pickYear: new Date(), //选择年份
+      afforestationList: [],
+      AfforestationAreaList: [],
+      graphicsList: [],//地图区域
+      //左右缩进
+      indentStyle: '',
+      indentleft: '',
+      indentright: '',
+      indentText: '收起左右栏',
+      indentdisabled: false
 
-      }
-    },
+    }
+  },
 
-    methods: {
-      /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      showDialog(click) {
-        if (click == 'eventLocation') {
-          this.$refs.eventLocation.showEventLocation()
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'editableLayers') {
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.supermap.isEditableLayers) {
-            this.$refs.supermap.isEditableLayers = true
-          } else {
-            this.$refs.supermap.isEditableLayers = false
-          }
-        } else if (click == 'layerSwitching') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showChild) {
-            this.$refs.bottomMenu.showChild = true
-          } else {
-            this.$refs.bottomMenu.showChild = false
-          }
-        } else if (click == 'TVWall') {
-          this.$refs.TVWall.showTVWall()
+  methods: {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    showDialog(click) {
+      if (click == 'eventLocation') {
+        this.$refs.eventLocation.showEventLocation()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'editableLayers') {
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.supermap.isEditableLayers) {
+          this.$refs.supermap.isEditableLayers = true
+        } else {
           this.$refs.supermap.isEditableLayers = false
+        }
+      } else if (click == 'layerSwitching') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showChild) {
+          this.$refs.bottomMenu.showChild = true
+        } else {
           this.$refs.bottomMenu.showChild = false
+        }
+      } else if (click == 'TVWall') {
+        this.$refs.TVWall.showTVWall()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'forestban') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showBanChild) {
+          this.$refs.bottomMenu.showBanChild = true
+        } else {
           this.$refs.bottomMenu.showBanChild = false
+        }
+      } else if (click == 'forestchang') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChild = false
+        if (!this.$refs.bottomMenu.showChangChild) {
+          this.$refs.bottomMenu.showChangChild = true
+        } else {
           this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'forestban') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showBanChild) {
-            this.$refs.bottomMenu.showBanChild = true
-          } else {
-            this.$refs.bottomMenu.showBanChild = false
-          }
-        } else if (click == 'forestchang') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChild = false
-          if (!this.$refs.bottomMenu.showChangChild) {
-            this.$refs.bottomMenu.showChangChild = true
-          } else {
-            this.$refs.bottomMenu.showChangChild = false
-          }
         }
+      }
 
-      },
-      //选择图层
-      choseLayerSwitching(url,isClear) {
-        this.$refs.supermap.layerSwitching(url, isClear)
-      },
-      //选择图层(传递数组)
-      choseLayerSwitchingList(urlList) {
-        this.$refs.supermap.layerSwitchingList(urlList)
-      },
-      /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+    },
+    //选择图层
+    choseLayerSwitching(url, isClear) {
+      this.$refs.supermap.layerSwitching(url, isClear)
+    },
+    //选择图层(传递数组)
+    choseLayerSwitchingList(urlList) {
+      this.$refs.supermap.layerSwitchingList(urlList)
+    },
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
 
-      getInit() {
-        this.listCurrentIndex1=''
-        this.listCurrentIndex2=''
-        let that = this
-        this.afforestationList = []
-        this.AfforestationAreaList = []
-        //获取左侧菜单列表
-        getAfforestation(this.pickYear.getYear() + 1900).then(res => {
-          this.afforestationList = res.data
-          setTimeout(() => {
-            this.$refs.supermap.clearG()
-          }, 1000)
-        })
-      },
-      getAfforestationArea(afforestationId) {
-        this.listCurrentIndex1 = afforestationId
-        let that = this
-        //获取左侧菜单列表
-        getAfforestationArea(afforestationId).then(res => {
-          this.AfforestationAreaList = res.data
-        })
-      },
-      setGraphicsList(points) {
-        this.listCurrentIndex2 = points
-        this.graphicsList = []
-        if (points != null && points != '') {
-          this.graphicsList = JSON.parse(points)
-          this.$refs.supermap.clearG()
-          this.$refs.supermap.setGraphicsList(this.graphicsList, 'red')
-        } else {
+    getInit() {
+      this.listCurrentIndex1 = ''
+      this.listCurrentIndex2 = ''
+      let that = this
+      this.afforestationList = []
+      this.AfforestationAreaList = []
+      //获取左侧菜单列表
+      getAfforestation(this.pickYear.getYear() + 1900).then(res => {
+        this.afforestationList = res.data
+        setTimeout(() => {
           this.$refs.supermap.clearG()
-        }
-      },
+        }, 1000)
+      })
+    },
+    getAfforestationArea(afforestationId) {
+      this.listCurrentIndex1 = afforestationId
+      let that = this
+      //获取左侧菜单列表
+      getAfforestationArea(afforestationId).then(res => {
+        this.AfforestationAreaList = res.data
+      })
+    },
+    setGraphicsList(points) {
+      this.listCurrentIndex2 = points
+      this.graphicsList = []
+      if (points != null && points != '') {
+        this.graphicsList = JSON.parse(points)
+        this.$refs.supermap.clearG()
+        this.$refs.supermap.setGraphicsList(this.graphicsList, 'red')
+      } else {
+        this.$refs.supermap.clearG()
+      }
+    },
 
-      //吉祥物收起左右框
-      indent() {
-        let list = document.getElementsByClassName('el-tooltip__popper')
-        list[list.length - 1].style.display = 'none'
-        if (this.indentStyle == '') {
-          this.indentStyle = 'indent-style'
-          this.indentleft = 'indent-left'
-          this.indentright = 'indent-right'
-          this.indentText = '展开左右栏'
-        } else if (this.indentText == '展开左右栏') {
-          this.indentStyle = ''
-          this.indentleft = ''
-          this.indentright = ''
-          this.indentText = '收起左右栏'
-        }
-      },
-      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()
-            }
-          })
+    //吉祥物收起左右框
+    indent() {
+      let list = document.getElementsByClassName('el-tooltip__popper')
+      list[list.length - 1].style.display = 'none'
+      if (this.indentStyle == '') {
+        this.indentStyle = 'indent-style'
+        this.indentleft = 'indent-left'
+        this.indentright = 'indent-right'
+        this.indentText = '展开左右栏'
+      } else if (this.indentText == '展开左右栏') {
+        this.indentStyle = ''
+        this.indentleft = ''
+        this.indentright = ''
+        this.indentText = '收起左右栏'
+      }
+    },
+    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)
+      })
+    },
+    realTimeVideoDialog(cameraParams) { // 调用弹窗实时播放接口
+      if (!this.isLogin) {
+        this.$Message.info('正在登陆客户端,请稍等......')
+        return false
       }
-      /** ----------------------------------摄像头预览结束------------------------------------- */
+      this.ws.openVideo(cameraParams)
     }
+    /** ----------------------------------摄像头预览结束------------------------------------- */
   }
+}
 </script>
 
 <style lang="scss" scoped>
-  @import '@/assets/styles/base.scss';
+@import '@/assets/styles/base.scss';
 
-  .el-table__header {
-    width: auto !important;
-  }
+.el-table__header {
+  width: auto !important;
+}
 
-  .d-dialog-con {
-    position: absolute;
-    left: -19rem;
-    top: 0;
-  }
+.d-dialog-con {
+  position: absolute;
+  left: -19rem;
+  top: 0;
+}
 </style>

+ 453 - 453
src/views/animal.vue

@@ -1,485 +1,485 @@
 <template>
-	<div class="visual-con">
-		<!--头部-->
-		<vheader></vheader>
-		<!--主体-->
-		<div class="visual-body">
-			<!-- 左侧 -->
-			<div class="leftbar w-6" :class="indentleft" ref="left">
-				<div class="forthis">
-					<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-						<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-						<div class="i-list-con h-78">
-							<div class="d-l-con-icon">
-								<div class="icon-con  m-btm-no icon-animal-con" :class="animalcount" @click="getInit()">
-									<!--   -->
-									<!--<div class="icon icon-dot"></div>-->
-									<div class="icon-text animal-text">
-										<h6>9</h6>
-										<h5>总数</h5>
-									</div>
-								</div>
-							</div>
-							<div class="d-l-con-icon">
-								<div class="icon-con icon-animal-con" :class="{on:iconCurrentIndex1==item.type}"
-									v-for="(item,index) in animalDwfb" @click="selectForestAnimalListByType(item.type)">
-									<div class="iconfont icon icon-normal icon-animal">
-										<img :src="item.src">
-									</div>
-									<div class="icon-text icon-animal-text">
-										<h5>{{item.name}}</h5>
-									</div>
-								</div>
-							</div>
-						</div>
-					</dv-border-box-13>
-				</div>
-			</div>
-			<!-- 地图 -->
-			<supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'animalMap'"
-				:mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
-			<!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
-			<!--      </button>-->
-			<!-- 右侧 -->
-			<div class="rightbar" :class="indentright" ref="right">
-				<div class="forthis">
-					<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-						<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-						<div class="this-title">
-							<span>事件分布</span>
-							<dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;" />
-						</div>
-						<div class="i-list-con h-73">
-							<div class="d-l-con-icon">
-								<div class="h-19 overflow-y w100">
-									<div class="d-l-con" v-for="(item,index) in animalSjfb">
-										<div class="d-l-l-text">
-											<i class="i-small"></i>
-											<h4>{{item.deptName}}</h4>
-										</div>
-										<div class="d-l-l-count">{{item.count}}</div>
-									</div>
-								</div>
-							</div>
-							<div class="d-l-con">
-								<div id="animal-chart" style="width: 100%;height:26.2vh;"></div>
-							</div>
-							<div class="d-l-con d-evnet-list-con" :class="{on:listCurrentIndex1==index}"
-								v-for="(item,index) in animalSjlb"
-								@click="dropLocation(item.latitude,item.longitude,index)">
-								<img src="@/assets/images/visual/img-sample.png" class="event-list-img animal-img">
-								<div class="event-list-text">
-									<h3>{{item.eventTitle}}</h3>
-									<h4><span>摄像头</span><span>新上报</span><span>{{item.reportTime}}</span>
-									</h4>
-								</div>
-							</div>
-						</div>
-					</dv-border-box-13>
-				</div>
+  <div class="visual-con">
+    <!--头部-->
+    <vheader></vheader>
+    <!--主体-->
+    <div class="visual-body">
+      <!-- 左侧 -->
+      <div class="leftbar w-6" :class="indentleft" ref="left">
+        <div class="forthis">
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="i-list-con h-78">
+              <div class="d-l-con-icon">
+                <div class="icon-con  m-btm-no icon-animal-con" :class="animalcount" @click="getInit()">
+                  <!--   -->
+                  <!--<div class="icon icon-dot"></div>-->
+                  <div class="icon-text animal-text">
+                    <h6>9</h6>
+                    <h5>总数</h5>
+                  </div>
+                </div>
+              </div>
+              <div class="d-l-con-icon">
+                <div class="icon-con icon-animal-con" :class="{on:iconCurrentIndex1==item.type}"
+                     v-for="(item,index) in animalDwfb" @click="selectForestAnimalListByType(item.type)">
+                  <div class="iconfont icon icon-normal icon-animal">
+                    <img :src="item.src">
+                  </div>
+                  <div class="icon-text icon-animal-text">
+                    <h5>{{ item.name }}</h5>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
+      </div>
+      <!-- 地图 -->
+      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'animalMap'" class="indexSupermapClass"
+                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
+      <!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
+      <!--      </button>-->
+      <!-- 右侧 -->
+      <div class="rightbar" :class="indentright" ref="right">
+        <div class="forthis">
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="this-title">
+              <span>事件分布</span>
+              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
+            </div>
+            <div class="i-list-con h-73">
+              <div class="d-l-con-icon">
+                <div class="h-19 overflow-y w100">
+                  <div class="d-l-con" v-for="(item,index) in animalSjfb">
+                    <div class="d-l-l-text">
+                      <i class="i-small"></i>
+                      <h4>{{ item.deptName }}</h4>
+                    </div>
+                    <div class="d-l-l-count">{{ item.count }}</div>
+                  </div>
+                </div>
+              </div>
+              <div class="d-l-con">
+                <div id="animal-chart" style="width: 100%;height:26.2vh;"></div>
+              </div>
+              <div class="d-l-con d-evnet-list-con" :class="{on:listCurrentIndex1==index}"
+                   v-for="(item,index) in animalSjlb"
+                   @click="dropLocation(item.latitude,item.longitude,index)">
+                <img src="@/assets/images/visual/img-sample.png" class="event-list-img animal-img">
+                <div class="event-list-text">
+                  <h3>{{ item.eventTitle }}</h3>
+                  <h4><span>摄像头</span><span>新上报</span><span>{{ item.reportTime }}</span>
+                  </h4>
+                </div>
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
 
-			</div>
-			<vBottomMenu ref="bottomMenu"></vBottomMenu>
-			<el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">
-				<div class="mascot" ref="mascot" :class="indentStyle" @click="indent"><img
-						src="@/assets/images/mascot.png" />
-				</div>
-			</el-tooltip>
+      </div>
+      <vBottomMenu ref="bottomMenu"></vBottomMenu>
+      <el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">
+        <div class="mascot" ref="mascot" :class="indentStyle" @click="indent"><img
+          src="@/assets/images/mascot.png"/>
+        </div>
+      </el-tooltip>
 
-		</div>
-		<eventLocation ref="eventLocation"></eventLocation>
-		<TVWall ref="TVWall"></TVWall>
-	</div>
+    </div>
+    <eventLocation ref="eventLocation"></eventLocation>
+    <TVWall ref="TVWall"></TVWall>
+  </div>
 </template>
 
 <script>
-	import {
-		getInit,
-		selectForestAnimalListByType
-	} from '@/api/animal'
+import {
+  getInit,
+  selectForestAnimalListByType
+} from '@/api/animal'
 
-	import supermap from '@/components/supermap' //超图
-	import vheader from '@/components/v-header.vue' //一体化共用头部
-	import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-	import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-	import TVWall from '@/components/TVWall.vue' //电视墙弹窗
+import supermap from '@/components/supermap' //超图
+import vheader from '@/components/v-header.vue' //一体化共用头部
+import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
+import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
+import TVWall from '@/components/TVWall.vue' //电视墙弹窗
 
-	let echarts = require('echarts')
-	export default {
-		components: {
-			supermap,
-			vheader,
-			vBottomMenu,
-			eventLocation,
-			TVWall,
-		},
-		data() {
-			return {
-				animalcount: '',
-				iconCurrentIndex1: '',
-				listCurrentIndex1: '',
-				//左右缩进
-				indentStyle: '',
-				indentleft: '',
-				indentright: '',
-				indentText: '收起左右栏',
-				indentdisabled: false,
+let echarts = require('echarts')
+export default {
+  components: {
+    supermap,
+    vheader,
+    vBottomMenu,
+    eventLocation,
+    TVWall
+  },
+  data() {
+    return {
+      animalcount: '',
+      iconCurrentIndex1: '',
+      listCurrentIndex1: '',
+      //左右缩进
+      indentStyle: '',
+      indentleft: '',
+      indentright: '',
+      indentText: '收起左右栏',
+      indentdisabled: false,
 
-				//虚拟数据
-				animalDwfb: [{
-					name: '虎',
-					src: require('../assets/images/dwbh/hu-1.png'),
-					type: 'forest_animal_hu'
-				}, {
-					name: '豹',
-					src: require('../assets/images/dwbh/bao-1.png'),
-					type: 'forest_animal_bao'
-				}, {
-					name: '蛇',
-					src: require('../assets/images/dwbh/she-1.png'),
-					type: 'forest_animal_she'
-				}, {
-					name: '鹰',
-					src: require('../assets/images/dwbh/ying-1.png'),
-					type: 'forest_animal_ying'
-				}, {
-					name: '兔',
-					src: require('../assets/images/dwbh/tuzi-1.png'),
-					type: 'forest_animal_tu'
-				}, {
-					name: '狐狸',
-					src: require('../assets/images/dwbh/huli-1.png'),
-					type: 'forest_animal_huli'
-				}, {
-					name: '狗熊',
-					src: require('../assets/images/dwbh/gouxiong-1.png'),
-					type: 'forest_animal_gouxiong'
-				}, {
-					name: '野鸡',
-					src: require('../assets/images/dwbh/yeji-1.png'),
-					type: 'forest_animal_yeji'
-				}, {
-					name: '狍子',
-					src: require('../assets/images/dwbh/paozi-1.png'),
-					type: 'forest_animal_paozi'
-				}],
-				animalSjfb: [],
-				animalSjlb: [],
-				markersList: [], //点位列表
-			}
-		},
-		created() {
-			/** ----------------------------------底部按钮公用组件开始------------------------------------- */
-			window.showDialog = this.showDialog
-			window.choseLayerSwitching = this.choseLayerSwitching
-      window.choseLayerSwitchingList = this.choseLayerSwitchingList
-			/** ----------------------------------底部按钮公用组件结束------------------------------------- */
-		},
-		mounted() {
-			this.getInit()
-		},
-		methods: {
-			/** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      showDialog(click) {
-        if (click == 'eventLocation') {
-          this.$refs.eventLocation.showEventLocation()
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'editableLayers') {
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.supermap.isEditableLayers) {
-            this.$refs.supermap.isEditableLayers = true
-          } else {
-            this.$refs.supermap.isEditableLayers = false
-          }
-        } else if (click == 'layerSwitching') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showChild) {
-            this.$refs.bottomMenu.showChild = true
-          } else {
-            this.$refs.bottomMenu.showChild = false
-          }
-        } else if (click == 'TVWall') {
-          this.$refs.TVWall.showTVWall()
+      //虚拟数据
+      animalDwfb: [{
+        name: '虎',
+        src: require('../assets/images/dwbh/hu-1.png'),
+        type: 'forest_animal_hu'
+      }, {
+        name: '豹',
+        src: require('../assets/images/dwbh/bao-1.png'),
+        type: 'forest_animal_bao'
+      }, {
+        name: '蛇',
+        src: require('../assets/images/dwbh/she-1.png'),
+        type: 'forest_animal_she'
+      }, {
+        name: '鹰',
+        src: require('../assets/images/dwbh/ying-1.png'),
+        type: 'forest_animal_ying'
+      }, {
+        name: '兔',
+        src: require('../assets/images/dwbh/tuzi-1.png'),
+        type: 'forest_animal_tu'
+      }, {
+        name: '狐狸',
+        src: require('../assets/images/dwbh/huli-1.png'),
+        type: 'forest_animal_huli'
+      }, {
+        name: '狗熊',
+        src: require('../assets/images/dwbh/gouxiong-1.png'),
+        type: 'forest_animal_gouxiong'
+      }, {
+        name: '野鸡',
+        src: require('../assets/images/dwbh/yeji-1.png'),
+        type: 'forest_animal_yeji'
+      }, {
+        name: '狍子',
+        src: require('../assets/images/dwbh/paozi-1.png'),
+        type: 'forest_animal_paozi'
+      }],
+      animalSjfb: [],
+      animalSjlb: [],
+      markersList: [] //点位列表
+    }
+  },
+  created() {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    window.showDialog = this.showDialog
+    window.choseLayerSwitching = this.choseLayerSwitching
+    window.choseLayerSwitchingList = this.choseLayerSwitchingList
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+  },
+  mounted() {
+    this.getInit()
+  },
+  methods: {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    showDialog(click) {
+      if (click == 'eventLocation') {
+        this.$refs.eventLocation.showEventLocation()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'editableLayers') {
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.supermap.isEditableLayers) {
+          this.$refs.supermap.isEditableLayers = true
+        } else {
           this.$refs.supermap.isEditableLayers = false
+        }
+      } else if (click == 'layerSwitching') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showChild) {
+          this.$refs.bottomMenu.showChild = true
+        } else {
           this.$refs.bottomMenu.showChild = false
+        }
+      } else if (click == 'TVWall') {
+        this.$refs.TVWall.showTVWall()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'forestban') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showBanChild) {
+          this.$refs.bottomMenu.showBanChild = true
+        } else {
           this.$refs.bottomMenu.showBanChild = false
+        }
+      } else if (click == 'forestchang') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChild = false
+        if (!this.$refs.bottomMenu.showChangChild) {
+          this.$refs.bottomMenu.showChangChild = true
+        } else {
           this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'forestban') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showBanChild) {
-            this.$refs.bottomMenu.showBanChild = true
-          } else {
-            this.$refs.bottomMenu.showBanChild = false
-          }
-        } else if (click == 'forestchang') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChild = false
-          if (!this.$refs.bottomMenu.showChangChild) {
-            this.$refs.bottomMenu.showChangChild = true
-          } else {
-            this.$refs.bottomMenu.showChangChild = false
-          }
         }
+      }
 
-      },
-			//选择图层
-      choseLayerSwitching(url,isClear) {
-        this.$refs.supermap.layerSwitching(url, isClear)
-      },
-      //选择图层(传递数组)
-      choseLayerSwitchingList(urlList) {
-        this.$refs.supermap.layerSwitchingList(urlList)
-      },
-			/** ----------------------------------底部按钮公用组件结束------------------------------------- */
-			dropLocation(lat, lng, index) {
-				this.listCurrentIndex1 = index
-				this.$refs.supermap.dropLocation(lat, lng)
-			},
-			//初始化
-			getInit() {
-				this.iconCurrentIndex1 = ''
-				this.animalcount = 'on'
-				let that = this
-				//获取左侧菜单列表
-				getInit().then(res => {
-					this.animalSjfb = res.data.visuForestAnimalBOList
-					this.animalSjlb = res.data.visuForestVgdEventBOList
+    },
+    //选择图层
+    choseLayerSwitching(url, isClear) {
+      this.$refs.supermap.layerSwitching(url, isClear)
+    },
+    //选择图层(传递数组)
+    choseLayerSwitchingList(urlList) {
+      this.$refs.supermap.layerSwitchingList(urlList)
+    },
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+    dropLocation(lat, lng, index) {
+      this.listCurrentIndex1 = index
+      this.$refs.supermap.dropLocation(lat, lng)
+    },
+    //初始化
+    getInit() {
+      this.iconCurrentIndex1 = ''
+      this.animalcount = 'on'
+      let that = this
+      //获取左侧菜单列表
+      getInit().then(res => {
+        this.animalSjfb = res.data.visuForestAnimalBOList
+        this.animalSjlb = res.data.visuForestVgdEventBOList
 
-					that.markersList = [];
-					if (res.data.visuForestVgdEventBOList != null && res.data.visuForestVgdEventBOList.length >
-						0) {
-						for (let i = 0; i < res.data.visuForestVgdEventBOList.length; i++) {
-							let markersMap = {
-								lng: 124.59,
-								lat: 43.02,
-								icon: 'marker',
-								bindPopupHtml: '',
-								click: '',
-								parameter: '',
-								keepBindPopup: false,
-								isAggregation: false
-							}
-							if (res.data.visuForestVgdEventBOList.length > 50) {
-								markersMap.isAggregation = true
-							}
-							markersMap.lng = res.data.visuForestVgdEventBOList[i].longitude
-							markersMap.lat = res.data.visuForestVgdEventBOList[i].latitude
-							markersMap.bindPopupHtml = '<div class="map-tip">' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>经纬度:' + res.data.visuForestVgdEventBOList[i].longitude +
-								',' + res.data.visuForestVgdEventBOList[i]
-								.latitude + '</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>事件名称:' + res.data.visuForestVgdEventBOList[i].eventTitle +
-								'</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>事件时间:' + res.data.visuForestVgdEventBOList[i].reportTime +
-								'</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'</div>';
-							that.markersList.push(markersMap)
-						}
-						setTimeout(() => {
-							that.$refs.supermap.clearM(false)
-							that.$refs.supermap.clearM(true)
-							that.$refs.supermap.setMarkers(that.markersList)
-						}, 1000)
-					} else {
-						setTimeout(() => {
-							that.$refs.supermap.clearM(false)
-							that.$refs.supermap.clearM(true)
-						}, 1000)
-					}
-				})
-			},
+        that.markersList = []
+        if (res.data.visuForestVgdEventBOList != null && res.data.visuForestVgdEventBOList.length >
+          0) {
+          for (let i = 0; i < res.data.visuForestVgdEventBOList.length; i++) {
+            let markersMap = {
+              lng: 124.59,
+              lat: 43.02,
+              icon: 'marker',
+              bindPopupHtml: '',
+              click: '',
+              parameter: '',
+              keepBindPopup: false,
+              isAggregation: false
+            }
+            if (res.data.visuForestVgdEventBOList.length > 50) {
+              markersMap.isAggregation = true
+            }
+            markersMap.lng = res.data.visuForestVgdEventBOList[i].longitude
+            markersMap.lat = res.data.visuForestVgdEventBOList[i].latitude
+            markersMap.bindPopupHtml = '<div class="map-tip">' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>经纬度:' + res.data.visuForestVgdEventBOList[i].longitude +
+              ',' + res.data.visuForestVgdEventBOList[i]
+                .latitude + '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>事件名称:' + res.data.visuForestVgdEventBOList[i].eventTitle +
+              '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>事件时间:' + res.data.visuForestVgdEventBOList[i].reportTime +
+              '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '</div>'
+            that.markersList.push(markersMap)
+          }
+          setTimeout(() => {
+            that.$refs.supermap.clearM(false)
+            that.$refs.supermap.clearM(true)
+            that.$refs.supermap.setMarkers(that.markersList)
+          }, 1000)
+        } else {
+          setTimeout(() => {
+            that.$refs.supermap.clearM(false)
+            that.$refs.supermap.clearM(true)
+          }, 1000)
+        }
+      })
+    },
 
-			selectForestAnimalListByType(type) {
-				this.iconCurrentIndex1 = type
-				this.animalcount = ''
-				let that = this
-				//获取左侧菜单列表
-				selectForestAnimalListByType(type).then(res => {
-					this.animalSjfb = res.data.visuForestAnimalBOList
-					this.animalSjlb = res.data.visuForestVgdEventBOList
-					that.markersList = [];
-					if (res.data.visuForestVgdEventBOList != null && res.data.visuForestVgdEventBOList.length >
-						0) {
-						for (let i = 0; i < res.data.visuForestVgdEventBOList.length; i++) {
-							let markersMap = {
-								lng: 124.59,
-								lat: 43.02,
-								icon: 'marker',
-								bindPopupHtml: '',
-								click: '',
-								parameter: '',
-								keepBindPopup: false,
-								isAggregation: false
-							}
-							if (res.data.visuForestVgdEventBOList.length > 50) {
-								markersMap.isAggregation = true
-							}
-							markersMap.lng = res.data.visuForestVgdEventBOList[i].longitude
-							markersMap.lat = res.data.visuForestVgdEventBOList[i].latitude
-							markersMap.bindPopupHtml = '<div class="map-tip">' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>经纬度:' + res.data.visuForestVgdEventBOList[i].longitude +
-								',' + res.data.visuForestVgdEventBOList[i]
-								.latitude + '</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>事件名称:' + res.data.visuForestVgdEventBOList[i].eventTitle +
-								'</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'<span>' +
-								'                  <div class="d-l-con">' +
-								'                  <div class="d-l-l-text">' +
-								'                  <h4>事件时间:' + res.data.visuForestVgdEventBOList[i].reportTime +
-								'</h4>' +
-								'                </div>' +
-								'                </div>' +
-								'                </span>' +
-								'</div>';
-							that.markersList.push(markersMap)
-						}
-						setTimeout(() => {
-							that.$refs.supermap.clearM(false)
-							that.$refs.supermap.clearM(true)
-							that.$refs.supermap.setMarkers(that.markersList)
-						}, 1000)
-					} else {
-						setTimeout(() => {
-							that.$refs.supermap.clearM(false)
-							that.$refs.supermap.clearM(true)
-						}, 1000)
-					}
-				})
-			},
+    selectForestAnimalListByType(type) {
+      this.iconCurrentIndex1 = type
+      this.animalcount = ''
+      let that = this
+      //获取左侧菜单列表
+      selectForestAnimalListByType(type).then(res => {
+        this.animalSjfb = res.data.visuForestAnimalBOList
+        this.animalSjlb = res.data.visuForestVgdEventBOList
+        that.markersList = []
+        if (res.data.visuForestVgdEventBOList != null && res.data.visuForestVgdEventBOList.length >
+          0) {
+          for (let i = 0; i < res.data.visuForestVgdEventBOList.length; i++) {
+            let markersMap = {
+              lng: 124.59,
+              lat: 43.02,
+              icon: 'marker',
+              bindPopupHtml: '',
+              click: '',
+              parameter: '',
+              keepBindPopup: false,
+              isAggregation: false
+            }
+            if (res.data.visuForestVgdEventBOList.length > 50) {
+              markersMap.isAggregation = true
+            }
+            markersMap.lng = res.data.visuForestVgdEventBOList[i].longitude
+            markersMap.lat = res.data.visuForestVgdEventBOList[i].latitude
+            markersMap.bindPopupHtml = '<div class="map-tip">' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>经纬度:' + res.data.visuForestVgdEventBOList[i].longitude +
+              ',' + res.data.visuForestVgdEventBOList[i]
+                .latitude + '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>事件名称:' + res.data.visuForestVgdEventBOList[i].eventTitle +
+              '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '<span>' +
+              '                  <div class="d-l-con">' +
+              '                  <div class="d-l-l-text">' +
+              '                  <h4>事件时间:' + res.data.visuForestVgdEventBOList[i].reportTime +
+              '</h4>' +
+              '                </div>' +
+              '                </div>' +
+              '                </span>' +
+              '</div>'
+            that.markersList.push(markersMap)
+          }
+          setTimeout(() => {
+            that.$refs.supermap.clearM(false)
+            that.$refs.supermap.clearM(true)
+            that.$refs.supermap.setMarkers(that.markersList)
+          }, 1000)
+        } else {
+          setTimeout(() => {
+            that.$refs.supermap.clearM(false)
+            that.$refs.supermap.clearM(true)
+          }, 1000)
+        }
+      })
+    },
 
-			//事件chart
-			eventChart() {
-				// 基于准备好的dom,初始化echarts实例
-				let myChart = echarts.init(document.getElementById('animal-chart'))
-				myChart.setOption({
-					color: ['#2EACFF', '#FFA61C', '#2EC054', '#8C64D7'],
-					tooltip: {
-						trigger: 'item',
-						formatter: '{a} <br/>{b} : {c} ({d}%)'
-					},
-					toolbox: {
-						show: true
-					},
-					series: [{
-						name: '事件分类',
-						type: 'pie',
-						roseType: true,
-						radius: [30, 70],
-						label: {
-							show: true,
-							formatter: '{b}\n{c} '
-						},
-						data: this.eventChartData
-					}]
-				})
+    //事件chart
+    eventChart() {
+      // 基于准备好的dom,初始化echarts实例
+      let myChart = echarts.init(document.getElementById('animal-chart'))
+      myChart.setOption({
+        color: ['#2EACFF', '#FFA61C', '#2EC054', '#8C64D7'],
+        tooltip: {
+          trigger: 'item',
+          formatter: '{a} <br/>{b} : {c} ({d}%)'
+        },
+        toolbox: {
+          show: true
+        },
+        series: [{
+          name: '事件分类',
+          type: 'pie',
+          roseType: true,
+          radius: [30, 70],
+          label: {
+            show: true,
+            formatter: '{b}\n{c} '
+          },
+          data: this.eventChartData
+        }]
+      })
 
-			},
-			//吉祥物收起左右框
-			indent() {
-				let list = document.getElementsByClassName('el-tooltip__popper')
-				list[list.length - 1].style.display = 'none'
-				if (this.indentStyle == '') {
-					this.indentStyle = 'indent-style'
-					this.indentleft = 'indent-left'
-					this.indentright = 'indent-right'
-					this.indentText = '展开左右栏'
-				} else if (this.indentText == '展开左右栏') {
-					this.indentStyle = ''
-					this.indentleft = ''
-					this.indentright = ''
-					this.indentText = '收起左右栏'
-				}
-			}
-		}
+    },
+    //吉祥物收起左右框
+    indent() {
+      let list = document.getElementsByClassName('el-tooltip__popper')
+      list[list.length - 1].style.display = 'none'
+      if (this.indentStyle == '') {
+        this.indentStyle = 'indent-style'
+        this.indentleft = 'indent-left'
+        this.indentright = 'indent-right'
+        this.indentText = '展开左右栏'
+      } else if (this.indentText == '展开左右栏') {
+        this.indentStyle = ''
+        this.indentleft = ''
+        this.indentright = ''
+        this.indentText = '收起左右栏'
+      }
+    }
+  }
 
-	}
+}
 </script>
 
 <style rel="stylesheet/scss" lang="scss" scoped>
-	@import '@/assets/styles/base.scss';
+@import '@/assets/styles/base.scss';
 
-	//动物保护
-	.icon-animal-con {
-		width: 100%;
-		display: block !important;
-	}
+//动物保护
+.icon-animal-con {
+  width: 100%;
+  display: block !important;
+}
 
-	.icon-animal {
-		display: block;
-		margin: 2px auto;
-		background: none !important;
-	}
+.icon-animal {
+  display: block;
+  margin: 2px auto;
+  background: none !important;
+}
 
-	.icon-animal-text {
-		display: block !important;
-		text-align: center !important;
-		padding: 0.5rem 0.5rem 0rem 0.5rem;
-	}
+.icon-animal-text {
+  display: block !important;
+  text-align: center !important;
+  padding: 0.5rem 0.5rem 0rem 0.5rem;
+}
 
-	.animal-text {
-		background: #f5ad1b;
-		border: 0.2px solid rgba(19, 64, 64, 0.7);
-		height: 3.2rem;
-		width: 4rem;
-		text-align: center;
-		margin: 0px auto;
-		border-radius: 0.5rem;
-		color: #fff !important;
-	}
+.animal-text {
+  background: #f5ad1b;
+  border: 0.2px solid rgba(19, 64, 64, 0.7);
+  height: 3.2rem;
+  width: 4rem;
+  text-align: center;
+  margin: 0px auto;
+  border-radius: 0.5rem;
+  color: #fff !important;
+}
 
-	.animal-text h6 {
-		color: #fff !important;
-	}
+.animal-text h6 {
+  color: #fff !important;
+}
 
-	.w100 {
-		width: 100% !important;
-	}
+.w100 {
+  width: 100% !important;
+}
 
-	.animal-img {
-		height: 3rem !important;
-	}
+.animal-img {
+  height: 3rem !important;
+}
 
-	.w-6 {
-		width: 6rem !important;
-	}
+.w-6 {
+  width: 6rem !important;
+}
 </style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1041 - 1042
src/views/datacenter.vue


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 765 - 765
src/views/disaster.vue


+ 28 - 2
src/views/eventdetailsdialog.vue

@@ -812,10 +812,19 @@
             <el-button size="mini" type="primary"
                        @click="updateCentereventTEventcatalogueStatus('gd',true)">归档
             </el-button>
+            <el-button size="mini" type="primary"
+                       @click="regionalFlagAdd()">火灾区域
+            </el-button>
           </div>
         </form>
       </div>
     </el-dialog>
+    <!-- 添加区域标记 -->
+    <el-dialog title="火灾区域"  :visible.sync="regionalFlagOpen" width="1000px">
+      <areaSupermap ref="fireAreaSupermap" v-if="regionalFlagOpen" style="width: 100%;height:74vh"
+                    :mapDiv="'fireAreaSuperMap'" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']"
+                    :isSideBySide="false" :showAreaLatLng="showAreaLatLng"></areaSupermap>
+    </el-dialog>
   </div>
 </template>
 
@@ -825,6 +834,7 @@ import supermapDialog from '@/components/supermap' //超图
 import vheader from '@/components/v-header.vue' //一体化共用头部
 import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
 import eventLogUpload from '@/views/eventLogUpload.vue' //日志上传文件
+import areaSupermap from '@/components/supermap'//区域标记地图
 import {
   getEventDetail,
   sendEventLog,
@@ -852,10 +862,16 @@ export default {
     vheader,
     vBottomMenu,
     supermapDialog,
-    eventLogUpload
+    eventLogUpload,
+    areaSupermap
   },
   data() {
     return {
+      regionalFlagOpen: false,//区域标记
+      //区域标记
+      regionalFlagObj: {
+        array: []
+      },
       filterText: '',//树搜索
       /** *****************事件流程***************************/
       deptNameitem: '签收部门',
@@ -1424,7 +1440,8 @@ export default {
             id: this.eventId,
             czlx: '',
             forestFireLoss: { eventId: this.eventCode, table1: this.table1 },
-            fireInformation: { eventId: this.eventCode, table2: this.table2 }
+            fireInformation: { eventId: this.eventCode, table2: this.table2 },
+            array:this.regionalFlagObj.array
           }
           updateCentereventTEventcatalogueStatus(param).then(res => {
             if (res.code == 200) {
@@ -1675,6 +1692,15 @@ export default {
           this.refreshEventDialog(this.eventCode)
         }
       })
+    },
+    regionalFlagAdd: function() {//火灾区域
+      this.regionalFlagObj.array=[]
+      this.regionalFlagOpen = true
+    },
+    showAreaLatLng: function(latlng) {//获取火灾区域经纬度
+      console.log(latlng)
+      this.regionalFlagObj.array = latlng
+      this.$modal.msgSuccess('获取坐标成功!')
     }
   }
 }

+ 58 - 33
src/views/forest.vue

@@ -103,7 +103,8 @@
         </div>
       </div>
       <!-- 地图 -->
-      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" :dynamicPlotting="false"
+      <supermap ref="supermap" style="width: 100%;height: 100vh;" class="indexSupermapClass" :mapDiv="'forestMap'"
+                :dynamicPlotting="false"
                 :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"
                 @showEventDialog="showEventDialog"/>
       <!-- 右侧 -->
@@ -121,26 +122,41 @@
                       <img v-if="weatherinformationWeather==2" src="../assets/images/integrated/weather/duoyun-2.png">
                       <img v-if="weatherinformationWeather==3" src="../assets/images/integrated/weather/yin-3.png">
                       <img v-if="weatherinformationWeather==4" src="../assets/images/integrated/weather/zhenyu-4.png">
-                      <img v-if="weatherinformationWeather==5" src="../assets/images/integrated/weather/leizhenyu-5.png">
-                      <img v-if="weatherinformationWeather==6" src="../assets/images/integrated/weather/leizhenyubingbao-6.png">
+                      <img v-if="weatherinformationWeather==5"
+                           src="../assets/images/integrated/weather/leizhenyu-5.png">
+                      <img v-if="weatherinformationWeather==6"
+                           src="../assets/images/integrated/weather/leizhenyubingbao-6.png">
                       <img v-if="weatherinformationWeather==7" src="../assets/images/integrated/weather/yujiaxue-7.png">
                       <img v-if="weatherinformationWeather==8" src="../assets/images/integrated/weather/xiaoyu-8.png">
-                      <img v-if="weatherinformationWeather==9||weatherinformationWeather==22" src="../assets/images/integrated/weather/zhongyu-9.png">
-                      <img v-if="weatherinformationWeather==10||weatherinformationWeather==23" src="../assets/images/integrated/weather/dayu-10.png">
-                      <img v-if="weatherinformationWeather==11||weatherinformationWeather==24" src="../assets/images/integrated/weather/baoyu-11.png">
-                      <img v-if="weatherinformationWeather==12||weatherinformationWeather==25" src="../assets/images/integrated/weather/dabaoyu-12.png">
-                      <img v-if="weatherinformationWeather==13||weatherinformationWeather==26" src="../assets/images/integrated/weather/tedabaoyu-13.png">
-                      <img v-if="weatherinformationWeather==14" src="../assets/images/integrated/weather/zhenxue-14.png">
-                      <img v-if="weatherinformationWeather==15" src="../assets/images/integrated/weather/xiaoxue-15.png">
-                      <img v-if="weatherinformationWeather==16||weatherinformationWeather==27" src="../assets/images/integrated/weather/zhongxue-16.png">
-                      <img v-if="weatherinformationWeather==17||weatherinformationWeather==28" src="../assets/images/integrated/weather/daxue-17.png">
-                      <img v-if="weatherinformationWeather==18||weatherinformationWeather==29" src="../assets/images/integrated/weather/baoxue-18.png">
+                      <img v-if="weatherinformationWeather==9||weatherinformationWeather==22"
+                           src="../assets/images/integrated/weather/zhongyu-9.png">
+                      <img v-if="weatherinformationWeather==10||weatherinformationWeather==23"
+                           src="../assets/images/integrated/weather/dayu-10.png">
+                      <img v-if="weatherinformationWeather==11||weatherinformationWeather==24"
+                           src="../assets/images/integrated/weather/baoyu-11.png">
+                      <img v-if="weatherinformationWeather==12||weatherinformationWeather==25"
+                           src="../assets/images/integrated/weather/dabaoyu-12.png">
+                      <img v-if="weatherinformationWeather==13||weatherinformationWeather==26"
+                           src="../assets/images/integrated/weather/tedabaoyu-13.png">
+                      <img v-if="weatherinformationWeather==14"
+                           src="../assets/images/integrated/weather/zhenxue-14.png">
+                      <img v-if="weatherinformationWeather==15"
+                           src="../assets/images/integrated/weather/xiaoxue-15.png">
+                      <img v-if="weatherinformationWeather==16||weatherinformationWeather==27"
+                           src="../assets/images/integrated/weather/zhongxue-16.png">
+                      <img v-if="weatherinformationWeather==17||weatherinformationWeather==28"
+                           src="../assets/images/integrated/weather/daxue-17.png">
+                      <img v-if="weatherinformationWeather==18||weatherinformationWeather==29"
+                           src="../assets/images/integrated/weather/baoxue-18.png">
                       <img v-if="weatherinformationWeather==19" src="../assets/images/integrated/weather/wu-19.png">
                       <img v-if="weatherinformationWeather==20" src="../assets/images/integrated/weather/dongyu-20.png">
-                      <img v-if="weatherinformationWeather==21" src="../assets/images/integrated/weather/shachenbao-21.png">
+                      <img v-if="weatherinformationWeather==21"
+                           src="../assets/images/integrated/weather/shachenbao-21.png">
                       <img v-if="weatherinformationWeather==30" src="../assets/images/integrated/weather/fuchen-30.png">
-                      <img v-if="weatherinformationWeather==31" src="../assets/images/integrated/weather/yangsha-31.png">
-                      <img v-if="weatherinformationWeather==32" src="../assets/images/integrated/weather/qiangshachenbao-32.png">
+                      <img v-if="weatherinformationWeather==31"
+                           src="../assets/images/integrated/weather/yangsha-31.png">
+                      <img v-if="weatherinformationWeather==32"
+                           src="../assets/images/integrated/weather/qiangshachenbao-32.png">
                       <span v-if="weatherinformationWeather==1">晴</span>
                       <span v-if="weatherinformationWeather==2">多云</span>
                       <span v-if="weatherinformationWeather==3">阴</span>
@@ -189,8 +205,8 @@
                         <li v-if="weatherinformationDirection==7">风向:北风</li>
                         <li v-if="weatherinformationDirection==8">风向:东北风</li>
                         <li>高温:{{ weatherinformationHigh }}℃</li>
-                      <li>火险:{{ weatherinformationLevelValue }}
-                      </li>
+                        <li>火险:{{ weatherinformationLevelValue }}
+                        </li>
                         <li>湿度:{{ weatherinformationTemperature }}</li>
                       </ul>
                     </div>
@@ -204,11 +220,16 @@
                   </el-col>
                 </el-row>
                 <div class="firestate" v-if="todatWeather">
-                  <div :class="weatherinformationLevel=='forest_weatherinformation_level_1'? 'state-block1 state-on':'state-block1'"></div>
-                  <div :class="weatherinformationLevel=='forest_weatherinformation_level_2'? 'state-block2 state-on':'state-block2'"></div>
-                  <div :class="weatherinformationLevel=='forest_weatherinformation_level_3'? 'state-block3 state-on':'state-block3'"></div>
-                  <div :class="weatherinformationLevel=='forest_weatherinformation_level_4'? 'state-block4 state-on':'state-block4'"></div>
-                  <div :class="weatherinformationLevel=='forest_weatherinformation_level_5'? 'state-block5 state-on':'state-block5'"></div>
+                  <div
+                    :class="weatherinformationLevel=='forest_weatherinformation_level_1'? 'state-block1 state-on':'state-block1'"></div>
+                  <div
+                    :class="weatherinformationLevel=='forest_weatherinformation_level_2'? 'state-block2 state-on':'state-block2'"></div>
+                  <div
+                    :class="weatherinformationLevel=='forest_weatherinformation_level_3'? 'state-block3 state-on':'state-block3'"></div>
+                  <div
+                    :class="weatherinformationLevel=='forest_weatherinformation_level_4'? 'state-block4 state-on':'state-block4'"></div>
+                  <div
+                    :class="weatherinformationLevel=='forest_weatherinformation_level_5'? 'state-block5 state-on':'state-block5'"></div>
                 </div>
               </div>
             </dv-border-box-13>
@@ -258,7 +279,8 @@
                 <div class="d-l-con padding-box nowrap" v-for="(item,index) in eventList"
                      @click="dropLocation(item.latitude,item.longitude)">
                   <div class="bgt-img">
-                    <img v-if="item.picturePath!=null&&item.picturePath!=''&& isAssetTypeAnImage(item.picturePath)" :src="item.picturePath"
+                    <img v-if="item.picturePath!=null&&item.picturePath!=''&& isAssetTypeAnImage(item.picturePath)"
+                         :src="item.picturePath"
                          style="width: 93px;height: 64px"/>
                     <img v-else src="../assets/images/integrated/event-img-sub.png" style="width: 93px;height: 64px"/>
                   </div>
@@ -337,7 +359,8 @@
                 <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
               </div>
               <div class="i-list-con small-bottom-margin h-19">
-                <dv-capsule-chart v-if="showEventKind" :config="eventKind" style="width: 90%;height: 18vh; padding:.5rem 1rem"/>
+                <dv-capsule-chart v-if="showEventKind" :config="eventKind"
+                                  style="width: 90%;height: 18vh; padding:.5rem 1rem"/>
               </div>
             </dv-border-box-13>
           </div>
@@ -539,18 +562,19 @@ export default {
           if (this.eventList.length > 50) {
             markersMap.isAggregation = true
           }
-          if (this.eventList[i].eventStatusValue == 'forest_event_status_1'&&this.eventList[i].urgeCount==0) {
+          if (this.eventList[i].eventStatusValue == 'forest_event_status_1' && this.eventList[i].urgeCount == 0) {
             markersMap.click = 'showEventDialog'
             markersMap.icon = 'sj-icon-map-xinshangbao'
             markersMap.isAggregation = false
-          }if (this.eventList[i].eventStatusValue == 'forest_event_status_1'&&this.eventList[i].urgeCount>0) {
+          }
+          if (this.eventList[i].eventStatusValue == 'forest_event_status_1' && this.eventList[i].urgeCount > 0) {
             markersMap.click = 'showEventDialog'
             markersMap.icon = 'sj-icon-map-cuiban'
             markersMap.isAggregation = false
           } else if (this.eventList[i].eventStatusValue == 'forest_event_status_2') {
             markersMap.click = 'showEventDialog'
             markersMap.icon = 'sj-icon-map-qianshou'
-          }else if (this.eventList[i].eventStatusValue == 'forest_event_status_5') {
+          } else if (this.eventList[i].eventStatusValue == 'forest_event_status_5') {
             markersMap.click = 'showEventDialog'
             markersMap.icon = 'sj-icon-map-banjie'
           } else if (this.eventList[i].eventStatusValue == 'forest_event_status_6') {
@@ -897,18 +921,19 @@ export default {
             if (this.eventList.length > 50) {
               markersMap.isAggregation = true
             }
-            if (this.eventList[i].eventStatusValue == 'forest_event_status_1'&&this.eventList[i].urgeCount==0) {
+            if (this.eventList[i].eventStatusValue == 'forest_event_status_1' && this.eventList[i].urgeCount == 0) {
               markersMap.click = 'showEventDialog'
               markersMap.icon = 'sj-icon-map-xinshangbao'
               markersMap.isAggregation = false
-            }if (this.eventList[i].eventStatusValue == 'forest_event_status_1'&&this.eventList[i].urgeCount>0) {
+            }
+            if (this.eventList[i].eventStatusValue == 'forest_event_status_1' && this.eventList[i].urgeCount > 0) {
               markersMap.click = 'showEventDialog'
               markersMap.icon = 'sj-icon-map-cuiban'
               markersMap.isAggregation = false
             } else if (this.eventList[i].eventStatusValue == 'forest_event_status_2') {
               markersMap.click = 'showEventDialog'
               markersMap.icon = 'sj-icon-map-qianshou'
-            }else if (this.eventList[i].eventStatusValue == 'forest_event_status_5') {
+            } else if (this.eventList[i].eventStatusValue == 'forest_event_status_5') {
               markersMap.click = 'showEventDialog'
               markersMap.icon = 'sj-icon-map-banjie'
             } else if (this.eventList[i].eventStatusValue == 'forest_event_status_6') {
@@ -979,13 +1004,13 @@ export default {
       //右侧获取事件分类
       getEventByEventType({ day: day }).then(res => {
         if (res.data != null && res.data.length > 0) {
-          this.showEventKind=true
+          this.showEventKind = true
           this.eventKind.data = res.data
           this.eventKind.colors = ['#1ce0a9', '#d6333b', '#e68d3f', '#32c5e9', '#2abc65']
           this.eventKind.showValue = true
           this.eventKind = { ...this.eventKind }
         } else {
-          this.showEventKind=false
+          this.showEventKind = false
           this.eventKind = {}
           this.eventKind = { ...this.eventKind }
         }

+ 359 - 359
src/views/leader.vue

@@ -1,390 +1,390 @@
 <template>
-	<div class="visual-con">
-		<!--头部-->
-		<vheader></vheader>
-		<!--主体-->
-		<div class="visual-body">
-			<!-- 左侧 -->
-			<div class="leftbar" :class="indentleft" ref="left">
-				<div class="forthis">
-					<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-						<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-						<div class="this-title">
-							<span>人员分布</span>
-							<dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;" />
-						</div>
-						<div class="i-list-con h-25">
-							<div id="personnel-chart" style="width: 100%;height:12vh;"></div>
-							<div class="d-l-con-icon">
-								<div class="icon-con w-50" :class="{on:iconCurrentIndex1==item.jobValue}"
-									v-for="(item,index) in visuForestCloudRYBO"
-									@click="getForestLeader(item.jobValue,item.jobType)">
-									<div class="icon icon-mid el-icon-user"></div>
-									<div class="icon-text">
-										<h5>{{item.job}}</h5>
-										<h6>{{item.number}}</h6>
-									</div>
-								</div>
-								<!-- <div class="icon-con w-50  m-btm-no" :class="{on:listCurrentIndex1==item.jobType}" v-for="(item,index) in visuForestCloudRYBO" v-if="index%2!=0" @click="getForestLeader(item.jobValue,item.jobType)">
+  <div class="visual-con">
+    <!--头部-->
+    <vheader></vheader>
+    <!--主体-->
+    <div class="visual-body">
+      <!-- 左侧 -->
+      <div class="leftbar" :class="indentleft" ref="left">
+        <div class="forthis">
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="this-title">
+              <span>人员分布</span>
+              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
+            </div>
+            <div class="i-list-con h-25">
+              <div id="personnel-chart" style="width: 100%;height:12vh;"></div>
+              <div class="d-l-con-icon">
+                <div class="icon-con w-50" :class="{on:iconCurrentIndex1==item.jobValue}"
+                     v-for="(item,index) in visuForestCloudRYBO"
+                     @click="getForestLeader(item.jobValue,item.jobType)">
+                  <div class="icon icon-mid el-icon-user"></div>
+                  <div class="icon-text">
+                    <h5>{{ item.job }}</h5>
+                    <h6>{{ item.number }}</h6>
+                  </div>
+                </div>
+                <!-- <div class="icon-con w-50  m-btm-no" :class="{on:listCurrentIndex1==item.jobType}" v-for="(item,index) in visuForestCloudRYBO" v-if="index%2!=0" @click="getForestLeader(item.jobValue,item.jobType)">
                 <div class="icon icon-mid el-icon-user"></div>
                 <div class="icon-text">
                   <h5>{{item.job}}</h5>
                   <h6>{{item.number}}</h6>
                 </div>
               </div> -->
-							</div>
-						</div>
-					</dv-border-box-13>
-				</div>
-				<!--        avatar: ""-->
-				<!--        deptName: "锦程社区第一网格"-->
-				<!--        nickName: "李猛"-->
-				<!--        userId: 102-->
-				<!--        userName: "limeng"-->
-				<div class="forthis">
-					<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-						<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-						<div class="i-list-con h-27">
-							<div class="d-l-con-icon">
-								<div class="icon-con" :class="{on:listCurrentIndex1==item.userId}"
-									v-for="(item,index) in peopleList" @click="getLeaderTrack(item.userId)">
-									<div class="icon icon-mid el-icon-user"></div>
-									<div class="icon-text personnel-name">
-										<h6>{{item.nickName}}</h6>
-										<h5>{{item.deptName}}</h5>
-									</div>
-								</div>
-							</div>
-						</div>
-					</dv-border-box-13>
-				</div>
-			</div>
-			<!-- 地图 -->
-			<supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'"
-				:mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
-			<!-- 右侧 -->
-			<div class="rightbar" :class="indentright" ref="right">
-				<div class="forthis">
-					<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-						<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-						<div class="this-title">
-							<span>巡林计划</span>
-							<dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;" />
-						</div>
-						<div class="i-list-con h-73">
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
+        <!--        avatar: ""-->
+        <!--        deptName: "锦程社区第一网格"-->
+        <!--        nickName: "李猛"-->
+        <!--        userId: 102-->
+        <!--        userName: "limeng"-->
+        <div class="forthis">
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="i-list-con h-27">
+              <div class="d-l-con-icon">
+                <div class="icon-con" :class="{on:listCurrentIndex1==item.userId}"
+                     v-for="(item,index) in peopleList" @click="getLeaderTrack(item.userId)">
+                  <div class="icon icon-mid el-icon-user"></div>
+                  <div class="icon-text personnel-name">
+                    <h6>{{ item.nickName }}</h6>
+                    <h5>{{ item.deptName }}</h5>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
+      </div>
+      <!-- 地图 -->
+      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"
+                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
+      <!-- 右侧 -->
+      <div class="rightbar" :class="indentright" ref="right">
+        <div class="forthis">
+          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
+            <div class="this-title">
+              <span>巡林计划</span>
+              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
+            </div>
+            <div class="i-list-con h-73">
 
-							<div class="h-19 overflow-y">
-								<div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
-									v-for="(item,index) in xunLinListOne"
-									@click="setConnectList(item.planLine,item.planName)">
-									<div class="d-l-l-text">
-										<i class="i-small"></i>
-										<h4>{{item.planName}}</h4>
-									</div>
-								</div>
-							</div>
-						</div>
-					</dv-border-box-13>
-				</div>
+              <div class="h-19 overflow-y">
+                <div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
+                     v-for="(item,index) in xunLinListOne"
+                     @click="setConnectList(item.planLine,item.planName)">
+                  <div class="d-l-l-text">
+                    <i class="i-small"></i>
+                    <h4>{{ item.planName }}</h4>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
 
 
-			</div>
-			<vBottomMenu ref="bottomMenu"></vBottomMenu>
-			<el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">
-				<div class="mascot" ref="mascot" :class="indentStyle" @click="indent">
-					<img src="@/assets/images/mascot.png" />
-				</div>
-			</el-tooltip>
-		</div>
-		<eventLocation ref="eventLocation"></eventLocation>
-		<TVWall ref="TVWall"></TVWall>
-	</div>
+      </div>
+      <vBottomMenu ref="bottomMenu"></vBottomMenu>
+      <el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">
+        <div class="mascot" ref="mascot" :class="indentStyle" @click="indent">
+          <img src="@/assets/images/mascot.png"/>
+        </div>
+      </el-tooltip>
+    </div>
+    <eventLocation ref="eventLocation"></eventLocation>
+    <TVWall ref="TVWall"></TVWall>
+  </div>
 </template>
 
 <script>
-	import {
-		getForestLeader,
-		getLeaderTrack,
-		getPlanList,
-    getRy
-	} from '@/api/leader'
+import {
+  getForestLeader,
+  getLeaderTrack,
+  getPlanList,
+  getRy
+} from '@/api/leader'
 
-	import supermap from '@/components/supermap' //超图
-	import vheader from '@/components/v-header.vue' //一体化共用头部
-	import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-	import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-	import TVWall from '@/components/TVWall.vue' //电视墙弹窗
+import supermap from '@/components/supermap' //超图
+import vheader from '@/components/v-header.vue' //一体化共用头部
+import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
+import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
+import TVWall from '@/components/TVWall.vue' //电视墙弹窗
 
-	let echarts = require('echarts')
-	export default {
-		components: {
-			supermap,
-			vheader,
-			vBottomMenu,
-			eventLocation,
-			TVWall,
-		},
-		data() {
-			return {
-				iconCurrentIndex1: '1',
-				listCurrentIndex1: '',
-				listCurrentIndex2: '',
-				//左右缩进
-				indentStyle: '',
-				indentleft: '',
-				indentright: '',
-				indentText: '收起左右栏',
-				indentdisabled: false,
-				visuForestCloudRYBO: [], //人员类型列表
-				peopleList: [], //人员列表
-				connectList: [], //画线
-				xunLinListOne: [], //巡林计划
-				zrs: 0, //总人数
-				zxrs: 0 //在线人数
-			}
-		},
-		created() {
-			this.getInit()
-			/** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      window.showDialog = this.showDialog
-      window.choseLayerSwitching = this.choseLayerSwitching
-      window.choseLayerSwitchingList = this.choseLayerSwitchingList
-			/** ----------------------------------底部按钮公用组件结束------------------------------------- */
-		},
-		methods: {
-			/** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      showDialog(click) {
-        if (click == 'eventLocation') {
-          this.$refs.eventLocation.showEventLocation()
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'editableLayers') {
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.supermap.isEditableLayers) {
-            this.$refs.supermap.isEditableLayers = true
-          } else {
-            this.$refs.supermap.isEditableLayers = false
-          }
-        } else if (click == 'layerSwitching') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showChild) {
-            this.$refs.bottomMenu.showChild = true
-          } else {
-            this.$refs.bottomMenu.showChild = false
-          }
-        } else if (click == 'TVWall') {
-          this.$refs.TVWall.showTVWall()
+let echarts = require('echarts')
+export default {
+  components: {
+    supermap,
+    vheader,
+    vBottomMenu,
+    eventLocation,
+    TVWall
+  },
+  data() {
+    return {
+      iconCurrentIndex1: '1',
+      listCurrentIndex1: '',
+      listCurrentIndex2: '',
+      //左右缩进
+      indentStyle: '',
+      indentleft: '',
+      indentright: '',
+      indentText: '收起左右栏',
+      indentdisabled: false,
+      visuForestCloudRYBO: [], //人员类型列表
+      peopleList: [], //人员列表
+      connectList: [], //画线
+      xunLinListOne: [], //巡林计划
+      zrs: 0, //总人数
+      zxrs: 0 //在线人数
+    }
+  },
+  created() {
+    this.getInit()
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    window.showDialog = this.showDialog
+    window.choseLayerSwitching = this.choseLayerSwitching
+    window.choseLayerSwitchingList = this.choseLayerSwitchingList
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+  },
+  methods: {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    showDialog(click) {
+      if (click == 'eventLocation') {
+        this.$refs.eventLocation.showEventLocation()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'editableLayers') {
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.supermap.isEditableLayers) {
+          this.$refs.supermap.isEditableLayers = true
+        } else {
           this.$refs.supermap.isEditableLayers = false
+        }
+      } else if (click == 'layerSwitching') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showChild) {
+          this.$refs.bottomMenu.showChild = true
+        } else {
           this.$refs.bottomMenu.showChild = false
+        }
+      } else if (click == 'TVWall') {
+        this.$refs.TVWall.showTVWall()
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'forestban') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showChangChild = false
+        if (!this.$refs.bottomMenu.showBanChild) {
+          this.$refs.bottomMenu.showBanChild = true
+        } else {
           this.$refs.bottomMenu.showBanChild = false
+        }
+      } else if (click == 'forestchang') {
+        this.$refs.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChild = false
+        if (!this.$refs.bottomMenu.showChangChild) {
+          this.$refs.bottomMenu.showChangChild = true
+        } else {
           this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'forestban') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showBanChild) {
-            this.$refs.bottomMenu.showBanChild = true
-          } else {
-            this.$refs.bottomMenu.showBanChild = false
-          }
-        } else if (click == 'forestchang') {
-          this.$refs.supermap.isEditableLayers = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChild = false
-          if (!this.$refs.bottomMenu.showChangChild) {
-            this.$refs.bottomMenu.showChangChild = true
-          } else {
-            this.$refs.bottomMenu.showChangChild = false
-          }
         }
+      }
 
-      },
-			//选择图层
-      choseLayerSwitching(url,isClear) {
-        this.$refs.supermap.layerSwitching(url, isClear)
-      },
-      //选择图层(传递数组)
-      choseLayerSwitchingList(urlList) {
-        this.$refs.supermap.layerSwitchingList(urlList)
-      },
-			/** ----------------------------------底部按钮公用组件结束------------------------------------- */
+    },
+    //选择图层
+    choseLayerSwitching(url, isClear) {
+      this.$refs.supermap.layerSwitching(url, isClear)
+    },
+    //选择图层(传递数组)
+    choseLayerSwitchingList(urlList) {
+      this.$refs.supermap.layerSwitchingList(urlList)
+    },
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
 
-			//初始化
-			getInit() {
-				let that = this
-				this.iconCurrentIndex1 = '1'
-				this.listCurrentIndex1 = ''
-				this.listCurrentIndex2 = ''
-				//获取左侧菜单列表
-				getRy().then(res => {
-					that.visuForestCloudRYBO = res.data.visuForestCloudRYBO
-					that.zrs = res.data.visuForestCloudRyZxBO.zrs
-					that.zxrs = res.data.visuForestCloudRyZxBO.zxrs
-					this.personnelChart()
-				})
-				//获取巡林计划
-				getPlanList().then(res => {
-					this.xunLinListOne = res.data
-				})
-			},
-			//获取左侧人员列表
-			getForestLeader(linJob, linType) {
-				this.listCurrentIndex1 = ''
-				this.listCurrentIndex2 = ''
-				this.iconCurrentIndex1 = linJob
-				this.peopleList = []
-				getForestLeader(linJob, linType).then(res => {
-					this.peopleList = res.data
-				})
-				this.connectList = []
-				this.$refs.supermap.clearC()
-			},
-			//点击左侧人员列表获取轨迹
-			getLeaderTrack(userId) {
-				this.listCurrentIndex1 = userId
-				let that = this
-				this.connectList = []
-				getLeaderTrack(userId).then(res => {
-					if (res.data != null && res.data.length > 0) {
-						for (let i = 0; i < res.data.length; i++) {
-							let latlng = {
-								lat: res.data[i].latitude,
-								lng: res.data[i].longitude
-							}
-							this.connectList.push(latlng)
-						}
-						setTimeout(() => {
-							that.$refs.supermap.clearC()
-							that.$refs.supermap.setConnectList(this.connectList, 'red')
-						}, 1000)
-					} else {
-						that.$refs.supermap.clearC()
-					}
-				})
-			},
+    //初始化
+    getInit() {
+      let that = this
+      this.iconCurrentIndex1 = '1'
+      this.listCurrentIndex1 = ''
+      this.listCurrentIndex2 = ''
+      //获取左侧菜单列表
+      getRy().then(res => {
+        that.visuForestCloudRYBO = res.data.visuForestCloudRYBO
+        that.zrs = res.data.visuForestCloudRyZxBO.zrs
+        that.zxrs = res.data.visuForestCloudRyZxBO.zxrs
+        this.personnelChart()
+      })
+      //获取巡林计划
+      getPlanList().then(res => {
+        this.xunLinListOne = res.data
+      })
+    },
+    //获取左侧人员列表
+    getForestLeader(linJob, linType) {
+      this.listCurrentIndex1 = ''
+      this.listCurrentIndex2 = ''
+      this.iconCurrentIndex1 = linJob
+      this.peopleList = []
+      getForestLeader(linJob, linType).then(res => {
+        this.peopleList = res.data
+      })
+      this.connectList = []
+      this.$refs.supermap.clearC()
+    },
+    //点击左侧人员列表获取轨迹
+    getLeaderTrack(userId) {
+      this.listCurrentIndex1 = userId
+      let that = this
+      this.connectList = []
+      getLeaderTrack(userId).then(res => {
+        if (res.data != null && res.data.length > 0) {
+          for (let i = 0; i < res.data.length; i++) {
+            let latlng = {
+              lat: res.data[i].latitude,
+              lng: res.data[i].longitude
+            }
+            this.connectList.push(latlng)
+          }
+          setTimeout(() => {
+            that.$refs.supermap.clearC()
+            that.$refs.supermap.setConnectList(this.connectList, 'red')
+          }, 1000)
+        } else {
+          that.$refs.supermap.clearC()
+        }
+      })
+    },
 
-			setConnectList(points, planName) {
-				this.listCurrentIndex2 = planName
-				this.connectList = []
-				if (points != null && points != '') {
-					this.connectList = JSON.parse(points)
-					this.$refs.supermap.setConnectTwoList(this.connectList, 'red')
-				}
-			},
+    setConnectList(points, planName) {
+      this.listCurrentIndex2 = planName
+      this.connectList = []
+      if (points != null && points != '') {
+        this.connectList = JSON.parse(points)
+        this.$refs.supermap.setConnectTwoList(this.connectList, 'red')
+      }
+    },
 
-			//吉祥物收起左右框
-			indent() {
-				let list = document.getElementsByClassName('el-tooltip__popper')
-				list[list.length - 1].style.display = 'none'
-				if (this.indentStyle == '') {
-					this.indentStyle = 'indent-style'
-					this.indentleft = 'indent-left'
-					this.indentright = 'indent-right'
-					this.indentText = '展开左右栏'
-				} else if (this.indentText == '展开左右栏') {
-					this.indentStyle = ''
-					this.indentleft = ''
-					this.indentright = ''
-					this.indentText = '收起左右栏'
-				}
-			},
-			//人员chart
-			personnelChart() {
-				// 基于准备好的dom,初始化echarts实例
-				let myChart = echarts.init(document.getElementById('personnel-chart'))
-				// 绘制图表
-				const handred = this.zrs
-				let point = this.zxrs
-				myChart.setOption({
-					title: [{
-						text: '总人数:' + handred + '人' + '\n' + '\n' + '在线人数:' + point + '人',
-						x: '48%',
-						y: '25%',
-						textStyle: {
-							fontWeight: 'normal',
-							color: '#02d6fc',
-							fontSize: '14'
-						}
-					}],
-					series: [{
-						name: 'circle',
-						type: 'pie',
-						center: ['22%', '50%'],
-						radius: ['60%', '70%'],
-						clockWise: true,
-						label: {
-							normal: {
-								position: 'center'
+    //吉祥物收起左右框
+    indent() {
+      let list = document.getElementsByClassName('el-tooltip__popper')
+      list[list.length - 1].style.display = 'none'
+      if (this.indentStyle == '') {
+        this.indentStyle = 'indent-style'
+        this.indentleft = 'indent-left'
+        this.indentright = 'indent-right'
+        this.indentText = '展开左右栏'
+      } else if (this.indentText == '展开左右栏') {
+        this.indentStyle = ''
+        this.indentleft = ''
+        this.indentright = ''
+        this.indentText = '收起左右栏'
+      }
+    },
+    //人员chart
+    personnelChart() {
+      // 基于准备好的dom,初始化echarts实例
+      let myChart = echarts.init(document.getElementById('personnel-chart'))
+      // 绘制图表
+      const handred = this.zrs
+      let point = this.zxrs
+      myChart.setOption({
+        title: [{
+          text: '总人数:' + handred + '人' + '\n' + '\n' + '在线人数:' + point + '人',
+          x: '48%',
+          y: '25%',
+          textStyle: {
+            fontWeight: 'normal',
+            color: '#02d6fc',
+            fontSize: '14'
+          }
+        }],
+        series: [{
+          name: 'circle',
+          type: 'pie',
+          center: ['22%', '50%'],
+          radius: ['60%', '70%'],
+          clockWise: true,
+          label: {
+            normal: {
+              position: 'center'
 
-							}
-						},
-						itemStyle: {
-							normal: {
-								label: {
-									show: false
-								},
-								labelLine: {
-									show: false
-								}
-							}
-						},
-						data: [{
-							value: point,
-							name: '当前在线',
-							label: {
-								show: true, //单独显示该数据项
-								formatter: '{c}人',
-								labelLayout: {
-									top: '50%'
-								},
-								textStyle: {
-									color: '#02d6fc',
-									fontSize: 14
-								}
-							},
-							itemStyle: {
-								normal: {
-									color: { // 完成的圆环的颜色
-										colorStops: [{
-											offset: 0,
-											color: '#02d6fc' // 0% 处的颜色
-										}, {
-											offset: 1,
-											color: '#367bec' // 100% 处的颜色
-										}]
-									},
-									label: {
-										show: false
-									},
-									labelLine: {
-										show: false
-									}
-								}
-							}
-						}, {
-							value: handred - point,
-							itemStyle: {
-								color: '#666'
-							}
-						}]
-					}]
-				})
-			}
-		}
+            }
+          },
+          itemStyle: {
+            normal: {
+              label: {
+                show: false
+              },
+              labelLine: {
+                show: false
+              }
+            }
+          },
+          data: [{
+            value: point,
+            name: '当前在线',
+            label: {
+              show: true, //单独显示该数据项
+              formatter: '{c}人',
+              labelLayout: {
+                top: '50%'
+              },
+              textStyle: {
+                color: '#02d6fc',
+                fontSize: 14
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: { // 完成的圆环的颜色
+                  colorStops: [{
+                    offset: 0,
+                    color: '#02d6fc' // 0% 处的颜色
+                  }, {
+                    offset: 1,
+                    color: '#367bec' // 100% 处的颜色
+                  }]
+                },
+                label: {
+                  show: false
+                },
+                labelLine: {
+                  show: false
+                }
+              }
+            }
+          }, {
+            value: handred - point,
+            itemStyle: {
+              color: '#666'
+            }
+          }]
+        }]
+      })
+    }
+  }
 
-	}
+}
 </script>
 
 <style rel="stylesheet/scss" lang="scss" scoped>
-	@import '@/assets/styles/base.scss';
+@import '@/assets/styles/base.scss';
 
-	.h-27 {
-		height: 27rem;
-	}
+.h-27 {
+  height: 27rem;
+}
 </style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 565 - 567
src/views/monitor.vue