From e6d24f4da2bdc2dc1c7fc3e056900f82b87b2e66 Mon Sep 17 00:00:00 2001
From: 鲁尚清 <lushangqing@honggroup.com.cn>
Date: Fri, 11 Feb 2022 17:28:38 +0800
Subject: [PATCH] 资源状态获取动态数据

---
 report-ui/src/views/report/bigscreen/designer/tools/echartsConfigJson/monitorConfigJson/monitor-resource-status.js |  2 +-
 report-ui/src/views/report/bigscreen/designer/widget/monitor/resourceStatus.vue                                    | 77 +++++++++++++++++++++++++++++++++++++++++++----------------------------------
 2 files changed, 44 insertions(+), 35 deletions(-)

diff --git a/report-ui/src/views/report/bigscreen/designer/tools/echartsConfigJson/monitorConfigJson/monitor-resource-status.js b/report-ui/src/views/report/bigscreen/designer/tools/echartsConfigJson/monitorConfigJson/monitor-resource-status.js
index db6a650..daf3ef8 100644
--- a/report-ui/src/views/report/bigscreen/designer/tools/echartsConfigJson/monitorConfigJson/monitor-resource-status.js
+++ b/report-ui/src/views/report/bigscreen/designer/tools/echartsConfigJson/monitorConfigJson/monitor-resource-status.js
@@ -63,7 +63,7 @@ export const monitorResourceStatus = {
         name: 'imageAdressHealthBg',
         required: false,
         placeholder: '',
-        value: require("../../../../../../../assets/images/healthStatus/state_bg.png"),
+        value: '',
       },
       {
         type: 'custom-upload',
diff --git a/report-ui/src/views/report/bigscreen/designer/widget/monitor/resourceStatus.vue b/report-ui/src/views/report/bigscreen/designer/widget/monitor/resourceStatus.vue
index 24fc8bc..c08bf1a 100644
--- a/report-ui/src/views/report/bigscreen/designer/widget/monitor/resourceStatus.vue
+++ b/report-ui/src/views/report/bigscreen/designer/widget/monitor/resourceStatus.vue
@@ -5,7 +5,7 @@
       <img v-if="!imgStyle.titleName" :src="imgStyle.imageAdress" :style="imgStyle" alt="">
       <div v-if="imgStyle.titleName"  class="title-name">{{imgStyle.titleName}}</div>
     </div>
-    <el-row class="padding-top-30">
+    <el-row class="padding-top-30" v-if="hackReset">
 <!--      <el-col class="flex-around" :span="imgStyle.spanNum" v-for="item in healthDataComputed" :key="item.id">-->
       <el-col class="flex-around" :span="24" >
         <div class="health-service">
@@ -16,17 +16,20 @@
           <div class="health-num-item">
             <span class="health-color"></span>
             <span class="health-num-title">严重告警:</span>
-            <span class="health-num">{{ healthNumData.yz }}</span>
+            <span class="health-num" v-if="healthNumData.yz && healthNumData.yz!='null'">{{ healthNumData.yz }}</span>
+            <span class="health-num" v-if="!healthNumData.yz || healthNumData.yz=='null'">0</span>
           </div>
           <div class="health-num-item">
             <span class="health-color"></span>
             <span class="health-num-title">重要告警:</span>
-            <span class="health-num">{{ healthNumData.zy }}</span>
+            <span class="health-num" v-if="healthNumData.zy && healthNumData.zy!='null'">{{ healthNumData.zy }}</span>
+            <span class="health-num" v-if="!healthNumData.zy || healthNumData.zy=='null'">0</span>
           </div>
           <div class="health-num-item">
             <span class="health-color"></span>
             <span class="health-num-title">一般告警:</span>
-            <span class="health-num">{{ healthNumData.yb }}</span>
+            <span class="health-num" v-if="healthNumData.yb && healthNumData.yb!='null'">{{ healthNumData.yb }}</span>
+            <span class="health-num" v-if="!healthNumData.yb || healthNumData.yb=='null'">0</span>
           </div>
         </div>
       </el-col>
@@ -44,15 +47,16 @@ export default {
   name: "resourceStatus",
   data() {
     return {
+      hackReset: true,
       options: {},
       spanNum:24,//col的span的个数
       healthStatusUrl:'',
-      healthNumData:{
+      healthNumData:{/*
         icon: "worse",
-        state: "量",
+        state: "良",
         yb: "0",
         yz: "0",
-        zy: "1"
+        zy: "1"*/
       },//资源状态告警个数数据 good worse worst
       healthData:[
 
@@ -123,21 +127,13 @@ export default {
     },
     imgStyleHealth() {
       return {
-        imageAdressHealthBg:this.transStyle.imageAdressHealthBg?this.transStyle.imageAdressHealthBg:require("../../../../../../assets/images/healthStatus/state_bg.png"),
+        imageAdressHealthBg:this.transStyle.imageAdressHealthBg,
         imageAdressHealthGood:this.transStyle.imageAdressHealthGood?this.transStyle.imageAdressHealthGood:require("../../../../../../assets/images/healthStatus/state_01.png"),
         imageAdressHealthWorse:this.transStyle.imageAdressHealthWorse?this.transStyle.imageAdressHealthWorse:require("../../../../../../assets/images/healthStatus/state_02.png"),
         imageAdressHealthBad:this.transStyle.imageAdressHealthBad?this.transStyle.imageAdressHealthBad:require("../../../../../../assets/images/healthStatus/state_03.png"),
         dataNum:this.transStyle.dataNum?this.transStyle.dataNum:'3'
       };
     },
-   /* healthDataComputed(){
-      let healthData=this.healthData;
-      healthData=this.initImageUrl();
-      if(this.imgStyleHealth.dataNum){
-        healthData=healthData.slice(0,this.imgStyleHealth.dataNum);
-      }
-      return healthData;
-    }*/
   },
   watch: {
     value: {
@@ -146,10 +142,9 @@ export default {
         this.optionsSetUp = val.setup;
         this.optionsPosition = val.position;
         this.optionsData=val.data;
+        // this.init();
         this.handlerData();
-
-          this.initImageUrl();
-          this.getHealthData();
+        this.initImageUrl();
 
       },
       deep: true
@@ -161,10 +156,9 @@ export default {
     this.optionsSetUp = this.value.setup;
     this.optionsPosition = this.value.position;
     this.optionsData = this.value.data;
+    // this.init();
     this.handlerData();
-
-      this.initImageUrl();
-      this.getHealthData();
+    this.initImageUrl();
   },
   methods: {
 
@@ -188,8 +182,12 @@ export default {
     },
     async init(){
       const reportCode = this.$route.query.reportCode;
-      const { code, data } = await getData(reportCode);
-      if (code != 200) return;
+      console.log("aaa",this.$route.query)
+      let locationUrl=this.$route.query;
+      let resId=locationUrl.resId;
+      let token=locationUrl.access_token;
+      // const { code, data } = await getData(reportCode);
+      // if (code != 200) return;
     },
     handlerData() {
       const resData = this.optionsData;
@@ -200,28 +198,39 @@ export default {
     },
     handlerStaticData(data) {
       this.healthNumData = data;
+      this.initImageUrl();
     },
     handlerDynamicData(data, refreshTime) {
       if (!data) return;
-      /* if (this.ispreview) {
+      console.log("资源",data)
+       if (this.ispreview) {
          this.getEchartData(data);
          this.flagInter = setInterval(() => {
            this.getEchartData(data);
          }, refreshTime);
        } else {
          this.getEchartData(data);
-       }*/
+       }
     },
-    async getHealthData(){
-
+    getEchartData(val) {
+      const data = this.queryEchartsData(val);
+      data.then(res => {
+        console.log("def",res)
+        if(res && res[0].code==0){
+          this.healthNumData = res[0].data;
 
-      /*
-            const { code, data } = await getHealth();
-            if (code != 200) return;
-            this.healthNumData=data;
-            console.log("health",data)*/
+        }
+        this.hackResetFun();
+        this.initImageUrl();
+      });
+    },
+    // vue hack 之强制刷新组件
+    hackResetFun() {
+      this.hackReset = false;
+      this.$nextTick(() => {
+        this.hackReset = true;
+      });
     },
-
   },
 }
 </script>
--
libgit2 0.24.0