This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nezha-nezha-fronted/nezha-fronted/src/components/common/project/popData/Main.vue
2020-09-10 17:48:20 +08:00

146 lines
3.6 KiB
Vue

<template>
<div class="main-content">
<div class="main-box">
<div class="main-box-title">Assets</div>
<div class="main-box-content">
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-arrow-up1 colorFFF bg23BF9A"></i>up</span>
<span class="float-right">{{moduleInfo.assetStat.up}}</span>
</div>
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-arrow-down1 colorFFF bgEC7F66"></i>down</span>
<span class="float-right">{{moduleInfo.assetStat.down}}</span>
</div>
</div>
</div>
<div class="main-box">
<div class="main-box-title">Endpoints</div>
<div class="main-box-content">
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-arrow-up1 colorFFF bg23BF9A"></i>up</span>
<span class="float-right">{{moduleInfo.endpointStat.up}}</span>
</div>
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-arrow-down1 colorFFF bgEC7F66"></i>down</span>
<span class="float-right">{{moduleInfo.endpointStat.down}}</span>
</div>
</div>
</div>
<div class="main-box">
<div class="main-box-title">Alert messages</div>
<div class="main-box-content">
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-jiantou-top colorFFF bg23BF9A"></i>high</span>
<span class="float-right">{{moduleInfo.alertStat.high}}</span>
</div>
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-jiantou-right colorFFF bg3C92F1"></i>medium</span>
<span class="float-right">{{moduleInfo.alertStat.medium}}</span>
</div>
<div class="content-box">
<span class="content-title"><i class="nz-icon nz-icon-jiantou-down colorFFF bgEC7F66"></i>low</span>
<span class="float-right">{{moduleInfo.alertStat.low}}</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name:"popDataMain",
props:{
moduleId:{},
projectId:{},
},
watch:{
moduleId(n){
this.init();
}
},
data(){
return{
moduleInfo:{
alertStat:{
high:0,
low:0,
medium:0,
},
assetStat:{
down:0,
up:0,
},
endpointStat:{
down:0,
up:0,
},
}
}
},
mounted(){
this.init()
},
methods:{
init(){
this.$get('/module/stat',{id:this.moduleId}).then(res=>{
this.moduleInfo=res.data;
})
}
},
}
</script>
<style scoped>
.main-content{
display: flex;
margin-right: 15px;
flex-direction: column;
justify-content: space-between;
}
.main-box{
background: #FFFFFF;
border: 1px solid #E7EAED;
width: 173px;
margin-bottom: 15px;
}
.main-box-title{
background: #EFEFEF;
font-size: 14px;
color: #333333;
height: 26px;
line-height: 26px;
padding-left: 12px;
}
.main-box-content{
font-size: 12px;
color: #333333;
padding: 12px;
}
.main-box-content .content-box:not(:last-child){
margin-bottom: 5px;
}
.content-title{
color: #666666;
}
.colorFFF{
color: #FFFFFF;
vertical-align: middle;
display: inline-block;
padding: 1px;
font-size: 10px;
margin-right: 5px;
line-height: 1;
}
.bg23BF9A{
background: #23BF9A;
}
.bgEC7F66{
background: #EC7F66;
}
.bg3C92F1{
background: #3C92F1;
}
</style>