From ccee429d379e0108b7445f72ade8d97c110a6fb3 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期二, 09 十一月 2021 18:01:59 +0800
Subject: [PATCH] 问题修复

---
 src/pages/analysisPower/index/App.vue |   81 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 22 deletions(-)

diff --git a/src/pages/analysisPower/index/App.vue b/src/pages/analysisPower/index/App.vue
index f802df9..0d2d7f2 100644
--- a/src/pages/analysisPower/index/App.vue
+++ b/src/pages/analysisPower/index/App.vue
@@ -50,7 +50,13 @@
           </div>
           <span :class="stretchStyle" @click="strethTable = !strethTable"></span>
 
-          <el-button size="small" type="primary" style="float:right" @click="openDrawer">璁剧疆</el-button>
+          <el-button
+            size="small"
+            type="primary"
+            style="float:right"
+            @click="openDrawer"
+            v-if="showSetting"
+          >璁剧疆</el-button>
         </div>
 
         <el-table
@@ -61,7 +67,7 @@
           :cell-style="cellStyle"
         >
           <el-table-column label="搴忓彿" type="index" align="center" width="60px"></el-table-column>
-          <el-table-column label="鎽勫儚鏈哄悕绉�" align="center" show-overflow-tooltip sortable>
+          <el-table-column label="鎽勫儚鏈哄悕绉�" align="center" show-overflow-tooltip >
             <template slot-scope="scope">
               <span
                 :style="scope.row.is_running ? `color:#3d68e1` : '' "
@@ -69,25 +75,25 @@
             </template>
           </el-table-column>
           <el-table-column label="鎽勫儚鏈哄湴鍧�" prop="addr" align="center" show-overflow-tooltip sortable></el-table-column>
-          <el-table-column label="鎽勫儚鏈篒P" prop="ip" align="center" width="130px" sortable></el-table-column>
-          <el-table-column label="鎽勫儚鏈虹被鍨�" align="center" width="120px" sortable>
+          <el-table-column label="鎽勫儚鏈篒P" prop="ip" align="center" width="130px" sortable :sort-method="ipSortMethod"></el-table-column>
+          <el-table-column label="鎽勫儚鏈虹被鍨�" align="center" width="120px" >
             <template slot-scope="scope">
               <span>{{scope.row.run_type | cameraType}}</span>
             </template>
           </el-table-column>
-          <el-table-column label="鎵ц绠楁硶" align="center" show-overflow-tooltip sortable>
+          <el-table-column label="鎵ц绠楁硶" align="center" show-overflow-tooltip >
             <template slot-scope="scope">
               <span v-if="scope.row.run_type === -1 ">-</span>
               <span v-else>{{scope.row.tasks | taskList}}</span>
             </template>
           </el-table-column>
-          <el-table-column label="杩愯璁惧" align="center" width="160px">
+          <el-table-column label="杩愯璁惧" align="center" width="160px" sortable>
             <template slot-scope="scope">
               <span v-if="scope.row.run_type === -1 ">-</span>
               <span v-else>{{scope.row.runServerName}}</span>
             </template>
           </el-table-column>
-          <el-table-column label="鐘舵��" align="center" show-overflow-tooltip sortable width="100px">
+          <el-table-column label="鐘舵��" align="center" show-overflow-tooltip width="100px">
             <template slot-scope="scope">
               <span v-if="scope.row.status === -1 ">-</span>
               <span v-else-if="scope.row.status === 2">{{"澶勭悊涓�"}}</span>
@@ -228,7 +234,27 @@
         }
       })
 
-      return sumPollingCamera * this.PollData.Config.poll_period
+      // 鎵�鏈夎疆璇㈢殑鎽勫儚鏈烘�绘暟 * 杞鏃堕棿 / 杞绠楀姏 - 1
+      let ret = (sumPollingCamera * this.PollData.Config.poll_period) / this.PollData.PollValidCount - 1
+      if (String(ret).indexOf(".") > 0) {
+        ret = ret.toFixed(1)
+      }
+
+      return ret < 0 ? 0 : ret
+    },
+    isAdmin() {
+      if (
+        sessionStorage.getItem("userInfo") &&
+        sessionStorage.getItem("userInfo") !== ""
+      ) {
+        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
+        return loginName === "superadmin" || loginName === "basic";
+      }
+
+      return false;
+    },
+    showSetting() {
+      return this.isAdmin || this.buttonAuthority.indexOf("analysisPower:set") > -1
     }
   },
   data() {
@@ -243,7 +269,8 @@
       showSysInfo: false,
       drawer: false,
       formData: {},
-      strethTable: false
+      strethTable: false,
+      buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
     };
   },
   mounted() {
@@ -256,6 +283,17 @@
     clearTimeout(this.timeout);
   },
   methods: {
+    ipSortMethod(a,b){
+      console.log(a,b);
+      // debugger
+      if(Number(a.ip.substr(a.ip.lastIndexOf('.')+1)) < Number(b.ip.substr(b.ip.lastIndexOf('.')+1))){
+        return -1;
+      }
+      if(Number(a.ip.substr(a.ip.lastIndexOf('.')+1)) > Number(b.ip.substr(b.ip.lastIndexOf('.')+1))){
+        return 1;
+      }
+      return 0;
+    },
     openDrawer() {
       this.initFormData();
       this.drawer = true;
@@ -484,8 +522,8 @@
       }
       // console.log("this.formData.polling:"+this.formData.polling)
     },
-    cellStyle(obj){
-      if(obj.column.label=='鎽勫儚鏈哄悕绉�'||obj.column.label=='鎽勫儚鏈哄湴鍧�'){
+    cellStyle(obj) {
+      if (obj.column.label == '鎽勫儚鏈哄悕绉�' || obj.column.label == '鎽勫儚鏈哄湴鍧�') {
         return 'text-align:left;padding-left:8px;'
       }
     }
@@ -504,7 +542,7 @@
     height: 190px;
     min-width: 1609px;
     display: flex;
-    .sysinfo-box .eCharts-box{
+    .sysinfo-box .eCharts-box {
       width: 36%;
     }
     .progressBar {
@@ -516,7 +554,6 @@
       //float: left;
       padding-left: 30px;
       box-sizing: border-box;
-     
     }
     .barGraph {
       width: 16%;
@@ -578,12 +615,12 @@
   // margin-top: 150px;
   font-family: PingFangSC-Medium;
   font-size: 14px;
-  &:focus{
+  &:focus {
     outline: none;
   }
-  .el-dialog__close{
-    &:focus{
-      outline: none!important;
+  .el-dialog__close {
+    &:focus {
+      outline: none !important;
     }
   }
   .dawer_details {
@@ -604,16 +641,16 @@
       margin-left: 20px;
     }
   }
-  
+
   .el-drawer__header {
     border-bottom: 2px solid #eee;
     padding-bottom: 10px;
     font-size: 16px;
     margin-bottom: 0px;
-    span{
-      border: none!important;
-      border-image-width: 0!important;
-      &:focus{
+    span {
+      border: none !important;
+      border-image-width: 0 !important;
+      &:focus {
         outline: none;
       }
     }

--
Gitblit v1.8.0