diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index 62b0e2972..0a141a83c 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -468,13 +468,13 @@ export const tableSet = { } break } - case 'id': break case 'startAt': { if (from === 'alertSilence') { return false } break } + case 'id': case 'alertRule': case 'severity': case 'endAt': diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index d4e50901f..79bcf4cf8 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -933,7 +933,8 @@ const cn = { }, assetMeta: { example: '示例', - assetMeta: '资产标签', + assetMeta: '资产元数据', + all: '全部', addGroup: '创建分组', editGroup: '编辑分组', addMeta: '创建Meta', @@ -970,7 +971,8 @@ const cn = { interval: '区间', decimals: '精度', moreOptionsError: '选项最多20条', - onlyOptionError: '至少需要一个选项' + onlyOptionError: '至少需要一个选项', + metaOptionNull: '请填写选项信息' }, exprTemp: { exprTemp: 'expression模板', diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index e4eab3932..b28e08c1e 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -937,6 +937,7 @@ const en = { assetMeta: { example: 'Example', assetMeta: 'Asset meta', + all: 'All', addGroup: 'Create group', editGroup: 'Edit group', addMeta: 'Create meta', @@ -973,7 +974,8 @@ const en = { interval: 'Interval', decimals: 'Decimals', moreOptionsError: 'There are up to 20 options', - onlyOptionError: 'You need at least one option' + onlyOptionError: 'You need at least one option', + metaOptionNull: 'Please input option' }, exprTemp: { exprTemp: 'Expression template', diff --git a/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue b/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue index a2e5db177..5ab0b1562 100644 --- a/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue +++ b/nezha-fronted/src/components/common/rightBox/assetMetaBox.vue @@ -269,6 +269,17 @@ export default { this.$refs.editAssetMetaForm.validate((valid) => { if (valid) { const param = { ...this.editAssetMeta } + if (param.type === 'radio' || param.type === 'checkbox' || param.type === 'select') { + for (let i = 0; i < param.param.items.length; i++) { + if (!param.param.items[i].name) { + console.log(this.$refs['metaNameOption' + i]) + this.$refs['metaNameOption' + i][0].focus() + this.$message.error(this.$t('config.assetMeta.metaOptionNull')) + this.prevent_opt.save = false + return + } + } + } if (param.type !== 'radio' && param.type !== 'checkbox' && param.type !== 'select' && param.type !== 'datetime') { delete param.param } else { @@ -403,6 +414,7 @@ export default { return } this.editAssetMeta.param.items.splice(index, 1) + this.$forceUpdate() }, copyParam (index) { if (this.editAssetMeta.type !== 'checkbox') { diff --git a/nezha-fronted/src/components/page/config/assetMeta.vue b/nezha-fronted/src/components/page/config/assetMeta.vue index bf73bd649..58b76d6bd 100644 --- a/nezha-fronted/src/components/page/config/assetMeta.vue +++ b/nezha-fronted/src/components/page/config/assetMeta.vue @@ -207,14 +207,14 @@ export default { prop: 'id', show: true, width: 80 - }, { - label: this.$t('config.assetMeta.key'), - prop: 'metaKey', - show: true }, { label: this.$t('config.assetMeta.name'), prop: 'name', show: true + }, { + label: this.$t('config.assetMeta.key'), + prop: 'metaKey', + show: true }, { label: this.$t('config.assetMeta.group'), prop: 'group', @@ -243,7 +243,7 @@ export default { } ], groupData: [{ - name: 'All', + name: this.$t('config.assetMeta.all'), id: -1, children: [] }], @@ -280,25 +280,19 @@ export default { searchMsg: { // 给搜索框子组件传递的信息 zheze_none: true, searchLabelList: [ - // { - // id: 11, - // name: 'Id', - // type: 'input', - // label: 'id', - // disabled: false - // }, { - // id: 12, - // name: this.$t('config.assetMeta.name'), - // type: 'input', - // label: 'name', - // disabled: false - // }, { - // id: 13, - // name: this.$t('config.assetMeta.gname'), - // type: 'selectTemp', - // label: 'gname', - // disabled: false - // } + { + id: 11, + name: 'Id', + type: 'input', + label: 'id', + disabled: false + }, { + id: 12, + name: this.$t('config.assetMeta.name'), + type: 'input', + label: 'name', + disabled: false + } ] }, searchLabel: {}, // 搜索参数