NEZ-947 feat;alert rule增加 state 页面开发
This commit is contained in:
@@ -99,6 +99,16 @@
|
||||
<el-form-item :label="$t('alert.summary')" prop="summary">
|
||||
<el-input id="alert-box-input-summary" v-model="editAlertRule.summary" maxlength="512" placeholder="" rows="3" show-word-limit size="small" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label='$t("config.dc.state")' prop="state">
|
||||
<el-switch
|
||||
id="dc-box-input-name"
|
||||
v-model="editAlertRule.state"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
active-color="#ee9d3f"
|
||||
>
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<!--description-->
|
||||
<el-form-item :label="$t('overall.remark')" prop="description">
|
||||
<el-input id="alert-box-input-description" v-model="editAlertRule.description" maxlength="256" placeholder="" rows="4" show-word-limit size="small" type="textarea"></el-input>
|
||||
|
||||
@@ -54,6 +54,16 @@
|
||||
<template v-else-if="item.prop === 'receivers'">
|
||||
<el-tag v-for="(user, index) in scope.row[item.prop]" v-if="user&&user.username" :key="index" class="alert-rule-tag" effect="dark" size="mini">{{user.username}} </el-tag>
|
||||
</template>
|
||||
<template v-else-if="item.prop === 'state'">
|
||||
<el-switch
|
||||
v-model="scope.row.state"
|
||||
:disabled="!hasButton('dc_edit') || !hasButton('dc_edit') || !!Number(scope.row.buildIn)"
|
||||
active-color="#ee9d3f"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
@change="(val)=>{$emit('statusChange', scope.row)}"
|
||||
/>
|
||||
</template>
|
||||
<span v-else-if="scope.row[item.prop]">{{scope.row[item.prop]}}</span>
|
||||
<template v-else>-</template>
|
||||
</template>
|
||||
@@ -70,9 +80,9 @@
|
||||
<i class="nz-icon nz-icon-more3"></i>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-has="'alertRule_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-has="'alertRule_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-has="'alertRule_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-if="!scope.row.buildIn" v-has="'alertRule_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-if="!scope.row.buildIn" v-has="'alertRule_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-if="!scope.row.buildIn"v-has="'alertRule_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
|
||||
<el-dropdown-item v-has="'alertSilence_add'" :command="['fastSilence', scope.row, 'alertRule']"><i class="nz-icon nz-icon-fast-silence"></i><span class="operation-dropdown-text">{{$t('overall.silenceAlert')}}</span></el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@@ -156,6 +166,12 @@ export default {
|
||||
prop: 'method',
|
||||
show: false,
|
||||
minWidth: 100
|
||||
}, {
|
||||
label: this.$t('config.dc.state'),
|
||||
prop: 'state',
|
||||
show: true,
|
||||
minWidth: 100,
|
||||
sortable: 'custom'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
@queryMessage="queryMessage"
|
||||
@reload="getTableData"
|
||||
@addSilence="addSilence"
|
||||
@statusChange='statusChange'
|
||||
@selectionChange="selectionChange"
|
||||
@showBottomBox="(targetTab, object) => { $refs.dataList.showBottomBox(targetTab, object) }"></alert-rule-table>
|
||||
</template>
|
||||
@@ -179,6 +180,18 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
statusChange (alertRule) {
|
||||
const params = { ...alertRule, severity: null }
|
||||
this.$put(this.url, params).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.rightBox.show = false
|
||||
this.$message({ duration: 1000, type: 'success', message: this.$t('tip.saveSuccess') })
|
||||
} else {
|
||||
this.$message.error(response.msg)
|
||||
}
|
||||
this.getTableData()
|
||||
})
|
||||
},
|
||||
edit (u, copyFlag) {
|
||||
this.$get(`${this.url}/${u.id}`).then(response => {
|
||||
if (response.code === 200) {
|
||||
|
||||
Reference in New Issue
Block a user