fix:修改alert rule methods receiver 的显示
This commit is contained in:
@@ -64,7 +64,14 @@
|
|||||||
<el-form-item :label='$t("alert.silence.matchers")' prop="matchers" class="matchers">
|
<el-form-item :label='$t("alert.silence.matchers")' prop="matchers" class="matchers">
|
||||||
<div v-for="(item, index) in editAlertSilence.matchers" :key="index" class="param-box-row">
|
<div v-for="(item, index) in editAlertSilence.matchers" :key="index" class="param-box-row">
|
||||||
<el-form-item class="param-box-row-key" :rules="[{ required: true, message: $t('validate.required'), trigger: 'change' },]" :prop="'matchers.' + index + '.name'">
|
<el-form-item class="param-box-row-key" :rules="[{ required: true, message: $t('validate.required'), trigger: 'change' },]" :prop="'matchers.' + index + '.name'">
|
||||||
<el-input placeholder="key" size="mini" v-model="item.name"></el-input>
|
<el-autocomplete
|
||||||
|
class="inline-input silence-matchers-key"
|
||||||
|
placeholder="key"
|
||||||
|
size="mini"
|
||||||
|
v-model="item.name"
|
||||||
|
:fetch-suggestions="querySearch"
|
||||||
|
@select="handleSelect"
|
||||||
|
></el-autocomplete>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<span class="param-box-row-eq">=</span>
|
<span class="param-box-row-eq">=</span>
|
||||||
<el-form-item class="param-box-row-value" :prop="'matchers.' + index + '.value'" :rules="[{ required: true, message: $t('validate.required'), trigger: 'change' },]" >
|
<el-form-item class="param-box-row-value" :prop="'matchers.' + index + '.value'" :rules="[{ required: true, message: $t('validate.required'), trigger: 'change' },]" >
|
||||||
@@ -111,7 +118,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import bus from '../../../libs/bus'
|
import bus from '@/libs/bus'
|
||||||
|
import { sameLabels } from '@/components/common/js/constants'
|
||||||
// import selectAlertSilence from '../alert/selectAlertSilence'
|
// import selectAlertSilence from '../alert/selectAlertSilence'
|
||||||
export default {
|
export default {
|
||||||
name: 'alertSilenceBox',
|
name: 'alertSilenceBox',
|
||||||
@@ -174,8 +182,8 @@ export default {
|
|||||||
{ validator: validate, trigger: 'change' }
|
{ validator: validate, trigger: 'change' }
|
||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: this.$t('validate.required'), trigger: 'change' },
|
{ required: true, message: this.$t('validate.required'), trigger: 'change' }
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
rangeTime: '',
|
rangeTime: '',
|
||||||
ruleList: [],
|
ruleList: [],
|
||||||
@@ -319,6 +327,25 @@ export default {
|
|||||||
this.editAlertSilence.matchers = [{ name: '', value: '', regex: 0 }]
|
this.editAlertSilence.matchers = [{ name: '', value: '', regex: 0 }]
|
||||||
}
|
}
|
||||||
this.editAlertSilence.matchers.splice(index, 1)
|
this.editAlertSilence.matchers.splice(index, 1)
|
||||||
|
},
|
||||||
|
querySearch (queryString, cb) {
|
||||||
|
const labels = sameLabels.map(item=>{
|
||||||
|
return {
|
||||||
|
name :item,
|
||||||
|
value: item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const results = queryString ? labels.filter(this.createFilter(queryString)) : labels
|
||||||
|
// 调用 callback 返回建议列表的数据
|
||||||
|
cb(results)
|
||||||
|
},
|
||||||
|
createFilter (queryString) {
|
||||||
|
return (label) => {
|
||||||
|
return (label.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSelect (item) {
|
||||||
|
console.log(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,7 +393,7 @@ export default {
|
|||||||
}
|
}
|
||||||
/deep/ .el-form-item__error{
|
/deep/ .el-form-item__error{
|
||||||
left: 126px;
|
left: 126px;
|
||||||
padding-top: 10px;
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
.matchers-type{
|
.matchers-type{
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -400,6 +427,9 @@ export default {
|
|||||||
/deep/ .silence-matchers-value{
|
/deep/ .silence-matchers-value{
|
||||||
width: calc(100% - 100px);
|
width: calc(100% - 100px);
|
||||||
}
|
}
|
||||||
|
/deep/ .silence-matchers-key{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
.silence-matchers-regex{
|
.silence-matchers-regex{
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,10 +94,6 @@ export default {
|
|||||||
sortable: 'custom'
|
sortable: 'custom'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('alert.method'),
|
|
||||||
prop: 'method',
|
|
||||||
show: true,
|
|
||||||
}, {
|
|
||||||
label: this.$t('alert.config.expr'),
|
label: this.$t('alert.config.expr'),
|
||||||
prop: 'expr',
|
prop: 'expr',
|
||||||
show: true
|
show: true
|
||||||
@@ -135,7 +131,12 @@ export default {
|
|||||||
}, {
|
}, {
|
||||||
label: this.$t('alert.config.receiver'),
|
label: this.$t('alert.config.receiver'),
|
||||||
prop: 'receivers',
|
prop: 'receivers',
|
||||||
show: true
|
show: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('alert.notify'),
|
||||||
|
prop: 'method',
|
||||||
|
show: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,6 +108,7 @@
|
|||||||
import table from '@/components/common/mixin/table'
|
import table from '@/components/common/mixin/table'
|
||||||
import { calcDurationByStringTimeB } from '@/components/common/js/tools'
|
import { calcDurationByStringTimeB } from '@/components/common/js/tools'
|
||||||
import nzAlertTag from '../../../page/alert/nzAlertTag'
|
import nzAlertTag from '../../../page/alert/nzAlertTag'
|
||||||
|
import { sameLabels } from '@/components/common/js/constants'
|
||||||
export default {
|
export default {
|
||||||
name: 'alertSilenceTable',
|
name: 'alertSilenceTable',
|
||||||
components: {
|
components: {
|
||||||
@@ -154,7 +155,7 @@ export default {
|
|||||||
}, {
|
}, {
|
||||||
label: this.$t('alert.silence.upTime'),
|
label: this.$t('alert.silence.upTime'),
|
||||||
prop: 'utime',
|
prop: 'utime',
|
||||||
show: true,
|
show: false,
|
||||||
width: 120
|
width: 120
|
||||||
}, {
|
}, {
|
||||||
label: this.$t('alert.silence.state'),
|
label: this.$t('alert.silence.state'),
|
||||||
@@ -176,7 +177,7 @@ export default {
|
|||||||
},
|
},
|
||||||
tagType () {
|
tagType () {
|
||||||
return (key) => {
|
return (key) => {
|
||||||
if (key == 'asset' || key == 'module' || key == 'project' || key == 'datacenter' || key == 'endpoint') {
|
if (sameLabels.find(item => item === key)) {
|
||||||
return 'normal'
|
return 'normal'
|
||||||
} else {
|
} else {
|
||||||
return 'info'
|
return 'info'
|
||||||
@@ -187,7 +188,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
labelsSort (obj) {
|
labelsSort (obj) {
|
||||||
obj = obj || []
|
obj = obj || []
|
||||||
const buildIn = ['asset', 'endpoint', 'module', 'project', 'datacenter']
|
const buildIn = sameLabels
|
||||||
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 = []
|
||||||
|
|||||||
Reference in New Issue
Block a user