From 0e65c5001ad3623d6e4d8e023689ddd3708889a5 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期六, 17 十月 2020 13:04:22 +0800
Subject: [PATCH] 统计查询(集群)左侧树调试,cardwindow添加analyServerName字段
---
src/api/area.ts | 8 ++
src/pages/searchForCluster/index/App.vue | 2
src/pages/searchForCluster/index/Searching.vue | 1
src/components/LeftNav.vue | 127 ++++++++++++++++++++++++++++++-----------
src/Pool/TreeData.ts | 23 +++++++
src/components/serfDiagram/index.vue | 4 +
src/components/subComponents/ModelCard.vue | 3 +
src/Pool/VideoPhotoData.ts | 3
8 files changed, 133 insertions(+), 38 deletions(-)
diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index a835411..ee52310 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -1,6 +1,7 @@
import {
getLocalCameraTree,
getGB28181CameraTree,
+ getClusterTree,
addAreaTreeData,
delAreaTreeData,
updateAreaTreeData,
@@ -16,9 +17,11 @@
export default class TreeDataPool {
public openeds: Array<boolean>;
public treeData: Array<object>;
+ public clusterData: Array<object>;
public gb28181Data: Array<object>;
public treeDataPure: Array<object>;
public gb28181DataPure: Array<object>;
+ public clusterDataPure: Array<object>;
public videoArr: Array<string | undefined | object>;
public searchCamType: number;
public searchInput: string;
@@ -64,8 +67,10 @@
this.openeds = [true, true, false];
this.treeData = [];
this.gb28181Data = [];
+ this.clusterData = [];
this.treeDataPure = [];
this.gb28181DataPure = [];
+ this.clusterDataPure = [];
this.videoArr = [""];
this.searchCamType = 0;
this.searchInput = "";
@@ -304,6 +309,23 @@
}
}
+ async fetchClusterTree (){
+ debugger
+ const rsp: any = await getClusterTree({
+ searchType: this.searchCamType,
+ cameraName: this.searchInput
+ });
+ if(rsp && rsp.success){
+ console.log(rsp.data);
+ this.clusterData = rsp.data ? rsp.data : []
+ if(this.clusterData && this.clusterData.length > 0){
+ this.sortTreeData(this.clusterData)
+ }
+ this.clusterDataPure = JSON.parse(JSON.stringify(this.clusterData));
+ this.isFold(this.clusterData)
+ }
+ }
+
async fetchGbTree() {
const rsp: any = await getGB28181CameraTree({
searchType: this.searchCamType,
@@ -328,6 +350,7 @@
if (this.openeds[1]) {
this.fetchGbTree()
}
+
this.findAllFile({})
}
diff --git a/src/Pool/VideoPhotoData.ts b/src/Pool/VideoPhotoData.ts
index ec150b3..15b058c 100644
--- a/src/Pool/VideoPhotoData.ts
+++ b/src/Pool/VideoPhotoData.ts
@@ -81,7 +81,8 @@
inputValue: this.inputValue,
tabs: this.queryTabs,
tasks: this.queryTasks,
- treeNodes: this.treeNodes
+ treeNodes: this.treeNodes,
+ isAll: true
}
const rsp: any = await getSearchList(param);
diff --git a/src/api/area.ts b/src/api/area.ts
index 52de7a5..8b5b2bb 100644
--- a/src/api/area.ts
+++ b/src/api/area.ts
@@ -17,6 +17,14 @@
});
};
+export const getClusterTree = (query: any) => {
+ return request({
+ url: "/data/api-v/camera/nodeCamera",
+ method: "get",
+ params: query
+ });
+};
+
export const addAreaTreeData = (query: any) => {
return request({
url: "/data/api-v/area/add",
diff --git a/src/components/LeftNav.vue b/src/components/LeftNav.vue
index 151f219..6f97a2a 100644
--- a/src/components/LeftNav.vue
+++ b/src/components/LeftNav.vue
@@ -156,7 +156,52 @@
name="cluster"
:style="`height:${height - 56}px;`"
v-if="showCluster"
- ></el-tab-pane>
+ >
+ <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="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"
@@ -289,17 +334,17 @@
},
computed: {
- showTab() {
+ showTab () {
return true;
},
- showCam() {
- return this.appName === "Camera" || (this.appName === "Search" && (this.buttonAuthority.indexOf("search:camera") >= 0 || this.isAdmin));
+ showCam () {
+ return this.appName === "Camera" || this.appName === 'Cluster' || (this.appName === "Search" && (this.buttonAuthority.indexOf("search:camera") >= 0 || this.isAdmin));
},
- showCluster() {
+ showCluster () {
return this.appName === "Cluster";
},
// 鏁版嵁鏍堥厤缃繀椤绘樉绀恒�� 妫�绱㈤�氳繃鏉冮檺鎺у埗鏄剧ず, 鏈畨瑁呮暟鎹爤涔熶笉鏄剧ず
- showDataStack() {
+ showDataStack () {
if (this.appName === "DataStack") {
return true;
}
@@ -319,10 +364,10 @@
return false;
},
- showLock() {
+ showLock () {
return this.edit;
},
- openeds() {
+ openeds () {
let arry = [];
for (let i = 0; i < this.TreeDataPool.openeds.length; i++) {
if (this.TreeDataPool.openeds[i]) {
@@ -333,7 +378,7 @@
}
return arry;
},
- isAdmin() {
+ isAdmin () {
if (
sessionStorage.getItem("userInfo") &&
sessionStorage.getItem("userInfo") !== ""
@@ -344,7 +389,7 @@
return false;
}
},
- data() {
+ data () {
return {
cameraAuth: "videoMonitor:camera",
dataStack: "videoMonitor:dataStack",
@@ -399,7 +444,9 @@
menuLoading: false
};
},
- created() {
+ created () {
+ console.log(this.appName)
+ console.log(this.showCam)
if (this.showCam) {
this.TreeDataPool.treeActiveName = "camera"
this.TreeDataPool.fetchTreeData();
@@ -409,43 +456,50 @@
this.DataStackPool.fetchFiles();
}
+ if (this.showCluster) {
+ this.TreeDataPool.treeActiveName = "cluster"
+ this.TreeDataPool.fetchClusterTree();
+ }
},
methods: {
- searchAreaData() {
+ searchAreaData () {
this.TreeDataPool.fetchTreeData();
},
- searchDataStack() {
+ searchDataStack () {
this.DataStackPool.fetchFiles();
},
- lockSwitch() {
+ searchClusterData () {
+ this.TreeDataPool.fetchClusterTree();
+ },
+ lockSwitch () {
this.TreeDataPool.readonly = !this.TreeDataPool.readonly;
},
- gbLockSwitch() {
+ gbLockSwitch () {
this.TreeDataPool.gbReadonly = !this.TreeDataPool.gbReadonly;
},
- dataStackLockSwitch() {
+ dataStackLockSwitch () {
this.DataStackPool.readonly = !this.DataStackPool.readonly;
},
- closeTree() {
+ closeTree () {
this.TreeDataPool.showTreeBox = false;
bus.$emit('refreshCompareImg')
},
- addNode(event) {
+ addNode (event) {
this.$refs.tree.addNode(event, { id: 0 });
},
- addCamera(node) {
+ addCamera (node) {
bus.$emit("addCameraOnTree", node);
},
- addDir(node) {
+ addDir (node) {
bus.$emit("addDirOnTree", node);
},
- menuOpen(index) {
+ menuOpen (index) {
this.TreeDataPool.openeds[index] = true;
},
- menuClose(index) {
+ menuClose (index) {
this.TreeDataPool.openeds[index] = false;
},
- refreshGB() {
+ refreshGB () {
// 闃叉閲嶅鍒锋柊
if (this.loadingGBTree) {
return;
@@ -459,7 +513,7 @@
this.loadingGBTree = false;
}, 1000 * 60);
},
- querySearchAsync(type) {
+ querySearchAsync (type) {
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
if (type === "camera") {
@@ -470,7 +524,7 @@
}
}, 500);
},
- handleClick(event) {
+ handleClick (event) {
if (event.name == 'dataStack') {
this.DataStackPool.fetchFiles();
this.DataStackPool.clean();
@@ -479,7 +533,7 @@
this.TreeDataPool.treeActiveName = event.name
console.log("褰撳墠婵�娲籲ame锛�", this.TreeDataPool.treeActiveName)
},
- async changeEnable() {
+ async changeEnable () {
if (this.PollData.localVideo === 0) {
this.$notify({
title: "澶辫触",
@@ -495,13 +549,13 @@
console.log(res, '鍒囨崲鏈湴鏂囦欢鍒嗘瀽寮�鍏�')
}
},
- getCheckedFiles() {
+ getCheckedFiles () {
let list1 = this.TreeDataPool.localVedioList.filter(i => {
return i.checkStatus
})
return list1
},
- async stopVedio(status) {
+ async stopVedio (status) {
// let list1 = this.getCheckedFiles();
if (this.TreeDataPool.checkedLocalVedio.length == 0) {
this.$notify({
@@ -524,7 +578,7 @@
console.log(res, '寮�鍚殏鍋滃弬鏁�')
}
},
- async deleteLocalFiles() {
+ async deleteLocalFiles () {
let list1 = this.getCheckedFiles();
console.log(list1, '宸插嬀閫夌殑瑙嗛')
if (list1.length == 0) {
@@ -546,16 +600,16 @@
}
},
- refrash(current, pageSize) {
+ refrash (current, pageSize) {
this.TreeDataPool.localCurrentPage = current;
},
- importCameras(area) {
+ importCameras (area) {
this.importAreaId = area
this.$refs["import-btn"].click()
},
- async uploadFile(params) {
+ async uploadFile (params) {
const _file = params.file;
const fileReader = new FileReader();
fileReader.onload = (ev) => {
@@ -613,14 +667,14 @@
};
fileReader.readAsBinaryString(_file);
},
- exceed() {
+ exceed () {
this.$message.error("鏈�澶氬彧鑳戒笂浼�1涓獂ls鏂囦欢");
},
//鍒犻櫎鏂囦欢
- remove() {
+ remove () {
},
- newCamera() {
+ newCamera () {
return {
latitude: 0,
rtsp: "",
@@ -896,4 +950,7 @@
color: #606266;
}
}
+.flex-box{
+ display: flex;
+}
</style>
\ No newline at end of file
diff --git a/src/components/serfDiagram/index.vue b/src/components/serfDiagram/index.vue
index f8ad4fd..9358571 100644
--- a/src/components/serfDiagram/index.vue
+++ b/src/components/serfDiagram/index.vue
@@ -1,5 +1,7 @@
<template lang='pug'>
.net
+ .arrow_box(:style="toolTipStyle")
+ p {{toolTipAddr}}
d3-network(
ref='net'
:startX="startX"
@@ -10,7 +12,7 @@
@drag-start='dragStart'
@node-click='nodeClick'
@node-hover='nodeHover'
- @node-out='nodeOut'
+ @node-out='nodeOut'
)
</template>
diff --git a/src/components/subComponents/ModelCard.vue b/src/components/subComponents/ModelCard.vue
index 7c07467..52b5ae6 100644
--- a/src/components/subComponents/ModelCard.vue
+++ b/src/components/subComponents/ModelCard.vue
@@ -43,6 +43,9 @@
<p>
<span class="fontStyleForModel">{{ data.cameraAddr }}</span>
</p>
+ <p>
+ <span class="fontStyleForModel">{{ data.analyServerName }}</span>
+ </p>
<p style="width:100%">
<span v-for="(item,index) in data.alarmRules" :key="index+'rule'">
<span class="fontStyleForModel">{{data.taskName}}</span>
diff --git a/src/pages/searchForCluster/index/App.vue b/src/pages/searchForCluster/index/App.vue
index 44cca51..ef802ef 100644
--- a/src/pages/searchForCluster/index/App.vue
+++ b/src/pages/searchForCluster/index/App.vue
@@ -4,7 +4,7 @@
<div class="resize-bar"></div>
<div class="resize-line"></div>
<div class="resize-save">
- <left-nav :appName="'Search'" :height="screenHeight - 40"></left-nav>
+ <left-nav :appName="'Cluster'" :height="screenHeight - 40"></left-nav>
</div>
</div>
<div class="column-right">
diff --git a/src/pages/searchForCluster/index/Searching.vue b/src/pages/searchForCluster/index/Searching.vue
index 7cd82d6..68e5e41 100644
--- a/src/pages/searchForCluster/index/Searching.vue
+++ b/src/pages/searchForCluster/index/Searching.vue
@@ -615,6 +615,7 @@
this.VideoPhotoData.searchTime = this.format(this.searchTime);
//this.VideoPhotoData.inputValue = this.searchText;
this.VideoPhotoData.showType = this.showType;
+ this.VideoPhotoData.isAll = true;
if (!this.VideoPhotoData.uploadType) {
console.log("鏌ヨ鏂规硶");
this.VideoPhotoData.uploadDiaplay = false;
--
Gitblit v1.8.0