Explorar el Código

修改修改事件弹窗点击误报/重复关闭弹窗数据中心摄像头

JX.LI hace 2 años
padre
commit
f924c58dec
Se han modificado 3 ficheros con 2549 adiciones y 2439 borrados
  1. 134 88
      src/views/datacenter.vue
  2. 5 1
      src/views/eventdetailsdialog.vue
  3. 2410 2350
      src/views/firespread.vue

+ 134 - 88
src/views/datacenter.vue

@@ -9,27 +9,19 @@
       <div class="leftbar w-10" :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;"/>
+            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
             <div class="i-list-con h-78">
 
               <div class="i-list-con h-65" v-show="showSearch == true">
                 <div class="head-container">
-                  <el-input
-                    v-model="searchName"
-                    placeholder="请输入名称"
-                    @blur="searchByName()"
-                    clearable
-                    size="small"
-                    prefix-icon="el-icon-search"
-                    style="margin-bottom: 20px"
-                  />
+                  <el-input v-model="searchName" placeholder="请输入名称" @blur="searchByName()" clearable size="small"
+                    prefix-icon="el-icon-search" style="margin-bottom: 20px" />
                 </div>
               </div>
 
               <div class="d-l-con-icon">
                 <div class="icon-con" :class="{on:iconCurrentIndex==item.resourceTable}"
-                     v-for="(item,index) in resourcesList"
-                     v-on:click="indentleftSetMarkers(item.type, item.searchName)">
+                  v-for="(item,index) in resourcesList" v-on:click="indentleftSetMarkers(item.type, item.searchName)">
                   <!--v-on:click="indentleftSetMarkers(item.resourceTable)">-->
                   <div class="iconfont icon icon-normal" :class="item.icon" :style="'background:' + item.bg"></div>
                   <div class="icon-text">
@@ -45,25 +37,24 @@
         </div>
       </div>
       <!-- 地图 -->
-<!--      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"-->
-<!--                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>-->
-      <supermap ref="supermap" style="width: 100%;height: 100vh;"  ></supermap>
+      <!--      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"-->
+      <!--                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>-->
+      <supermap ref="supermap" style="width: 100%;height: 100vh;"></supermap>
       <!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
       <!--      </button>-->
       <!-- 右侧 -->
       <div class="rightbar" :class="indentright" ref="right" v-if="showSearch == true">
         <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;"/>
+            <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;"/>
+              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;" />
             </div>
             <div class="i-list-con h-73">
               <div class="overflow-y" style="height: 39vh">
-                <div class="d-l-con" :class="{on:listCurrentIndex==item.deptId}"
-                     v-for="(item,index) in deptGroupList"
-                     v-on:click="indentleftByDeptIdSetMarkers(item.deptId)">
+                <div class="d-l-con" :class="{on:listCurrentIndex==item.deptId}" v-for="(item,index) in deptGroupList"
+                  v-on:click="indentleftByDeptIdSetMarkers(item.deptId)">
                   <div class="d-l-l-text">
                     <i class="i-small"></i>
                     <h4>{{ item.deptName }}</h4>
@@ -103,7 +94,9 @@
   import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
   import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
   import TVWall from '@/components/TVWall.vue' //电视墙弹窗
-  import {getIconBg} from '@/api/components/sookaMapIcon';//资源底色控制文件
+  import {
+    getIconBg
+  } from '@/api/components/sookaMapIcon'; //资源底色控制文件
   // import echarts from 'echarts'
   let echarts = require('echarts')
   export default {
@@ -166,8 +159,8 @@
       },
       /** ----------------------------------底部按钮公用组件开始------------------------------------- */
       bottomMenuList() {
-        this.$refs.bottomMenu.selectTaskList()//获取任务列表
-        this.$refs.bottomMenu.selectMessageList()//获取消息列表
+        this.$refs.bottomMenu.selectTaskList() //获取任务列表
+        this.$refs.bottomMenu.selectMessageList() //获取消息列表
       },
       showDialog(click) {
         if (click == 'eventLocation') {
@@ -216,17 +209,15 @@
           tooltip: {
             trigger: 'item'
           },
-          dataZoom: [
-            {
-              show: true,
-              type: "slider",
-              yAxisIndex: 0,
-              left: 0,
-              start: 0,
-              end: this.source.length > 8 ? 8 : 100,
-              width: 15,
-            },
-          ],
+          dataZoom: [{
+            show: true,
+            type: "slider",
+            yAxisIndex: 0,
+            left: 0,
+            start: 0,
+            end: this.source.length > 8 ? 8 : 100,
+            width: 15,
+          }, ],
           grid: {
             top: '5%',
             left: '2%',
@@ -295,9 +286,9 @@
                 show: false
               },
               color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-                offset: 0,
-                color: 'rgba(41,244,236,0)'
-              },
+                  offset: 0,
+                  color: 'rgba(41,244,236,0)'
+                },
                 {
                   offset: 1,
                   color: 'rgba(41,244,236,.5)'
@@ -349,7 +340,7 @@
             // that.$set(that.resourcesList[index], 'icon', 'sj' + '-' + 'icon' + '-' + data.type.replaceAll("_", "-"));
             // // that.$set(that.resourcesList[index], 'icon', 'sj' + '-' + 'icon' + '-' + data.resourceTable.split('_').slice(-1))
 
-            let icon ='sj' + '-' + 'icon' + '-' + data.type.replaceAll("_", "-").replaceAll("@", "-");
+            let icon = 'sj' + '-' + 'icon' + '-' + data.type.replaceAll("_", "-").replaceAll("@", "-");
             console.log("icon_" + (index + 1) + "=", icon);
             that.$set(that.resourcesList[index], 'icon', icon);
             that.$set(that.resourcesList[index], 'bg', getIconBg(icon));
@@ -360,13 +351,13 @@
           })
 
           //数据自动落点开始
-          let maxCount = 100;//落点数超过这个数的资源不落点
+          let maxCount = 100; //落点数超过这个数的资源不落点
           let list = res.data;
           let counts = [];
           let points = [];
           let types = [];
-          for(let i = 0; i < list.length; i++){//获取符合要求的类型及数量
-            if(list[i].num <= maxCount){
+          for (let i = 0; i < list.length; i++) { //获取符合要求的类型及数量
+            if (list[i].num <= maxCount) {
               counts.push(list[i].num);
               points.push({
                 "type": list[i].type,
@@ -375,15 +366,15 @@
             }
           }
           // alert(counts)//5,1,2,2,3,3,24,17,3
-          for(let i = 0; i < points.length; i++){
-            if(points[i].count == Math.max(...counts)){
+          for (let i = 0; i < points.length; i++) {
+            if (points[i].count == Math.max(...counts)) {
               // alert(points[i].count +"==Math.max(...counts)==" + Math.max(...counts))
               types.push(points[i].type);
               let countsTemp = [];
               let pointsTemp = [];
               for (let j = 0; j < counts.length; j++) {
                 // alert("aaa="+counts[j] +"=="+ Math.max(...counts))
-                if(counts[j] != Math.max(...counts)){
+                if (counts[j] != Math.max(...counts)) {
                   countsTemp.push(counts[j]);
                 }
               }
@@ -405,14 +396,14 @@
               break;
             }
           }
-          for(let i = 0; i < points.length; i++){
+          for (let i = 0; i < points.length; i++) {
             // alert(points[i].count +"=="+ Math.max(...counts))
-            if(points[i].count == Math.max(...counts)){
+            if (points[i].count == Math.max(...counts)) {
               types.push(points[i].type);
               break;
             }
           }
-          for(let i = 0; i < types.length; i++){
+          for (let i = 0; i < types.length; i++) {
             // console.log("if(i < 5){types[i]=", types[i])
             that.indentleftSetMarkers(types[i], '所有');
           }
@@ -423,9 +414,9 @@
         // 搜索框
         // if(name == 'undefined' && this.showSearch == false){
         // if(name == '所有' && this.showSearch == false){
-        if(name == '所有'){
+        if (name == '所有') {
           name = undefined;
-        }else {
+        } else {
           this.showSearch = true;
         }
         // 搜索类型
@@ -459,7 +450,7 @@
               // that.markersList.push(markersMap)
             }
           }
-          if(this.showSearch == true){
+          if (this.showSearch == true) {
             this.dataChat();
           }
           that.$refs.supermap.clearM()
@@ -493,23 +484,73 @@
           that.$refs.supermap.setMarkers(that.markersList)
         })
       },
-      getMarkersMap(resourceTable, markersMap, item){
+      sewageOutletClick(data) {
+        console.log(data)
+        const params = Object.assign({});
+        params.longitude = data.longitude;
+        params.latitude = data.latitude;
+
+        const treeLabels = [{
+          id: null,
+          labelCode: "999",
+          labelName: "电视墙",
+          cameraType: null,
+          parentLabelCode: "",
+        }, ];
+        const labelChannels = [];
+        for (let i in data.cameraList) {
+          treeLabels.push({
+            id: null,
+            labelCode: data.cameraList[i].cameraCode,
+            labelName: data.cameraList[i].cameraName,
+            cameraType: "1",
+            parentLabelCode: "999",
+          });
+          labelChannels.push({
+            labelCode: data.cameraList[i].cameraCode,
+            channelDates: [{
+              channelCode: data.cameraList[i].cameraCode,
+              channelName: data.cameraList[i].cameraName,
+              channelSn: null,
+              cameraType: "1",
+              online: "1",
+              cameraCode: "1",
+            }, ],
+          });
+        }
+        const dianshiqiang = [{
+          switchTab: "2",
+          treeLabels: treeLabels,
+          labelChannels: labelChannels,
+        }, ];
+        if (data.cameraList.length > 0) {
+          this.$refs.TVWall.showTVWall1(
+            data.longitude,
+            data.latitude,
+            dianshiqiang
+          );
+        }
+      },
+      getMarkersMap(resourceTable, markersMap, item) {
+        markersMap.click = "sewageOutletClick"
+        markersMap.parameter = item
         if (resourceTable == 'centerdata_t_resources_illegal_construction') { //违建信息
           markersMap.icon = 'sj-icon-map-centerdata-t-resources-illegal-constructionon'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") +
+            '                  <h4>名称:' + (item.name ? item.name : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -517,7 +558,7 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>违建处理负责人:' + (item.person?item.person:"") +
+            '                  <h4>违建处理负责人:' + (item.person ? item.person : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -525,60 +566,62 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>联系方式:' + (item.phone?item.phone:"") +
+            '                  <h4>联系方式:' + (item.phone ? item.phone : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span></div>'
         } else if (resourceTable == 'centerdata_t_resources_deposit') { //矿产资源
           markersMap.icon = 'sj-icon-map-centerdata-t-resources-deposit'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") + '</h4>' +
+            '                  <h4>名称:' + (item.name ? item.name : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>联系人:' + (item.person?item.person:"") + '</h4>' +
+            '                  <h4>联系人:' + (item.person ? item.person : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>电话:' + (item.phone?item.phone:"") + '</h4>' +
+            '                  <h4>电话:' + (item.phone ? item.phone : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span></div>'
         } else if (resourceTable == 'centerdata_t_resources_forest') { //森林资源管理信息
           markersMap.icon = 'sj-icon-map-centerdata-t-forest-landing'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") +
+            '                  <h4>名称:' + (item.name ? item.name : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -586,7 +629,7 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>占地范围:' + (item.zdfw?item.zdfw:"") +
+            '                  <h4>占地范围:' + (item.zdfw ? item.zdfw : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -594,26 +637,27 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>占地面积(万公顷):' + (item.landArea?item.landArea:"") + '</h4>' +
+            '                  <h4>占地面积(万公顷):' + (item.landArea ? item.landArea : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span></div>'
         } else if (resourceTable == 'centerdata_t_resources_geologic_hazard') { //地质灾害易发区
           markersMap.icon = 'sj-icon-map-centerdata-t-resources-geologic-hazard'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") +
+            '                  <h4>名称:' + (item.name ? item.name : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -621,7 +665,7 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>联系人:' + (item.person?item.person:"") +
+            '                  <h4>联系人:' + (item.person ? item.person : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -629,26 +673,27 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>电话:' + (item.phone?item.phone:"") + '</h4>' +
+            '                  <h4>电话:' + (item.phone ? item.phone : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span></div>'
         } else if (resourceTable == 'centerdata_t_resources_hydroenergy') { //水能资源
           markersMap.icon = 'sj-icon-map-centerdata-t-forest-checkpoint'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") +
+            '                  <h4>名称:' + (item.name ? item.name : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -656,7 +701,7 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>联系人:' + (item.person?item.person:"") +
+            '                  <h4>联系人:' + (item.person ? item.person : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -664,7 +709,7 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>位置:' + (item.address?item.address:"") +
+            '                  <h4>位置:' + (item.address ? item.address : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
@@ -672,27 +717,28 @@
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>电话:' + (item.phone?item.phone:"") +
+            '                  <h4>电话:' + (item.phone ? item.phone : "") +
             '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span></div>'
         } else if (resourceTable == 'centerdata_t_resources_land') { //土地资源管理信息
           markersMap.icon = 'sj-icon-map-centerdata-t-forest-waterintake'
-          markersMap.lng = (item.longitude?item.longitude:"")
-          markersMap.lat = (item.latitude?item.latitude:"")
+          markersMap.lng = (item.longitude ? item.longitude : "")
+          markersMap.lat = (item.latitude ? item.latitude : "")
           markersMap.bindPopupHtml = '<div class="map-tip">' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>经纬度:' + (item.longitude?item.longitude:"") + ',' + (item.latitude?item.latitude:"") + '</h4>' +
+            '                  <h4>经纬度:' + (item.longitude ? item.longitude : "") + ',' + (item.latitude ? item
+              .latitude : "") + '</h4>' +
             '                </div>' +
             '                </div>' +
             '                </span>' +
             '<span>' +
             '                  <div class="d-l-con">' +
             '                  <div class="d-l-l-text">' +
-            '                  <h4>名称:' + (item.name?item.name:"") +
+            '                  <h4>名称:' + (item.name ? item.name : "") +
             '</h4>'
           '                </div>' +
           '                </div>' +
@@ -700,7 +746,7 @@
           '<span>' +
           '                  <div class="d-l-con">' +
           '                  <div class="d-l-l-text">' +
-          '                  <h4>占地面积(万公顷):' + (item.landArea?item.landArea:"") +
+          '                  <h4>占地面积(万公顷):' + (item.landArea ? item.landArea : "") +
           '</h4>' +
           '                </div>' +
           '                </div>' +
@@ -715,4 +761,4 @@
 
 <style rel="stylesheet/scss" lang="scss" scoped>
   @import '@/assets/styles/base.scss';
-</style>
+</style>

+ 5 - 1
src/views/eventdetailsdialog.vue

@@ -2180,11 +2180,15 @@ export default {
           updateCentereventTEventcatalogueStatus(param).then(res => {
             if (res.code == 200) {
               that.$message.success(`处理成功!`)
-              that.refreshEvent(that.eventCode)
               that.cancelEventConfirm_send()
               that.showEventConfirm = false
               that.$emit('getEventList', that.calendarDay,10,1)
               that.$emit('getSupermap', that.calendarDay)
+                if (eventStatus == "cf" || eventStatus == "wb") {
+                  this.eventDialog = false;
+                  return;
+                }
+              that.refreshEvent(that.eventCode)
             }
           })
         }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2410 - 2350
src/views/firespread.vue