| | |
| | | <template> |
| | | <div style="width:100%; height: 100%;"> |
| | | <div class="monitoring-right" ref="videoRight"> |
| | | <div class="monitoring-video" ref="monitorVideo"> |
| | | <div class="monitoring-video-guid"> |
| | | <span |
| | | :class="guid === 1 ? 'iconfont icongongge1 activegongge':'iconfont icongongge1'" |
| | | @click="setGuid(1)" |
| | | ></span> |
| | | <span |
| | | :class="guid === 2 ? 'iconfont icongongge activegongge':'iconfont icongongge'" |
| | | @click="setGuid(2)" |
| | | ></span> |
| | | <span |
| | | :class="guid === 3 ? 'iconfont icongongge2 activegongge':'iconfont icongongge2'" |
| | | @click="setGuid(3)" |
| | | ></span> |
| | | <el-tooltip |
| | | v-show="true" |
| | | :content="`${track ? '关闭追踪': '开启追踪'}`" |
| | | placement="bottom" |
| | | popper-class="atooltip" |
| | | > |
| | | <div class="main-top"> |
| | | <div class="monitoring-video" ref="monitorVideo"> |
| | | <div class="monitoring-video-guid"> |
| | | <span |
| | | :class="track ? 'iconfont iconintruder-alarm activegongge':'iconfont iconintruder-alarm'" |
| | | @click="handleTrack" |
| | | :class="guid === 1 ? 'iconfont icongongge1 activegongge':'iconfont icongongge1'" |
| | | @click="setGuid(1)" |
| | | ></span> |
| | | </el-tooltip> |
| | | <span |
| | | :class="guid === 2 ? 'iconfont icongongge activegongge':'iconfont icongongge'" |
| | | @click="setGuid(2)" |
| | | ></span> |
| | | <span |
| | | :class="guid === 3 ? 'iconfont icongongge2 activegongge':'iconfont icongongge2'" |
| | | @click="setGuid(3)" |
| | | ></span> |
| | | <el-tooltip |
| | | v-show="true" |
| | | :content="`${track ? '关闭追踪': '开启追踪'}`" |
| | | placement="bottom" |
| | | popper-class="atooltip" |
| | | > |
| | | <span |
| | | :class="track ? 'iconfont iconintruder-alarm activegongge':'iconfont iconintruder-alarm'" |
| | | @click="handleTrack" |
| | | ></span> |
| | | </el-tooltip> |
| | | </div> |
| | | <div class="fixedRatioBox"> |
| | | <div |
| | | :class="guid === 1 ? 'video-main-box' : 'video-main-box-side'" |
| | | v-if="visibilityState" |
| | | > |
| | | <video-item |
| | | v-for="(item, index) in TreeDataPool.videoArr" |
| | | :key="index" |
| | | :videoGuid="guid" |
| | | :videoIndex="index" |
| | | :videoItem="item" |
| | | :class="[ |
| | | TreeDataPool.activeVideoIndex === index ? 'activeItem' : '', |
| | | guid === 1 ? 'onlyActiveItem' : '' |
| | | ]" |
| | | @click="videoItemClick(index)" |
| | | ></video-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | :class="guid === 1 ? 'video-main-box' : 'video-main-box-side'" |
| | | style="width: 100%; height: calc(100% - 35px);" |
| | | v-if="visibilityState" |
| | | > |
| | | <video-item |
| | | v-for="(item, index) in TreeDataPool.videoArr" |
| | | :key="index" |
| | | :videoGuid="guid" |
| | | :videoIndex="index" |
| | | :videoItem="item" |
| | | :class="[ |
| | | TreeDataPool.activeVideoIndex === index ? 'activeItem' : '', |
| | | guid === 1 ? 'onlyActiveItem' : '' |
| | | ]" |
| | | @click="videoItemClick(index)" |
| | | ></video-item> |
| | | <div class="monitoring-task" ref="monitorTask"> |
| | | <video-task ref="taskview" @addToBase="toAdd"></video-task> |
| | | </div> |
| | | </div> |
| | | <div class="monitoring-task" ref="monitorTask"> |
| | | <video-task ref="taskview" @addToBase="toAdd"></video-task> |
| | | </div> |
| | | <div class="monitoring-photo"> |
| | | <video-photo ref="photoview" @addToBase="toAdd"></video-photo> |
| | |
| | | mounted() { |
| | | document.addEventListener("visibilitychange", this.visibilitychange, false); |
| | | this.$nextTick(() => { |
| | | window.addEventListener("resize", this.getRightWidth); |
| | | this.getRightWidth(); |
| | | window.addEventListener("resize", this.resizeMonitorTask); |
| | | //this.getRightWidth(); |
| | | this.resizeMonitorTask(); |
| | | }) |
| | | this.getCenter(); |
| | | this.blackAngWhite(); |
| | |
| | | closeWindow(index) { |
| | | this.CardList.addBaseList.splice(index, 1); |
| | | }, |
| | | getVideoHeight(){ |
| | | let h = this.$refs.monitorVideo.offsetHeight; |
| | | this.$refs.monitorTask.style.height = h+'px'; |
| | | }, |
| | | resizeMonitorTask(){ |
| | | this.getRightWidth(); |
| | | this.getVideoHeight(); |
| | | }, |
| | | getRightWidth() { |
| | | let w = this.$refs.videoRight.offsetWidth; |
| | | // console.log("w是:", w,this.$refs.monitorVideo.offsetWidth); |
| | |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | background-color: #e9ebf2; |
| | | .main-top{ |
| | | margin-bottom: 14px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | .monitoring-video { |
| | | width: 70.5%; |
| | | min-width: 740px; |
| | | max-width: 1208px; |
| | | height: 71%; |
| | | float: left; |
| | | height: 98%; |
| | | //float: left; |
| | | box-sizing: border-box; |
| | | // box-shadow: #e4e7ed 0px 0px 9px inset; |
| | | border-radius: 5px; |
| | |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .fixedRatioBox{ |
| | | padding-top: 56.3%; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | >div{ |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | } |
| | | } |
| | | } |
| | | .monitoring-task { |
| | | // @media screen and (max-width: 1700px){ |
| | | |
| | | // } |
| | | //width: calc(29.5% - 10px); |
| | | width: calc(34% - 10px); |
| | | //width: auto; |
| | | height: 70.5%; |
| | | background-color: #fff; |
| | | float: left; |
| | | margin: 0px 0px 0px 10px; |