From ecb6cadc3f016cf9968f48e0cc77479a1e56365b Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期日, 20 十二月 2020 17:32:06 +0800
Subject: [PATCH] 标定添加关联摄像机tab,绘制区域组件参数更新
---
src/pages/cameraAccess/index/VideoManage.vue | 125 ++++++++++++++++++++++-------------------
1 files changed, 67 insertions(+), 58 deletions(-)
diff --git a/src/pages/cameraAccess/index/VideoManage.vue b/src/pages/cameraAccess/index/VideoManage.vue
index 09eb5c2..c5b7296 100644
--- a/src/pages/cameraAccess/index/VideoManage.vue
+++ b/src/pages/cameraAccess/index/VideoManage.vue
@@ -1,24 +1,30 @@
<template>
<div class="s-video-manage">
- <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
+ <el-tabs
+ class="video-tab"
+ ref="topTab"
+ v-model="activeName"
+ type="border-card"
+ @tab-click="handleClick"
+ >
<el-tab-pane
:label="firstLabeName"
name="camera-info"
- v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('VIDEOCAMERA:camera:info')"
+ v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('cameraAccess:cameraInfo')"
>
<camera-info ref="cameraInfo" />
</el-tab-pane>
<el-tab-pane
:label="firstLabeName"
name="camera-info"
- v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('VIDEOCAMERA:dataStack:stackInfo')"
+ v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('dataStack:cameraInfo')"
>
<data-stack-info ref="dataStackInfo" />
</el-tab-pane>
<el-tab-pane
label="鐙珛鍦烘櫙"
name="separate-rule"
- v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('VIDEOCAMERA:camera:selfRule')"
+ v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('cameraAccess:selfRule')"
>
<separate-rules ref="sepRule" />
<!-- <local-separate ref="localSeparate" v-else></local-separate> -->
@@ -26,7 +32,7 @@
<el-tab-pane
label="鐙珛鍦烘櫙"
name="separate-rule"
- v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('VIDEOCAMERA:dataStack:selfRule')"
+ v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('dataStack:selfRule')"
>
<separate-rules ref="sepRule" />
<!-- <local-separate ref="localSeparate" v-else></local-separate> -->
@@ -34,7 +40,7 @@
<el-tab-pane
label="鑱斿姩鍦烘櫙"
name="linkage-rule"
- v-if="(isShow('VIDEOCAMERA:camera:linkRule') || isShow('VIDEOCAMERA:dataStack:linkRule')) && this.TreeDataPool.treeActiveName == 'camera'"
+ v-if="(isShow('cameraAccess:linkRule')) && this.TreeDataPool.treeActiveName == 'camera'"
>
<linkage-rule ref="linkRule" />
</el-tab-pane>
@@ -50,7 +56,7 @@
// import fTemplate from "@/components/common/fTemplate";
// import localSeparate from "@/components/camera/localSeparate";
-//import bus from "@/main";
+import bus from "@/plugin/bus";
//import TreeDataPool from "@/Pool/TreeData";
export default {
@@ -59,7 +65,7 @@
DataStackInfo,
SeparateRules,
LinkageRule },
- data() {
+ data () {
return {
activeName: "camera-info",
buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
@@ -67,7 +73,7 @@
};
},
computed: {
- isAdmin() {
+ isAdmin () {
if (
sessionStorage.getItem("userInfo") &&
sessionStorage.getItem("userInfo") !== ""
@@ -75,9 +81,10 @@
let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
return loginName === "superadmin" || loginName === "basic";
}
+
return false;
},
- firstLabeName() {
+ firstLabeName () {
return this.TreeDataPool.treeActiveName === "camera" ? "鎽勫儚鏈轰俊鎭�" : "鏁版嵁鏍堜俊鎭�"
}
},
@@ -99,7 +106,7 @@
}
},
"TreeDataPool.selectedNodes": {
- handler(nodes) {
+ handler (nodes) {
if (this.activeName == "linkage-rule") {
this.$refs.linkRule.initCameraData();
}
@@ -107,15 +114,12 @@
deep: true
},
"DataStackPool.selectedDir": {
- handler(node, oldNode) {
- console.log(this.activeName)
- console.log(node, '鍕鹃�夋湰鍦拌棰�')
+ handler (node, oldNode) {
if (this.TreeDataPool.treeActiveName !== 'dataStack') {
return
}
this.$nextTick(() => {
if (this.activeName == "camera-info") {
- console.log("dataStackInfo.selectDir(node)")
this.$refs.dataStackInfo.selectDir(node);
} else if (this.activeName == "separate-rule" && node.length !== 0) {
this.$refs.sepRule.initCameraData(node.id);
@@ -123,30 +127,26 @@
})
},
deep: true
- }
+ },
+
},
- created() {
+ created () {
if (this.TreeDataPool.treeActiveName == 'camera') {
- if (this.isShow('VIDEOCAMERA:camera:info')) {
+ if (this.isShow('cameraAccess:cameraInfo')) {
this.activeName = "camera-info"
- } else if (this.isShow('VIDEOCAMERA:camera:selfRule') || this.isShow('VIDEOCAMERA:datastack:selfRule')) {
+ } else if (this.isShow('cameraAccess:selfRule')) {
this.activeName = "separate-rule"
- } else if (this.isShow('VIDEOCAMERA:camera:linkRule') || this.isShow('VIDEOCAMERA:datastack:linkRule')) {
+ } else if (this.isShow('cameraAccess:linkRule')) {
this.activeName = "linkage-rule"
- } else if (this.isShow('VIDEOCAMERA:camera:resourceCalc') || this.isShow('VIDEOCAMERA:datastack:resourceCalc')) {
- this.activeName = "poll-setting"
}
} else {
- if (this.isShow('VIDEOCAMERA:camera:info')) {
+ if (this.isShow('dataStack:cameraInfo')) {
this.activeName = "camera-info"
- } else if (this.isShow('VIDEOCAMERA:camera:selfRule') || this.isShow('VIDEOCAMERA:datastack:selfRule')) {
+ } else if (this.isShow('dataStack:selfRule')) {
this.activeName = "separate-rule"
- } else if (this.isShow('VIDEOCAMERA:camera:linkRule') || this.isShow('VIDEOCAMERA:datastack:linkRule')) {
- this.activeName = "linkage-rule"
- } else if (this.isShow('VIDEOCAMERA:camera:resourceCalc') || this.isShow('VIDEOCAMERA:datastack:resourceCalc')) {
- this.activeName = "poll-setting"
}
}
+
this.TreeDataPool.readonly = true;
this.TreeDataPool.gbReadonly = true;
this.TreeDataPool.multiple = false;
@@ -154,53 +154,46 @@
this.selectedNodes = [];
this.VideoManageData.init();
},
- beforeDestroy() {
+ beforeDestroy () {
clearInterval(this.intervalTimer);
//this.TreeDataPool.treeActiveName = "camera";
},
- mounted() {
+ mounted () {
this.$nextTick(() => {
- // bus.$on("addCameraOnTree", node => {
- // this.handAddDevice(node);
- // });
- // bus.$on("addDirOnTree", node => {
- // this.handAddDIr(node);
- // });
- // this.TreeDataPool.clean();
+ bus.$on("addCameraOnTree", node => {
+ this.handAddDevice(node);
+ });
+ bus.$on("addDirOnTree", node => {
+ this.handAddDIr(node);
+ });
+ this.TreeDataPool.clean();
});
- let _this = this
+ let _this = this;
+ _this.PollData.statisticTaskInfo();
this.intervalTimer = setInterval(() => {
_this.PollData.statisticTaskInfo();
}, 10000)
},
methods: {
- isShow(authority) {
- if (this.isAdmin) {
- return true;
- } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) {
- return true;
- } else if ("videoCamera:pollSetting" === authority) {
- return true;
- } else {
- return false;
- }
+ isShow (authority) {
+ return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
},
- handAddDevice(node) {
+ handAddDevice (node) {
let _this = this;
setTimeout(() => {
_this.$refs.cameraInfo.addDevice(node);
_this.activeName = "camera-info";
}, 100);
},
- handAddDIr(node) {
+ handAddDIr (node) {
let _this = this;
setTimeout(() => {
_this.$refs.dataStackInfo.addDir(node);
_this.activeName = "camera-info";
}, 100);
},
- handleClick(tab, event) {
+ handleClick (tab, event) {
this.TreeDataPool.multiple = tab.name === "linkage-rule";
if (tab.name === "camera-info") {
if (this.TreeDataPool.treeActiveName == 'camera') {
@@ -228,11 +221,10 @@
<style lang="scss">
.s-video-manage {
width: 100%;
+ min-width: 1599px;
height: 100%;
- float: right;
+ float: left;
box-sizing: border-box;
- padding: 16px;
- background-color: #e9ebf2;
.el-tabs--border-card {
box-shadow: none;
-webkit-box-shadow: none;
@@ -249,6 +241,16 @@
.el-tabs--border-card {
height: 100%;
width: 100%;
+ &.video-tab {
+ & > .el-tabs__header {
+ //position: fixed;
+ //position: absolute;
+ //top:0;
+ //left: 0;
+ height: 54px;
+ overflow-y: hidden;
+ }
+ }
.el-tabs__header {
.is-active {
color: #3d68e1 !important;
@@ -276,15 +278,22 @@
}
}
}
- .el-tabs__content {
+ .video-tab > .el-tabs__content {
width: 100%;
- height: calc(100% - 52px);
+ //margin-top: 52px;
+ height: calc(100% - 36px);
box-sizing: border-box;
- padding: 13px 38px;
+ overflow-y: auto;
+ padding: 0;
+ }
+ .video-tab > .el-tabs__content::-webkit-scrollbar {
+ /*婊氬姩鏉℃暣浣撴牱寮�*/
+ width: 6px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/
+ height: 6px;
}
.el-tab-pane {
width: 100%;
- height: 100%;
+ //height: 100%;
}
}
</style>
--
Gitblit v1.8.0