diff --git a/public/config.js b/public/config.js index 3bbcf976..39df5174 100644 --- a/public/config.js +++ b/public/config.js @@ -1,25 +1,25 @@ const BASE_CONFIG = { baseUrl: 'http://192.168.44.54:8090/', - version: '23.10', + version: '23.12', apiVersion: 'v1' } // 默认时间过滤条件,单位分钟. 0表示请求接口时不传时间参数 const DEFAULT_TIME_FILTER_RANGE = { - dashboard: 60, + dashboard: 60, // 所有dashboard entity: { - list: 60, - trafficLine: 60, - subscriberKpi: 60, - subscriberTopApp: 60, - subscriberMap: 60, - informationAggregation: 0, - relatedEntity: 60 * 24 * 7, - openPort: 60 * 24 * 7, - deviceInformation: 60 * 24 * 7, - accountInformation: 60 * 24 * 7, - securityEvent: 60 * 24 * 7, - performanceEvent: 60 * 24 * 7, - behaviorPattern: 60 * 24 * 7 + list: 60, // 实体列表 + trafficLine: 60, // 实体详情--通用--流量曲线 + subscriberKpi: 60, // 实体详情--subscriber--kpi + subscriberTopApp: 60, // 实体详情--subscriber--topApp + subscriberMap: 60, // 实体详情--subscriber--地图 + informationAggregation: 0, // 实体详情--通用--信息聚合 + relatedEntity: 60 * 24 * 7, // 实体详情--通用--相关实体 + openPort: 60 * 24 * 7, // 实体详情--通用--开放端口 + deviceInformation: 60 * 24 * 7, // 实体详情--subscriber--设备信息 + accountInformation: 60 * 24 * 7, // 实体详情--subscriber--账户信息 + securityEvent: 60 * 24 * 7, // 实体详情--通用--安全事件 + performanceEvent: 60 * 24 * 7, // 实体详情--通用--性能事件 + behaviorPattern: 60 * 24 * 7 // 实体详情--IP--行为模式 }, - detection: 60 + detection: 60 // 事件日志列表 } diff --git a/src/assets/css/components/index.scss b/src/assets/css/components/index.scss index 622ea081..0fee8f34 100644 --- a/src/assets/css/components/index.scss +++ b/src/assets/css/components/index.scss @@ -86,6 +86,7 @@ @import 'views/charts2/EntityDetailSubscriberKpi.scss'; @import 'views/charts2/EntityDetailSubscriberTopApp.scss'; @import 'views/charts2/entityDetailSubscriberMap.scss'; +@import 'views/charts2/entityDetailSubscriberLine.scss'; @import 'views/charts2/entityDetailTabs'; @import 'views/charts2/digitalCertificate'; diff --git a/src/assets/css/components/views/charts2/entityDetailSubscriberLine.scss b/src/assets/css/components/views/charts2/entityDetailSubscriberLine.scss new file mode 100644 index 00000000..726691d6 --- /dev/null +++ b/src/assets/css/components/views/charts2/entityDetailSubscriberLine.scss @@ -0,0 +1,51 @@ +.entity-detail-line--subscriber { + $blue: #046ECA; + $grey: #353636; + height:100%; + + .el-tabs__content { + overflow: visible; + } + .cn-chart__tabs { + height:100%; + .tab-pane { + height:100%; + } + .el-tabs__header { + margin-bottom: 10px; + width: calc(100% - 272px); + } + .el-tabs__nav-wrap::after { + height: 1px; + background-color: transparent ; + } + .el-tabs__nav.is-top { + height: 33px; + + .el-tabs__active-bar { + background-color: $blue; + } + .el-tabs__item { + padding: 0 10px; + height: 33px; + color: $grey; + font-size: 14px; + + &.el-tabs__item.is-top.is-active { + color:$blue; + } + &:nth-child(2) { + padding-left: 0; + } + } + + } + .el-tabs__content { + height: calc(100% - 40px); + border:none; + .el-table__body-wrapper { + height: calc(100% - 45px) !important; + } + } + } +} diff --git a/src/views/charts/charts/tools.js b/src/views/charts/charts/tools.js index a6fd0210..83996ce1 100644 --- a/src/views/charts/charts/tools.js +++ b/src/views/charts/charts/tools.js @@ -496,6 +496,40 @@ export function stackedLineTooltipFormatter (params) { str += '' return str } +// subscriber详情页的app页签 +export function stackedLineWithLegendTooltipFormatter (params) { + // 堆叠图tooltip倒叙操作 + params = params.reverse() + + let str = '
' + params.forEach((item, i) => { + const tData = item.data[0] + if (i === 0) { + str += '
' + str += dateFormatByAppearance(tData) + str += '
' + } + }) + str += '
' + str += '
' + params.forEach((item, i) => { + str += '' + str += `` + str += `${item.seriesName.split('(')[0]}` + str += '' + }) + str += '
' + str += '
' + params.forEach((item, i) => { + str += ` + ${valueToRangeValue(item.data[1], item.value[2]).join(' ')} + ` + }) + str += '
' + str += '
' + str += '
' + return str +} export function appStackedLineTooltipFormatter (params) { let str = '
' params.forEach((item, i) => { diff --git a/src/views/charts2/Chart.vue b/src/views/charts2/Chart.vue index 0486b70a..688ae741 100644 --- a/src/views/charts2/Chart.vue +++ b/src/views/charts2/Chart.vue @@ -184,6 +184,12 @@ :entity="entity" @toggleLoading="toggleLoading" > + +
+ + + + + + + + +
+ + + diff --git a/src/views/charts2/charts/entityDetail/lines/App.vue b/src/views/charts2/charts/entityDetail/lines/App.vue new file mode 100644 index 00000000..dc5e82df --- /dev/null +++ b/src/views/charts2/charts/entityDetail/lines/App.vue @@ -0,0 +1,653 @@ + + + diff --git a/src/views/charts2/charts/entityDetail/lines/ServiceName.vue b/src/views/charts2/charts/entityDetail/lines/ServiceName.vue new file mode 100644 index 00000000..b9b6179c --- /dev/null +++ b/src/views/charts2/charts/entityDetail/lines/ServiceName.vue @@ -0,0 +1,720 @@ + + + diff --git a/src/views/charts2/charts/options/echartOption.js b/src/views/charts2/charts/options/echartOption.js index 35c991d1..8c56e38a 100644 --- a/src/views/charts2/charts/options/echartOption.js +++ b/src/views/charts2/charts/options/echartOption.js @@ -325,6 +325,73 @@ export const stackedLineChartOption = { } ] } +// subscriber的app页签 +export const stackedLineWithLegendChartOption = { + color: chartColor3, + tooltip: { + trigger: 'axis', + className: 'echarts-tooltip echarts-tooltip-dark' + }, + toolbox: { + show: false + }, + brush: { + toolbox: ['lineX'], + xAxisIndex: 'all', + throttleType: 'debounce', + transformable: false + }, + legend: { + show: true, + left: 'center', + bottom: 10, + icon: 'roundRect', + itemWidth: 10, + itemHeight: 10 + }, + grid: { + top: '12%', + left: '2%', + right: '1.5%', + bottom: 40, + containLabel: true + }, + xAxis: [ + { + type: 'time', + splitNumber: 8, + axisLabel: { + formatter: xAxisTimeFormatter, + rich: xAxisTimeRich + } + } + ], + yAxis: [ + { + type: 'value', + splitLine: { + show: false + }, + axisLabel: { + formatter: function (value) { + return unitConvert(value, unitTypes.number).join('') + } + } + } + ], + series: [ + { + type: 'line', + symbol: 'circle', + smooth: true, + showSymbol: false, + emphasis: { + focus: 'series' + }, + data: [] + } + ] +} export const linkTrafficLineChartOption = { color: chartColor3, @@ -454,7 +521,6 @@ export const npmLineChartOption = { xAxis: [ { type: 'time', - splitNumber: 8, axisLabel: { formatter: xAxisTimeFormatter, rich: xAxisTimeRich