diff --git a/nezha-fronted/src/components/common/mixin/table.js b/nezha-fronted/src/components/common/mixin/table.js
index 584e82c9b..69244d5cd 100644
--- a/nezha-fronted/src/components/common/mixin/table.js
+++ b/nezha-fronted/src/components/common/mixin/table.js
@@ -37,6 +37,10 @@ export default {
this.$emit('del', row)
break
}
+ case 'ack': {
+ this.$emit('acknowledge', row)
+ break
+ }
case 'recordTab': {
this.$emit('showBottomBox', 'recordTab', row)
break
diff --git a/nezha-fronted/src/components/common/table/alert/alertMessageTable.vue b/nezha-fronted/src/components/common/table/alert/alertMessageTable.vue
index c6f3459bd..0cb165399 100644
--- a/nezha-fronted/src/components/common/table/alert/alertMessageTable.vue
+++ b/nezha-fronted/src/components/common/table/alert/alertMessageTable.vue
@@ -111,7 +111,7 @@
{{$t('overall.delete')}}
{{$t('overall.silenceAlert')}}
- {{$t('overall.acknowledge')}}
+ {{$t('overall.acknowledge')}}
@@ -186,7 +186,7 @@ export default {
label: 'ID',
prop: 'id',
show: true,
- width: 160,
+ width: 180,
sortable: 'custom'
}, {
label: this.$t('alert.rule'),
diff --git a/nezha-fronted/src/components/page/alert/alertMessage.vue b/nezha-fronted/src/components/page/alert/alertMessage.vue
index 7deac5193..661b2ac47 100644
--- a/nezha-fronted/src/components/page/alert/alertMessage.vue
+++ b/nezha-fronted/src/components/page/alert/alertMessage.vue
@@ -60,6 +60,7 @@
:table-data="tableData"
:loading="tools.loading"
@del="del"
+ @acknowledge="acknowledge"
@edit="edit"
@showText="showText"
@orderBy="tableDataSort"
@@ -541,7 +542,7 @@ export default {
const obj = {}
this.batchDeleteObjs.forEach(item => {
obj.id = item.id
- obj.ack = item.ack
+ obj.ack = 1
params.push(obj)
})
this.$put('alert/message/ack', params).then(response => {
@@ -632,6 +633,27 @@ export default {
})
})
},
+ acknowledge (row) {
+ this.$confirm(this.$t('tip.confirmAck'), {
+ confirmButtonText: this.$t('tip.yes'),
+ cancelButtonText: this.$t('tip.no'),
+ type: 'warning'
+ }).then(() => {
+ const params = []
+ const obj = {}
+ obj.id = row.id
+ obj.ack = 1
+ params.push(obj)
+ this.$put('alert/message/ack', params).then(response => {
+ if (response.code == 200) {
+ this.$message({ duration: 1000, type: 'success', message: this.$t('tip.ackSuccess') })
+ this.getTableData()
+ } else {
+ this.$message.error(response.msg)
+ }
+ })
+ })
+ },
messageDetail (row) {
// this.sign = Number(row.alertRule.id)
this.$get('/alert/rule/' + row.alertRule.id).then(res => {