From 83b010226237a7a7eb8d77078eda14f3359a4bac Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期五, 16 十月 2020 13:27:22 +0800
Subject: [PATCH] 集群节点展示更新

---
 src/components/LeftNav.vue |   63 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 16 deletions(-)

diff --git a/src/components/LeftNav.vue b/src/components/LeftNav.vue
index fc28117..1fb7a61 100644
--- a/src/components/LeftNav.vue
+++ b/src/components/LeftNav.vue
@@ -152,6 +152,12 @@
           </el-menu>
         </el-tab-pane>
         <el-tab-pane
+          label="闆嗙兢"
+          name="cluster"
+          :style="`height:${height - 56}px;`"
+          v-if="showCluster"
+        ></el-tab-pane>
+        <el-tab-pane
           label="鏁版嵁鏍�"
           name="dataStack"
           :style="`height:${height - 56}px;`"
@@ -287,10 +293,32 @@
       return true;
     },
     showCam() {
-      return this.appName === "Camera" || this.appName === "Search";
+      debugger
+      return this.appName === "Camera" || (this.appName === "Search" && this.buttonAuthority.indexOf("search:camera") >= 0);
     },
+    showCluster() {
+      return this.appName === "Cluster";
+    },
+    // 鏁版嵁鏍堥厤缃繀椤绘樉绀恒�� 妫�绱㈤�氳繃鏉冮檺鎺у埗鏄剧ず, 鏈畨瑁呮暟鎹爤涔熶笉鏄剧ず
     showDataStack() {
-      return this.appName === "DataStack" || this.appName === "Search";
+      if (this.appName === "DataStack") {
+        return true;
+      }
+
+      if (this.appName === "Search") {
+        // 鏈畨瑁呮暟鎹爤閰嶇疆
+        if (this.installedApps.indexOf("dataStack") >= 0) {
+          if (this.isAdmin) {
+            return true;
+          }
+
+          if (this.buttonAuthority.indexOf("search:stack") >= 0) {
+            return true;
+          }
+        }
+      }
+
+      return false;
     },
     showLock() {
       return this.edit;
@@ -323,6 +351,7 @@
       dataStack: "videoMonitor:dataStack",
       activeIndexVideo: "",
       buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
+      installedApps: sessionStorage.getItem("apps") || [],
       loginName: JSON.parse(sessionStorage.getItem("userInfo")).username || "鐢ㄦ埛鍚�",
       searchTypeOptions: [
         {
@@ -391,7 +420,6 @@
     },
     lockSwitch() {
       this.TreeDataPool.readonly = !this.TreeDataPool.readonly;
-      console.log(this.TreeDataPool.readonly)
     },
     gbLockSwitch() {
       this.TreeDataPool.gbReadonly = !this.TreeDataPool.gbReadonly;
@@ -549,7 +577,7 @@
 
             let succeed = 0;
             let failed = 0;
-
+            let promiseArr = [];
             for (let item in sheetArray) {
               let camera = this.newCamera();
               camera.areaid = this.importAreaId;
@@ -557,26 +585,27 @@
               camera.rtsp = String(sheetArray[item].rtsp);
               camera.addr = String(sheetArray[item].addr);
 
-              createCamera(camera).then(rsp => {
-                if (rsp && rsp.success) {
+              promiseArr.push(createCamera(camera));
+            }
+            let _this = this;
+            Promise.allSettled(promiseArr).then(res => {
+              res.forEach(item => {
+                if (item.status === 'fulfilled') {
                   succeed++;
                 } else {
                   failed++;
                 }
-              }).catch(err => {
-                failed++;
-              })
-            }
-
-            let _this = this
-            setTimeout(() => {
-              this.menuLoading = false;
+              });
+              _this.menuLoading = false;
               _this.$message({
                 type: "success",
                 message: "鎿嶄綔瀹屾垚, 瀵煎叆鎴愬姛:" + succeed + "涓� 澶辫触:" + failed + "涓�"
               })
               _this.TreeDataPool.fetchTreeData();
-            }, 2000)
+            }).catch(e => {
+              console.log(e)
+            });
+
           }
         } catch (e) {
           this.menuLoading = false
@@ -623,8 +652,9 @@
     border: none;
     box-shadow: none;
     .el-tabs__header {
+      display: none;
       border-bottom: none;
-      margin: 0 0 15px;
+      //margin: 0 0 15px;
     }
     .el-tabs__content {
       padding: 0;
@@ -751,6 +781,7 @@
     .search-input {
       padding-top: 8px;
       padding-bottom: 12px;
+      text-align: left;
       .dev-tree-close {
         width: 10%;
         margin-left: 10px;

--
Gitblit v1.8.0