LouisLam
4 years ago
7 changed files with 145 additions and 49 deletions
@ -0,0 +1,61 @@ |
|||||
|
<template> |
||||
|
<span :class="className">{{ uptime }}</span> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
props: { |
||||
|
monitor : Object, |
||||
|
type: String, |
||||
|
pill: { |
||||
|
Boolean, |
||||
|
default: false, |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
computed: { |
||||
|
uptime() { |
||||
|
|
||||
|
let key = this.monitor.id + "_" + this.type; |
||||
|
|
||||
|
if (this.$root.uptimeList[key]) { |
||||
|
return Math.round(this.$root.uptimeList[key] * 10000) / 100 + "%"; |
||||
|
} else { |
||||
|
return "N/A" |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
color() { |
||||
|
if (this.lastHeartBeat.status === 0) { |
||||
|
return "danger" |
||||
|
} else if (this.lastHeartBeat.status === 1) { |
||||
|
return "primary" |
||||
|
} else { |
||||
|
return "secondary" |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
lastHeartBeat() { |
||||
|
if (this.monitor.id in this.$root.lastHeartbeatList && this.$root.lastHeartbeatList[this.monitor.id]) { |
||||
|
return this.$root.lastHeartbeatList[this.monitor.id] |
||||
|
} else { |
||||
|
return { status: -1 } |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
className() { |
||||
|
if (this.pill) { |
||||
|
return `badge rounded-pill bg-${this.color}`; |
||||
|
} else { |
||||
|
return ""; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
Loading…
Reference in new issue