Commit 6e6b8839 authored by wangqinghua's avatar wangqinghua

update

parent 133fa0a1
......@@ -39,7 +39,7 @@
<th nzWidth="20%">处理人</th>
<th>事件数量</th>
<th>解决状态</th>
<th>处理人情况</th>
<th>事件分类</th>
</tr>
</thead>
<tbody>
......
......@@ -39,7 +39,7 @@
<tr>
<th nzWidth="20%">解决状态</th>
<th>事件数量</th>
<th>解决状态</th>
<th>处理人情况</th>
<th>事件分类</th>
</tr>
</thead>
......
......@@ -19,7 +19,7 @@
</div>
</div>
<div nz-row [nzGutter]="4" class="search-form" >
<div nz-col nzSpan="3" >
<div nz-col nzSpan="4">
<nz-select style="width: 100%;" nzPlaceHolder="所有分组" [(ngModel)]="obj.groupid">
<ng-container *ngFor="let item of groupList">
<nz-option [nzLabel]="item.name" [nzValue]="item.groupid"></nz-option>
......@@ -41,35 +41,45 @@
<label nz-radio-button nzValue="5">自定义</label>
</nz-radio-group>
</div>
<div nz-col nzSpan="8" *ngIf="timeType == '5'">
<nz-date-picker
nzShowTime
[(ngModel)]="startTime"
nzPlaceHolder="开始时间"
></nz-date-picker>
<nz-date-picker
nzShowTime
nzFormat="yyyy-MM-dd HH:mm:ss"
[(ngModel)]="endTime"
nzPlaceHolder="结束时间"
></nz-date-picker>
<div nz-col nzSpan="8">
<ng-container *ngIf="timeType == '5'">
<nz-date-picker
nzShowTime
[(ngModel)]="startTime"
nzPlaceHolder="开始时间"
></nz-date-picker>
<nz-date-picker
nzShowTime
nzFormat="yyyy-MM-dd HH:mm:ss"
[(ngModel)]="endTime"
nzPlaceHolder="结束时间"
></nz-date-picker>
</ng-container>
</div>
<div nz-col nzSpan="2" class="search-input text-right">
<button (click)="search()" nz-button nzType="default"><i class="anticon anticon-search" style="color: #6097b7"></i>搜索</button>
</div>
</div>
<div nz-row nzGutter="4">
<div nz-col nzSpan="12" style="height: 400px">
<nz-spin [nzSpinning]="isLoading">
<div echarts [options]="chartTopOption" style="height: 400px;width: 100%"></div>
</nz-spin>
</div>
<div nz-col nzSpan="12" style="height: 400px">
<nz-spin [nzSpinning]="isLoading">
<div echarts [options]="charTrendOption" style="height: 400px;width: 100%"></div>
</nz-spin>
<nz-spin [nzSpinning]="isLoading">
<div nz-row nzGutter="4">
<div nz-col nzSpan="12" style="height: 400px">
<ng-container *ngIf="data.left">
<div class="noData" title="暂无数据"></div>
</ng-container>
<ng-container *ngIf="!data.left">
<div echarts [options]="chartTopOption" style="height: 400px;width: 100%"></div>
</ng-container>
</div>
<div nz-col nzSpan="12" style="height: 400px">
<ng-container *ngIf="data.right">
<div class="noData" title="暂无数据"></div>
</ng-container>
<ng-container *ngIf="!data.right">
<div echarts [options]="charTrendOption" style="height: 400px;width: 100%"></div>
</ng-container>
</div>
</div>
</div>
</nz-spin>
<h3 style="margin-top: 20px">常见问题TOP10</h3>
<nz-table #nzTable [nzData]="commonList">
<thead>
......
......@@ -21,6 +21,12 @@ export class ResourceAlarmComponent implements OnInit {
isVisiable = false;
isLoading = false;
//显示无数据图片
data = {
left:false,
right:false,
};
obj = {
priorityName: null,
groupid: null,
......@@ -57,6 +63,7 @@ export class ResourceAlarmComponent implements OnInit {
}
getData() {
this.isLoading = true;
this.getAlarmTopEchart();
this.getAlarmTrend();
this.getCommonTop();
......@@ -87,8 +94,12 @@ export class ResourceAlarmComponent implements OnInit {
this.analysisSer.waringCountTop(data).subscribe(
(res) => {
if(res.errCode == 10000){
const response = res.data;
this.setTopEcharts(response);
if(res.data.length > 0 ){
const response = res.data;
this.setTopEcharts(response);
}else{
this.data.left = true;
}
}else{
this.message.error(res.errMsg);
}
......@@ -146,8 +157,13 @@ export class ResourceAlarmComponent implements OnInit {
this.analysisSer.waringTrend(data).subscribe(
(res) => {
if(res.errCode == 10000){
const response = res.data;
this.setAlarmTrend(response);
if(res.data.length > 0){
const response = res.data;
this.setAlarmTrend(response);
}else{
this.isLoading = false;
this.data.right = true;
}
}else{
this.message.error(res.errMsg);
}
......@@ -217,6 +233,8 @@ export class ResourceAlarmComponent implements OnInit {
}
]
};
this.isLoading = false;
}
//常发问题TOP10
......
......@@ -2,20 +2,9 @@
Main page styles
========================================================================== */
.hipster {
display: inline-block;
width: 347px;
height: 497px;
background: url("../../content/images/hipster.png") no-repeat center top;
background-size: contain;
}
/* wait autoprefixer update to allow simple generation of high pixel density media query */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and ( min--moz-device-pixel-ratio: 2), only screen and ( -o-min-device-pixel-ratio: 2/1), only screen and ( min-device-pixel-ratio: 2), only screen and ( min-resolution: 192dpi), only screen and ( min-resolution: 2dppx) {
.hipster {
background: url("../../content/images/hipster2x.png") no-repeat center top;
background-size: contain;
}
}
p {
......
......@@ -78,13 +78,6 @@ Logo styles
vertical-align: middle;
width: 70px;
}
.logo-img {
height: 100%;
background: url("../../../content/images/logo-jhipster.png") no-repeat center center;
background-size: contain;
width: 100%;
}
.span-hov{
overflow: hidden;
display: -webkit-inline-flex;
......
<div class="logo padding-40">
智能运维监控
</div>
<div class="logo padding-40">运维管理系统</div>
<ul nz-menu [nzMode]="'inline'">
<ng-container *ngFor="let item of menuList">
<li nz-submenu (nzOpenChange)="openHandler(item)" [(nzOpen)]="item.checked">
......
......@@ -67,7 +67,7 @@ export class BasicEditComponent implements OnInit {
//获取分组
getGroup() {
this.groupList = [];
this.overAllSer.findGroup().subscribe(
this.overAllSer.getEditGroups(0).subscribe(
(res) => {
for (let i = 0; i < res.data.length; i++) {
const gObj = {
......
......@@ -61,7 +61,7 @@ export class StrategyComponent implements OnInit {
//获取模版组
getTemplateGroup() {
this.templateList = [];
this.overAllSer.getTemplateGroups().subscribe(
this.overAllSer.getEditGroups(1).subscribe(
(res) => {
const list = res.data;
list.forEach(e => {
......
......@@ -13,29 +13,38 @@
</nz-breadcrumb>
</div>
<div nz-col nzSpan="8" class="text-right">
<button *ngIf="echartType == 'history'" (click)="changeEchartType('now')" nz-button nzType="default">实时数据</button>
<button *ngIf="echartType == 'now'" (click)="changeEchartType('history')" nz-button nzType="default">趋势数据</button>
<button *ngIf="echartType == 'history'" (click)="changeEchartType('now')" nz-button nzType="default">实时数据
</button>
<button *ngIf="echartType == 'now'" (click)="changeEchartType('history')" nz-button nzType="default">趋势数据
</button>
<button (click)="ngOnInit()" nz-button nzType="primary"><i class="anticon anticon-sync"></i></button>
<smart-full-screen></smart-full-screen>
</div>
</div>
<div nz-row [nzGutter]="4" class="search-form">
<div nz-col nzSpan="3">
<nz-select style="width: 100%;" nzPlaceHolder="选择分组" [(ngModel)]="obj.groupid" (ngModelChange)="getList()">
<div nz-col nzSpan="6">
<nz-select style="width: 100%;" nzPlaceHolder="选择分组" [(ngModel)]="obj.groupid" (ngModelChange)="getList()">
<ng-container *ngFor="let item of groupList">
<nz-option nzLabel="{{item.name}}" nzValue="{{item.groupid}}"></nz-option>
</ng-container>
</nz-select>
</div>
<div nz-col nzSpan="3">
<nz-select style="width: 100%;" nzPlaceHolder="选择主机资源" [(ngModel)]="obj.hostid" (ngModelChange)="getListIO()">
<div nz-col nzSpan="6">
<nz-select style="width: 100%;" nzPlaceHolder="选择主机资源" [(ngModel)]="obj.hostid" (ngModelChange)="getListIO()">
<ng-container *ngFor="let item of hostList;">
<nz-option nzLabel="{{item.name}}" nzValue="{{item.hostid}}"></nz-option>
</ng-container>
</nz-select>
</div>
<ng-container *ngIf="echartType == 'history'">
<div nz-col nzSpan="7">
<div nz-col nzSpan="6"></div>
<div nz-col nzSpan="4"></div>
<div nz-col nzSpan="2" class="search-input text-right">
<button (click)="search()" nz-button nzType="default"><i class="anticon anticon-search" style="color: #6097b7"></i>搜索</button>
</div>
</div>
<div nz-row [nzGutter]="4" style="padding-bottom: 10px">
<div nz-col nzSpan="7">
<ng-container *ngIf="echartType == 'history'">
<nz-radio-group style="width: 100%;" [(ngModel)]="timeType" (ngModelChange)="changeType()"
[nzButtonStyle]="'solid'">
<label nz-radio-button nzValue="1">今天</label>
......@@ -44,81 +53,86 @@
<label nz-radio-button nzValue="4">一周</label>
<label nz-radio-button nzValue="5">自定义</label>
</nz-radio-group>
</div>
<div nz-col nzSpan="8" >
<ng-container *ngIf="timeType == '5'">
<nz-date-picker
nzShowTime
[(ngModel)]="timeBegin"
nzPlaceHolder="开始时间"
></nz-date-picker>
<nz-date-picker
nzShowTime
nzFormat="yyyy-MM-dd HH:mm:ss"
[(ngModel)]="timeEnd"
nzPlaceHolder="结束时间"
></nz-date-picker>
</ng-container>
</div>
</ng-container>
<div nz-col nzSpan="3" class="search-input text-right">
<button (click)="search()" nz-button nzType="default"><i class="anticon anticon-search" style="color: #6097b7"></i>搜索</button>
</ng-container>
</div>
<div nz-col nzSpan="8">
<ng-container *ngIf="timeType == '5'">
<nz-date-picker
nzShowTime
[(ngModel)]="timeBegin"
nzPlaceHolder="开始时间"
></nz-date-picker>
<nz-date-picker
nzShowTime
nzFormat="yyyy-MM-dd HH:mm:ss"
[(ngModel)]="timeEnd"
nzPlaceHolder="结束时间"
></nz-date-picker>
</ng-container>
</div>
</div>
<nz-spin [nzSpinning]="isLoading">
<ng-container *ngIf="echartType == 'now'">
<div echarts [options]="nowChartOption" (chartInit)="onEchartInit($event)" style="height: 400px;width: 100%"></div>
<div echarts [options]="nowChartOption" (chartInit)="onEchartInit($event)"
style="height: 400px;width: 100%"></div>
</ng-container>
<ng-container *ngIf="echartType == 'history'">
<div echarts [options]="chartOption"style="height: 400px;width: 100%"></div>
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div>
</ng-container>
</nz-spin>
<ng-container *ngIf="echartType == 'history'">
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'">
<nz-tab nzTitle="接收流量排行">
<nz-table #nzTable [nzData]="inList" [nzLoading]="inLoading" [nzFrontPagination]="false" [nzTotal]="inTotalNum" [nzPageIndex]="inPageNum" [nzPageSize]="inPageCount" (nzPageIndexChange)="inChnagePage($event)">
<thead>
<tr>
<th nzWidth="20%">监测点名称</th>
<th>最大值</th>
<th>最小值</th>
<th>平均值</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let item of inList">
<tr class="cursor" (click)="getEcharts(item.itemid)">
<td>{{item.itemName}}</td>
<td>{{item.max | toUtil}}</td>
<td>{{item.min | toUtil}}</td>
<td>{{item.avg | toUtil}}</td>
<div class="padding-15-0">
<ng-container *ngIf="echartType == 'history'">
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'">
<nz-tab nzTitle="接收流量排行">
<nz-table #nzTable [nzData]="inList" [nzLoading]="inLoading" [nzFrontPagination]="false"
[nzTotal]="inTotalNum" [nzPageIndex]="inPageNum" [nzPageSize]="inPageCount"
(nzPageIndexChange)="inChnagePage($event)">
<thead>
<tr>
<th nzWidth="20%">监测点名称</th>
<th>最大值</th>
<th>最小值</th>
<th>平均值</th>
</tr>
</ng-container>
</tbody>
</nz-table>
</nz-tab>
<nz-tab nzTitle="发送流量排行">
<nz-table #nzTable [nzData]="outList" [nzLoading]="outLoading" [nzFrontPagination]="false" [nzTotal]="outTotalNum" [nzPageIndex]="outPageNum" [nzPageSize]="outPageCount" (nzPageIndexChange)="outChnagePage($event)">
<thead>
<tr>
<th nzWidth="20%">监测点名称</th>
<th>最大值</th>
<th>最小值</th>
<th>平均值</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let data of outList">
<tr class="cursor" (click)="getEcharts(data.itemid)">
<td>{{data.itemName}}</td>
<td>{{data.max | toUtil}}</td>
<td>{{data.min | toUtil}}</td>
<td>{{data.avg | toUtil}}</td>
</thead>
<tbody>
<ng-container *ngFor="let item of inList">
<tr class="cursor" (click)="getEcharts(item.itemid)">
<td>{{item.itemName}}</td>
<td>{{item.max | toUtil}}</td>
<td>{{item.min | toUtil}}</td>
<td>{{item.avg | toUtil}}</td>
</tr>
</ng-container>
</tbody>
</nz-table>
</nz-tab>
<nz-tab nzTitle="发送流量排行">
<nz-table #nzTable [nzData]="outList" [nzLoading]="outLoading" [nzFrontPagination]="false"
[nzTotal]="outTotalNum" [nzPageIndex]="outPageNum" [nzPageSize]="outPageCount"
(nzPageIndexChange)="outChnagePage($event)">
<thead>
<tr>
<th nzWidth="20%">监测点名称</th>
<th>最大值</th>
<th>最小值</th>
<th>平均值</th>
</tr>
</ng-container>
</tbody>
</nz-table>
</nz-tab>
</nz-tabset>
</ng-container>
</thead>
<tbody>
<ng-container *ngFor="let data of outList">
<tr class="cursor" (click)="getEcharts(data.itemid)">
<td>{{data.itemName}}</td>
<td>{{data.max | toUtil}}</td>
<td>{{data.min | toUtil}}</td>
<td>{{data.avg | toUtil}}</td>
</tr>
</ng-container>
</tbody>
</nz-table>
</nz-tab>
</nz-tabset>
</ng-container>
</div>
......@@ -369,7 +369,7 @@ export class FlowTrendComponent implements OnInit, OnDestroy {
});
} else {
this.inEchartData = [];
this.message.warning('图表暂无数据');
this.message.warning('进口流量图表暂无数据');
this.isLoading = false;
}
data.type = 'out';
......@@ -386,7 +386,7 @@ export class FlowTrendComponent implements OnInit, OnDestroy {
this.setEacharts();
} else {
this.inEchartData = [];
this.message.warning('图表暂无数据');
this.message.warning('出口流量图表暂无数据');
this.isLoading = false;
this.setEacharts();
}
......
......@@ -19,6 +19,11 @@ export class OverAllService {
return this.http.post(SERVER_API_URL + '/groups/getgroups', data);
}
//获取分组信息 --编辑页面获取分组 1 表示模板 0表示主机
getEditGroups(params): Observable<any> {
return this.http.get(SERVER_API_URL + '/groups/getAllUpdate/'+ params);
}
//查询模板组-----
getTemplateGroups(): Observable<any> {
return this.http.get(SERVER_API_URL + '/groups/getTemplateGroups');
......
......@@ -25,7 +25,7 @@ export class PararmsComponent implements OnInit {
eventPre = {
eventNoPre:"",
id:""
}
};
constructor(private workSer:WorkService,private message:NzMessageService,
private commomSer:CommonService) { }
......@@ -38,7 +38,11 @@ export class PararmsComponent implements OnInit {
getEventPre(){
this.workSer.getEventNoPre().subscribe(
(res)=>{
this.eventPre = res.data;
if(res.data){
this.eventPre = res.data;
}else{
this.message.warning("暂无事件前缀");
}
}
)
}
......@@ -50,13 +54,21 @@ export class PararmsComponent implements OnInit {
};
this.workSer.findParamsByType(data).subscribe(
(res)=>{
this.eventList = res.data;
if(res.data.length > 0){
this.eventList = res.data;
}else{
this.message.warning("暂无事件分类")
}
}
);
data.type = 1;
this.workSer.findParamsByType(data).subscribe(
(res)=>{
this.planList = res.data;
if(res.data.length > 0){
this.planList = res.data;
}else{
this.message.warning("暂无计划分类");
}
}
)
}
......
......@@ -231,6 +231,10 @@ ui bootstrap tweaks
background-color: #41adef;
animation: rotateplane 1.5s infinite linear;
}
.noData{
background-image: url("../images/noData.svg");
background-size: cover;
}
@keyframes rotateplane {
0% {
transform: rotateX(0); }
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1547691787193" class="icon" style="" viewBox="0 0 1485 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2280" xmlns:xlink="http://www.w3.org/1999/xlink" width="290.0390625" height="200"><defs><style type="text/css"></style></defs><path d="M148.993664 689.28h19.968a9.984 9.984 0 0 1 0 19.84h-19.968V729.6a9.984 9.984 0 0 1-9.984 9.728A10.112 10.112 0 0 1 128.641664 729.6v-20.48H109.057664a9.984 9.984 0 0 1-9.856-9.984 9.856 9.856 0 0 1 9.856-9.856h20.224v-20.096a9.984 9.984 0 0 1 19.84 0v20.096z m1306.624-79.616v-19.968a9.6 9.6 0 0 0-2.944-7.04 10.24 10.24 0 0 0-7.04-2.816 9.984 9.984 0 0 0-9.856 9.856v19.968h-20.096a8.96 8.96 0 0 0-6.912 3.072 9.344 9.344 0 0 0-2.816 6.912 9.984 9.984 0 0 0 9.728 9.984h20.096v19.968a9.856 9.856 0 0 0 9.856 9.856 9.984 9.984 0 0 0 9.984-9.856v-19.968h20.096a9.984 9.984 0 0 0 0-19.968zM736.385664 937.856H238.081664a19.328 19.328 0 0 1-13.824-5.888 19.84 19.84 0 0 1 13.824-33.92h89.6a80.128 80.128 0 0 1-10.624-39.68V281.6a80 80 0 0 1 23.168-56.192 79.104 79.104 0 0 1 56.064-23.296h59.264v-20.096a79.488 79.488 0 0 1 23.296-56.192A78.464 78.464 0 0 1 535.041664 102.4h475.008a79.36 79.36 0 0 1 79.232 79.36v577.28a78.464 78.464 0 0 1-10.624 39.552h109.44a19.968 19.968 0 0 1 0 39.808H950.785664v19.968a78.464 78.464 0 0 1-10.496 39.68h10.496a19.712 19.712 0 0 1 19.84 19.84 19.968 19.968 0 0 1-19.84 19.968H846.721664a39.424 39.424 0 0 1-6.016 48.384 40.32 40.32 0 0 1-28.032 11.776 39.296 39.296 0 0 1-28.032-11.776z m72.448-39.808h62.976A39.68 39.68 0 0 0 911.233664 857.6V280.448a38.4 38.4 0 0 0-38.4-38.4H395.009664a38.4 38.4 0 0 0-38.4 38.4V857.6a39.936 39.936 0 0 0 39.424 39.936h300.544l-9.984-10.24a40.064 40.064 0 0 1-10.368-38.4l-18.688-18.688a138.112 138.112 0 0 1-187.648-20.608 139.648 139.648 0 0 1 6.656-189.312 137.984 137.984 0 0 1 188.928-7.04 139.52 139.52 0 0 1 20.096 188.8L704.641664 821.12a39.424 39.424 0 0 1 38.4 10.24z m141.952-99.456h59.776a39.808 39.808 0 0 0 39.68-39.808V182.016a39.68 39.68 0 0 0-39.424-39.808H534.913664a39.808 39.808 0 0 0-39.424 39.808v19.84H871.041664A79.104 79.104 0 0 1 950.657664 281.6v516.992zM253.057664 67.584H282.241664a14.976 14.976 0 1 1 0 29.824h-29.44v29.696a14.976 14.976 0 1 1-29.824 0V97.408h-29.312a14.848 14.848 0 0 1-10.624-4.224 14.976 14.976 0 0 1 10.624-25.6h29.568V38.4a14.976 14.976 0 1 1 29.824 0zM20.353664 917.888a19.968 19.968 0 0 1 19.712-19.84h119.04a19.712 19.712 0 0 1 19.712 19.84 19.968 19.968 0 0 1-19.712 19.968h-119.04A19.84 19.84 0 0 1 26.241664 931.968a19.456 19.456 0 0 1-5.76-14.08z m624.256-128a99.84 99.84 0 0 0 0-140.8 98.816 98.816 0 0 0-140.032 0 99.84 99.84 0 0 0 0 140.8 98.816 98.816 0 0 0 140.032 0zM435.841664 321.408a19.84 19.84 0 0 1 19.712-19.968h217.6a19.968 19.968 0 0 1 0 39.808h-217.6a20.736 20.736 0 0 1-14.08-5.76 20.224 20.224 0 0 1-5.632-14.08z m0 99.328a19.84 19.84 0 0 1 19.712-19.84h317.312a19.968 19.968 0 0 1 0 39.808H455.681664A19.712 19.712 0 0 1 435.841664 420.736z m0 99.456a19.84 19.84 0 0 1 19.712-19.84H594.561664a19.84 19.84 0 0 1 0 39.68H455.809664A19.84 19.84 0 0 1 435.841664 520.192zM60.033664 400.896a59.648 59.648 0 1 1 59.264-59.648 59.392 59.392 0 0 1-59.264 59.648z m0-29.824a29.824 29.824 0 0 0 0-59.648 29.824 29.824 0 0 0 0 59.648z m1227.392-89.6a59.648 59.648 0 1 1 59.264-59.648 59.264 59.264 0 0 1-59.264 59.776z m0-29.824a29.568 29.568 0 0 0 25.6-14.976 30.208 30.208 0 0 0 0-29.824 29.696 29.696 0 1 0-25.6 44.8z" p-id="2281" fill="#000000"></path></svg>
\ No newline at end of file
......@@ -3,22 +3,22 @@
"short_name": "Bootapp",
"icons": [
{
"src": "./content/images/logo-jhipster.png",
"src": "./content/images/logo.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "./content/images/logo-jhipster.png",
"src": "./content/images/logo.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "./content/images/logo-jhipster.png",
"src": "./content/images/logo.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "./content/images/logo-jhipster.png",
"src": "./content/images/logo.png",
"sizes": "512x512",
"type": "image/png"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment