diff --git a/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.css b/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.css new file mode 100644 index 000000000..7b6a23e1c --- /dev/null +++ b/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.css @@ -0,0 +1 @@ +.right-box-record-rule .metric-selector-input-box .input-box{width:100%;height:100%}.right-box-record-rule .metric-selector-input-box .input-box .not-fixed-height.no-resize.no-close{width:100%;height:100%}.right-box-record-rule .promqlInput .metric-selector-title{width:80px}.right-box-record-rule .promqlInput .metric-selector-input-box{width:calc(100% - 92px) !important}.right-box-record-rule .promqlInput .cm-editor.ͼ1.ͼ2.ͼo.cm-focused{height:100%}.right-box-record-rule .promqlInput .cm-editor.ͼ1.ͼ2.ͼo{height:100%}.right-box-record-rule .promqlInput .cm-content.cm-lineWrapping{display:flex;align-items:center}.right-box-record-rule .silence-matchers-value{width:100%}.right-box-record-rule .param-box-row-symbol{padding-left:20px} diff --git a/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.scss b/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.scss new file mode 100644 index 000000000..d7e4ecb45 --- /dev/null +++ b/nezha-fronted/src/assets/css/components/common/rightBox/recordRuleBox.scss @@ -0,0 +1,36 @@ +.right-box-record-rule { + .metric-selector-input-box{ + .input-box{ + width: 100%; + height: 100%; + .not-fixed-height.no-resize.no-close{ + width: 100%; + height: 100%; + } + } + } + .promqlInput{ + .metric-selector-title{ + width: 80px; + } + .metric-selector-input-box{ + width: calc(100% - 92px) !important; + } + .cm-editor.ͼ1.ͼ2.ͼo.cm-focused{ + height: 100%; + } + .cm-editor.ͼ1.ͼ2.ͼo{ + height: 100%; + } + .cm-content.cm-lineWrapping{ + display: flex; + align-items: center; + } + } + .silence-matchers-value{ + width: 100%; + } + .param-box-row-symbol{ + padding-left: 20px; + } +} diff --git a/nezha-fronted/src/components/common/rightBox/recordRuleBox.vue b/nezha-fronted/src/components/common/rightBox/recordRuleBox.vue new file mode 100644 index 000000000..f9bbeb10c --- /dev/null +++ b/nezha-fronted/src/components/common/rightBox/recordRuleBox.vue @@ -0,0 +1,282 @@ + + + diff --git a/nezha-fronted/src/components/page/config/recordRule.vue b/nezha-fronted/src/components/page/config/recordRule.vue index 0c48aa6eb..ad4073a6c 100644 --- a/nezha-fronted/src/components/page/config/recordRule.vue +++ b/nezha-fronted/src/components/page/config/recordRule.vue @@ -97,7 +97,7 @@ export default { mixins: [dataListMixin, routerPathParams], data () { return { - url: 'alert/silence', + url: 'record/rule', tableId: 'recordRuleTable', searchMsg: { // 给搜索框子组件传递的信息 searchLabelList: [ @@ -116,7 +116,7 @@ export default { type: '', expr: '', inr: '', - labels: [], + labels: [{ label: '', value: '' }], remark: '', state: '' } @@ -125,6 +125,23 @@ export default { mounted () { }, methods: { + edit (u) { + this.$get(`${this.url}/${u.id}`).then(response => { + if (response.code === 200) { + this.object = response.data + this.object.labels = this.labelsSort(response.data.labels) + this.rightBox.show = true + } + }) + }, + labelsSort (obj) { + const labels = this.$lodash.cloneDeep(obj) + const result = [] + for (const key in labels) { + result.push({ label: key, value: labels[key] }) + } + return result + } }, created () { }