Browse Source

Merge remote-tracking branch 'origin/visu_forest_0_1' into visu_forest_0_1

王通 2 years ago
parent
commit
447b1a8332

+ 8 - 0
src/api/components/supermap.js

@@ -14,6 +14,14 @@ export function getCenterdataTSupermapBlockBySmID(smid){
   })
 }
 
+export function getCenterdataTSupermapBlockBySBT(query){
+  return request({
+    url: '/sooka-sponest-center-data/supermapBlock/getCenterdataTSupermapBlock',
+    method: 'get',
+    params: query
+  })
+}
+
 export const iconList = {
   'marker': require('@/assets/images/cameraType/marker.png'),
   'big-horn': require('@/assets/images/cameraType/big-horn.png'),

+ 539 - 0
src/assets/iconfont/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

File diff suppressed because it is too large
+ 1823 - 0
src/assets/iconfont/demo_index.html


+ 1 - 1
src/assets/iconfont/iconfont.css

@@ -131,7 +131,7 @@
   content: "\e602";
 }
 /* 林场 */
-.sj-icon-farm:before {
+.sj-icon-level:before {
   content: "\e61d";
 }
 /* 森林防火队 */

+ 1 - 1
src/assets/iconfont/iconfont.json

@@ -106,7 +106,7 @@
     {
       "icon_id": "21110466",
       "name": "林场",
-      "font_class": "farm",
+      "font_class": "level",
       "unicode": "e61d",
       "unicode_decimal": 58909
     },

BIN
src/assets/images/integrated/logo-big.png


BIN
src/assets/images/integrated/logo-small.png


+ 40 - 18
src/assets/styles/base.scss

@@ -29,6 +29,9 @@ rgba($color: #020f2a, $alpha: 1);
 $boxBG: 180deg, rgba($color: #0d2760, $alpha: 1),
 rgba($color: #081a41, $alpha: 1);
 
+$popupBG:180deg, rgba($color: #1541a0, $alpha: 1),
+rgba($color: #3566d0, $alpha: 1);
+
 //内阴影
 $shadowList: 0 0 1rem 0 rgba($color: #0b1b25, $alpha: .8);
 $shadowTitle: 0 -0.2rem .5rem 0.3rem rgba($color: #0dc0db, $alpha: .09) inset;
@@ -86,8 +89,8 @@ $date-state3: #d6333b;
 }
 //电视墙视频摄像头预览弹层样式
 .TVWallCustomWidth {
-  width: 1150px !important;
-  height: 700px !important;
+  width: 1200px !important;
+  height: 750px !important;
 }
 
 //公共
@@ -228,6 +231,40 @@ ul {
   height: 100vh;
 }
 
+ //超图气泡
+ .leaflet-popup-content-wrapper {
+  // padding: 15px 20px !important;
+  background-image: -moz-linear-gradient($popupBG)!important;
+  background-image: -webkit-linear-gradient($popupBG) !important;
+  background-image: linear-gradient($popupBG)!important;
+  box-shadow: $shadowTitle !important;
+  color: #3cd7ef !important;
+
+
+}
+.leaflet-popup-tip{
+  background: #3061c9 !important;
+  color: #333;
+  box-shadow:none !important;
+}
+ //超图气泡内插槽
+  .map-tip {
+    .d-l-con {
+      width: 100%;
+      box-shadow: none;
+
+      .d-l-l-text {
+        width: 100%;
+        //white-space: nowrap;
+
+        h4 {
+          // display: flex;
+          color:$white;
+        }
+      }
+    }
+  }
+
 div::-webkit-scrollbar {
   display: none;
 }
@@ -1352,22 +1389,7 @@ div::-webkit-scrollbar {
     color: $inBlue;
   }
 
-  .map-tip {
-    .d-l-con {
-      width: 100%;
-      box-shadow: none;
-
-      .d-l-l-text {
-        width: 100%;
-        //white-space: nowrap;
-
-        h4 {
-          display: flex;
-          color: #04080c;
-        }
-      }
-    }
-  }
+ 
 
   //收起展开
   .mascot {

+ 11 - 10
src/components/TVWall.vue

@@ -2,7 +2,6 @@
   <div>
     <el-dialog title="电视墙" :visible.sync="TVWallVisible" v-if="TVWallVisible" customClass="TVWallCustomWidth"
                @close="cancelEventLocationShow()">
-      <div @click="findCameraByEventCoordinate()">视频联动</div>
 	  <!--<div class="forthis" style="width: 22%; position: absolute;left: 0;z-index: 9999999999999;">-->
 	  	<!--<div class="i-list-con" style="height: 46vh; overflow-y: scroll;">-->
 	  		<!--<span v-for="(item,index) in cameraList" :key="index">-->
@@ -342,7 +341,12 @@ export default {
       this.TVWallVisible = true
 
     },
-    showTVWall() {
+    showTVWall(tvListJson, bfArray) {
+      if(tvListJson){
+        this.preview(tvListJson, bfArray);
+        this.TVWallVisible = true;
+        return;
+      }
       // let that=this;
       /** ----------------------------------大华摄像头预览开始------------------------------------- */
       this.ws.addEventListener('connectStateChange', data => {
@@ -391,7 +395,7 @@ export default {
       this.$modal.msgWarning('请重新安装客户端')
     },
     /** 预览按钮操作 */
-    preview() {
+    preview(tvListJson, bfArray) {
       getTVWallList().then(newres => {
         getDahuaVideoServer().then(newResponse => {
           this.ws.detectConnectQt().then(res => {
@@ -415,8 +419,7 @@ export default {
                 if (res) {
                   this.alertLoginSuccess()
                   this.activePanel = 'key2'
-                  this.create(newres.data)
-
+                  this.create(tvListJson?tvListJson:newres.data, bfArray);
                 } else {
                   this.alertLoginFailed()
                 }
@@ -456,7 +459,7 @@ export default {
       }, 5000)
 
     },
-    create(tvListJson) { // 调用创建控件接口
+    create(tvListJson, bfArray) { // 调用创建控件接口
       let _this = this
       const params = [
         {
@@ -477,10 +480,8 @@ export default {
       ]
       this.setPos()
       this.customizeTree(tvListJson);
-      setTimeout(() => {
-        _this.ws.createCtrl(params);
-      }, 5000)
-
+      _this.ws.createCtrl(params);
+      _this.playRealMonitorVideo(bfArray);
     },
     setPos() {
       let target = document.getElementById(this.domId)

+ 26 - 4
src/components/supermap.vue

@@ -151,13 +151,15 @@
 	import {
 		getSuperMap,
 		iconList,
-    getCenterdataTSupermapBlockBySmID
+    getCenterdataTSupermapBlockBySmID,
+    getCenterdataTSupermapBlockBySBT,
 	} from '@/api/components/supermap.js'
 	import {
 		selectConfigKey
 	} from '@/api/system/config'
 	// import {setToken} from '../plugins/auth'
 	import modal from '@/plugins/modal'
+  import { getCenterdataTSupermapBlock } from '../api/components/supermap'
 
 	export default {
 		name: 'sookaSuperMap',
@@ -198,8 +200,16 @@
 				isheatPlotting: false, //火灾蔓延
 				heat_lat: 0, //火灾蔓延经纬度
 				heat_lng: 0, //火灾蔓延经纬度
-				host: ''
+				host: '',
+
+        queryParams: {
+          smid: null,
+          bsm: null,
+          tbbh: null,
+
+        },
 			}
+
 		},
 		watch: {
 			isEditableLayers: {
@@ -1424,12 +1434,24 @@
           that.banDataList = fea.attributes
         })*/
 
-        that.lbtThemeLayer.on('dblclick', function(e) {
 
+        /*that.lbtThemeLayer.on('dblclick', function(e) {
           var fea = that.lbtThemeLayer.getFeatureById(e.target.refDataID);
           var smid = fea.attributes.SMID;
           getCenterdataTSupermapBlockBySmID(smid).then(res => {
-            that.banDataList = res;
+            that.banDataList = res.data;
+            that.showBanData = true
+          });
+        })*/
+        that.lbtThemeLayer.on('dblclick', function(e) {
+
+          var fea = that.lbtThemeLayer.getFeatureById(e.target.refDataID);
+          that.queryParams.smid  = fea.attributes.SMID;
+          that.queryParams.bsm  = fea.attributes.BSM;
+          that.queryParams.tbbh = fea.attributes.TBBH;
+          console.log("this.queryParams" + that.queryParams)
+          getCenterdataTSupermapBlockBySBT(that.queryParams).then(res => {
+            that.banDataList = res.data;
             that.showBanData = true
           });
         })

+ 6 - 6
src/components/vBottomMenu.vue

@@ -58,7 +58,7 @@
                 <!--                  v-model="filterbanText">-->
                 <!--                </el-input>-->
                 <el-tree :data="deptBanOptionsLiandong" ref="banDept" node-key="id"  :check-strictly="true"
-                         :filter-node-method="filterbanNode" @node-click="handlebanNodeClick" :accordion="true" empty-text="加载中,请稍候"
+                         :filter-node-method="filterbanNode" @node-click="handlebanNodeClick" :accordion="true" empty-text=""
                          :props="defaultProps"></el-tree>
               </div>
               <div class="forestban-right">
@@ -421,11 +421,11 @@ export default {
           icon: 'iconfont sj-icon-sjdw',
           click: 'eventLocation'
         },
-        {
-          name: '图层切换',
-          icon: 'iconfont sj-icon-tcqh',
-          click: 'layerSwitching'
-        },
+        // {
+        //   name: '图层切换',
+        //   icon: 'iconfont sj-icon-tcqh',
+        //   click: 'layerSwitching'
+        // },
         {
           name: '测量工具',
           icon: 'iconfont sj-icon-clgj',

+ 4 - 4
src/views/eventdetailsdialog.vue

@@ -160,10 +160,10 @@
                                            size="small" icon="el-icon-download" @click="updateCentereventTEventcatalogueStatus('cz',true)">处置
                                 </el-button>
                               </div>
-                              <div class="z-info-btm-grp-right">
-                                <el-button size="small" icon="el-icon-mic" @click="Meeting()">会议
-                                </el-button>
-                              </div>
+                              <!--<div class="z-info-btm-grp-right">-->
+                                <!--<el-button size="small" icon="el-icon-mic" @click="Meeting()">会议-->
+                                <!--</el-button>-->
+                              <!--</div>-->
                             </div>
                             <div class="z-info-btm-input">
                               <el-input type="textarea" v-model="eventLog"

+ 19 - 28
src/views/forest.vue

@@ -474,6 +474,7 @@ import chart from './from/dvCapsuleChart.vue'
 
 /** ----------------------------------摄像头预览结束------------------------------------- */
 
+import {selectConfigKey} from "@/api/system/config";
 let echarts = require('echarts')
 export default {
   components: {
@@ -515,17 +516,6 @@ export default {
     /** ----------------------------------weosocket开始------------------------------------- */
     // this.initWebSocket()
     /** ----------------------------------weosocket结束------------------------------------- */
-    setInterval(() => {
-      if (this.calendarDay == this.getCurrentDataStr()) {
-        this.getTodayEvents(this.getCurrentDataStr(), true);
-        this.getDeptEventCount(this.getCurrentDataStr(), true);
-        // this.getEventList(this.getCurrentDataStr(), this.pageSize, this.pageNum, '', true);
-        this.getEventByEventType(this.getCurrentDataStr(), true);
-        this.getEventByReportorOrder(this.getCurrentDataStr(), true);
-        this.getExposureStage(this.getCurrentDataStr(), true);
-        // this.getSupermap(this.getCurrentDataStr(), true);
-      }
-    }, 30000)
     this.bottomMenuList() //获取底部公共组件消息和任务
   },
   data() {
@@ -1158,12 +1148,14 @@ export default {
     },
     /** ----------------------------------weosocket开始------------------------------------- */
     initWebSocket(userId, eventTypeDl, eventType) {        //初始化weosocket
-      const wsuri = 'ws://127.0.0.1:10003/eventPush/' + userId + '/' + eventTypeDl + '/' + eventType
-      this.websock = new WebSocket(wsuri)
-      console.log('建立websocket连接')
-      this.websock.onopen = this.websocketonopen
-      this.websock.onmessage = this.websocketonmessage
-      this.websock.onerror = this.websocketonerror
+      selectConfigKey('KSH_SOCKET').then(res => {
+        const wsuri = res.data + userId + '/' + eventTypeDl + '/' + eventType
+        this.websock = new WebSocket(wsuri)
+        console.log('建立websocket连接')
+        this.websock.onopen = this.websocketonopen
+        this.websock.onmessage = this.websocketonmessage
+        this.websock.onerror = this.websocketonerror
+      })
     },
     websocketonopen() { //连接建立之后执行send方法发送数据
       console.log('websocket连接成功')
@@ -1175,19 +1167,19 @@ export default {
     },
     websocketonmessage(e) { //数据接收
       console.log('接收数据', e.data)
-      let data = "{\"fromId\":\"forest\",\"fromUserId\":\""+Cookies.get('username')+"\",\"toUserId\":\""+Cookies.get('username')+"\"}";
+      let data = "{\"fromId\":\"forest\"}";
       if (this.calendarDay == this.getCurrentDataStr() && data != e.data) {
         // 处理收到的消息
         this.handleWebSoceketEvent(e.data)
 
-        // this.getEventListNew();
-        // this.getTodayEvents(this.getCurrentDataStr());
-        // this.getDeptEventCount(this.getCurrentDataStr());
-        // this.getEventByEventType(this.getCurrentDataStr());
-        // this.getEventByReportorOrder(this.getCurrentDataStr());
+        this.getTodayEvents(this.getCurrentDataStr(), true);
+        this.getDeptEventCount(this.getCurrentDataStr(), true);
+        this.getEventByEventType(this.getCurrentDataStr(), true);
+        this.getEventByReportorOrder(this.getCurrentDataStr(), true);
+        this.getExposureStage(this.getCurrentDataStr(), true);
 
-        // this.$refs.bottomMenu.updateAlert();
-        // this.$refs.up.play();
+        this.$refs.bottomMenu.updateAlert();
+        this.$refs.up.play();
         // thes.$refs.up.pause();//停止播放音乐
       }
     },
@@ -1227,9 +1219,7 @@ export default {
      * @param {string} ping 心跳名称 默认字符串ping
      */
     sendPing(time = 60000, ping = {
-      'fromId': 'forest',
-      'fromUserId': Cookies.get('username'),
-      'toUserId': Cookies.get('username')
+      'fromId': 'forest'
     }) {
       clearInterval(this.setIntervalWesocketPush)
       this.setIntervalWesocketPush = setInterval(() => {
@@ -1280,6 +1270,7 @@ export default {
             this.$refs.bottomMenu.showChild = false
           }
         } else if (click == 'TVWall') {
+          console.log("this.$refs.TVWall=",this.$refs.TVWall)
           this.$refs.TVWall.showTVWall();
           this.$refs.supermap.isEditableLayers = false
           this.$refs.bottomMenu.showChild = false

+ 58 - 6
src/views/monitor.vue

@@ -284,6 +284,44 @@ export default {
     }
   },
   methods: {
+    /* 电视墙替换开始 */
+    showTVWall(channelCode, channelName) {
+      // let channelCode = '6044981090191552';
+      // let channelName = '复兴大桥中段-交通事故';
+      let tvListJson = [
+        {
+          'switchTab': '1',
+          'treeLabels': [
+            {
+              'labelCode': '123456',
+              'labelName': '视频场景',
+              'parentLabelCode': null
+            },
+            {
+              'labelCode': 'd941adbbd3e64dac92cc448dec5293cd',
+              'labelName': channelName,
+              'parentLabelCode': 123456
+            }
+          ],
+          'labelChannels': [{
+            'channelDates': [{
+              'channelCode': channelCode,
+              'channelName': channelName,
+              'channelSn': null,
+              'cameraType': 1,
+              'online': 1
+            }],
+            'labelCode': 'd941adbbd3e64dac92cc448dec5293cd'
+          }]
+        }
+      ]
+      this.$refs.TVWall.showTVWall(tvListJson, [{"channelId": channelCode}]);
+      this.$refs.supermap.isEditableLayers = false;
+      this.$refs.bottomMenu.showChild = false;
+      this.$refs.bottomMenu.showBanChild = false;
+      this.$refs.bottomMenu.showChangChild = false;
+    },
+    /* 电视墙替换结束 */
     /** 部门树*/
     // 查询部门下拉树结构
     getTreeselect() {
@@ -332,8 +370,11 @@ export default {
               isAggregation: false
             }
             if (res.data[i].channelCode != null) {
-              markersMap.parameter = {code:res.data[i].cameraCode,
-                type:res.data[i].cameraFactory}
+              markersMap.parameter = {
+                code:res.data[i].cameraCode,
+                name:res.data[i].cameraName,
+                type:res.data[i].cameraFactory
+              }
             } else {
               markersMap.parameter = []
             }
@@ -637,8 +678,11 @@ export default {
               isAggregation: false
             }
             if (res.data.visuForestCloudCameraBOList[i].channelCode != null) {
-              markersMap.parameter = {code:res.data.visuForestCloudCameraBOList[i].cameraCode,
-                type:res.data.visuForestCloudCameraBOList[i].cameraFactory}
+              markersMap.parameter = {
+                code:res.data.visuForestCloudCameraBOList[i].cameraCode,
+                name:res.data.visuForestCloudCameraBOList[i].cameraName,
+                type:res.data.visuForestCloudCameraBOList[i].cameraFactory
+              }
             } else {
               markersMap.parameter = []
             }
@@ -731,8 +775,11 @@ export default {
               isAggregation: false
             }
             if (res.data[i].channelCode != null) {
-              markersMap.parameter = {code:res.data[i].cameraCode,
-                type:res.data[i].cameraFactory}
+              markersMap.parameter = {
+                code:res.data[i].cameraCode,
+                name:res.data[i].cameraName,
+                type:res.data[i].cameraFactory
+              }
             } else {
               markersMap.parameter = []
             }
@@ -838,6 +885,11 @@ export default {
     },
     /** 预览按钮操作 */
     preview(cameraParam) {
+      this.showTVWall(cameraParam.code, cameraParam.name);
+    },
+
+    /** 预览按钮操作 */
+    preview_废弃(cameraParam) {
       if(cameraParam.type=='1'){
         getDahuaVideoServer().then(newResponse => {
           console.log(newResponse)