fix: detection详情添加开始/结束/持续时间,状态等字段

This commit is contained in:
刘洪洪
2024-08-28 11:35:20 +08:00
parent dab25138f5
commit f35b693433
6 changed files with 88 additions and 9 deletions

View File

@@ -34,8 +34,7 @@
</div>
<div class="basic-info__item">
<i class="cn-icon cn-icon-time2"></i>
<span v-if="parseInt(detection.status) === 0">{{$t('detection.lastTime')}}&nbsp;:&nbsp;&nbsp;</span>
<span v-if="parseInt(detection.status) === 1">{{$t('detection.list.endTime')}}&nbsp;:&nbsp;&nbsp;</span>
<span>{{$t('detection.lastTime')}}&nbsp;:&nbsp;&nbsp;</span>
<span>{{dateFormatByAppearance(detection.endTime) || '-'}}</span>
</div>
</div>

View File

@@ -224,7 +224,8 @@ export default {
const param = {
eventId: e.eventId,
startTime: e.startTime,
endTime: e.endTime / 1000
endTime: e.endTime / 1000,
eventStatus: e.eventStatus
}
this.$emit('change', param)
}, 500),

View File

@@ -12,21 +12,31 @@
<div class="row__label">{{ $t('detection.list.startTime') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ myDetection.startTime ? dateFormatByAppearance(myDetection.startTime) : '-' }}
{{ dateFormatByAppearance(myDetection.startTime) || '-' }}
</div>
</div>
<div class="overview__row" v-if="myDetection.endTime">
<div class="row__label">{{ $t('detection.list.endTime') }}</div>
<div class="row__label" v-if="parseInt(detection.status)===0">{{$t('detection.lastTime')}}</div>
<div class="row__label" v-if="parseInt(detection.status)===1">{{$t('detection.list.endTime')}}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ myDetection.endTime ? dateFormatByAppearance(myDetection.endTime) : '-' }}
{{ dateFormatByAppearance(myDetection.endTime) || '-' }}
</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('overall.duration') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-duration row__content__icon"></i>
{{ unitConvert(parseInt(myDetection.durationS), 'time', 's', null, 0).join(' ') || '-' }}
<div v-if="parseInt(myDetection.durationS) > 10">
{{unitConvert(parseInt(myDetection.durationS), 'time', 's', null, 0).join(' ') || '-'}}
</div>
<div v-if="parseInt(myDetection.durationS) <= 10">{{ $t('detection.list.lastingSeconds')}}</div>
</div>
</div>
<div class="overview__row" v-if="myDetection.status === 0">
<div class="row__label">{{ $t('overall.status') }}</div>
<div class="row__content">
<div class="detection-row-active">{{ $t('detections.active') }}</div>
</div>
</div>
<div class="overview__row">

View File

@@ -12,6 +12,37 @@
<div class="row__label">{{ $t('detection.list.eventSeverity') }}</div>
<div class="row__content">{{ getSeverityByCode(myDetection.severity) || '-' }}</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('detection.list.startTime') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ dateFormatByAppearance(myDetection.startTime) || '-' }}
</div>
</div>
<div class="overview__row" v-if="myDetection.endTime">
<div class="row__label" v-if="parseInt(detection.status)===0">{{$t('detection.lastTime')}}</div>
<div class="row__label" v-if="parseInt(detection.status)===1">{{$t('detection.list.endTime')}}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ dateFormatByAppearance(myDetection.endTime) || '-' }}
</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('overall.duration') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-duration row__content__icon"></i>
<div v-if="parseInt(myDetection.durationS) > 10">
{{unitConvert(parseInt(myDetection.durationS), 'time', 's', null, 0).join(' ') || '-'}}
</div>
<div v-if="parseInt(myDetection.durationS) <= 10">{{ $t('detection.list.lastingSeconds')}}</div>
</div>
</div>
<div class="overview__row" v-if="myDetection.status === 0">
<div class="row__label">{{ $t('overall.status') }}</div>
<div class="row__content">
<div class="detection-row-active">{{ $t('detections.active') }}</div>
</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>

View File

@@ -7,6 +7,38 @@
<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.startTime') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ dateFormatByAppearance(myDetection.startTime) || '-' }}
</div>
</div>
<div class="overview__row" v-if="myDetection.endTime">
<div class="row__label" v-if="parseInt(detection.status)===0">{{$t('detection.lastTime')}}</div>
<div class="row__label" v-if="parseInt(detection.status)===1">{{$t('detection.list.endTime')}}</div>
<div class="row__content">
<i class="cn-icon cn-icon-time2 row__content__icon"></i>
{{ dateFormatByAppearance(myDetection.endTime) || '-' }}
</div>
</div>
<div class="overview__row">
<div class="row__label">{{ $t('overall.duration') }}</div>
<div class="row__content">
<i class="cn-icon cn-icon-duration row__content__icon"></i>
<div v-if="parseInt(myDetection.durationS) > 10">
{{unitConvert(parseInt(myDetection.durationS), 'time', 's', null, 0).join(' ') || '-'}}
</div>
<div v-if="parseInt(myDetection.durationS) <= 10">{{ $t('detection.list.lastingSeconds')}}</div>
</div>
</div>
<div class="overview__row" v-if="myDetection.status === 0">
<div class="row__label">{{ $t('overall.status') }}</div>
<div class="row__content">
<div class="detection-row-active">{{ $t('detections.active') }}</div>
</div>
</div>
<div class="overview__title">{{ $t('overall.summary') }}</div>
<div class="overview__row overview__row__display">
<div class="row__content1">

View File

@@ -1,5 +1,5 @@
import { detectionEventType, detectionRuleType, EN, storageKey, ZH } from '@/utils/constants'
import { getMillisecond, getSecond } from '@/utils/date-util'
import { dateFormatByAppearance, getMillisecond, getSecond } from '@/utils/date-util'
import axios from 'axios'
import { api } from '@/utils/api'
import { getSeverityNumberColor, lineOption } from '@/views/detections/options/detectionOptions'
@@ -7,6 +7,7 @@ import { markRaw } from 'vue'
import * as echarts from 'echarts'
import { getSeverityByCode } from '@/utils/tools'
import Loading from '@/components/common/Loading'
import unitConvert from '@/utils/unit-convert'
export default {
props: {
@@ -73,6 +74,8 @@ export default {
this.initData()
},
methods: {
dateFormatByAppearance,
unitConvert,
initData () {
this.loading = true
this.myDetection = this.detection
@@ -162,11 +165,14 @@ export default {
if (detailData?.eventInfo) {
detailData.eventInfoList = JSON.parse(detailData.eventInfo)
}
if (!detailData.startTime) {
if (detailData.startTime && detailData.endTime) {
detailData.durationS = detailData.endTime - detailData.startTime
} else {
detailData.startTime = e.startTime
detailData.endTime = e.endTime
detailData.durationS = e.endTime - e.startTime
}
detailData.status = detailData.eventStatus || e.eventStatus
this.myDetection = { ...this.myDetection, ...detailData }
}
}