diff --git a/src/assets/svg/base.svg b/src/assets/svg/base.svg
new file mode 100644
index 00000000..2036fe25
--- /dev/null
+++ b/src/assets/svg/base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/userIMS.svg b/src/assets/svg/userIMS.svg
new file mode 100644
index 00000000..08faa3e5
--- /dev/null
+++ b/src/assets/svg/userIMS.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/userSMF.svg b/src/assets/svg/userSMF.svg
new file mode 100644
index 00000000..93009a81
--- /dev/null
+++ b/src/assets/svg/userSMF.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts
index d768915f..be91335c 100644
--- a/src/i18n/locales/en-US.ts
+++ b/src/i18n/locales/en-US.ts
@@ -494,8 +494,10 @@ export default {
fullscreen: "Click on the full-screen display",
skim: {
users: "Users",
+ userTitle:'User Information',
session: "Sessions",
base: "Base Stations",
+ baseTitle:'Radios Information',
},
upfFlow:{
title: "User Plane Throughput",
@@ -503,13 +505,14 @@ export default {
down:'Downlink'
},
upfFlowTotal:{
+ title:'Traffic Information',
up:'Uplink',
down:'Downlink'
},
alarmTypeBar:{
alarmSum:'Alarm Summary',
topTitle:"TOP 3",
- },
+ },
resources: {
title: "Resource Summary",
sysMem: "Memory",
@@ -519,7 +522,7 @@ export default {
topology: {
title: "Network Topology",
normal: "Normal",
- abnormal: "AbNormal",
+ abnormal: "Abnormal",
},
userActivity: {
title: "User Activity",
diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts
index cbee404b..cafa2ddf 100644
--- a/src/i18n/locales/zh-CN.ts
+++ b/src/i18n/locales/zh-CN.ts
@@ -494,15 +494,18 @@ export default {
fullscreen: "点击全屏显示",
skim: {
users: "用户数",
+ userTitle:'用户信息',
session: "会话数",
base: "基站数",
+ baseTitle:'基站信息',
},
upfFlow:{
title: "用户面吞吐量",
up:'上行',
down:'下行'
},
- upfFlowTotal:{
+ upfFlowTotal:{
+ title:'流量信息',
up:'上行',
down:'下行'
},
diff --git a/src/views/dashboard/overview/css/index.css b/src/views/dashboard/overview/css/index.css
index 0d43533c..02c34833 100644
--- a/src/views/dashboard/overview/css/index.css
+++ b/src/views/dashboard/overview/css/index.css
@@ -110,35 +110,53 @@
/* 概览区域 */
.skim {
- min-height: 6.167rem;
- height: 14%;
+ min-height: 7.78rem;
+ height: 14.4%;
}
-.skim .inner {
+.skim .inner .data {
display: flex;
- flex-wrap: wrap;
+ flex-direction: row;
align-items: center;
+ height: 90%;
}
-.skim .inner .item {
- width: 50%;
+.skim .inner .data .item {
display: flex;
flex-direction: column;
- justify-content: space-between;
+ align-items: baseline;
+ width: 33%;
}
-.skim .inner .item h4 {
- font-size: 1.167rem;
- padding-left: 0.2rem;
+.skim .inner .data .item div {
+ font-size: 1.467rem;
color: #fff;
- margin-bottom: 0.333rem;
+ margin-bottom: 0;
+ display: flex;
+ align-items: baseline;
+ line-height: 2rem;
}
-.skim .inner .item span {
- font-size: 0.667rem;
+.skim .inner .data .item span {
color: #4c9bfd;
+ font-size: 0.833rem;
+ width: 100%;
+ position: relative;
+ line-height: 2rem;
+}
+.skim .inner .data .item span::before {
+ content: ' ';
+ position: absolute;
+ top: 2px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 0;
+ background-image: linear-gradient(to right, #fff, #fff0);
+ height: 1px;
+ border-radius: 4px;
}
/* 用户行为 */
.userActivity {
- min-height: 22rem;
- height: 82%;
+ min-height: 35.8rem;
+ height: 66.3%;
}
.userActivity .inner .chart {
width: 100%;
@@ -146,15 +164,19 @@
margin-top: 1rem;
}
-/* 总流量 */
+/* 流量统计 */
.upfFlowTotal {
- min-height: 6.167rem;
- height: 14%;
+ min-height: 7.5rem;
+ height: 14.6%;
}
-.upfFlowTotal .inner .filter {
+.upfFlowTotal .inner h3 {
+ display: flex;
+ justify-content: space-between;
+}
+.upfFlowTotal .inner h3 .filter {
display: flex;
}
-.upfFlowTotal .inner .filter span {
+.upfFlowTotal .inner h3 .filter span {
display: block;
height: 0.75rem;
line-height: 1;
@@ -164,37 +186,46 @@
border-right: 0.083rem solid #00f2f1;
cursor: pointer;
}
-.upfFlowTotal .inner .filter span:first-child {
+.upfFlowTotal .inner h3 .filter span:first-child {
padding-left: 0;
}
-.upfFlowTotal .inner .filter span:last-child {
+.upfFlowTotal .inner h3 .filter span:last-child {
border-right: none;
}
-.upfFlowTotal .inner .filter span.active {
+.upfFlowTotal .inner h3 .filter span.active {
color: #fff;
font-size: 0.833rem;
}
-.upfFlowTotal .data {
+.upfFlowTotal .inner .chart {
+ width: 100%;
+ height: 100%;
+ margin-top: 1rem;
+}
+.upfFlowTotal .inner .chart .data {
display: flex;
- margin-top: 1.833rem;
+ flex-direction: column;
+ justify-content: space-around;
+ height: 72%;
}
-.upfFlowTotal .item {
- width: 50%;
+.upfFlowTotal .inner .chart .data .item {
+ display: flex;
+ justify-content: space-between;
+ align-items: baseline;
}
-.upfFlowTotal h4 {
- font-size: 1.167rem;
+.upfFlowTotal .inner .chart .data .item h4 {
+ font-size: 1.467rem;
color: #fff;
- margin-bottom: 0.417rem;
+ margin-bottom: 0;
}
-.upfFlowTotal span {
+.upfFlowTotal .inner .chart .data .item span {
color: #4c9bfd;
- font-size: 0.667rem;
+ font-size: 0.867rem;
}
/* 资源情况 */
.resources {
- min-height: 14rem;
- height: 26%;
+ min-height: 13.6rem;
+ height: 25.5%;
}
.resources .inner .chart {
width: 100%;
@@ -212,480 +243,3 @@
height: 100%;
margin-top: 1rem;
}
-
-/* 监控 */
-.monitor {
- height: 20rem;
-}
-.monitor .inner {
- padding: 1rem 0;
- display: flex;
- flex-direction: column;
-}
-.monitor .tabs {
- padding: 0 1.5rem;
- margin-bottom: 0.75rem;
-}
-.monitor .tabs a {
- color: #1950c4;
- font-size: 0.75rem;
- padding: 0 1.125rem;
-}
-
-.monitor .tabs a:first-child {
- border-right: 0.083rem solid #00f2f1;
- padding-left: 0;
-}
-
-.monitor .tabs a.active {
- color: #fff;
-}
-.monitor .content {
- flex: 1;
- display: none;
- position: relative;
-}
-.monitor .head {
- background: rgba(255, 255, 255, 0.1);
- font-size: 0.583rem;
- padding: 0.5rem 1.5rem;
- color: #68d8fe;
- display: flex;
- justify-content: space-between;
- line-height: 1.05;
-}
-.monitor .col:nth-child(1) {
- width: 3.2rem;
-}
-.monitor .col:nth-child(2) {
- width: 8.4rem;
- /* 不换行 一行省略*/
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.monitor .col:nth-child(3) {
- width: 3.2rem;
-}
-.monitor .marquee-view {
- position: absolute;
- top: 1.6rem;
- bottom: 0;
- width: 100%;
- overflow: hidden;
-}
-
-.monitor .row {
- line-height: 1.05;
- padding: 0.5rem 1.5rem;
- color: #61a8ff;
- font-size: 0.5rem;
- position: relative;
- display: flex;
- justify-content: space-between;
-}
-.monitor .row:hover {
- color: #68d8ff;
- background: rgba(255, 255, 255, 0.1);
-}
-.monitor .row:hover .icon-dot {
- opacity: 1;
-}
-
-.monitor .icon-dot {
- position: absolute;
- left: 0.64rem;
- opacity: 0;
-}
-.monitor .marquee-view {
- position: absolute;
- top: 1.6rem;
- bottom: 0;
- width: 100%;
- overflow: hidden;
-}
-
-.monitor .row {
- line-height: 1.05;
- padding: 0.5rem 1.5rem;
- color: #61a8ff;
- font-size: 0.5rem;
- position: relative;
- display: flex;
- justify-content: space-between;
-}
-.monitor .row:hover {
- color: #68d8ff;
- background: rgba(255, 255, 255, 0.1);
-}
-.monitor .row:hover .icon-dot {
- opacity: 1;
-}
-
-.monitor .icon-dot {
- position: absolute;
- left: 0.64rem;
- opacity: 0;
-}
-/* ------------------------------------------------------------动画 */
-@keyframes row {
- 0% {
- }
- 100% {
- transform: translateY(-50%);
- }
-}
-/* 调用动画 */
-.monitor .marquee {
- /* //infinite永久调用动画 */
- animation: row 10s linear infinite;
-}
-/*鼠标划入 停止动画 */
-.monitor .marquee:hover {
- animation-play-state: paused;
-}
-/* 点位 */
-.point {
- height: 14.167rem;
-}
-.point .chart {
- display: flex;
- margin-top: 1rem;
- justify-content: space-between;
-}
-.point .pie {
- width: 13rem;
- height: 10rem;
- margin-left: -0.4rem;
-}
-.point .data {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 7rem;
- padding: 1.5rem 1.25rem;
- box-sizing: border-box;
- background-image: url(../images/rect.png);
- background-size: cover;
-}
-.point h4 {
- margin-bottom: 0.5rem;
- font-size: 1.167rem;
- color: #fff;
-}
-.point span {
- display: block;
- color: #4c9bfd;
- font-size: 0.667rem;
-}
-/* 地图 */
-.map {
- height: 24.1rem;
- margin-bottom: 0.833rem;
- display: flex;
- flex-direction: column;
-}
-.map h3 {
- line-height: 1;
- padding: 0.667rem 0;
- margin: 0;
- font-size: 0.833rem;
- color: #fff;
-}
-.map .icon-cube {
- color: #68d8fe;
-}
-.map .chart {
- flex: 1;
- background-color: rgba(255, 255, 255, 0.05);
-}
-.map .geo {
- width: 100%;
- height: 100%;
-}
-/* 用户模块 */
-.users {
- height: 14.167rem;
- display: flex;
-}
-.users .chart {
- display: flex;
- margin-top: 1rem;
-}
-.users .bar {
- width: 24.5rem;
- height: 10rem;
-}
-.users .data {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 7rem;
- padding: 1.5rem 1.25rem;
- box-sizing: border-box;
- background-image: url(../images/rect.png);
- background-size: cover;
-}
-.users h4 {
- margin-bottom: 0.5rem;
- font-size: 1.167rem;
- color: #fff;
-}
-.users span {
- display: block;
- color: #4c9bfd;
- font-size: 0.667rem;
-}
-
-/* 销售区域 */
-.sales {
- height: 10.333rem;
-}
-.sales .caption {
- display: flex;
- line-height: 1;
-}
-.sales h3 {
- height: 0.75rem;
- padding-right: 0.75rem;
- border-right: 0.083rem solid #00f2f1;
-}
-.sales a {
- padding: 0.167rem;
- font-size: 0.667rem;
- margin: -0.125rem 0 0 0.875rem;
- border-radius: 0.125rem;
- color: #0bace6;
-}
-.sales a.active {
- background-color: #4c9bfd;
- color: #fff;
-}
-.sales .inner {
- display: flex;
- flex-direction: column;
-}
-.sales .chart {
- flex: 1;
- padding-top: 0.6rem;
- position: relative;
-}
-.sales .label {
- position: absolute;
- left: 1.75rem;
- top: 0.75rem;
- color: #4996f5;
- font-size: 0.583rem;
-}
-.sales .line {
- width: 100%;
- height: 100%;
-}
-/* 渠道区块 */
-.wrap {
- display: flex;
-}
-.channel,
-.quarter {
- flex: 1;
- height: 9.667rem;
-}
-.channel {
- margin-right: 0.833rem;
-}
-.channel .data {
- overflow: hidden;
-}
-.channel .item {
- margin-top: 0.85rem;
-}
-.channel .item:first-child {
- float: left;
-}
-.channel .item:last-child {
- float: right;
-}
-.channel h4 {
- color: #fff;
- font-size: 1.333rem;
- margin-bottom: 0.2rem;
-}
-.channel small {
- font-size: 50%;
-}
-.channel span {
- display: block;
- color: #4c9bfd;
- font-size: 0.583rem;
-}
-/* 季度区块 */
-.quarter .inner {
- display: flex;
- flex-direction: column;
- margin: 0 -0.25rem;
-}
-.quarter .chart {
- flex: 1;
- padding-top: 0.75rem;
-}
-.quarter .box {
- position: relative;
-}
-.quarter .label {
- transform: translate(-50%, -30%);
- color: #fff;
- font-size: 1.25rem;
- position: absolute;
- left: 50%;
- top: 50%;
-}
-.quarter .label small {
- font-size: 50%;
-}
-.quarter .gauge {
- height: 3.5rem;
-}
-.quarter .data {
- display: flex;
- justify-content: space-between;
-}
-.quarter .item {
- width: 50%;
-}
-.quarter h4 {
- color: #fff;
- font-size: 1rem;
- margin-bottom: 0.4rem;
-}
-.quarter span {
- display: block;
- width: 100%;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- color: #4c9bfd;
- font-size: 0.583rem;
-}
-/* 排行榜 */
-.top {
- height: 11.8rem;
-}
-.top .inner {
- display: flex;
-}
-.top .all {
- display: flex;
- flex-direction: column;
- width: 7rem;
- color: #4c9bfd;
- font-size: 0.6rem;
- vertical-align: middle;
-}
-.top .all ul {
- padding-left: 0.5rem;
- margin-top: 0.5rem;
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: space-around;
-}
-.top .all li {
- overflow: hidden;
-}
-.top .all [class^='icon-'] {
- font-size: 1.5rem;
- vertical-align: middle;
- margin-right: 0.5rem;
-}
-.top .province {
- flex: 1;
- display: flex;
- flex-direction: column;
- color: #fff;
-}
-.top .province i {
- padding: 0 0.5rem;
- margin-top: 0.208rem;
- float: right;
- font-style: normal;
- font-size: 0.583rem;
- color: #0bace6;
-}
-.top .province s {
- display: inline-block;
- transform: scale(0.8);
- text-decoration: none;
-}
-.top .province .icon-up {
- color: #dc3c33;
-}
-.top .province .icon-down {
- color: #36be90;
-}
-.top .province .data {
- flex: 1;
- display: flex;
- margin-top: 0.6rem;
-}
-.top .province ul {
- flex: 1;
- line-height: 1;
- margin-bottom: 0.25rem;
-}
-.top .province ul li {
- display: flex;
- justify-content: space-between;
-}
-.top .province ul span {
- display: block;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-.top .province ul.sup {
- font-size: 0.583rem;
-}
-.top .province ul.sup li {
- color: #4995f4;
- padding: 0.5rem;
-}
-.top .province ul.sup li.active {
- color: #a3c6f2;
- background-color: rgba(10, 67, 188, 0.2);
-}
-.top .province ul.sub {
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- font-size: 0.5rem;
- background-color: rgba(10, 67, 188, 0.2);
-}
-.top .province ul.sub li {
- color: #52ffff;
- padding: 0.417rem 0.6rem;
-}
-.clock {
- position: absolute;
- top: -1.5rem;
- right: 1.667rem;
- font-size: 0.833rem;
- color: #0bace6;
-}
-.clock i {
- margin-right: 5px;
- font-size: 0.833rem;
-}
-@media screen and (max-width: 1600px) {
- .top span {
- transform: scale(0.9);
- }
- .top .province ul.sup li {
- padding: 0.4rem 0.5rem;
- }
- .top .province ul.sub li {
- padding: 0.23rem 0.5rem;
- }
- .quarter span {
- transform: scale(0.9);
- }
-}
diff --git a/src/views/dashboard/overview/index.vue b/src/views/dashboard/overview/index.vue
index 037deddb..2a74a0f6 100644
--- a/src/views/dashboard/overview/index.vue
+++ b/src/views/dashboard/overview/index.vue
@@ -1,5 +1,8 @@