Files
EdgeAdmin/web/public/js/components/messages/message-row.js

48 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-10-20 20:18:12 +08:00
Vue.component("message-row", {
props: ["v-message"],
data: function () {
let paramsJSON = this.vMessage.params
let params = null
if (paramsJSON != null && paramsJSON.length > 0) {
params = JSON.parse(paramsJSON)
}
return {
message: this.vMessage,
params: params
}
},
template: `<div>
<table class="ui table selectable">
<tr :class="{error: message.level == 'error'}">
<td>
<strong>{{message.datetime}}</strong>
<span v-if="message.cluster != null && message.cluster.id != null">
<span> | </span>
<a :href="'/clusters/cluster?clusterId=' + message.cluster.id">集群{{message.cluster.name}}</a>
</span>
2020-10-25 18:27:07 +08:00
<span v-if="message.node != null && message.node.id != null">
<span> | </span>
<a :href="'/clusters/cluster/node?clusterId=' + message.cluster.id + '&nodeId=' + message.node.id">节点{{message.node.name}}</a>
</span>
2020-10-20 20:18:12 +08:00
</td>
</tr>
<tr :class="{error: message.level == 'error'}">
<td>
{{message.body}}
<!-- 健康检查 -->
<div v-if="message.type == 'HealthCheckFailed'" style="margin-top: 0.8em">
2020-10-20 20:29:33 +08:00
<a :href="'/clusters/cluster/node?clusterId=' + message.cluster.id + '&nodeId=' + param.node.id" v-for="param in params" class="ui label tiny" style="margin-bottom: 0.5em">{{param.node.name}}: {{param.error}}</a>
2020-10-20 20:18:12 +08:00
</div>
<!-- 集群DNS设置 -->
<div v-if="message.type == 'ClusterDNSSyncFailed'" style="margin-top: 0.8em">
<a :href="'/dns/clusters/cluster?clusterId=' + message.cluster.id">查看问题 &raquo;</a>
</div>
2020-10-20 20:18:12 +08:00
</td>
</tr>
</table>
<div class="margin"></div>
</div>`
})