CN-708 feat: 色块图调整为蜂窝图
This commit is contained in:
@@ -2,6 +2,65 @@
|
|||||||
$blue: #046ECA;
|
$blue: #046ECA;
|
||||||
$grey: #353636;
|
$grey: #353636;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.block-list {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
width: calc(50% - 10px);
|
||||||
|
border: 1px solid #E2E5EC;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #F7F7F7;
|
||||||
|
|
||||||
|
.block-list__title {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #046ECA;
|
||||||
|
top: 16px;
|
||||||
|
left: 20px;
|
||||||
|
}
|
||||||
|
.block-list__list {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 260px;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
.block-list__block {
|
||||||
|
margin: 0 3px 0 2px;
|
||||||
|
height: 51px;
|
||||||
|
|
||||||
|
.block-hex {
|
||||||
|
overflow: hidden;
|
||||||
|
display: block;
|
||||||
|
width: 44px;
|
||||||
|
height: 51px;
|
||||||
|
transform: rotate(-60deg) skewY(30deg);
|
||||||
|
}
|
||||||
|
.block-hex-in {
|
||||||
|
display: block;
|
||||||
|
width: 44px;
|
||||||
|
height: 51px;
|
||||||
|
text-align: center;
|
||||||
|
transform: skewY(-30deg) rotate(60deg);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
&:nth-child(9n + 1) {
|
||||||
|
margin-left: 27px;
|
||||||
|
}
|
||||||
|
&:nth-child(n + 5) {
|
||||||
|
margin-top: -9px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*.link-blocks {
|
||||||
|
$blue: #046ECA;
|
||||||
|
$grey: #353636;
|
||||||
|
|
||||||
border: 1px solid #E2E5EC;
|
border: 1px solid #E2E5EC;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -90,7 +149,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
.link-block__popper {
|
.link-block__popper {
|
||||||
background-color: #1F2B33 !important;
|
background-color: #1F2B33 !important;
|
||||||
border-color: #F7F7F7 !important;
|
border-color: #F7F7F7 !important;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ const openMock = true
|
|||||||
if (openMock) {
|
if (openMock) {
|
||||||
Mock.mock(new RegExp(BASE_CONFIG.baseUrl + 'interface/linkMonitor/links.*'), 'get', function (requestObj) {
|
Mock.mock(new RegExp(BASE_CONFIG.baseUrl + 'interface/linkMonitor/links.*'), 'get', function (requestObj) {
|
||||||
const linkData = []
|
const linkData = []
|
||||||
for (let i = 0; i < 94; i++) {
|
for (let i = 0; i < 10; i++) {
|
||||||
linkData.push({ linkId: 20 * (i + 300), totalBitsRate: Math.floor(Math.pow(1.1, i) * 10000) })
|
linkData.push({ linkId: 20 * (i + 300), totalBitsRate: Math.floor(Math.pow(1.3, i) * 10000) })
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
msg: 'success',
|
msg: 'success',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="link-blocks">
|
<div class="link-blocks">
|
||||||
<el-tabs v-model="tab">
|
<!--<el-tabs v-model="tab">
|
||||||
<el-tab-pane :label="$t('linkMonitor.links')" :name="0"></el-tab-pane>
|
<el-tab-pane :label="$t('linkMonitor.links')" :name="0"></el-tab-pane>
|
||||||
<el-tab-pane :label="$t('linkMonitor.nextHopInternet')" :name="1"></el-tab-pane>
|
<el-tab-pane :label="$t('linkMonitor.nextHopInternet')" :name="1"></el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -40,6 +40,74 @@
|
|||||||
<div class="legend__color-piece"></div>
|
<div class="legend__color-piece"></div>
|
||||||
<div class="legend__desc">{{$t('linkMonitor.linkBlock.bandwidthUsage')}}</div>
|
<div class="legend__desc">{{$t('linkMonitor.linkBlock.bandwidthUsage')}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="block-list">
|
||||||
|
<div class="block-list__title">{{$t('linkMonitor.links')}}</div>
|
||||||
|
<div class="block-list__list">
|
||||||
|
<el-popover
|
||||||
|
placement="bottom"
|
||||||
|
trigger="hover"
|
||||||
|
popper-class="link-block__popper"
|
||||||
|
v-for="(item, index) in linkData"
|
||||||
|
:width="220"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<template #reference>
|
||||||
|
<div class="block-list__block" :key="index">
|
||||||
|
<span class="block-hex">
|
||||||
|
<span class="block-hex-in" :style="`background-color: ${item.color}`"></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
<div class="popper-content">
|
||||||
|
<div class="popper-content__link-id">Link ID: {{item.linkId}}</div>
|
||||||
|
<div class="popper-content__link-info">
|
||||||
|
<div class="info__label">{{$t('linkMonitor.linkBlock.total')}}</div>
|
||||||
|
<div class="info__value">{{unitConvert(item.totalBitsRate, unitTypes.bps).join('')}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="popper-content__link-info">
|
||||||
|
<div class="info__label">{{$t('linkMonitor.linkBlock.bandwidthUsage')}}</div>
|
||||||
|
<div class="info__value">50%</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block-list">
|
||||||
|
<div class="block-list__title">{{$t('linkMonitor.nextHopInternet')}}</div>
|
||||||
|
<div class="block-list__list">
|
||||||
|
<el-popover
|
||||||
|
placement="bottom"
|
||||||
|
trigger="hover"
|
||||||
|
popper-class="link-block__popper"
|
||||||
|
v-for="(item, index) in linkData"
|
||||||
|
:width="220"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<template #reference>
|
||||||
|
<div class="block-list__block" :key="index">
|
||||||
|
<span class="block-hex">
|
||||||
|
<span class="block-hex-in" :style="`background-color: ${item.color}`"></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
<div class="popper-content">
|
||||||
|
<div class="popper-content__link-id">Link ID: {{item.linkId}}</div>
|
||||||
|
<div class="popper-content__link-info">
|
||||||
|
<div class="info__label">{{$t('linkMonitor.linkBlock.total')}}</div>
|
||||||
|
<div class="info__value">{{unitConvert(item.totalBitsRate, unitTypes.bps).join('')}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="popper-content__link-info">
|
||||||
|
<div class="info__label">{{$t('linkMonitor.linkBlock.bandwidthUsage')}}</div>
|
||||||
|
<div class="info__value">50%</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user