Authored by 鲁尚清

资源状态获取动态数据

@@ -63,7 +63,7 @@ export const monitorResourceStatus = { @@ -63,7 +63,7 @@ export const monitorResourceStatus = {
63 name: 'imageAdressHealthBg', 63 name: 'imageAdressHealthBg',
64 required: false, 64 required: false,
65 placeholder: '', 65 placeholder: '',
66 - value: require("../../../../../../../assets/images/healthStatus/state_bg.png"), 66 + value: '',
67 }, 67 },
68 { 68 {
69 type: 'custom-upload', 69 type: 'custom-upload',
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 <img v-if="!imgStyle.titleName" :src="imgStyle.imageAdress" :style="imgStyle" alt=""> 5 <img v-if="!imgStyle.titleName" :src="imgStyle.imageAdress" :style="imgStyle" alt="">
6 <div v-if="imgStyle.titleName" class="title-name">{{imgStyle.titleName}}</div> 6 <div v-if="imgStyle.titleName" class="title-name">{{imgStyle.titleName}}</div>
7 </div> 7 </div>
8 - <el-row class="padding-top-30"> 8 + <el-row class="padding-top-30" v-if="hackReset">
9 <!-- <el-col class="flex-around" :span="imgStyle.spanNum" v-for="item in healthDataComputed" :key="item.id">--> 9 <!-- <el-col class="flex-around" :span="imgStyle.spanNum" v-for="item in healthDataComputed" :key="item.id">-->
10 <el-col class="flex-around" :span="24" > 10 <el-col class="flex-around" :span="24" >
11 <div class="health-service"> 11 <div class="health-service">
@@ -16,17 +16,20 @@ @@ -16,17 +16,20 @@
16 <div class="health-num-item"> 16 <div class="health-num-item">
17 <span class="health-color"></span> 17 <span class="health-color"></span>
18 <span class="health-num-title">严重告警:</span> 18 <span class="health-num-title">严重告警:</span>
19 - <span class="health-num">{{ healthNumData.yz }}</span> 19 + <span class="health-num" v-if="healthNumData.yz && healthNumData.yz!='null'">{{ healthNumData.yz }}</span>
  20 + <span class="health-num" v-if="!healthNumData.yz || healthNumData.yz=='null'">0</span>
20 </div> 21 </div>
21 <div class="health-num-item"> 22 <div class="health-num-item">
22 <span class="health-color"></span> 23 <span class="health-color"></span>
23 <span class="health-num-title">重要告警:</span> 24 <span class="health-num-title">重要告警:</span>
24 - <span class="health-num">{{ healthNumData.zy }}</span> 25 + <span class="health-num" v-if="healthNumData.zy && healthNumData.zy!='null'">{{ healthNumData.zy }}</span>
  26 + <span class="health-num" v-if="!healthNumData.zy || healthNumData.zy=='null'">0</span>
25 </div> 27 </div>
26 <div class="health-num-item"> 28 <div class="health-num-item">
27 <span class="health-color"></span> 29 <span class="health-color"></span>
28 <span class="health-num-title">一般告警:</span> 30 <span class="health-num-title">一般告警:</span>
29 - <span class="health-num">{{ healthNumData.yb }}</span> 31 + <span class="health-num" v-if="healthNumData.yb && healthNumData.yb!='null'">{{ healthNumData.yb }}</span>
  32 + <span class="health-num" v-if="!healthNumData.yb || healthNumData.yb=='null'">0</span>
30 </div> 33 </div>
31 </div> 34 </div>
32 </el-col> 35 </el-col>
@@ -44,15 +47,16 @@ export default { @@ -44,15 +47,16 @@ export default {
44 name: "resourceStatus", 47 name: "resourceStatus",
45 data() { 48 data() {
46 return { 49 return {
  50 + hackReset: true,
47 options: {}, 51 options: {},
48 spanNum:24,//col的span的个数 52 spanNum:24,//col的span的个数
49 healthStatusUrl:'', 53 healthStatusUrl:'',
50 - healthNumData:{ 54 + healthNumData:{/*
51 icon: "worse", 55 icon: "worse",
52 - state: "", 56 + state: "",
53 yb: "0", 57 yb: "0",
54 yz: "0", 58 yz: "0",
55 - zy: "1" 59 + zy: "1"*/
56 },//资源状态告警个数数据 good worse worst 60 },//资源状态告警个数数据 good worse worst
57 healthData:[ 61 healthData:[
58 62
@@ -123,21 +127,13 @@ export default { @@ -123,21 +127,13 @@ export default {
123 }, 127 },
124 imgStyleHealth() { 128 imgStyleHealth() {
125 return { 129 return {
126 - imageAdressHealthBg:this.transStyle.imageAdressHealthBg?this.transStyle.imageAdressHealthBg:require("../../../../../../assets/images/healthStatus/state_bg.png"), 130 + imageAdressHealthBg:this.transStyle.imageAdressHealthBg,
127 imageAdressHealthGood:this.transStyle.imageAdressHealthGood?this.transStyle.imageAdressHealthGood:require("../../../../../../assets/images/healthStatus/state_01.png"), 131 imageAdressHealthGood:this.transStyle.imageAdressHealthGood?this.transStyle.imageAdressHealthGood:require("../../../../../../assets/images/healthStatus/state_01.png"),
128 imageAdressHealthWorse:this.transStyle.imageAdressHealthWorse?this.transStyle.imageAdressHealthWorse:require("../../../../../../assets/images/healthStatus/state_02.png"), 132 imageAdressHealthWorse:this.transStyle.imageAdressHealthWorse?this.transStyle.imageAdressHealthWorse:require("../../../../../../assets/images/healthStatus/state_02.png"),
129 imageAdressHealthBad:this.transStyle.imageAdressHealthBad?this.transStyle.imageAdressHealthBad:require("../../../../../../assets/images/healthStatus/state_03.png"), 133 imageAdressHealthBad:this.transStyle.imageAdressHealthBad?this.transStyle.imageAdressHealthBad:require("../../../../../../assets/images/healthStatus/state_03.png"),
130 dataNum:this.transStyle.dataNum?this.transStyle.dataNum:'3' 134 dataNum:this.transStyle.dataNum?this.transStyle.dataNum:'3'
131 }; 135 };
132 }, 136 },
133 - /* healthDataComputed(){  
134 - let healthData=this.healthData;  
135 - healthData=this.initImageUrl();  
136 - if(this.imgStyleHealth.dataNum){  
137 - healthData=healthData.slice(0,this.imgStyleHealth.dataNum);  
138 - }  
139 - return healthData;  
140 - }*/  
141 }, 137 },
142 watch: { 138 watch: {
143 value: { 139 value: {
@@ -146,10 +142,9 @@ export default { @@ -146,10 +142,9 @@ export default {
146 this.optionsSetUp = val.setup; 142 this.optionsSetUp = val.setup;
147 this.optionsPosition = val.position; 143 this.optionsPosition = val.position;
148 this.optionsData=val.data; 144 this.optionsData=val.data;
  145 + // this.init();
149 this.handlerData(); 146 this.handlerData();
150 -  
151 this.initImageUrl(); 147 this.initImageUrl();
152 - this.getHealthData();  
153 148
154 }, 149 },
155 deep: true 150 deep: true
@@ -161,10 +156,9 @@ export default { @@ -161,10 +156,9 @@ export default {
161 this.optionsSetUp = this.value.setup; 156 this.optionsSetUp = this.value.setup;
162 this.optionsPosition = this.value.position; 157 this.optionsPosition = this.value.position;
163 this.optionsData = this.value.data; 158 this.optionsData = this.value.data;
  159 + // this.init();
164 this.handlerData(); 160 this.handlerData();
165 -  
166 this.initImageUrl(); 161 this.initImageUrl();
167 - this.getHealthData();  
168 }, 162 },
169 methods: { 163 methods: {
170 164
@@ -188,8 +182,12 @@ export default { @@ -188,8 +182,12 @@ export default {
188 }, 182 },
189 async init(){ 183 async init(){
190 const reportCode = this.$route.query.reportCode; 184 const reportCode = this.$route.query.reportCode;
191 - const { code, data } = await getData(reportCode);  
192 - if (code != 200) return; 185 + console.log("aaa",this.$route.query)
  186 + let locationUrl=this.$route.query;
  187 + let resId=locationUrl.resId;
  188 + let token=locationUrl.access_token;
  189 + // const { code, data } = await getData(reportCode);
  190 + // if (code != 200) return;
193 }, 191 },
194 handlerData() { 192 handlerData() {
195 const resData = this.optionsData; 193 const resData = this.optionsData;
@@ -200,28 +198,39 @@ export default { @@ -200,28 +198,39 @@ export default {
200 }, 198 },
201 handlerStaticData(data) { 199 handlerStaticData(data) {
202 this.healthNumData = data; 200 this.healthNumData = data;
  201 + this.initImageUrl();
203 }, 202 },
204 handlerDynamicData(data, refreshTime) { 203 handlerDynamicData(data, refreshTime) {
205 if (!data) return; 204 if (!data) return;
206 - /* if (this.ispreview) { 205 + console.log("资源",data)
  206 + if (this.ispreview) {
207 this.getEchartData(data); 207 this.getEchartData(data);
208 this.flagInter = setInterval(() => { 208 this.flagInter = setInterval(() => {
209 this.getEchartData(data); 209 this.getEchartData(data);
210 }, refreshTime); 210 }, refreshTime);
211 } else { 211 } else {
212 this.getEchartData(data); 212 this.getEchartData(data);
213 - }*/ 213 + }
214 }, 214 },
215 - async getHealthData(){ 215 + getEchartData(val) {
  216 + const data = this.queryEchartsData(val);
  217 + data.then(res => {
  218 + console.log("def",res)
  219 + if(res && res[0].code==0){
  220 + this.healthNumData = res[0].data;
216 221
217 -  
218 - /*  
219 - const { code, data } = await getHealth();  
220 - if (code != 200) return;  
221 - this.healthNumData=data;  
222 - console.log("health",data)*/ 222 + }
  223 + this.hackResetFun();
  224 + this.initImageUrl();
  225 + });
  226 + },
  227 + // vue hack 之强制刷新组件
  228 + hackResetFun() {
  229 + this.hackReset = false;
  230 + this.$nextTick(() => {
  231 + this.hackReset = true;
  232 + });
223 }, 233 },
224 -  
225 }, 234 },
226 } 235 }
227 </script> 236 </script>