From ae2d855c89ca722ac7309fdf1aa6ceed370e3b95 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期一, 11 十月 2021 20:22:30 +0800 Subject: [PATCH] 监控ui --- src/components/LeftNav.vue | 138 +++++++++++++++++++++++++++++---------------- 1 files changed, 88 insertions(+), 50 deletions(-) diff --git a/src/components/LeftNav.vue b/src/components/LeftNav.vue index 1fb7a61..eb10dfc 100644 --- a/src/components/LeftNav.vue +++ b/src/components/LeftNav.vue @@ -57,7 +57,6 @@ </div>--> </li> - <!-- 娣诲姞鍖哄煙鍥炬爣 --> <div class="tree-edit area-add" v-show="!TreeDataPool.readonly"> <el-tooltip content="娣诲姞鍖哄煙" placement="bottom" popper-class="atooltip"> <button @click="addNode($event)"> @@ -118,18 +117,19 @@ </el-submenu> <el-submenu index="1"> <template slot="title"> - <i class="iconfont iconGBx"></i> + <i class="iconfont iconGBx" style="margin-left:-4px;"></i> <b class="tree-font">GB28181</b> </template> <!-- 鍥芥爣鍒锋柊鍥炬爣 --> - <div class="tree-edit gb-refresh" v-show="!TreeDataPool.gbReadonly"> + <!-- <div class="tree-edit gb-refresh" v-show="!TreeDataPool.gbReadonly"> <el-tooltip content="鍒锋柊" placement="top" popper-class="atooltip"> <button @click="refreshGB"> - <i class="el-icon-refresh" style="font-size:16px"></i> + <i v-if="loadingGBTree" class="el-icon-loading" style="font-size:16px"></i> + <i v-else class="el-icon-refresh" style="font-size:16px"></i> </button> </el-tooltip> - </div> + </div>--> <div class="tree-edit gb-lock" v-show="showLock"> <button @click="gbLockSwitch"> <i v-if="TreeDataPool.gbReadonly" class="el-icon-lock" style="font-size:16px"></i> @@ -156,13 +156,57 @@ name="cluster" :style="`height:${height - 56}px;`" v-if="showCluster" - ></el-tab-pane> - <el-tab-pane - label="鏁版嵁鏍�" - name="dataStack" - :style="`height:${height - 56}px;`" - v-if="showDataStack" > + <div class="local-vedio-area"> + <!-- 鎼滅储 --> + <div class="navTopSelect"> + <div class="search-input flex-box"> + <el-select + v-model="TreeDataPool.searchCamType" + placeholder="璇烽�夋嫨" + @change="searchClusterData" + > + <el-option + v-for="item in searchTypeOptions" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + <span style="display: inline-block;padding: 0px 3px;"></span> + <el-input + v-model="TreeDataPool.searchInput" + placeholder="鎼滅储" + clearable + @input="querySearchAsync('cluster')" + > + <i + class="el-icon-search el-input__icon" + style="color:#DCDFE6" + slot="prefix" + @click="searchClusterData" + ></i> + </el-input> + </div> + </div> + <div class="top-menu" style="margin:0 0 10px;text-align:left;"> + <span class="iconfont iconjiqun" style="font-size:20px;"></span> + <span style="font-size:14px; margin-left: 5px;font-weight: 600;">{{clusterName}}</span> + </div> + <div class="cluster-list"> + <tree-menu + ref="tree" + :app="appName" + :treeName="'localTree'" + :node="TreeDataPool.clusterData" + :height="height" + @addDevice="addCamera" + @import="importCameras" + /> + </div> + </div> + </el-tab-pane> + <el-tab-pane label="鏁版嵁鏍�" name="dataStack" v-if="showDataStack"> <div class="local-vedio-area"> <!-- 鎼滅储 --> <div class="search-input"> @@ -188,7 +232,7 @@ size="small" clearable @input="querySearchAsync('dir')" - :style="'width:103px;'" + :style="'width:148px;'" > <i class="el-icon-search el-input__icon" @@ -262,10 +306,12 @@ } from "@/api/camera"; import bus from "@/plugin/bus" -import TreeMenu from "@/components/treeMenu/index"; +// import TreeMenu from "@/components/treeMenu/index"; +import TreeMenu from "@/components/giantTree/index"; import LocalVedioList from '@/components/subComponents/LocalVedioList'; import FileUpload from '@/components/subComponents/FileUpload/index'; import XLSX from 'xlsx' +import { findCluster } from "@/api/clusterManage"; export default { components: { @@ -293,8 +339,7 @@ return true; }, showCam() { - debugger - return this.appName === "Camera" || (this.appName === "Search" && this.buttonAuthority.indexOf("search:camera") >= 0); + return this.appName === "Camera" || this.appName === 'Cluster' || (this.appName === "Search" && (this.buttonAuthority.indexOf("search:camera") >= 0 || this.isAdmin)); }, showCluster() { return this.appName === "Cluster"; @@ -347,9 +392,7 @@ }, data() { return { - cameraAuth: "videoMonitor:camera", dataStack: "videoMonitor:dataStack", - activeIndexVideo: "", buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], installedApps: sessionStorage.getItem("apps") || [], loginName: JSON.parse(sessionStorage.getItem("userInfo")).username || "鐢ㄦ埛鍚�", @@ -371,33 +414,12 @@ label: "鑱斿姩鎽勫儚鏈�" } ], - searchTypeLocalVideo: [ - { - value: 0, - label: "鍏ㄩ儴" - }, - { - value: 1, - label: "澶勭悊瀹屾垚" - }, - { - value: 2, - label: "澶勭悊涓�" - }, - { - value: 3, - label: "鏈厤瑙勫垯" - }, - { - value: 4, - label: "鏈紑鍚�" - } - ], timeout: null, fileUploadBox: false, loadingGBTree: false, importAreaId: "", - menuLoading: false + menuLoading: false, + clusterName: '' }; }, created() { @@ -410,6 +432,16 @@ this.DataStackPool.fetchFiles(); } + if (this.showCluster) { + this.TreeDataPool.treeActiveName = "cluster" + this.TreeDataPool.fetchClusterTree(); + findCluster().then(res => { + if (res.success) { + this.clusterName = res.data.clusterName; + } + + }) + } }, methods: { searchAreaData() { @@ -417,6 +449,9 @@ }, searchDataStack() { this.DataStackPool.fetchFiles(); + }, + searchClusterData() { + this.TreeDataPool.fetchClusterTree(); }, lockSwitch() { this.TreeDataPool.readonly = !this.TreeDataPool.readonly; @@ -465,6 +500,9 @@ this.timeout = setTimeout(() => { if (type === "camera") { this.TreeDataPool.fetchTreeData(); + } + if (type === "cluster") { + this.TreeDataPool.fetchClusterTree(); } if (type === "dir") { this.DataStackPool.fetchFiles(); @@ -802,15 +840,12 @@ } .dev-vedio-list { padding: 0 15px; - max-height: 740px; - overflow-x: hidden; - overflow-y: auto; - @media screen and (max-height: 720px) { - max-height: 580px; - } - @media screen and (min-height: 900px) { - max-height: 740px; - } + box-sizing: border-box; + // height: calc(100vh - 80px); + //max-height: 740px; + // overflow-x: hidden; + overflow: auto; + } .dev-vedio-list::-webkit-scrollbar { /*婊氬姩鏉℃暣浣撴牱寮�*/ @@ -830,7 +865,7 @@ } .tree-edit { - z-index: 1; + z-index: 2; font-size: 16px; position: absolute; top: 56px; @@ -897,4 +932,7 @@ color: #606266; } } +.flex-box { + display: flex; +} </style> \ No newline at end of file -- Gitblit v1.8.0