diff --git a/src/views/abnormalAlarm/alarmCenter/alarmRules/index.vue b/src/views/abnormalAlarm/alarmCenter/alarmRules/index.vue index 5e3f939..86533b8 100644 --- a/src/views/abnormalAlarm/alarmCenter/alarmRules/index.vue +++ b/src/views/abnormalAlarm/alarmCenter/alarmRules/index.vue @@ -2,60 +2,73 @@
- - - - Create Alert Rule - - - - - - - - - - - - - - - - - Search - - + + + + + + Create Alert Rule + + + + + Rule Status + + + + + + Source Type + + + + + + Source + + + + + + + + + Search + + + +
-
@@ -113,12 +126,11 @@ - + - + @@ -192,7 +204,7 @@ - + @@ -248,7 +260,6 @@ export default { }, data() { return { - modalKey:"", isAdd:true, ipagination:{ current: 1, @@ -270,11 +281,11 @@ export default { }, stateOptions: [ { - label: "禁用", + label: "Disabled", value: "0" }, { - label: "启用", + label: "Enable", value: "1" } ], @@ -296,14 +307,14 @@ export default { monitorList: [], // 表单 form: { - sourceType: "", - sourceId: "", + sourceType: undefined, + sourceId: undefined, name: "", - itemId: "", - operator: "", + itemId: undefined, + operator: undefined, threshold: "", - silenceCycle: "", - contactId: "", + silenceCycle: undefined, + contactId: undefined, }, currId:"", units: "", @@ -368,28 +379,28 @@ export default { contactGroupOptions: [], rules: { sourceType: [ - { required: true, message: 'Please select a sourceType'}, + { required: true, message: 'Please select a sourceType', trigger: 'change'}, ], sourceId: [ - { required: true, message: 'Please select a source'}, + { required: true, message: 'Please select a source', trigger: 'change'}, ], name: [ { required: true, message: 'Please input alarmRule name'}, ], itemId: [ - { required: true, message: 'Please select a monitorItem'}, + { required: true, message: 'Please select a monitorItem', trigger: 'change'}, ], operator: [ - { required: true, message: 'Please select a logicSymbol'}, + { required: true, message: 'Please select a logicSymbol', trigger: 'change'}, ], threshold: [ { required: true, message: 'Please input threshold'}, ], silenceCycle: [ - { required: true, message: 'Please select a silenceCycle'}, + { required: true, message: 'Please select a silenceCycle', trigger: 'change'}, ], contactId: [ - { required: true, message: 'Please select a contactGroup'}, + { required: true, message: 'Please select a contactGroup', trigger: 'change'}, ], } } @@ -482,9 +493,8 @@ export default { return (Math.random()+new Date().getTime()).toString(32).slice(0,8) }, handleAdd() { - this.modalKey = this.getUid() - this.visible = true this.isAdd = true + this.visible = true }, onSourceTypeChange(val) { this.form.sourceType = val @@ -497,9 +507,14 @@ export default { this.sourceOptions=[] } }, - onSourceChange(val,option) { - this.form.sourceId = val - this.getItems(val.label) + onSourceChange(val, option) { + if (val) { + this.form.sourceId = val + this.getItems(val.label) + } else { + this.form.sourceId = {} + this.form.itemId = undefined + } }, getItems(val) { getAction("/alarmRule/getItems", {sourceName:val}).then(res => { @@ -582,7 +597,6 @@ export default { }, onCancel() { this.resetForm() - this.units = "" this.visible = false }, editItem(id) { @@ -611,12 +625,11 @@ export default { } else { this.$message.warning("This operation fails. Contact your system administrator") } - this.visible = true this.isAdd = false this.form.sourceType = res.result.sourceType this.form.sourceId = { - key: res.result.sourceId, - label: res.result.sourceName + key: res.result.sourceId||"", + label: res.result.sourceName||"" } this.form.name = res.result.name this.form.itemId = { @@ -629,6 +642,7 @@ export default { this.form.silenceCycle = res.result.silenceCycle this.form.contactId = res.result.contactId this.currId = res.result.id + this.visible = true } else { this.$message.warning("This operation fails. Contact your system administrator") } @@ -654,14 +668,30 @@ export default { }); }, resetForm() { - this.$refs.ruleForm.resetFields(); - }, + this.$refs.al_ruleForm.resetFields(); + this.form= { + sourceType: undefined, + sourceId: undefined, + name: "", + itemId: undefined, + operator: undefined, + threshold: "", + silenceCycle: undefined, + contactId: undefined, + } + this.sourceOptions =[] + this.itemOptions = [] + this.units = "" + } }, }