fix: 实体列表恢复事件数量,并完善下拉详情和列表事件数量的一致性
This commit is contained in:
@@ -188,7 +188,7 @@
|
||||
<el-collapse-transition>
|
||||
<div class="cn-entity__detail-overview" v-if="!isCollapse">
|
||||
<el-divider></el-divider>
|
||||
<detail-overview :entity="entityData" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity" />
|
||||
<detail-overview :entity="entityData" :time-filter="timeFilter" :keywordList="keywordList" @eventNum="getEventNum" />
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
</div>
|
||||
@@ -335,6 +335,9 @@ export default {
|
||||
},
|
||||
getEntity (data) {
|
||||
this.entityData = { ...data }
|
||||
},
|
||||
getEventNum (data) {
|
||||
this.eventNum = data
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@ export default {
|
||||
getMillisecond,
|
||||
dateFormatByAppearance,
|
||||
getQueryParams (dateRangeValue) {
|
||||
if (dateRangeValue) {
|
||||
if (dateRangeValue && (!this.timeFilter.startTime || !this.timeFilter.endTime)) {
|
||||
// range取 config.js 中配置的值
|
||||
const { startTime, endTime } = getNowTime(dateRangeValue)
|
||||
return {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div class="entity-detail-overview">
|
||||
<template v-if="entity.entityType === 'ip'">
|
||||
<ip-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity"></ip-overview>
|
||||
<ip-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity" @eventNum="getEventNum"></ip-overview>
|
||||
</template>
|
||||
<template v-else-if="entity.entityType === 'domain'">
|
||||
<domain-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity"></domain-overview>
|
||||
<domain-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity" @eventNum="getEventNum"></domain-overview>
|
||||
</template>
|
||||
<template v-else-if="entity.entityType === 'app'">
|
||||
<app-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity"></app-overview>
|
||||
<app-overview :entity="entity" :time-filter="timeFilter" :keywordList="keywordList" @reloadEntity="getEntity" @eventNum="getEventNum"></app-overview>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
@@ -33,6 +33,9 @@ export default {
|
||||
methods: {
|
||||
getEntity (data) {
|
||||
this.$emit('reloadEntity', data)
|
||||
},
|
||||
getEventNum (data) {
|
||||
this.$emit('eventNum', data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,7 +325,7 @@ export default {
|
||||
getMillisecond,
|
||||
dateFormatByAppearance,
|
||||
getQueryParams (dateRangeValue) {
|
||||
if (dateRangeValue) {
|
||||
if (dateRangeValue && (!this.timeFilter.startTime || !this.timeFilter.endTime)) {
|
||||
// range取 config.js 中配置的值
|
||||
const { startTime, endTime } = getNowTime(dateRangeValue)
|
||||
return {
|
||||
|
||||
@@ -409,7 +409,7 @@ export default {
|
||||
getMillisecond,
|
||||
dateFormatByAppearance,
|
||||
getQueryParams (dateRangeValue) {
|
||||
if (dateRangeValue) {
|
||||
if (dateRangeValue && (!this.timeFilter.startTime || !this.timeFilter.endTime)) {
|
||||
// range取 config.js 中配置的值
|
||||
const { startTime, endTime } = getNowTime(dateRangeValue)
|
||||
return {
|
||||
|
||||
@@ -50,7 +50,8 @@ export default {
|
||||
isShowMoreApp: false, // related App 展示更多时
|
||||
isShowMoreDomain: false, // related Domain 展示更多时
|
||||
scoreDataState: false, // 性能数据加载情况,true 表示加载完成
|
||||
performanceScoreData: {} // 用来计算评分的性能数据
|
||||
performanceScoreData: {}, // 用来计算评分的性能数据
|
||||
eventNum: 0 // 性能事件和安全事件数量之和
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -109,6 +110,13 @@ export default {
|
||||
if (n && this.scoreBaseState) {
|
||||
this.handleScoreData()
|
||||
}
|
||||
},
|
||||
'entityData.securityNum': {
|
||||
handler (n) {
|
||||
this.eventNum = 0
|
||||
this.eventNum = n + (this.entityData.performanceNum || 0)
|
||||
this.$emit('eventNum', this.eventNum)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -347,7 +355,7 @@ export default {
|
||||
|
||||
queryEntityDetailPerformance () {
|
||||
this.loadingAlert = true
|
||||
axios.get(this.performanceUrl, { params: this.getQueryParams(DEFAULT_TIME_FILTER_RANGE.entity.performanceEvent) }).then(response => {
|
||||
axios.get(this.performanceUrl, { params: { ...this.getQueryParams(DEFAULT_TIME_FILTER_RANGE.entity.securityEvent), pageSize: -1 } }).then(response => {
|
||||
if (response.status === 200) {
|
||||
this.entityData.performanceNum = response.data.data.result.length
|
||||
this.performanceData = response.data.data.result
|
||||
@@ -359,7 +367,7 @@ export default {
|
||||
|
||||
queryEntityDetailSecurity () {
|
||||
this.loadingSecurityEvents = true
|
||||
axios.get(this.securityUrl, { params: this.getQueryParams(DEFAULT_TIME_FILTER_RANGE.entity.securityEvent) }).then(response => {
|
||||
axios.get(this.securityUrl, { params: { ...this.getQueryParams(DEFAULT_TIME_FILTER_RANGE.entity.securityEvent), pageSize: -1 } }).then(response => {
|
||||
if (response.status === 200) {
|
||||
this.entityData.securityNum = response.data.data.result.length
|
||||
this.securityData = response.data.data.result
|
||||
|
||||
@@ -292,17 +292,31 @@ export default {
|
||||
/** 获取事件数量 */
|
||||
queryEventNum () {
|
||||
this.loadingEvent = true
|
||||
const performance = axios.get(this.performanceEventUrl, { params: this.getQueryParams() })
|
||||
const security = axios.get(this.securityEventUrl, { params: this.getQueryParams() })
|
||||
// const performance = axios.get(this.performanceEventUrl, { params: this.getQueryParams() })
|
||||
// const security = axios.get(this.securityEventUrl, { params: this.getQueryParams() })
|
||||
// performance接口修改,暂时不能访问,故只调用security的,后续加上
|
||||
this.eventNum = 0
|
||||
|
||||
Promise.all([performance, security]).then(response => {
|
||||
this.eventNum = response[0].data.data.result.length + response[1].data.data.result.length
|
||||
}).catch(e => {
|
||||
this.eventNum = 0
|
||||
const param = {
|
||||
params: {
|
||||
...this.getQueryParams(),
|
||||
pageSize: -1
|
||||
}
|
||||
}
|
||||
axios.get(this.securityEventUrl, param).then(res => {
|
||||
if (res.status === 200) {
|
||||
this.eventNum = res.data.data.result.length
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loadingEvent = false
|
||||
})
|
||||
|
||||
// Promise.all([performance, security]).then(response => {
|
||||
// this.eventNum = response[0].data.data.result.length + response[1].data.data.result.length
|
||||
// }).catch(e => {
|
||||
// this.eventNum = 0
|
||||
// }).finally(() => {
|
||||
// this.loadingEvent = false
|
||||
// })
|
||||
},
|
||||
handleScoreData () {
|
||||
this.score = computeScore(this.performanceScoreData, this.$store.getters.getScoreBase)
|
||||
@@ -335,7 +349,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
this.queryEntityDetailTraffic()
|
||||
this.queryNetworkQuantity()
|
||||
// this.queryEventNum()
|
||||
this.queryEventNum()
|
||||
})
|
||||
},
|
||||
beforeUnmount () {
|
||||
|
||||
Reference in New Issue
Block a user