fix: 一系列优化和调整:左侧筛选空串处理、下拉增加网络质量和链路、app风险等级映射

This commit is contained in:
chenjinsong
2022-02-13 23:20:24 +08:00
parent cba743199c
commit 7bdcd1c598
19 changed files with 318 additions and 60 deletions

View File

@@ -36,7 +36,7 @@
<!-- -->
<div class="condition__value">
<div v-if="meta.value.isEditing">
<el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput"></el-input>
<el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput" @keyup.enter="valueBlur(meta)"></el-input>
</div>
<span v-else @click="valueClick(meta)">{{meta.value.label}}</span>
</div>

View File

@@ -1,5 +1,6 @@
import { GenericSQL, SqlParserVisitor } from 'dt-sql-parser'
import Meta, { connection, condition, columnType, cloneMeta } from '@/components/advancedSearch/meta/meta'
import { riskLevelMapping } from '@/utils/constants'
import _ from 'lodash'
// 补全语句,用于解析
const sqlPrev = 'select a from b where '
@@ -87,7 +88,7 @@ export default class SqlParser extends SqlParserVisitor {
if (isFullText) {
if (meta.meta === condition) {
if (meta.column.type !== columnType.fullText) {
sql += `${meta.column.name}${meta.operator.value}${meta.value.value} `
sql += `${meta.column.name}${meta.operator.value}${valueHandle(meta.value.value, meta.column.name)} `
} else {
sql += "QUERY('"
this.columnList.forEach(column => {
@@ -100,7 +101,7 @@ export default class SqlParser extends SqlParserVisitor {
if (meta.meta === condition) {
sql += (meta.column.name)
if (meta.column.type !== columnType.fullText) {
sql += `${meta.operator.value}${meta.value.value} `
sql += `${meta.operator.value}${valueHandle(meta.value.value, meta.column.name)} `
} else {
sql += ' '
}
@@ -275,3 +276,19 @@ function handleInOrLike (value, type) {
handleValue: v
}
}
function valueHandle (value, columnName) {
if (value === "'unknown'") {
return "''"
} else {
if (columnName) {
if (columnName === 'app_risk') {
const m = riskLevelMapping.find(mapping => {
return `'${mapping.name}'` === value || `'${mapping.value}'` === value
})
return (m && m.value) || value
}
}
return value
}
}

View File

@@ -9,9 +9,9 @@
:current-row-key="tableNameColumn"
tooltip-effect="light"
:expand-row-keys="expandRowKeys"
:size="'mini'"
:height="'100%'">
<el-table-column type="expand" :min-width="'5%'">
size="mini"
height="100%">
<el-table-column type="expand" min-width="5%">
<template #default="props">
<div style="position: relative">
<div class="chart__loading" style="top: 0; height: 100%; z-index: 1;" v-show="loading">
@@ -37,7 +37,7 @@
:prop="item.prop"
#default="{row}">
<span v-if="item.prop === 'nameColumn'">
{{ nameColumn === 'domainCategoryName' ? row['categoryName'] :(nameColumn === 'domainReputationLevel'? row['reputationLevel']:(nameColumn==='appCategory'?row['appCategoryName']:row['appRiskLevel']))}}
{{ nameColumn === 'domainCategoryName' ? row['categoryName'] :(nameColumn === 'domainReputationLevel'? row['reputationLevel']:(nameColumn==='appCategory'?row['appCategoryName']:appRisk(row['appRiskLevel'])))}}
</span>
<span v-else-if="item.prop === 'tableNameColumn'">
{{ tableNameColumn === 'appName' ? row['appName'] : row['domain']}}
@@ -65,7 +65,7 @@
:prop="item.prop"
#default="{row}">
<span v-if="item.prop === 'nameColumn'">
{{ nameColumn === 'domainCategoryName' ? row['categoryName'] :(nameColumn === 'domainReputationLevel'? row['reputationLevel']:(nameColumn==='appCategory'?row['appCategoryName']:row['appRiskLevel']))}}
{{ nameColumn === 'domainCategoryName' ? row['categoryName'] :(nameColumn === 'domainReputationLevel'? row['reputationLevel']:(nameColumn==='appCategory'?row['appCategoryName']:appRisk(row['appRiskLevel'])))}}
</span>
<span v-else-if="item.prop === 'tableNameColumn'">
{{ tableNameColumn === 'appName' ? row['appName'] : row['domain']}}
@@ -87,7 +87,7 @@
import unitConvert from '@/utils/unit-convert'
import { get } from '@/utils/http'
import { replaceUrlPlaceholder } from '@/utils/tools'
import { unitTypes } from '@/utils/constants'
import { unitTypes, riskLevelMapping } from '@/utils/constants'
export default {
name: 'PieTable',
@@ -119,6 +119,16 @@ export default {
}
}
},
computed: {
appRisk () {
return function (level) {
const m = riskLevelMapping.find(mapping => {
return mapping.value == level
})
return (m && m.name) || level
}
}
},
data () {
return {
nameColumn: '',
@@ -133,7 +143,7 @@ export default {
width: '20%'
},
{
label: this.$t('entities.category'),
label: this.$t(this.chartInfo.params.tableTypeColumnLabel),
prop: 'nameColumn',
width: '22%'
},

View File

@@ -81,9 +81,12 @@ export default {
this.entityTopTenData = data.map(d => {
return {
...d,
name: d.name || 'unknown',
percent: (parseFloat(d.count / totalCount) * 100).toFixed(2)
}
})
} else {
this.entityTopTenData = []
}
},
indexMethod (index) {