perf:alertMessage label增加排序 & 部分国际化补充、更正
This commit is contained in:
@@ -100,11 +100,11 @@
|
|||||||
<span v-if="scope.row[item.prop] == 'low'"><i class="el-icon-arrow-down"></i> {{severityData[2].value}}</span>
|
<span v-if="scope.row[item.prop] == 'low'"><i class="el-icon-arrow-down"></i> {{severityData[2].value}}</span>
|
||||||
</span>
|
</span>
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;"
|
<nz-alert-tag :label="item.label" :type="tagType(item.label)" style="margin: 5px;"
|
||||||
:cursor-point="tagType(key) == 'info' ? false : true"
|
:cursor-point="tagType(item.label) == 'info' ? false : true"
|
||||||
:key="key"
|
:key="item.label"
|
||||||
v-if="key != 'alertname' && key != 'severity'"
|
v-if="item.label != 'alertname' && item.label != 'severity'"
|
||||||
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
v-for="item in labelsSort(scope.row.labels)">{{item.value}}</nz-alert-tag>
|
||||||
</template>
|
</template>
|
||||||
<div v-else-if="item.prop == 'state'">
|
<div v-else-if="item.prop == 'state'">
|
||||||
<span class="">
|
<span class="">
|
||||||
@@ -203,11 +203,11 @@
|
|||||||
<span v-if="scope.row[item.prop] == 'low'"><i class="el-icon-arrow-down"></i> {{severityData[2].value}}</span>
|
<span v-if="scope.row[item.prop] == 'low'"><i class="el-icon-arrow-down"></i> {{severityData[2].value}}</span>
|
||||||
</span>
|
</span>
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;"
|
<nz-alert-tag :label="item.label" :type="tagType(item.label)" style="margin: 5px;"
|
||||||
:cursor-point="tagType(key) == 'info' ? false : true"
|
:cursor-point="tagType(item.label) == 'info' ? false : true"
|
||||||
:key="key"
|
:key="item.label"
|
||||||
v-if="key != 'alertname' && key != 'severity'"
|
v-if="item.label != 'alertname' && item.label != 'severity'"
|
||||||
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
v-for="item in labelsSort(scope.row.labels)">{{item.value}}</nz-alert-tag>
|
||||||
</template>
|
</template>
|
||||||
<div v-else-if="item.prop == 'state'">
|
<div v-else-if="item.prop == 'state'">
|
||||||
<span class="">
|
<span class="">
|
||||||
@@ -503,6 +503,21 @@ export default {
|
|||||||
startResize(e) {
|
startResize(e) {
|
||||||
let vm = this;
|
let vm = this;
|
||||||
this.$chartResizeTool.start(vm, this.data, e);
|
this.$chartResizeTool.start(vm, this.data, e);
|
||||||
|
},
|
||||||
|
labelsSort:function(obj){
|
||||||
|
let buildIn=['asset','endpoint','module','project','datacenter']
|
||||||
|
let labels=JSON.parse(JSON.stringify(obj));
|
||||||
|
let result=[];
|
||||||
|
for(let key of buildIn){
|
||||||
|
if(key in labels){
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
delete labels[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Object.keys(labels).sort().forEach(key=>{
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
})
|
||||||
|
return result;
|
||||||
},
|
},
|
||||||
labelsClassName(row) {
|
labelsClassName(row) {
|
||||||
if (row.column.label == this.$t("alert.list.labels")) {
|
if (row.column.label == this.$t("alert.list.labels")) {
|
||||||
|
|||||||
@@ -92,11 +92,11 @@
|
|||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</div>-->
|
</div>-->
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<nz-alert-tag :label="key" type="info" style="margin: 5px;"
|
<nz-alert-tag :label="item.label" :type="tagType(item.label)" style="margin: 5px;"
|
||||||
:cursor-point="false"
|
:cursor-point="false"
|
||||||
:key="key"
|
:key="item.label"
|
||||||
v-if="key != 'alertname' && key != 'severity'"
|
v-if="item.label != 'alertname' && item.label != 'severity'"
|
||||||
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
v-for="item in labelsSort(scope.row.labels)">{{item.value}}</nz-alert-tag>
|
||||||
<!--<el-tag v-if="key != 'alertname' && key != 'severity'"
|
<!--<el-tag v-if="key != 'alertname' && key != 'severity'"
|
||||||
:key="key"
|
:key="key"
|
||||||
type="info"
|
type="info"
|
||||||
@@ -362,6 +362,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
tagType() {
|
||||||
|
return (key) => {
|
||||||
|
if (key == 'asset' || key == 'module' || key == 'project' || key == 'datacenter' || key == 'endpoint') {
|
||||||
|
return "normal";
|
||||||
|
} else {
|
||||||
|
return "info";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
tagValue() {
|
tagValue() {
|
||||||
return (key, value) => {
|
return (key, value) => {
|
||||||
if (key == 'type') {
|
if (key == 'type') {
|
||||||
@@ -378,6 +387,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
labelsSort:function(obj){
|
||||||
|
let buildIn=['asset','endpoint','module','project','datacenter']
|
||||||
|
let labels=JSON.parse(JSON.stringify(obj));
|
||||||
|
let result=[];
|
||||||
|
for(let key of buildIn){
|
||||||
|
if(key in labels){
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
delete labels[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Object.keys(labels).sort().forEach(key=>{
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
})
|
||||||
|
return result;
|
||||||
|
},
|
||||||
elementsetShow(s, e) {
|
elementsetShow(s, e) {
|
||||||
this.showElementSet = true;
|
this.showElementSet = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ const cn = {
|
|||||||
label: "表格"
|
label: "表格"
|
||||||
},
|
},
|
||||||
stackArea: {
|
stackArea: {
|
||||||
label: "面积图"
|
label: "堆叠区域图"
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
label: "URL",
|
label: "URL",
|
||||||
@@ -703,7 +703,9 @@ const cn = {
|
|||||||
systemName: "系统名称",
|
systemName: "系统名称",
|
||||||
curUrl: "网站URL",
|
curUrl: "网站URL",
|
||||||
timezone: "时区",
|
timezone: "时区",
|
||||||
defaultCabinetUsize: "机柜默认U位"
|
defaultCabinetUsize: "机柜默认U位",
|
||||||
|
second:'秒',
|
||||||
|
day:'天'
|
||||||
},
|
},
|
||||||
email: {
|
email: {
|
||||||
email: "邮件",
|
email: "邮件",
|
||||||
@@ -791,7 +793,8 @@ const cn = {
|
|||||||
name: "名称",
|
name: "名称",
|
||||||
receiver: "用户组",
|
receiver: "用户组",
|
||||||
expr: "表达式",
|
expr: "表达式",
|
||||||
for: "For (s)",
|
for: "持续(秒)",
|
||||||
|
second:'秒',
|
||||||
link: "关联",
|
link: "关联",
|
||||||
option: "操作",
|
option: "操作",
|
||||||
alertConfig: "告警规则",
|
alertConfig: "告警规则",
|
||||||
|
|||||||
@@ -710,7 +710,9 @@ const en = {
|
|||||||
systemName:'System name',
|
systemName:'System name',
|
||||||
curUrl:'Current site URL',
|
curUrl:'Current site URL',
|
||||||
timezone:'Timezone',
|
timezone:'Timezone',
|
||||||
defaultCabinetUsize:'Cabinet U Size'
|
defaultCabinetUsize:'Cabinet U Size',
|
||||||
|
second:'second',
|
||||||
|
day:'day'
|
||||||
},
|
},
|
||||||
email:{
|
email:{
|
||||||
email:'Email',
|
email:'Email',
|
||||||
@@ -801,6 +803,7 @@ const en = {
|
|||||||
receiver: 'Receiver',//"用户组"
|
receiver: 'Receiver',//"用户组"
|
||||||
expr: 'Expression',//"表达式"
|
expr: 'Expression',//"表达式"
|
||||||
for: "Duration (s)",//For (s)
|
for: "Duration (s)",//For (s)
|
||||||
|
second:'second',
|
||||||
link: 'Link',//'关联'
|
link: 'Link',//'关联'
|
||||||
option: 'Operation',//"操作"
|
option: 'Operation',//"操作"
|
||||||
alertConfig: 'Alert rule',//"告警规则"
|
alertConfig: 'Alert rule',//"告警规则"
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
<!--last-->
|
<!--last-->
|
||||||
<el-form-item :label="$t('alert.config.for')" prop="last">
|
<el-form-item :label="$t('alert.config.for')" prop="last">
|
||||||
<el-input v-if="rightBox.isEdit" type="text" placeholder="" v-model.number="alertRule.last" size="small">
|
<el-input v-if="rightBox.isEdit" type="text" placeholder="" v-model.number="alertRule.last" size="small">
|
||||||
<template slot="append">second</template>
|
<template slot="append">{{$t('alert.config.second')}}</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
<div v-if="!rightBox.isEdit" class="right-box-form-content-txt">{{alertRule.last}}s</div>
|
<div v-if="!rightBox.isEdit" class="right-box-form-content-txt">{{alertRule.last}}s</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -107,11 +107,11 @@
|
|||||||
</div>-->
|
</div>-->
|
||||||
<template v-else-if="item.prop == 'labels'">
|
<template v-else-if="item.prop == 'labels'">
|
||||||
<!-- <nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;" @click="showTagDetail(scope.row, key)"-->
|
<!-- <nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;" @click="showTagDetail(scope.row, key)"-->
|
||||||
<nz-alert-tag :label="key" :type="tagType(key)" style="margin: 5px;"
|
<nz-alert-tag :label="item.label" :type="tagType(item.label)" style="margin: 5px;"
|
||||||
:cursor-point="tagType(key) == 'info' ? false : true"
|
:cursor-point="tagType(item.label) == 'info' ? false : true"
|
||||||
:key="key"
|
:key="item.label"
|
||||||
v-if="key != 'alertname' && key != 'severity'"
|
v-if="item.label != 'alertname' && item.label != 'severity'"
|
||||||
v-for="(value, key) in scope.row.labels">{{value}}</nz-alert-tag>
|
v-for="item in labelsSort(scope.row.labels)">{{item.value}}</nz-alert-tag>
|
||||||
<!--<el-tag @click="showTagDetail(scope.row, key)"
|
<!--<el-tag @click="showTagDetail(scope.row, key)"
|
||||||
:key="key"
|
:key="key"
|
||||||
:class="{'link': key == 'asset' || key == 'endpoint' || key == 'project' || key == 'module' || key == 'datacenter'}"
|
:class="{'link': key == 'asset' || key == 'endpoint' || key == 'project' || key == 'module' || key == 'datacenter'}"
|
||||||
@@ -443,6 +443,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
labelsSort:function(obj){
|
||||||
|
let buildIn=['asset','endpoint','module','project','datacenter']
|
||||||
|
let labels=JSON.parse(JSON.stringify(obj));
|
||||||
|
let result=[];
|
||||||
|
for(let key of buildIn){
|
||||||
|
if(key in labels){
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
delete labels[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Object.keys(labels).sort().forEach(key=>{
|
||||||
|
result.push({label:key,value:labels[key]})
|
||||||
|
})
|
||||||
|
return result;
|
||||||
|
},
|
||||||
elementsetShow(s, e) {
|
elementsetShow(s, e) {
|
||||||
var eventfixed = {
|
var eventfixed = {
|
||||||
shezhi: 0,
|
shezhi: 0,
|
||||||
|
|||||||
@@ -53,10 +53,10 @@
|
|||||||
<el-input v-model="basic.node_exporter_target_path"></el-input>
|
<el-input v-model="basic.node_exporter_target_path"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('config.system.basic.scrapeInterval')" prop="scrape_interval">
|
<el-form-item :label="$t('config.system.basic.scrapeInterval')" prop="scrape_interval">
|
||||||
<el-input v-model.number="basic.scrape_interval" ></el-input><span class="nz-input-append">s</span>
|
<el-input v-model.number="basic.scrape_interval" ></el-input><span class="nz-input-append">{{$t('config.system.basic.second')}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('config.system.basic.storageRetention')" prop="storage_local_retention">
|
<el-form-item :label="$t('config.system.basic.storageRetention')" prop="storage_local_retention">
|
||||||
<el-input v-model.number="basic.storage_local_retention" ></el-input><span class="nz-input-append">d</span>
|
<el-input v-model.number="basic.storage_local_retention" ></el-input><span class="nz-input-append">{{$t('config.system.basic.day')}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('config.system.basic.timezone')" prop="timezone">
|
<el-form-item :label="$t('config.system.basic.timezone')" prop="timezone">
|
||||||
<!-- <el-input v-model.number="basic.timezone" ></el-input>-->
|
<!-- <el-input v-model.number="basic.timezone" ></el-input>-->
|
||||||
|
|||||||
Reference in New Issue
Block a user