CN-627 Dashboard - network overview - 表格组件开发:自定义metric功能
This commit is contained in:
@@ -95,7 +95,7 @@
|
|||||||
right:0px;
|
right:0px;
|
||||||
.search-select {
|
.search-select {
|
||||||
color:#575757;
|
color:#575757;
|
||||||
margin-right:20px;
|
margin-right:10px;
|
||||||
span {
|
span {
|
||||||
margin-right:3px;
|
margin-right:3px;
|
||||||
}
|
}
|
||||||
@@ -121,14 +121,21 @@
|
|||||||
}
|
}
|
||||||
.search-customize-tab {
|
.search-customize-tab {
|
||||||
color:$blue;
|
color:$blue;
|
||||||
|
height:24px;
|
||||||
|
padding:2px 11px;
|
||||||
.icon-gear{
|
.icon-gear{
|
||||||
color:#2C72C6;
|
color:#2C72C6;
|
||||||
width:12px;
|
width:12px;
|
||||||
height:12px;
|
height:12px;
|
||||||
|
margin-right:2px;
|
||||||
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.search-customize-tab:hover {
|
.search-customize-tab:hover,.search-customize-tab__active {
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
|
background: rgba(56,172,210,0.10);
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(51,51,51,0.02);
|
||||||
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
.grid-content{
|
.grid-content{
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
@@ -136,19 +143,80 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.customize-tab__popper{
|
.customize-tab__popper{
|
||||||
height:560px;/*calc(100% - 136px);*/
|
max-height:405px;/*calc(100% - 136px);*/
|
||||||
overflow:auto;
|
overflow:hidden;
|
||||||
|
padding: 0px !important;
|
||||||
|
background: #FFFFFF;
|
||||||
|
/*border: 1px solid #C5C5C5;*/
|
||||||
|
border:1px solid #C5C5C5 !important;
|
||||||
|
box-shadow: -1px 1px 10px -1px rgba(205,205,205,0.85)!important;
|
||||||
|
border-radius: 2px !important;
|
||||||
|
.el-popper {
|
||||||
|
max-height: 405px;
|
||||||
|
}
|
||||||
|
.el-tabs__header{
|
||||||
|
font-size: 12px;
|
||||||
|
color:green !important;
|
||||||
|
font-weight: 500;
|
||||||
|
margin: 0px ;
|
||||||
|
border-bottom: 1px solid #E2E5EC;
|
||||||
|
}
|
||||||
|
.el-tabs__content {
|
||||||
|
max-height: 358px !important;
|
||||||
|
margin:8px 0 6px 0;
|
||||||
|
}
|
||||||
|
.el-tabs__nav{
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
.el-tabs__nav-wrap {
|
||||||
|
margin-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
.el-tabs__item{
|
||||||
|
width:50%;
|
||||||
|
text-align:center;
|
||||||
|
padding:0px;
|
||||||
|
height:30px;
|
||||||
|
line-height: 30px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #353636;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
||||||
|
border-top: 3px solid #38ACD2;
|
||||||
|
}
|
||||||
|
.el-tabs--card > .el-tabs__header .el-tabs__item:first-child{
|
||||||
|
border-radius: 2.5px 0 0 0;
|
||||||
|
}
|
||||||
|
.el-tabs--card > .el-tabs__header .el-tabs__item:last-child{
|
||||||
|
border-radius: 0 2.5px 0 0 ;
|
||||||
|
border-left: 1px #E2E5EC solid !important;
|
||||||
|
}
|
||||||
|
.el-tabs--card > .el-tabs__header .el-tabs__item{
|
||||||
|
border-bottom: 0px ;
|
||||||
|
border-top: 3px solid white;
|
||||||
|
}
|
||||||
|
.el-tabs--card > .el-tabs__header .el-tabs__nav {
|
||||||
|
border:0px ;
|
||||||
|
}
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding-inline-start: 0px !important;
|
padding-inline-start: 0px !important;
|
||||||
|
/*height:375px;*/
|
||||||
|
max-height: 358px !important;
|
||||||
|
overflow:auto;
|
||||||
|
margin:0 0;
|
||||||
.drag-move {
|
.drag-move {
|
||||||
transition: transform 0.3s;
|
transition: transform 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.list-item:last-child {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
.list-item {
|
.list-item {
|
||||||
width:100%;
|
width:100%;
|
||||||
color: #575757;
|
color: #575757;
|
||||||
margin-bottom: 6px;
|
margin-bottom: 0px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@@ -158,6 +226,25 @@
|
|||||||
|
|
||||||
.icon-drag{
|
.icon-drag{
|
||||||
cursor: move;
|
cursor: move;
|
||||||
|
margin-left:6px;
|
||||||
|
margin-right:3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
background-color: #38ACD2;
|
||||||
|
border-color: #38ACD2;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
.el-checkbox__input .el-checkbox__inner {
|
||||||
|
background-color: #F2F7F9;
|
||||||
|
border: 1px solid rgba(0,0,0,0.15);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
.el-checkbox__input.is-checked + .el-checkbox__label,.el-checkbox__input + .el-checkbox__label {
|
||||||
|
font-family: Helvetica;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #575757;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,4 +257,4 @@
|
|||||||
.el-popper__arrow {
|
.el-popper__arrow {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -24,30 +24,32 @@
|
|||||||
class="tab-table"
|
class="tab-table"
|
||||||
height="100%"
|
height="100%"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<template v-for="(item,index) in customTableTitles">
|
||||||
v-for="(item, index) in customTableTitles"
|
<el-table-column
|
||||||
class="data-column"
|
v-if="item.checked"
|
||||||
>
|
class="data-column"
|
||||||
<template #header>
|
>
|
||||||
<span class="data-column__span">{{$t(item.label)}}</span>
|
<template #header>
|
||||||
</template>
|
<span class="data-column__span">{{$t(item.label)}}</span>
|
||||||
<template #default="scope" :column="item">
|
</template>
|
||||||
<div class="data-total" >
|
<template #default="scope" :column="item">
|
||||||
{{scope.row[item.prop]}}
|
<div class="data-total" >
|
||||||
<template v-if="item.prop === 'total'" >
|
{{scope.row[item.prop]}}
|
||||||
<div v-if="scope.row['trend'] === 'up'" class="data-total-trend data-total-trend-red">
|
<template v-if="item.prop === 'total'" >
|
||||||
<i class="cn-icon-rise1 cn-icon"></i>{{scope.row['trendValue']}}
|
<div v-if="scope.row['trend'] === 'up'" class="data-total-trend data-total-trend-red">
|
||||||
</div>
|
<i class="cn-icon-rise1 cn-icon"></i>{{scope.row['trendValue']}}
|
||||||
<div v-else-if="scope.row['trend'] === 'down'" class="data-total-trend data-total-trend-green">
|
</div>
|
||||||
<i class="cn-icon-decline cn-icon"></i>{{scope.row['trendValue']}}
|
<div v-else-if="scope.row['trend'] === 'down'" class="data-total-trend data-total-trend-green">
|
||||||
</div>
|
<i class="cn-icon-decline cn-icon"></i>{{scope.row['trendValue']}}
|
||||||
<div v-else class="data-total-trend data-total-trend-black">
|
</div>
|
||||||
<i class="cn-icon-constant cn-icon"></i>
|
<div v-else class="data-total-trend data-total-trend-black">
|
||||||
</div>
|
<i class="cn-icon-constant cn-icon"></i>
|
||||||
</template>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
</template>
|
</div>
|
||||||
</el-table-column>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</template>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
@@ -59,7 +61,6 @@
|
|||||||
<span>{{$t('network.metric')}}:</span>
|
<span>{{$t('network.metric')}}:</span>
|
||||||
<el-select v-model="metric"
|
<el-select v-model="metric"
|
||||||
class="option__select select-column"
|
class="option__select select-column"
|
||||||
placeholder=""
|
|
||||||
popper-class="option-popper metric-select"
|
popper-class="option-popper metric-select"
|
||||||
:popper-append-to-body="false"
|
:popper-append-to-body="false"
|
||||||
size="mini">
|
size="mini">
|
||||||
@@ -71,36 +72,59 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<el-popover placement="left"
|
<el-popover placement="bottom-end"
|
||||||
:width="280"
|
:width="240"
|
||||||
:show-arrow="false"
|
:show-arrow="false"
|
||||||
:append-to-body="false"
|
:append-to-body="true"
|
||||||
:offset="-91"
|
|
||||||
:hide-after="0"
|
:hide-after="0"
|
||||||
title="Customize"
|
|
||||||
popper-class="customize-tab__popper"
|
popper-class="customize-tab__popper"
|
||||||
|
@show="handleCustomizeButton(true)"
|
||||||
|
@hide="handleCustomizeButton(false)"
|
||||||
trigger="click">
|
trigger="click">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<div class="search-customize-tab">
|
<div class="search-customize-tab " :class="showBackground?'search-customize-tab__active':''" >
|
||||||
<i class="cn-icon-gear cn-icon icon-gear"></i> {{$t('network.customize')}}
|
<i class="cn-icon-gear cn-icon icon-gear"></i> <span> {{$t('network.customize')}}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div>
|
<el-tabs v-model="activeCustomize"
|
||||||
<transition-group name="drag" class="list" tag="ul">
|
@tab-click="handleCustomizeClick"
|
||||||
<li v-for="(item, index) in list"
|
type="card"
|
||||||
|
>
|
||||||
|
<el-tab-pane :label="$t('network.tabs')" name="tabs" width="50%" >
|
||||||
|
<transition-group name="dragTabs" class="list" tag="ul" ref="tabs">
|
||||||
|
<li v-for="(item, index) in list"
|
||||||
:key="item.label"
|
:key="item.label"
|
||||||
class="list-item"
|
class="list-item"
|
||||||
>
|
@dragenter="dragenter($event, index)"
|
||||||
<i class="cn-icon-sort cn-icon icon-drag"
|
@dragover="dragover($event, index)"
|
||||||
@dragenter="dragenter($event, index)"
|
@dragstart="dragstart(index)"
|
||||||
@dragover="dragover($event, index)"
|
draggable="true"
|
||||||
@dragstart="dragstart(index)"
|
>
|
||||||
draggable="true"
|
<i class="cn-icon-sort cn-icon icon-drag"
|
||||||
></i> <el-checkbox @change="tabChange" v-model="item.checked" :label="$t(item.label) " size="small" />
|
|
||||||
</li>
|
:key="item.label"
|
||||||
</transition-group>
|
></i> <el-checkbox @change="tabChange" v-model="item.checked" :label="$t(item.label) " size="small" :key="item.label"/>
|
||||||
</div>
|
</li>
|
||||||
|
</transition-group>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane :label="$t('network.metric')" name="metrics" width="50%" >
|
||||||
|
<transition-group name="dragMetric" class="list" tag="ul" ref="metric">
|
||||||
|
<li v-for="(item, index) in customTableTitles"
|
||||||
|
:key="item.label"
|
||||||
|
class="list-item"
|
||||||
|
@dragenter="dragMetricEnter($event, index)"
|
||||||
|
@dragover="dragMetricOver($event, index)"
|
||||||
|
@dragstart="dragMetricStart(index)"
|
||||||
|
draggable="true"
|
||||||
|
>
|
||||||
|
<i class="cn-icon-sort cn-icon icon-drag"
|
||||||
|
:key="item.label"
|
||||||
|
></i> <el-checkbox @change="metricChange" v-model="item.checked" :label="$t(item.label) " size="small" :key="item.label"/>
|
||||||
|
</li>
|
||||||
|
</transition-group>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -116,7 +140,7 @@ export default {
|
|||||||
name: 'NetworkOverviewTabs',
|
name: 'NetworkOverviewTabs',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
metric: '',
|
metric: 'Bits',
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
value: 'Bits',
|
value: 'Bits',
|
||||||
@@ -133,7 +157,7 @@ export default {
|
|||||||
],
|
],
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'up',
|
trend: 'up',
|
||||||
trendValue: '33%',
|
trendValue: '33%',
|
||||||
@@ -141,7 +165,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trendValue: '6%',
|
trendValue: '6%',
|
||||||
trend: '',
|
trend: '',
|
||||||
@@ -149,7 +173,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'up',
|
trend: 'up',
|
||||||
trendValue: '6%',
|
trendValue: '6%',
|
||||||
@@ -157,7 +181,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -165,7 +189,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -173,7 +197,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: '',
|
trend: '',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -181,7 +205,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -189,7 +213,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -197,7 +221,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -205,7 +229,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'up',
|
trend: 'up',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -213,7 +237,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -221,7 +245,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -229,7 +253,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -237,7 +261,7 @@ export default {
|
|||||||
outbound: 0.89
|
outbound: 0.89
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ips: 'cate',
|
tab: 'cate',
|
||||||
total: 10,
|
total: 10,
|
||||||
trend: 'down',
|
trend: 'down',
|
||||||
trendValue: '2%',
|
trendValue: '2%',
|
||||||
@@ -246,65 +270,81 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
customTableTitles: [
|
customTableTitles: [
|
||||||
{ label: 'network.ips', prop: 'ips' },
|
{ label: 'network.ips', prop: 'tab', checked: true, tabColumn: true },
|
||||||
{ label: 'network.total', prop: 'total' },
|
{ label: 'network.total', prop: 'total', checked: true, tabColumn: false },
|
||||||
{ label: 'network.inbound', prop: 'inbound' },
|
{ label: 'network.inbound', prop: 'inbound', checked: true, tabColumn: false },
|
||||||
{ label: 'network.outbound', prop: 'outbound' }
|
{ label: 'network.outbound', prop: 'outbound', checked: true, tabColumn: false }
|
||||||
],
|
],
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
label: 'network.ips',
|
label: 'network.ips',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.countries',
|
label: 'network.countries',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.asns',
|
label: 'network.asns',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.applications',
|
label: 'network.applications',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.providers',
|
label: 'network.providers',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.domains',
|
label: 'network.domains',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.protocols',
|
label: 'network.protocols',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.idcTenants',
|
label: 'network.idcTenants',
|
||||||
|
prop: 'tab',
|
||||||
checked: true
|
checked: true
|
||||||
}, {
|
}, {
|
||||||
label: 'network.provinces',
|
label: 'network.provinces',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.cities',
|
label: 'network.cities',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.isps',
|
label: 'network.isps',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.applicationCategories',
|
label: 'network.applicationCategories',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.domainCategories',
|
label: 'network.domainCategories',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.hosts',
|
label: 'network.hosts',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.snis',
|
label: 'network.snis',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}, {
|
}, {
|
||||||
label: 'network.protocolPorts',
|
label: 'network.protocolPorts',
|
||||||
|
prop: 'tab',
|
||||||
checked: false
|
checked: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dragIndex: '',
|
dragIndex: '',
|
||||||
enterIndex: '',
|
dragMetricIndex: '',
|
||||||
endIndex: ''
|
showBackground: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -314,13 +354,29 @@ export default {
|
|||||||
shuffle () {
|
shuffle () {
|
||||||
this.list = _.shuffle(this.list)
|
this.list = _.shuffle(this.list)
|
||||||
},
|
},
|
||||||
|
handleCustomizeButton (status) {
|
||||||
|
console.log(this.showBackground)
|
||||||
|
this.showBackground = status
|
||||||
|
},
|
||||||
tabChange () {
|
tabChange () {
|
||||||
const tabList = this.list.filter(item => item.checked == true)
|
const tabList = this.list.filter(item => item.checked == true)
|
||||||
if (tabList && tabList.length > 0) {
|
if (tabList && tabList.length > 0) {
|
||||||
this.activeTab = tabList[0].label
|
this.activeTab = tabList[0].label
|
||||||
this.customTableTitles[0].label = this.$t(tabList[0].label)
|
this.customTableTitles.forEach(item => {
|
||||||
|
if (item.tabColumn) {
|
||||||
|
item.label = tabList[0].label
|
||||||
|
item.prop = tabList[0].prop
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
metricChange () {
|
||||||
|
// const metricList = this.customTableTitles.filter(item => item.checked == true)
|
||||||
|
// if (metricList && metricList.length > 0) {
|
||||||
|
// this.activeCustomize = metricList[0].label
|
||||||
|
// this.customTableTitles[0].label = this.$t(metricList[0].label)
|
||||||
|
// }
|
||||||
|
},
|
||||||
dragstart (index) {
|
dragstart (index) {
|
||||||
this.dragIndex = index
|
this.dragIndex = index
|
||||||
},
|
},
|
||||||
@@ -336,10 +392,34 @@ export default {
|
|||||||
dragover (e, index) {
|
dragover (e, index) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
},
|
},
|
||||||
|
dragMetricStart (index) {
|
||||||
|
this.dragMetricIndex = index
|
||||||
|
},
|
||||||
|
dragMetricEnter (e, index) {
|
||||||
|
e.preventDefault()
|
||||||
|
if (this.dragMetricIndex !== index) {
|
||||||
|
const moving = this.customTableTitles[this.dragMetricIndex]
|
||||||
|
this.customTableTitles.splice(this.dragMetricIndex, 1)
|
||||||
|
this.customTableTitles.splice(index, 0, moving)
|
||||||
|
this.dragMetricIndex = index
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dragMetricOver (e, index) {
|
||||||
|
e.preventDefault()
|
||||||
|
},
|
||||||
handleClick (tab) {
|
handleClick (tab) {
|
||||||
this.customTableTitles[0].label = tab.paneName
|
this.customTableTitles.forEach(item => {
|
||||||
|
if (item.tabColumn) {
|
||||||
|
item.label = tab.paneName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// this.customTableTitles[0].label = tab.paneName
|
||||||
// this.activeTab = tab.paneName
|
// this.activeTab = tab.paneName
|
||||||
},
|
},
|
||||||
|
handleCustomizeClick (tab) {
|
||||||
|
// this.customTableTitles[0].label = tab.paneName
|
||||||
|
this.activeCustomize = tab.paneName
|
||||||
|
},
|
||||||
tableCellStyle ({ row, column, rowIndex, columnIndex }) {
|
tableCellStyle ({ row, column, rowIndex, columnIndex }) {
|
||||||
let style = 'border-right:0px;font-size:12px;padding:7px 0 !important;border-bottom: 1px solid #ECECEC;'
|
let style = 'border-right:0px;font-size:12px;padding:7px 0 !important;border-bottom: 1px solid #ECECEC;'
|
||||||
if (rowIndex === this.tableData.length - 1) {
|
if (rowIndex === this.tableData.length - 1) {
|
||||||
@@ -364,9 +444,11 @@ export default {
|
|||||||
}
|
}
|
||||||
// const dataList = [...props.chartInfo.children]
|
// const dataList = [...props.chartInfo.children]
|
||||||
}
|
}
|
||||||
|
const activeCustomize = ref('tabs')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
activeTab,
|
activeTab,
|
||||||
|
activeCustomize,
|
||||||
networkOverviewTabs
|
networkOverviewTabs
|
||||||
// dataList
|
// dataList
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user