Commit bf05fdca authored by wangqinghua's avatar wangqinghua

update

parent ebb020ed
<!--处理人统计--> <!--处理人统计-->
<div class="releative"> <div class="releative">
<div class="time-div"> <div class="time-div">
<div nz-col nzSpan="6"> <div nz-col nzSpan="6">
<nz-radio-group style="width: 100%;" [(ngModel)]="timeType" (ngModelChange)="changeType()" [nzButtonStyle]="'solid'"> <nz-radio-group style="width: 100%;" [(ngModel)]="timeType" (ngModelChange)="changeType()"
<label nz-radio-button nzValue="1">日报</label> [nzButtonStyle]="'solid'">
<label nz-radio-button nzValue="2">周报</label> <label nz-radio-button nzValue="1">日报</label>
<label nz-radio-button nzValue="3">月报</label> <label nz-radio-button nzValue="2">周报</label>
<label nz-radio-button nzValue="4">自定义</label> <label nz-radio-button nzValue="3">月报</label>
</nz-radio-group> <label nz-radio-button nzValue="4">自定义</label>
</nz-radio-group>
</div>
<div nz-col nzSpan="8" *ngIf="timeType == '4'">
<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>
<div nz-col nzSpan="2" class="text-right">
<button (click)="search()" nz-button nzType="default"><i class="anticon anticon-search"
style="color: #6097b7"></i>搜索
</button>
</div>
</div> </div>
<div nz-col nzSpan="8" *ngIf="timeType == '4'">
<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>
<div nz-col nzSpan="2" class="text-right">
<button (click)="search()" nz-button nzType="default"><i class="anticon anticon-search"
style="color: #6097b7"></i>搜索</button>
</div>
</div>
</div> </div>
<nz-spin [nzSpinning]="isLoading"> <nz-spin [nzSpinning]="isLoading">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div> <div style="height: 500px">
<ng-container *ngIf="noData">
<div class="img-noData">
<div class="noData" title="暂无数据"></div>
</div>
</ng-container>
<ng-container *ngIf="!noData">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div>
</ng-container>
</div>
</nz-spin> </nz-spin>
<nz-table #nzTable [nzData]="dealList"> <nz-table #nzTable [nzData]="dealList">
<thead> <thead>
<tr>
<th nzWidth="20%">处理人</th>
<th>事件数量</th>
<th>解决状态</th>
<th>事件分类</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let data of dealList">
<tr> <tr>
<td>{{data.username}}</td> <th nzWidth="20%">处理人</th>
<td>{{data.num}}</td> <th>事件数量</th>
<td>未解决 {{data.unsolved}} 部分解决 {{data.solveLittle}} 解决 {{data.solved}}</td> <th>解决状态</th>
<td> <th>事件分类</th>
<ng-container *ngFor="let item of data.eventTypes">
<span>{{item.typeName}} {{item.num}}</span>
</ng-container>
</td>
</tr> </tr>
</ng-container> </thead>
</tbody> <tbody>
<ng-container *ngFor="let data of dealList">
<tr>
<td>{{data.username}}</td>
<td>{{data.num}}</td>
<td>未解决 {{data.unsolved}} 部分解决 {{data.solveLittle}} 解决 {{data.solved}}</td>
<td>
<ng-container *ngFor="let item of data.eventTypes">
<span>{{item.typeName}} {{item.num}}</span>
</ng-container>
</td>
</tr>
</ng-container>
</tbody>
</nz-table> </nz-table>
\ No newline at end of file
...@@ -23,6 +23,8 @@ export class AnalysisDealComponent implements OnInit { ...@@ -23,6 +23,8 @@ export class AnalysisDealComponent implements OnInit {
endTime: '' endTime: ''
}; };
noData = false;
constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe, constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe,
private overAllSer: OverAllService,) { private overAllSer: OverAllService,) {
} }
...@@ -36,12 +38,21 @@ export class AnalysisDealComponent implements OnInit { ...@@ -36,12 +38,21 @@ export class AnalysisDealComponent implements OnInit {
//获取图表 //获取图表
getEcharts() { getEcharts() {
this.isLoading = true;
this.analysisSer.operateUser(this.obj).subscribe( this.analysisSer.operateUser(this.obj).subscribe(
(res) => { (res) => {
if(res.errCode == 10000){ if(res.errCode == 10000){
this.dealList = res.data; if(res.data.length > 0 ){
this.setEcharts(); this.dealList = res.data;
this.setEcharts();
this.noData = false;
}else{
this.noData = true;
}
}else{
this.message.error(res.errMsg);
} }
this.isLoading = false;
} }
); );
} }
......
...@@ -30,8 +30,18 @@ ...@@ -30,8 +30,18 @@
</div> </div>
<nz-spin [nzSpinning]="isLoading"> <nz-spin [nzSpinning]="isLoading">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div> <div style="height: 500px">
<ng-container *ngIf="noData">
<div class="img-noData">
<div class="noData" title="暂无数据"></div>
</div>
</ng-container>
<ng-container *ngIf="!noData">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div>
</ng-container>
</div>
</nz-spin> </nz-spin>
<nz-table #nzTable [nzData]="eventList"> <nz-table #nzTable [nzData]="eventList">
<thead> <thead>
<tr> <tr>
......
import { Component, OnInit } from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {DatePipe} from '@angular/common'; import {DatePipe} from '@angular/common';
import {AnalysisService} from '../../analysis.service'; import {AnalysisService} from '../../analysis.service';
import {OverAllService} from '../../../overAll/overAll.service'; import {OverAllService} from '../../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd'; import {NzMessageService} from 'ng-zorro-antd';
@Component({ @Component({
selector: 'smart-analysis-event', selector: 'smart-analysis-event',
templateUrl: './analysis-event.component.html', templateUrl: './analysis-event.component.html',
styles: [] styles: []
}) })
export class AnalysisEventComponent implements OnInit { export class AnalysisEventComponent implements OnInit {
isLoading = false; isLoading = false;
startTime; startTime;
endTime; endTime;
timeType = "1"; timeType = '1';
chartOption; chartOption;
eventList; eventList;
...@@ -23,6 +23,8 @@ export class AnalysisEventComponent implements OnInit { ...@@ -23,6 +23,8 @@ export class AnalysisEventComponent implements OnInit {
endTime: '' endTime: ''
}; };
noData = false;
constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe, constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe,
private overAllSer: OverAllService,) { private overAllSer: OverAllService,) {
} }
...@@ -36,17 +38,26 @@ export class AnalysisEventComponent implements OnInit { ...@@ -36,17 +38,26 @@ export class AnalysisEventComponent implements OnInit {
//获取图表 //获取图表
getEcharts() { getEcharts() {
this.isLoading = true;
this.analysisSer.eventByType(this.obj).subscribe( this.analysisSer.eventByType(this.obj).subscribe(
(res) => { (res) => {
if(res.errCode == 10000){ if (res.errCode == 10000) {
this.eventList = res.data; if (res.data.length > 0) {
this.setEcharts(); this.eventList = res.data;
this.setEcharts();
this.noData = false;
} else {
this.noData = true;
}
} else {
this.message.error(res.errMsg);
} }
this.isLoading = false;
} }
); );
} }
setEcharts(){ setEcharts() {
this.chartOption = { this.chartOption = {
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
...@@ -56,22 +67,22 @@ export class AnalysisEventComponent implements OnInit { ...@@ -56,22 +67,22 @@ export class AnalysisEventComponent implements OnInit {
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
data: this.eventList.map(e=>{ data: this.eventList.map(e => {
return e.typeName; return e.typeName;
}) })
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
minInterval : 1, minInterval: 1,
axisLabel: { axisLabel: {
show: true, show: true,
interval: 'auto', interval: 'auto',
formatter: '{value} 个' formatter: '{value} 个'
}, },
boundaryGap : [ 0, 0.1 ], boundaryGap: [0, 0.1],
}, },
series: [{ series: [{
data: this.eventList.map(e=>{ data: this.eventList.map(e => {
return e.num; return e.num;
}), }),
type: 'bar' type: 'bar'
...@@ -90,13 +101,13 @@ export class AnalysisEventComponent implements OnInit { ...@@ -90,13 +101,13 @@ export class AnalysisEventComponent implements OnInit {
break; break;
} }
case'2': { //周报 case'2': { //周报
day1 = new Date(nowDate.getTime() - (nowDate.getDay()-1)*86400000); day1 = new Date(nowDate.getTime() - (nowDate.getDay() - 1) * 86400000);
this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00'; this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59'; this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59';
break; break;
} }
case'3': { //月报 case'3': { //月报
day1 = new Date(nowDate.getFullYear(),nowDate.getMonth(),1); day1 = new Date(nowDate.getFullYear(), nowDate.getMonth(), 1);
this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00'; this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59'; this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59';
break; break;
......
...@@ -31,7 +31,16 @@ ...@@ -31,7 +31,16 @@
<nz-spin [nzSpinning]="isLoading"> <nz-spin [nzSpinning]="isLoading">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div> <div style="height: 500px">
<ng-container *ngIf="noData">
<div class="img-noData">
<div class="noData" title="暂无数据"></div>
</div>
</ng-container>
<ng-container *ngIf="!noData">
<div echarts [options]="chartOption" style="height: 400px;width: 100%"></div>
</ng-container>
</div>
</nz-spin> </nz-spin>
<nz-table #nzTable [nzData]="statusList"> <nz-table #nzTable [nzData]="statusList">
......
import { Component, OnInit } from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {DatePipe} from '@angular/common'; import {DatePipe} from '@angular/common';
import {AnalysisService} from '../../analysis.service'; import {AnalysisService} from '../../analysis.service';
import {OverAllService} from '../../../overAll/overAll.service'; import {OverAllService} from '../../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd'; import {NzMessageService} from 'ng-zorro-antd';
@Component({ @Component({
selector: 'smart-analysis-status', selector: 'smart-analysis-status',
templateUrl: './analysis-status.component.html', templateUrl: './analysis-status.component.html',
styles: [] styles: []
}) })
export class AnalysisStatusComponent implements OnInit { export class AnalysisStatusComponent implements OnInit {
isLoading = false; isLoading = false;
startTime; startTime;
endTime; endTime;
timeType = "1"; timeType = '1';
chartOption; chartOption;
statusList; statusList;
...@@ -23,6 +23,8 @@ export class AnalysisStatusComponent implements OnInit { ...@@ -23,6 +23,8 @@ export class AnalysisStatusComponent implements OnInit {
endTime: '' endTime: ''
}; };
noData = false;
constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe, constructor(private analysisSer: AnalysisService, private message: NzMessageService, private datePipe: DatePipe,
private overAllSer: OverAllService,) { private overAllSer: OverAllService,) {
} }
...@@ -38,15 +40,23 @@ export class AnalysisStatusComponent implements OnInit { ...@@ -38,15 +40,23 @@ export class AnalysisStatusComponent implements OnInit {
getEcharts() { getEcharts() {
this.analysisSer.operateStatus(this.obj).subscribe( this.analysisSer.operateStatus(this.obj).subscribe(
(res) => { (res) => {
if(res.errCode == 10000){ if (res.errCode == 10000) {
this.statusList = res.data; if (res.data.length > 0) {
this.setEcharts(); this.statusList = res.data;
} this.setEcharts();
this.noData = false;
} else {
this.noData = true;
}
} else {
this.message.error(res.errMsg);
}
this.isLoading = false;
} }
); );
} }
setEcharts(){ setEcharts() {
this.chartOption = { this.chartOption = {
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
...@@ -56,22 +66,22 @@ export class AnalysisStatusComponent implements OnInit { ...@@ -56,22 +66,22 @@ export class AnalysisStatusComponent implements OnInit {
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
data: this.statusList.map(e=>{ data: this.statusList.map(e => {
return e.operateStatusName; return e.operateStatusName;
}) })
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
minInterval : 1, minInterval: 1,
axisLabel: { axisLabel: {
show: true, show: true,
interval: 'auto', interval: 'auto',
formatter: '{value} 个' formatter: '{value} 个'
}, },
boundaryGap : [ 0, 0.1 ], boundaryGap: [0, 0.1],
}, },
series: [{ series: [{
data: this.statusList.map(e=>{ data: this.statusList.map(e => {
return e.num; return e.num;
}), }),
type: 'bar' type: 'bar'
...@@ -90,13 +100,13 @@ export class AnalysisStatusComponent implements OnInit { ...@@ -90,13 +100,13 @@ export class AnalysisStatusComponent implements OnInit {
break; break;
} }
case'2': { //周报 case'2': { //周报
day1 = new Date(nowDate.getTime() - (nowDate.getDay()-1)*86400000); day1 = new Date(nowDate.getTime() - (nowDate.getDay() - 1) * 86400000);
this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00'; this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59'; this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59';
break; break;
} }
case'3': { //月报 case'3': { //月报
day1 = new Date(nowDate.getFullYear(),nowDate.getMonth(),1); day1 = new Date(nowDate.getFullYear(), nowDate.getMonth(), 1);
this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00'; this.obj.startTime = this.datePipe.transform(day1, 'yyyy-MM-dd') + ' 00:00:00';
this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59'; this.obj.endTime = this.datePipe.transform(nowDate, 'yyyy-MM-dd') + ' 23:59:59';
break; break;
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</div> </div>
<nz-spin [nzSpinning]="isLoading"> <nz-spin [nzSpinning]="isLoading">
<div style="margin-top: 30px" nz-row nzGutter="4"> <div style="margin-top: 30px" nz-row nzGutter="4">
<div nz-col nzSpan="12"> <div nz-col nzSpan="12" style="height: 500px">
<ng-container *ngIf="data.left"> <ng-container *ngIf="data.left">
<div class="img-noData"> <div class="img-noData">
<div class="noData" title="暂无数据"></div> <div class="noData" title="暂无数据"></div>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<div echarts [options]="chartTopOption" style="height: 400px;width: 100%"></div> <div echarts [options]="chartTopOption" style="height: 400px;width: 100%"></div>
</ng-container> </ng-container>
</div> </div>
<div nz-col nzSpan="12"> <div nz-col nzSpan="12" style="height: 500px">
<ng-container *ngIf="data.right"> <ng-container *ngIf="data.right">
<div class="img-noData"> <div class="img-noData">
<div class="noData" title="暂无数据"></div> <div class="noData" title="暂无数据"></div>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
</div> </div>
</div> </div>
<nz-table #nzTable [nzData]="childrenList" [nzShowPagination]="true"> <nz-table #nzTable [nzData]="childrenList" [nzFrontPagination]="false" [nzTotal]="totalNum" [nzPageIndex]="pageNum" [nzPageSize]="pageCount" (nzPageIndexChange)="change($event)" [nzLoading]="isLoading">
<thead> <thead>
<tr> <tr>
<th>子分类</th> <th>子分类</th>
......
...@@ -22,6 +22,8 @@ export class AssetPartComponent implements OnInit { ...@@ -22,6 +22,8 @@ export class AssetPartComponent implements OnInit {
childrenList; childrenList;
timeBegin; timeBegin;
timeEnd; timeEnd;
isLoading = true;
pageCount = pageSize; pageCount = pageSize;
pageNum = 1; pageNum = 1;
totalNum; totalNum;
...@@ -64,9 +66,11 @@ export class AssetPartComponent implements OnInit { ...@@ -64,9 +66,11 @@ export class AssetPartComponent implements OnInit {
//子级分类 //子级分类
changeType(){ changeType(){
this.isLoading = true;
this.workSer.findByParentidCount(this.obj.type).subscribe( this.workSer.findByParentidCount(this.obj.type).subscribe(
(res)=>{ (res)=>{
this.childrenList = res.data; this.childrenList = res.data;
this.isLoading = false;
} }
) )
} }
......
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