fix; 修改 alertMessage 不显示图标的问题 , alert rule的校验问题以及 alertRuleTanle的翻页功能
This commit is contained in:
@@ -718,7 +718,7 @@ export default {
|
|||||||
let by = ' by ('
|
let by = ' by ('
|
||||||
|
|
||||||
for (const k in obj.labels) {
|
for (const k in obj.labels) {
|
||||||
if (k != 'alertname' && k != 'severity' && k != 'severity_id') {
|
if (k != 'alertname' && k != 'severity' && k != 'severity_id' && k != 'rule_type') {
|
||||||
intoLabels = true
|
intoLabels = true
|
||||||
group += k
|
group += k
|
||||||
group += '='
|
group += '='
|
||||||
|
|||||||
@@ -380,7 +380,7 @@ export default {
|
|||||||
let by = ' by ('
|
let by = ' by ('
|
||||||
|
|
||||||
for (const k in obj.labels) {
|
for (const k in obj.labels) {
|
||||||
if (k != 'alertname' && k != 'severity' && k != 'severity_id') {
|
if (k != 'alertname' && k != 'severity' && k != 'severity_id' && k != 'rule_type') {
|
||||||
intoLabels = true
|
intoLabels = true
|
||||||
group += k
|
group += k
|
||||||
group += '='
|
group += '='
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<!--type-->
|
<!--type-->
|
||||||
<el-form-item :label="$t('overall.type')" prop="type" class="half-form-item">
|
<el-form-item :label="$t('overall.type')" prop="type" class="half-form-item">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="fromData.status"
|
v-model="editAlertRule.type"
|
||||||
class="right-box__select"
|
class="right-box__select"
|
||||||
popper-class="right-box-select-dropdown prevent-clickoutside"
|
popper-class="right-box-select-dropdown prevent-clickoutside"
|
||||||
size="small"
|
size="small"
|
||||||
@@ -81,7 +81,14 @@
|
|||||||
<el-input id="alert-box-input-oid" v-model="editAlertRule.expr" size="small" type="text"></el-input>
|
<el-input id="alert-box-input-oid" v-model="editAlertRule.expr" size="small" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--threshold-->
|
<!--threshold-->
|
||||||
<el-form-item :label="$t('alert.config.threshold')" prop="threshold" class="half-form-item" style="display: inline-block;">
|
<el-form-item
|
||||||
|
:label="$t('alert.config.threshold')"
|
||||||
|
prop="threshold" class="half-form-item"
|
||||||
|
style="display: inline-block;"
|
||||||
|
:rules="[
|
||||||
|
{ required: this.editAlertRule.type !== 3, message: this.$t('validate.required'), trigger: 'blur' },
|
||||||
|
{ validator: nzNumber, trigger: 'blur' }
|
||||||
|
]">
|
||||||
<el-input id="alert-box-input-threshold" v-model="editAlertRule.threshold" placeholder="" size="small" type="text" :disabled="!showSnmpTrap">
|
<el-input id="alert-box-input-threshold" v-model="editAlertRule.threshold" placeholder="" size="small" type="text" :disabled="!showSnmpTrap">
|
||||||
<el-select id="alert-box-input-operator" slot="prepend" v-model="editAlertRule.operator" class="hide-icon" popper-class="prevent-clickoutside" size="small" :disabled="!showSnmpTrap">
|
<el-select id="alert-box-input-operator" slot="prepend" v-model="editAlertRule.operator" class="hide-icon" popper-class="prevent-clickoutside" size="small" :disabled="!showSnmpTrap">
|
||||||
<el-option v-for="item in operators" :id="'operator-'+item.key" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
<el-option v-for="item in operators" :id="'operator-'+item.key" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||||
@@ -89,7 +96,7 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--unit-->
|
<!--unit-->
|
||||||
<el-form-item :label="$t('alert.config.unit')" class="half-form-item" prop="unit">
|
<el-form-item :label="$t('alert.config.unit')" class="half-form-item" prop="unit" :rules="[{ required: this.editAlertRule.type !== 3, message: this.$t('validate.required'), trigger: 'blur' }]">
|
||||||
<el-cascader id="alert-box-input-unit" v-model="editAlertRule.unit" :options="unitOptions" :props="{ expandTrigger: 'click',emitPath:false }" :show-all-levels="false" filterable
|
<el-cascader id="alert-box-input-unit" v-model="editAlertRule.unit" :options="unitOptions" :props="{ expandTrigger: 'click',emitPath:false }" :show-all-levels="false" filterable
|
||||||
placeholder=""
|
placeholder=""
|
||||||
popper-class="no-style-class unit-popper-class"
|
popper-class="no-style-class unit-popper-class"
|
||||||
@@ -396,13 +403,6 @@ export default {
|
|||||||
],
|
],
|
||||||
operator: [
|
operator: [
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
||||||
],
|
|
||||||
unit: [
|
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
|
||||||
],
|
|
||||||
threshold: [
|
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
|
|
||||||
{ validator: nzNumber, trigger: 'blur' }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
operators: [
|
operators: [
|
||||||
@@ -464,6 +464,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
nzNumber: nzNumber,
|
||||||
clickOutside () {
|
clickOutside () {
|
||||||
this.esc(false)
|
this.esc(false)
|
||||||
},
|
},
|
||||||
@@ -610,6 +611,7 @@ export default {
|
|||||||
this.showTypeSelect = true // 当 edit 时禁用 type下拉框
|
this.showTypeSelect = true // 当 edit 时禁用 type下拉框
|
||||||
if (n.type === 1) {
|
if (n.type === 1) {
|
||||||
this.fromData.status = 'Metrics'
|
this.fromData.status = 'Metrics'
|
||||||
|
this.showMetrics = true
|
||||||
this.MetricsType = 1 // 默认保存 type
|
this.MetricsType = 1 // 默认保存 type
|
||||||
} else if (n.type === 2) {
|
} else if (n.type === 2) {
|
||||||
this.fromData.status = 'Logs'
|
this.fromData.status = 'Logs'
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
fixed="right">
|
fixed="right">
|
||||||
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
|
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
|
||||||
<div slot-scope="scope" class="table-operation-items">
|
<div slot-scope="scope" class="table-operation-items">
|
||||||
<button class="table-operation-item" @click="$emit('messageDetail', scope.row)"><i class="nz-icon nz-icon-view1"></i></button>
|
<button v-if="scope.row.alertRule.type !== 3" class="table-operation-item" @click="$emit('messageDetail', scope.row)"><i class="nz-icon nz-icon-view1"></i></button>
|
||||||
<el-dropdown v-has="['alertMessage_expired']" size="medium" trigger="hover" @command="tableOperation">
|
<el-dropdown v-has="['alertMessage_expired']" size="medium" trigger="hover" @command="tableOperation">
|
||||||
<div class="table-operation-item table-operation-item--more">
|
<div class="table-operation-item table-operation-item--more">
|
||||||
<i class="nz-icon nz-icon-more3"></i>
|
<i class="nz-icon nz-icon-more3"></i>
|
||||||
@@ -160,6 +160,7 @@ export default {
|
|||||||
graphShow: false,
|
graphShow: false,
|
||||||
chartDatas: [],
|
chartDatas: [],
|
||||||
sameLabels: ['instance', 'module', 'project', 'asset', 'endpoint', 'datacenter'],
|
sameLabels: ['instance', 'module', 'project', 'asset', 'endpoint', 'datacenter'],
|
||||||
|
exclusiveLabels: ['_id', 'severity'],
|
||||||
legend: [],
|
legend: [],
|
||||||
searchTime: [new Date().setHours(new Date().getHours() - 1), new Date()],
|
searchTime: [new Date().setHours(new Date().getHours() - 1), new Date()],
|
||||||
currentMsg: {},
|
currentMsg: {},
|
||||||
@@ -263,15 +264,23 @@ export default {
|
|||||||
if (typeof obj === 'string') obj = JSON.parse(obj)
|
if (typeof obj === 'string') obj = JSON.parse(obj)
|
||||||
const labels = JSON.parse(JSON.stringify(obj))
|
const labels = JSON.parse(JSON.stringify(obj))
|
||||||
const result = []
|
const result = []
|
||||||
|
for (const key of this.exclusiveLabels) {
|
||||||
|
Object.keys(labels).forEach(labelsKey => {
|
||||||
|
if (labelsKey.indexOf(key) !== -1) {
|
||||||
|
delete labels[labelsKey]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
for (const key of buildIn) {
|
for (const key of buildIn) {
|
||||||
if (key in labels) {
|
if (key in labels) {
|
||||||
result.push({ label: key, value: labels[key] })
|
result.push({ label: key, value: labels[key] })
|
||||||
delete labels[key]
|
delete labels[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Object.keys(labels).sort().forEach(key => {
|
Object.keys(labels).sort().forEach(key => {
|
||||||
result.push({ label: key, value: labels[key] })
|
result.push({ label: key, value: labels[key] })
|
||||||
}) */
|
delete labels[key]
|
||||||
|
})
|
||||||
return result
|
return result
|
||||||
},
|
},
|
||||||
chartUnitChange: function (unit) {
|
chartUnitChange: function (unit) {
|
||||||
|
|||||||
@@ -242,6 +242,7 @@ export default {
|
|||||||
const arr = weekstr.split(',')
|
const arr = weekstr.split(',')
|
||||||
let str = ''
|
let str = ''
|
||||||
arr.forEach((item, index) => {
|
arr.forEach((item, index) => {
|
||||||
|
if (!item) return
|
||||||
if (index === arr.length - 1) {
|
if (index === arr.length - 1) {
|
||||||
str += this.weekList[item - 1].label
|
str += this.weekList[item - 1].label
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -476,7 +476,7 @@ export default {
|
|||||||
let by = ' by ('
|
let by = ' by ('
|
||||||
|
|
||||||
for (const k in obj.labels) {
|
for (const k in obj.labels) {
|
||||||
if (k != 'alertname' && k != 'severity' && k != 'severity_id') {
|
if (k != 'alertname' && k != 'severity' && k != 'severity_id' && k != 'rule_type') {
|
||||||
intoLabels = true
|
intoLabels = true
|
||||||
group += k
|
group += k
|
||||||
group += '='
|
group += '='
|
||||||
|
|||||||
Reference in New Issue
Block a user