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 @@ +