From 0175cda6150656bc74b34c6f6c71edd1e1fc653c Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期四, 04 二月 2021 18:22:54 +0800 Subject: [PATCH] treee, 修复tab切换时树的选中状态.添加区域 --- src/pages/cameraAccess/index/VideoManage.vue | 87 +++++++++++++++++++++---------------------- 1 files changed, 42 insertions(+), 45 deletions(-) diff --git a/src/pages/cameraAccess/index/VideoManage.vue b/src/pages/cameraAccess/index/VideoManage.vue index 7d6a031..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 class="video-tab" ref="topTab" 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> @@ -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); @@ -124,30 +128,25 @@ }, 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; @@ -155,11 +154,11 @@ 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); @@ -177,32 +176,24 @@ }, 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') { @@ -230,8 +221,9 @@ <style lang="scss"> .s-video-manage { width: 100%; + min-width: 1599px; height: 100%; - float: right; + float: left; box-sizing: border-box; .el-tabs--border-card { box-shadow: none; @@ -249,8 +241,8 @@ .el-tabs--border-card { height: 100%; width: 100%; - &.video-tab{ - &>.el-tabs__header{ + &.video-tab { + & > .el-tabs__header { //position: fixed; //position: absolute; //top:0; @@ -294,6 +286,11 @@ overflow-y: auto; padding: 0; } + .video-tab > .el-tabs__content::-webkit-scrollbar { + /*婊氬姩鏉℃暣浣撴牱寮�*/ + width: 6px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ + height: 6px; + } .el-tab-pane { width: 100%; //height: 100%; -- Gitblit v1.8.0