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">
|
||||
<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-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>
|
||||
<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' },]" >
|
||||
@@ -111,7 +118,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import bus from '../../../libs/bus'
|
||||
import bus from '@/libs/bus'
|
||||
import { sameLabels } from '@/components/common/js/constants'
|
||||
// import selectAlertSilence from '../alert/selectAlertSilence'
|
||||
export default {
|
||||
name: 'alertSilenceBox',
|
||||
@@ -174,8 +182,8 @@ export default {
|
||||
{ validator: validate, trigger: 'change' }
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'change' },
|
||||
],
|
||||
{ required: true, message: this.$t('validate.required'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
rangeTime: '',
|
||||
ruleList: [],
|
||||
@@ -319,6 +327,25 @@ export default {
|
||||
this.editAlertSilence.matchers = [{ name: '', value: '', regex: 0 }]
|
||||
}
|
||||
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{
|
||||
left: 126px;
|
||||
padding-top: 10px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
.matchers-type{
|
||||
display: flex;
|
||||
@@ -400,6 +427,9 @@ export default {
|
||||
/deep/ .silence-matchers-value{
|
||||
width: calc(100% - 100px);
|
||||
}
|
||||
/deep/ .silence-matchers-key{
|
||||
width: 100%;
|
||||
}
|
||||
.silence-matchers-regex{
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
@@ -94,10 +94,6 @@ export default {
|
||||
sortable: 'custom'
|
||||
},
|
||||
{
|
||||
label: this.$t('alert.method'),
|
||||
prop: 'method',
|
||||
show: true,
|
||||
}, {
|
||||
label: this.$t('alert.config.expr'),
|
||||
prop: 'expr',
|
||||
show: true
|
||||
@@ -135,7 +131,12 @@ export default {
|
||||
}, {
|
||||
label: this.$t('alert.config.receiver'),
|
||||
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 { calcDurationByStringTimeB } from '@/components/common/js/tools'
|
||||
import nzAlertTag from '../../../page/alert/nzAlertTag'
|
||||
import { sameLabels } from '@/components/common/js/constants'
|
||||
export default {
|
||||
name: 'alertSilenceTable',
|
||||
components: {
|
||||
@@ -154,7 +155,7 @@ export default {
|
||||
}, {
|
||||
label: this.$t('alert.silence.upTime'),
|
||||
prop: 'utime',
|
||||
show: true,
|
||||
show: false,
|
||||
width: 120
|
||||
}, {
|
||||
label: this.$t('alert.silence.state'),
|
||||
@@ -176,7 +177,7 @@ export default {
|
||||
},
|
||||
tagType () {
|
||||
return (key) => {
|
||||
if (key == 'asset' || key == 'module' || key == 'project' || key == 'datacenter' || key == 'endpoint') {
|
||||
if (sameLabels.find(item => item === key)) {
|
||||
return 'normal'
|
||||
} else {
|
||||
return 'info'
|
||||
@@ -187,7 +188,7 @@ export default {
|
||||
methods: {
|
||||
labelsSort (obj) {
|
||||
obj = obj || []
|
||||
const buildIn = ['asset', 'endpoint', 'module', 'project', 'datacenter']
|
||||
const buildIn = sameLabels
|
||||
if (typeof obj === 'string') obj = JSON.parse(obj)
|
||||
const labels = JSON.parse(JSON.stringify(obj))
|
||||
const result = []
|
||||
|
||||
Reference in New Issue
Block a user