NEZ-1849 feat :alert message列表页面 增加 acknowledge 状态及按钮

This commit is contained in:
likexuan
2022-05-06 14:17:03 +08:00
parent 4916f7eef3
commit 1799d2120c
3 changed files with 22 additions and 12 deletions

View File

@@ -106,3 +106,7 @@
border-radius: 4px; border-radius: 4px;
color: $--color-text-label; color: $--color-text-label;
} }
.blues{
color: $--color-text-link;
}

View File

@@ -90,6 +90,7 @@
{{$t(stateOptions.find(state=>state.value == scope.row['state']).label)}} {{$t(stateOptions.find(state=>state.value == scope.row['state']).label)}}
</span> </span>
</span> </span>
<span v-else-if="item.prop === 'id'"><i :style="{'font-size':'12px','margin-right':'5px'}" class="nz-icon nz-icon-circle" :class="scope.row.ack == 1 ? 'blues' : 'gray'"></i>{{scope.row[item.prop]}}</span>
<span v-else-if="scope.row[item.prop]">{{scope.row[item.prop]}}</span> <span v-else-if="scope.row[item.prop]">{{scope.row[item.prop]}}</span>
<template v-else>-</template> <template v-else>-</template>
</template> </template>

View File

@@ -38,7 +38,7 @@
<el-dropdown-item> <el-dropdown-item>
<delete-button id="alert-msg-batch-delete" v-has="'alertMessage_expired'" :api="url" :clickFunction="batchDel" :delete-objs="batchDeleteObjs" @after="getTableData" @before="delFlag=true" :title="$t('overall.batchDel')" :type="'link'"></delete-button> <delete-button id="alert-msg-batch-delete" v-has="'alertMessage_expired'" :api="url" :clickFunction="batchDel" :delete-objs="batchDeleteObjs" @after="getTableData" @before="delFlag=true" :title="$t('overall.batchDel')" :type="'link'"></delete-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item> <el-dropdown-item :disabled="batchDeleteObjs.length==0">
<div id="alert-msg-batch-ack" v-has="'alertMessage_expired'" @click="batchAck"><i class="nz-icon nz-icon-queren"></i>{{$t('overall.batchAck')}}</div> <div id="alert-msg-batch-ack" v-has="'alertMessage_expired'" @click="batchAck"><i class="nz-icon nz-icon-queren"></i>{{$t('overall.batchAck')}}</div>
</el-dropdown-item> </el-dropdown-item>
</div> </div>
@@ -530,6 +530,13 @@ export default {
}, },
methods: { methods: {
batchAck () { batchAck () {
if (this.batchDeleteObjs.length < 1) return
this.$confirm(this.$t('tip.confirmBatchAck', [this.batchDeleteObjs.length]), {
confirmButtonText: this.$t('tip.yes'),
cancelButtonText: this.$t('tip.no'),
type: 'warning'
}).then(() => {
this.delFlag = true
const params = [] const params = []
const obj = {} const obj = {}
this.batchDeleteObjs.forEach(item => { this.batchDeleteObjs.forEach(item => {
@@ -537,17 +544,15 @@ export default {
obj.ack = item.ack obj.ack = item.ack
params.push(obj) params.push(obj)
}) })
if (params.length === 0) {
this.$message({ type: 'error', message: this.$t('tip.SelectAlertMessages') })
} else {
this.$put('alert/message/ack', params).then(response => { this.$put('alert/message/ack', params).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$message({ duration: 1000, type: 'success', message: this.$t('tip.ackSuccess') }) this.$message({ duration: 1000, type: 'success', message: this.$t('tip.ackSuccess') })
} else { } else {
this.$message.error(response.msg) this.$message.error(response.msg)
} }
this.getTableData()
})
}) })
}
}, },
labelsSort (obj) { labelsSort (obj) {
const buildIn = ['asset', 'endpoint', 'module', 'cpu', 'project', 'datacenter', 'parent_asset', 'user'] const buildIn = ['asset', 'endpoint', 'module', 'cpu', 'project', 'datacenter', 'parent_asset', 'user']