diff --git a/src/assets/css/components/views/charts/panel.scss b/src/assets/css/components/views/charts/panel.scss
index 16f059bc..928bf107 100644
--- a/src/assets/css/components/views/charts/panel.scss
+++ b/src/assets/css/components/views/charts/panel.scss
@@ -115,6 +115,86 @@
left: 0;
top: -1px;
}
+ .header__operations {
+ display: flex;
+ justify-content: end;
+ align-items: center;
+
+ .header__operation-btn {
+ margin-left: 12px;
+ cursor: pointer;
+ color: #999;
+ }
+
+ .header__operation.header__operation--table {
+ display: flex;
+ align-items: center;
+ height: 22px;
+ margin-left: 10px;
+ color: $--color-primary;
+ border: 1px solid $--color-primary;
+ border-radius: $--border-radius-primary;
+
+ .option__button {
+ display: flex;
+ align-items: center;
+ height: 100%;
+ padding: 0 5px;
+ cursor: pointer;
+ background-color: white;
+ transition: all linear .2s;
+ }
+ .option__button:hover {
+ background-color: #EFF2F5;
+ }
+ .option__button.icon-group-item:first-of-type:not(:last-of-type) {
+ padding: 0 5px 0 0;
+ }
+ .option__button.icon-group-item:last-of-type:not(:first-of-type) {
+ padding: 0 0 0 5px;
+ }
+ .option__select {
+ .el-input__inner {
+ width: 80px;
+ padding-right: 20px;
+ border: none;
+ height: 100%;
+ line-height: 20px;
+ color: $--color-primary;
+ }
+ .el-input__prefix > div {
+ font-weight: normal;
+ line-height: 19px;
+ color: $--color-primary;
+ }
+ .el-input__suffix {
+ display: flex;
+ .el-input__suffix-inner {
+ line-height: 14px;
+ .el-select__caret {
+ line-height: 14px;
+ width: 16px;
+ color: $--color-primary;
+ }
+ }
+ }
+ }
+ .option__select.select-column {
+ .el-input__inner {
+ width: 86px;
+ padding-left: 8px;
+ }
+ }
+ .icon-group-divide {
+ height: 14px;
+ width: 1px;
+ background-color: $--color-primary;
+ }
+ i {
+ font-size: 12px;
+ }
+ }
+ }
}
&>.cn-chart {
position: relative;
@@ -419,7 +499,7 @@
height: calc(100% - 40px);
}
}
- &>.cn-chart__table {
+ &>.cn-chart__table, {
.cn-chart__header {
border-bottom: 1px solid $--content-right-background-color;
.header__operations {
@@ -832,3 +912,16 @@
content: "!";
font-weight:normal;
}
+.ip-detail-as {
+ color: #999;
+ font-size: 12px;
+ padding-left: 10px;
+}
+
+.option-popper {
+ .el-select-dropdown__item {
+ height: 24px;
+ line-height: 24px;
+ font-size: 12px;
+ }
+}
diff --git a/src/views/charts/Chart2.vue b/src/views/charts/Chart2.vue
index 0d285b9e..0d209b7a 100644
--- a/src/views/charts/Chart2.vue
+++ b/src/views/charts/Chart2.vue
@@ -51,6 +51,15 @@
@showLoading="showLoading"
>
+
+
@@ -64,6 +73,7 @@ import ChartSingleValue from './charts/ChartSingleValue'
import ChartBlock from './charts/ChartBlock'
import IpBasicInfo from '@/views/charts/charts/IpBasicInfo'
import ChartEchartLine from './charts/ChartEchartLine'
+import ChartTable from "./charts/ChartTable";
import {
isEcharts,
isEchartsLine,
@@ -100,6 +110,7 @@ import _ from 'lodash'
export default {
name: 'chart',
components: {
+ ChartTable,
IpBasicInfo,
ChartSingleValue,
Loading,
@@ -119,7 +130,8 @@ export default {
loading: Boolean,
panelLock: Boolean,
entity: Object,
- isError: Boolean
+ isError: Boolean,
+ table: Object
},
computed: {
isNoData () {
diff --git a/src/views/charts/ChartHeader.vue b/src/views/charts/ChartHeader.vue
index 292f2329..d9da962b 100644
--- a/src/views/charts/ChartHeader.vue
+++ b/src/views/charts/ChartHeader.vue
@@ -1,8 +1,54 @@