1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
import { Component, OnInit } from '@angular/core';
import {SlicingTaskServices} from '.././../../core/services/slicingTaskServices';
import {pieChartconfig} from './monitorEchartsConfig';
@Component({
selector: 'app-monitor-5g',
templateUrl: './monitor-5g.component.html',
styleUrls: ['./monitor-5g.component.less']
})
export class Monitor5gComponent implements OnInit {
constructor(
private myhttp: SlicingTaskServices
) {
}
listOfData: any[] = [];
pageIndex: number = 1;
pageSize: number = 10;
total: number = 0;
loading = false;
trafficData: any[] =[];
trafficLegend: any[] =[];
onlineusersData: any[] =[];
bandwidthData: any[] =[];
selectDate: number = 0;
trafficChartInit :Object = pieChartconfig;
trafficChartData :Object;
ngOnInit() {
this.getBusinessList()
}
getBusinessList (): void{
this.loading = true;
let paramsObj = {
pageNo: this.pageIndex,
pageSize: this.pageSize
};
this.myhttp.getSlicingBusinessList(paramsObj,false).subscribe (res => {
const { result_header: { result_code }, result_body: { slicing_business_list,record_number } } = res;
if (+result_code === 200) {
this.total = record_number;
this.loading = false;
this.listOfData = [].concat(slicing_business_list);
this.getChartsData();
}
})
}
searchData(reset: boolean = false) {
this.getBusinessList();
}
onDateChange(result: Date): void {
console.log('Selected Time: ', result);
if(result === null){
this.selectDate = 0;
this.getChartsData()
}
}
onDateOk(result: Date): void {
console.log('onOk', result);
this.selectDate = result.valueOf();
this.getChartsData();
}
getChartsData = (time = new Date().getTime()) => {
if (!this.listOfData.length) {
return false;
}
if(this.selectDate !==0){
time = this.selectDate
}
const service_list = [];
this.listOfData.forEach(item => {
service_list.push({service_id: item.service_instance_id});
});
this.fetchTrafficData(service_list, time);
this.fetchOnlineusersData(service_list, time);
this.fetchBandwidthData(service_list, time);
}
fetchTrafficData(service_list, time){
this.myhttp.getFetchTraffic(service_list,time).subscribe (res => {
const { result_header: { result_code }, result_body: { slicing_usage_traffic_list } } = res;
if (+result_code === 200 && slicing_usage_traffic_list.length >0) {
console.log(this.trafficChartInit,"----trafficChartInit")
slicing_usage_traffic_list.forEach((item)=>{
this.trafficData.push({
name:item.service_id,
value:item.traffic_data
});
this.trafficLegend.push(item.service_id)
});
this.trafficChartData = {
legend:{
orient: 'vertical',
left: '0px',
bottom: '0px',
itemWidth: 10,
itemHeight: 10,
textStyle: {
color: "#3C4F8C"
},
data: this.trafficLegend
},
series: [{
data: this.trafficData
}]
};
}
})
}
fetchOnlineusersData(service_list, time){
this.myhttp.getFetchOnlineusers(service_list,time).subscribe (res => {
const { result_header: { result_code }, result_body: { slicing_online_user_list } } = res;
if (+result_code === 200) {
this.onlineusersData = slicing_online_user_list;
}
})
}
fetchBandwidthData(service_list, time){
this.myhttp.getFetchBandwidth(service_list,time).subscribe (res => {
const { result_header: { result_code }, result_body: { slicing_total_bandwidth_list } } = res;
if (+result_code === 200) {
this.bandwidthData = slicing_total_bandwidth_list;
}
})
}
}
|