|
@@ -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>
|