fix: 1、detection详情添加严重程度字段;2、修复detection的threshold详情因接口字段变更导致的报错

This commit is contained in:
刘洪洪
2024-08-16 18:32:09 +08:00
parent 9ce38d1a25
commit bc8a704088
4 changed files with 48 additions and 3 deletions

View File

@@ -1591,3 +1591,33 @@ export const headerCellClass = (row) => {
export const handleSpecialCode = (str) => {
return str.indexOf('&') > -1 ? str.replaceAll('&', '&') : str
}
/**
* 严重程度code和字符转换
* @param code
* @returns {string}
*/
export const getSeverityByCode = (code) => {
switch (code) {
case 5:
case '5': {
return 'Critical'
}
case 4:
case '4': {
return 'High'
}
case 3:
case '3': {
return 'Medium'
}
case 2:
case '2': {
return 'Low'
}
case 1:
case '1': {
return 'Info'
}
}
}

View File

@@ -29,6 +29,10 @@
{{ unitConvert(parseInt(detection.durationS), 'time', 's', null, 0).join(' ') || '-' }}
</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('detection.list.eventSecurity') }}</div>
<div class="row__content">{{ getSeverityByCode(myDetection.severity) || '-' }}</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('overall.clientIp') }}</div>
<div class="row__content">{{ myDetection.clientIp || '-' }}</div>
@@ -95,6 +99,7 @@ import detectionDetailMixin from '@/views/detections/overview/detectionDetailMix
import { countryNameIdMapping } from '@/utils/constants'
import EventsTimeline from '@/views/detections/overview/EventsTimeline'
import unitConvert from '@/utils/unit-convert'
import { getSeverityByCode } from '@/utils/tools'
export default {
name: 'IndicatorMatchOverview',
mixins: [detectionDetailMixin],
@@ -113,7 +118,8 @@ export default {
},
methods: {
dateFormatByAppearance,
unitConvert
unitConvert,
getSeverityByCode
}
}
</script>

View File

@@ -7,6 +7,11 @@
<div v-html="handleDescription"></div>
</div>
</div>
<div class="overview__title">{{ $t('overall.fields') }}</div>
<div class="overview__row">
<div class="row__label">{{ $t('detection.list.eventSecurity') }}</div>
<div class="row__content">{{ getSeverityByCode(myDetection.severity) || '-' }}</div>
</div>
<div v-for="(obj, index) in myDetection.eventInfoList" :key="obj.stage_id">
<div class="overview__title margin-t-18">{{ $t('detection.detail.stage') }}{{ index + 1 }}</div>
@@ -41,6 +46,7 @@
import { dateFormatByAppearance } from '@/utils/date-util'
import EventsTimeline from './EventsTimeline'
import detectionDetailMixin from '@/views/detections/overview/detectionDetailMixin'
import { getSeverityByCode } from '@/utils/tools'
export default {
name: 'SequenceOverview',
@@ -59,7 +65,8 @@ export default {
return {}
},
methods: {
dateFormatByAppearance
dateFormatByAppearance,
getSeverityByCode
}
}
</script>

View File

@@ -115,6 +115,7 @@ export default {
}
}
}).catch(e => {
console.error(e)
this.$message.error(this.errorMsgHandler(e))
})
},
@@ -142,6 +143,7 @@ export default {
}
}
}).catch(e => {
console.error(e)
this.$message.error(this.errorMsgHandler(e))
})
},
@@ -152,7 +154,7 @@ export default {
}
const seriesData = []
data.forEach(item => {
seriesData.push([getMillisecond(JSON.parse(item.statTime)), item.recordsNums])
seriesData.push([getMillisecond(JSON.parse(item.startTime)), item.recordsNum])
})
this.lineOption.series[0].data = seriesData
this.lineOption.series[0].color = getSeverityNumberColor(data[0].severity) || '#ff9a79'