maotao месяцев назад: 3
Родитель
Сommit
d1df546a1d
48 измененных файлов с 1655 добавлено и 308 удалено
  1. 3 3
      src/app/components/configurationCenter/configuration-manHour/configuration-manHour.component.html
  2. 5 2
      src/app/components/order-scope/order-scope.component.ts
  3. 1 0
      src/app/services/tool.service.ts
  4. 8 4
      src/app/views/appraise-management/appraise-management.component.html
  5. 13 5
      src/app/views/appraise-management/appraise-management.component.ts
  6. 3 3
      src/app/views/fuwutai/fuwutai.component.html
  7. 271 138
      src/app/views/fuwutai/fuwutai.component.ts
  8. 1 1
      src/app/views/home/home.component.html
  9. 2 2
      src/app/views/new-statistics/components/search-more/search-more.component.html
  10. 47 9
      src/app/views/new-statistics/components/search-more/search-more.component.ts
  11. 8 8
      src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.html
  12. 4 0
      src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.less
  13. 79 4
      src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.ts
  14. 8 8
      src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.html
  15. 4 0
      src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.less
  16. 133 4
      src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.ts
  17. 8 8
      src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.html
  18. 4 0
      src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.less
  19. 110 5
      src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.ts
  20. 1 0
      src/app/views/new-statistics/maintenance-statistics/consumable-statistics/consumable-statistics.component.ts
  21. 12 12
      src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.html
  22. 4 0
      src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.less
  23. 139 0
      src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.ts
  24. 8 8
      src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.html
  25. 4 0
      src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.less
  26. 105 0
      src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.ts
  27. 8 8
      src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.html
  28. 4 0
      src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.less
  29. 64 0
      src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.ts
  30. 4 4
      src/app/views/new-statistics/maintenance-statistics/incident-list/incident-list.component.html
  31. 4 0
      src/app/views/new-statistics/maintenance-statistics/incident-list/incident-list.component.ts
  32. 8 8
      src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.html
  33. 4 0
      src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.less
  34. 83 6
      src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.ts
  35. 7 7
      src/app/views/new-statistics/maintenance-statistics/synthesize-statistics/synthesize-statistics.component.html
  36. 7 1
      src/app/views/new-statistics/maintenance-statistics/synthesize-statistics/synthesize-statistics.component.less
  37. 8 8
      src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.html
  38. 4 0
      src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.less
  39. 102 2
      src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.ts
  40. 12 12
      src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.html
  41. 4 0
      src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.less
  42. 164 1
      src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.ts
  43. 8 8
      src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.html
  44. 4 0
      src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.less
  45. 105 0
      src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.ts
  46. 3 3
      src/app/views/office-management/office-management.component.html
  47. 45 10
      src/app/views/office-management/office-management.component.ts
  48. 18 6
      src/app/views/qrcode-configuration/qrcode-configuration.component.ts

+ 3 - 3
src/app/components/configurationCenter/configuration-manHour/configuration-manHour.component.html

@@ -13,7 +13,7 @@
13 13
 			</div>
14 14
       <overlay-scrollbars #osComponentRef1 class="contentBody">
15 15
         <nz-spin nzSimple [nzSpinning]="categoryLoading1" class="mt8 text_align_center"></nz-spin>
16
-        <div [hidden]="categoryLoading1" class="contentItem" [title]="item.workName" [ngClass]="{ active: item.id === activeCategory1.id }" (click)="clickCategory(item, 1)" *ngFor="let item of categoryList1">{{ item.workName }} - {{item.workUnit}} - {{item.wage}}元 - {{item.integral.value}}分 - {{item.disableType==0?'停用':'启用'}}</div>
16
+        <div [hidden]="categoryLoading1" class="contentItem" [title]="item.workName" [ngClass]="{ active: item.id === activeCategory1.id }" (click)="clickCategory(item, 1)" *ngFor="let item of categoryList1">{{ item.workName }} - {{item.workUnit}} - {{item.wage}}元 - {{item.integral?item.integral.value:''}}分 - {{item.disableType==0?'停用':'启用'}}</div>
17 17
       </overlay-scrollbars>
18 18
     </div>
19 19
     <div class="address">
@@ -28,7 +28,7 @@
28 28
 			</div>
29 29
       <overlay-scrollbars #osComponentRef2 class="contentBody">
30 30
         <nz-spin nzSimple [nzSpinning]="categoryLoading2" class="mt8 text_align_center"></nz-spin>
31
-        <div [hidden]="categoryLoading2" class="contentItem" [title]="item.workName" [ngClass]="{ active: item.id === activeCategory2.id }" (click)="clickCategory(item, 2)" *ngFor="let item of categoryList2">{{ item.workName }} - {{item.workUnit}} - {{item.wage}}元 - {{item.integral.value}}分 - {{item.disableType==0?'停用':'启用'}}</div>
31
+        <div [hidden]="categoryLoading2" class="contentItem" [title]="item.workName" [ngClass]="{ active: item.id === activeCategory2.id }" (click)="clickCategory(item, 2)" *ngFor="let item of categoryList2">{{ item.workName }} - {{item.workUnit}} - {{item.wage}}元 - {{item.integral?item.integral.value:''}}分 - {{item.disableType==0?'停用':'启用'}}</div>
32 32
       </overlay-scrollbars>
33 33
     </div>
34 34
   </div>
@@ -155,7 +155,7 @@
155 155
 	            	<td>{{ data.operationType ? data.operationType.name : '-' }}</td>
156 156
 	            	<td>{{ data.operationTime|date:'yyyy-MM-dd HH:mm'}}</td>
157 157
 	            	<td>{{ data.operationUserDTO ? data.operationUserDTO.name : '-' }}</td>
158
-	            	<td>{{ data.logRemark ? data.logRemark : '-' }} <span *ngIf="data.operationType.value==6">单价:{{ data.currentPrice }} &nbsp;&nbsp;积分:{{ data.currentScore.value }}</span></td>
158
+	            	<td>{{ data.logRemark ? data.logRemark : '-' }} <span *ngIf="data.operationType.value==6">单价:{{ data.currentPrice }} &nbsp;&nbsp;积分:{{ data.currentScore?data.currentScore.value:'' }}</span></td>
159 159
 	            </tr>
160 160
 	          </tbody>
161 161
 	        </nz-table>

+ 5 - 2
src/app/components/order-scope/order-scope.component.ts

@@ -3,7 +3,7 @@ import { EventEmitter } from '@angular/core';
3 3
 import { MainService } from 'src/app/services/main.service';
4 4
 import { ToolService } from 'src/app/services/tool.service';
5 5
 import { NzMessageService } from 'ng-zorro-antd';
6
-import { Router } from "@angular/router";
6
+import { Router, ActivatedRoute } from "@angular/router";
7 7
 
8 8
 @Component({
9 9
   selector: 'app-order-scope',
@@ -29,7 +29,8 @@ export class OrderScopeComponent implements OnInit {
29 29
     private mainService: MainService,
30 30
     private tool: ToolService,
31 31
     private message: NzMessageService,
32
-		public router: Router
32
+		public router: Router,
33
+		public route: ActivatedRoute
33 34
   ) { }
34 35
 
35 36
   user = JSON.parse(localStorage.getItem("user")); //用户信息
@@ -49,6 +50,8 @@ export class OrderScopeComponent implements OnInit {
49 50
 	menuList:any;
50 51
 
51 52
   ngOnInit() {
53
+		let btn = this.tool.initCoopBtns(this.route)
54
+		console.log(77777,btn)
52 55
 		let menuItem = JSON.parse(localStorage.getItem("menuItem"))
53 56
 		this.menuList = menuItem.find(i=>i.link=='gongdanfanwei')
54 57
     this.initItsm();

+ 1 - 0
src/app/services/tool.service.ts

@@ -314,6 +314,7 @@ export class ToolService {
314 314
 				  break;
315 315
 				case "log":
316 316
 				  coopBtns.log = true; //日志
317
+					break
317 318
 				case "viewGd":
318 319
 				  coopBtns.viewGd = true; //查看工单
319 320
 				  break;

+ 8 - 4
src/app/views/appraise-management/appraise-management.component.html

@@ -7,7 +7,7 @@
7 7
           <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" [nzShowSearch]="false" nzAllowClear
8 8
             nzPlaceHolder="请选择工单类型" [(ngModel)]="taskType">
9 9
             <ng-container *ngFor="let data of allTaskType">
10
-              <nz-option nzLabel="{{data.taskName}}" nzValue="{{data.id}}"></nz-option>
10
+              <nz-option nzLabel="{{data.name}}" nzValue="{{data.id}}"></nz-option>
11 11
             </ng-container>
12 12
           </nz-select>
13 13
         </div>
@@ -42,6 +42,10 @@
42 42
             <nz-option nzLabel="{{data.name}}" nzValue="{{data.id}}" *ngFor="let data of handleStatus"></nz-option>
43 43
           </nz-select>
44 44
         </div>
45
+				<div class="list-template__searchItem">
46
+				  <span class="label">单号</span>:
47
+				  <input class="formItem" nz-input placeholder="请输入单号" [(ngModel)]="orderNo" />
48
+				</div>
45 49
       </div>
46 50
       <div nz-col nzXl='6' class="list-template__btns">
47 51
         <button nz-button class="btn default" (click)='search()'>搜索</button>
@@ -57,7 +61,7 @@
57 61
 						<th>工单类型</th>
58 62
             <th>单号</th>
59 63
             <th>申请科室</th>
60
-            <th>发起时间</th>
64
+            <!-- <th>发起时间</th> -->
61 65
 						<th>执行人</th>
62 66
 						<th>评价时间</th>
63 67
             <th>评价等级</th>
@@ -73,8 +77,8 @@
73 77
 						<td>{{data.orderType?data.orderType.name:'-'}}</td>
74 78
             <td>{{data.orderNo}}</td>
75 79
             <td>{{ data.startDept.dept }}</td>
76
-            <td>{{timestampToTime(data.startTime)}}</td>
77
-						<td>{{data.mediationUser?data.mediationUser.name:''}}</td>
80
+            <!-- <td>{{timestampToTime(data.startTime)}}</td> -->
81
+						<td>{{data.worker?data.worker.name:''}}</td>
78 82
 						<td>{{ data.evaluationTime?timestampToTime(data.evaluationTime):'-'}}</td>
79 83
 						<td>{{ data.evaluationLevel ? data.evaluationLevel.name:'-' }}</td>
80 84
 						<td>

+ 13 - 5
src/app/views/appraise-management/appraise-management.component.ts

@@ -29,6 +29,7 @@ export class AppraiseManagementComponent implements OnInit {
29 29
   department: any; //所属科室
30 30
   mediUser: number; //调解人
31 31
   taskType: number; //工单类型
32
+	orderNo:any;
32 33
   allTaskType: any; //所有工单类型
33 34
   allHospital: any; //所有院区
34 35
   pageIndex: number = 1; //页码
@@ -70,7 +71,6 @@ export class AppraiseManagementComponent implements OnInit {
70 71
     this.worker = null;
71 72
     this.mediUser = null;
72 73
     this.status = null;
73
-    this.getAllTaskType();
74 74
     this.getAllWorker();
75 75
     this.getAllMediUser();
76 76
   }
@@ -123,7 +123,6 @@ export class AppraiseManagementComponent implements OnInit {
123 123
       user: {
124 124
         name: e || "",
125 125
         hospital: { id: that.hospital },
126
-        usertype: { id: 107 }, //服务台
127 126
       },
128 127
       idx: 0,
129 128
       sum: 20,
@@ -167,6 +166,11 @@ export class AppraiseManagementComponent implements OnInit {
167 166
       .subscribe((data) => {
168 167
         that.handleStatus = data;
169 168
       });
169
+		that.mainService
170
+		  .getDictionary("list", "order_type")
171
+		  .subscribe((data) => {
172
+		    that.allTaskType = data;
173
+		  });
170 174
   }
171 175
 
172 176
   // 搜索
@@ -178,6 +182,7 @@ export class AppraiseManagementComponent implements OnInit {
178 182
   reset() {
179 183
     this.pageIndex = 1;
180 184
     this.taskType = null;
185
+		this.orderNo = null;
181 186
     this.worker = null;
182 187
     this.mediUser = null;
183 188
     this.status = null;
@@ -191,15 +196,18 @@ export class AppraiseManagementComponent implements OnInit {
191 196
       idx: that.pageIndex - 1,
192 197
       sum: that.pageSize,
193 198
       badEvaluationHandle: {
194
-        taskType: that.taskType || "",
199
+				orderNo: that.orderNo || "",
200
+        orderType: {
201
+					id: that.taskType || "",
202
+				},
195 203
         worker: { id: that.worker || "" },
196 204
         handleStatus: { id: that.status || "" },
197 205
         hosId: that.hospital,
198 206
         mediationUser: { id: that.mediUser },
199 207
       },
200 208
     };
201
-    if (!data.badEvaluationHandle.taskType) {
202
-      delete data.badEvaluationHandle.taskType;
209
+    if (!data.badEvaluationHandle.orderType) {
210
+      delete data.badEvaluationHandle.orderType;
203 211
     }
204 212
     if (!data.badEvaluationHandle.worker.id) {
205 213
       delete data.badEvaluationHandle.worker;

+ 3 - 3
src/app/views/fuwutai/fuwutai.component.html

@@ -118,7 +118,7 @@
118 118
                   <div class="gongdan" (click)="batchDispatchSelect(!data.checked, data.data.id, $event)">
119 119
                     <span class="left mr8" *ngIf="!flagList.itsmFlag1 && flagList.hsmsFlag1"><label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchDispatchSelect($event, data.data.id)"></label></span>
120 120
                     <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
121
-                      <strong [ngStyle]="{color: data.taskTypeConfig.renderColors?data.taskTypeConfig.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
121
+                      <strong [ngStyle]="{color: data.data.taskType?data.data.taskType.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
122 122
                     </span>
123 123
                     <div class="right_all">
124 124
                       <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
@@ -315,7 +315,7 @@
315 315
                       <label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
316 316
                     </span>
317 317
                     <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
318
-                      <strong [ngStyle]="{color: data.taskTypeConfig.renderColors?data.taskTypeConfig.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
318
+                      <strong [ngStyle]="{color: data.data.taskType?data.data.taskType.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
319 319
                     </span>
320 320
                     <div class="right_all">
321 321
                       <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>
@@ -500,7 +500,7 @@
500 500
                       <label nz-checkbox [ngModel]="data.checked" (ngModelChange)="batchWithdrawalSelect($event, data.data.id)"></label>
501 501
                     </span>
502 502
                     <span class="left gongdan_name" nz-tooltip [nzTooltipTitle]="data.data.taskType.taskName + (data.data.goodsRemark?'-'+data.data.goodsRemark:'')+'(' + data.data.gdcode + ')'">
503
-                      <strong [ngStyle]="{color: data.taskTypeConfig.renderColors?data.taskTypeConfig.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
503
+                      <strong [ngStyle]="{color: data.data.taskType?data.data.taskType.renderColors:'#333'}">{{ data.data.taskType.taskName }}</strong><ng-container *ngIf="data.data.goodsRemark">-{{data.data.goodsRemark}}</ng-container>({{ data.data.gdcode }})
504 504
                     </span>
505 505
                     <div class="right_all">
506 506
                       <span nz-tooltip [nzTooltipTitle]="data.data.worker ? data.data.worker.phone : ''" class="right_all_name">{{ data.data.worker ? data.data.worker.name : "" }}</span>

+ 271 - 138
src/app/views/fuwutai/fuwutai.component.ts

@@ -440,6 +440,7 @@ export class FuwutaiComponent implements OnInit {
440 440
         console.log(data);
441 441
         this.isOkLoading = false;
442 442
         this.isGoLoading = false;
443
+				this.dataStatus = data["status"];
443 444
         if (data["status"] == 200) {
444 445
           this.newOrderShow = false; //关闭弹窗
445 446
           if (go === "&go&") {
@@ -453,11 +454,21 @@ export class FuwutaiComponent implements OnInit {
453 454
             }
454 455
             this.showPromptModal("建单", true, "", "close");
455 456
           }
456
-        } else if(data["status"] == 1000033){
457
+        } 
458
+				else if(data["status"] == 1000033){
459
+					this.newOrderShow = false; //关闭弹窗
460
+					if (go === "&go&") {
461
+					  this.applyDept = data["startDept"].id;
462
+					  this.applyStartDept = data["startDept"];
463
+					  this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
464
+					}
457 465
 					//重复建单那策略
458 466
 					this.repeatMsg = data["msg"];
459
-					this.showRepeatModal(postData, "transport");
460
-				}else{
467
+					this.showRepeatModal(postData, "transport", go);
468
+				}else if (data["status"] == 100043){
469
+					this.showPromptModal("建单", true, data["msg"]);
470
+				}
471
+				else{
461 472
 					this.showPromptModal("建单", false, data["msg"]);
462 473
 				}
463 474
       });
@@ -527,6 +538,7 @@ export class FuwutaiComponent implements OnInit {
527 538
         console.log(data);
528 539
         this.isOkLoading = false;
529 540
         this.isGoLoading = false;
541
+				this.dataStatus = data["status"];
530 542
         if (data["status"] == 200) {
531 543
           this.newOrderShow = false; //关闭弹窗
532 544
           if (go === "&go&") {
@@ -542,18 +554,36 @@ export class FuwutaiComponent implements OnInit {
542 554
           }
543 555
         } else if(data["status"] == 100042){
544 556
           this.newOrderShow = false; //关闭弹窗
545
-          this.showPromptModal("建单", false, data["msg"]);
546
-        } else if(data["status"] == 1000033){
557
+					if (go === "&go&") {
558
+						this.applyDept = data["startDept"].id;
559
+						this.applyStartDept = data["startDept"];
560
+						this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
561
+						this.showPromptModal("建单", false, data["msg"], "closeGo");
562
+					}else{
563
+						this.showPromptModal("建单", false, data["msg"]);
564
+					}
565
+        } 
566
+				else if(data["status"] == 1000033){
567
+					this.newOrderShow = false; //关闭弹窗
568
+					if (go === "&go&") {
569
+						this.applyDept = data["startDept"].id;
570
+						this.applyStartDept = data["startDept"];
571
+						this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
572
+					}
547 573
 					//重复建单那策略
548 574
 					this.repeatMsg = data["msg"];
549
-					this.showRepeatModal(postData, "inspection");
550
-				}else{
575
+					this.showRepeatModal(postData, "inspection", go);					
576
+				}else if (data["status"] == 100043){
577
+					this.showPromptModal("建单", true, data["msg"]);
578
+				}
579
+				else{
551 580
 					this.showPromptModal("建单", false, data["msg"]);
552 581
 				}
553 582
       });
554 583
     }
555 584
   }
556 585
   // 标本配送表单提交
586
+	dataStatus:any;
557 587
   submitFormBbps(go?) {
558 588
     let postData = {
559 589
       workOrder: {
@@ -573,6 +603,7 @@ export class FuwutaiComponent implements OnInit {
573 603
     this.mainService.buildOrder(postData).subscribe((data) => {
574 604
       this.isOkLoading = false;
575 605
       this.isGoLoading = false;
606
+			this.dataStatus = data["status"];
576 607
       if (data["status"] == 200) {
577 608
         this.newOrderShow = false; //关闭弹窗
578 609
         if (go === "&go&") {
@@ -586,11 +617,19 @@ export class FuwutaiComponent implements OnInit {
586 617
           }
587 618
           this.showPromptModal("建单", true, "", "close");
588 619
         }
589
-      } else if(data["status"] == 1000033){
590
-				//重复建单那策略
591
-				this.repeatMsg = data["msg"];
592
-				this.showRepeatModal(postData, "specimen");
593
-			}else{
620
+      }else if(data["status"] == 1000033){
621
+				 this.newOrderShow = false; //关闭弹窗
622
+				 if (go === "&go&") {
623
+				 	this.applyDept = data["startDept"].id;
624
+				 	this.applyStartDept = data["startDept"];
625
+				 	this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
626
+				 }
627
+				 //重复建单那策略
628
+				 this.repeatMsg = data["msg"];
629
+				 this.showRepeatModal(postData, "specimen", go);
630
+			}else if (data["status"] == 100043){
631
+				this.showPromptModal("建单", true, data["msg"]);
632
+			} else{
594 633
 				this.showPromptModal("建单", false, data["msg"]);
595 634
 			}
596 635
     });
@@ -639,6 +678,7 @@ export class FuwutaiComponent implements OnInit {
639 678
     this.mainService.buildOrder(postData).subscribe((data) => {
640 679
       this.isOkLoading = false;
641 680
       this.isGoLoading = false;
681
+			this.dataStatus = data["status"];
642 682
       if (data["status"] == 200) {
643 683
         this.newOrderShow = false; //关闭弹窗
644 684
         if (go === "&go&") {
@@ -652,11 +692,22 @@ export class FuwutaiComponent implements OnInit {
652 692
           }
653 693
           this.showPromptModal("建单", true, "", "close");
654 694
         }
655
-      } else if(data["status"] == 1000033){
695
+      } 
696
+			else if(data["status"] == 1000033){
697
+				this.newOrderShow = false; //关闭弹窗
698
+				if (go === "&go&") {
699
+					this.applyDept = data["startDept"].id;
700
+					this.applyStartDept = data["startDept"];
701
+					this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
702
+				}
656 703
 				//重复建单那策略
657 704
 				this.repeatMsg = data["msg"];
658
-				this.showRepeatModal(postData, "other");
659
-			}else{
705
+				this.showRepeatModal(postData, "other", go);
706
+				
707
+			}else if (data["status"] == 100043){
708
+				this.showPromptModal("建单", true, data["msg"]);
709
+			}
710
+			else{
660 711
 				this.showPromptModal("建单", false, data["msg"]);
661 712
 			}
662 713
     });
@@ -697,6 +748,7 @@ export class FuwutaiComponent implements OnInit {
697 748
     this.mainService.buildOrder(postData).subscribe((data) => {
698 749
       this.isOkLoading = false;
699 750
       this.isGoLoading = false;
751
+			this.dataStatus = data["status"];
700 752
       if (data["status"] == 200) {
701 753
         this.newOrderShow = false; //关闭弹窗
702 754
         if (go === "&go&") {
@@ -710,11 +762,21 @@ export class FuwutaiComponent implements OnInit {
710 762
           }
711 763
           this.showPromptModal("建单", true, "", "close");
712 764
         }
713
-      } else if(data["status"] == 1000033){
765
+      } 
766
+			else if(data["status"] == 1000033){
767
+				this.newOrderShow = false; //关闭弹窗
768
+				if (go === "&go&") {
769
+					this.applyDept = data["startDept"].id;
770
+					this.applyStartDept = data["startDept"];
771
+					this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
772
+				}
714 773
 				//重复建单那策略
715 774
 				this.repeatMsg = data["msg"];
716
-				this.showRepeatModal(postData, "ordinary");
717
-			}else{
775
+				this.showRepeatModal(postData, "ordinary", go);
776
+			}else if (data["status"] == 100043){
777
+				this.showPromptModal("建单", true, data["msg"]);
778
+			}
779
+			else{
718 780
 				this.showPromptModal("建单", false, data["msg"]);
719 781
 			}
720 782
     });
@@ -797,24 +859,23 @@ export class FuwutaiComponent implements OnInit {
797 859
           this.getInspectAndPatientTransportConfig(tasktype);
798 860
         }
799 861
       });
800
-			
801
-			let query = {
802
-			  idx: 0,
803
-			  sum: 9999,
804
-			  taskType: {
805
-			    hosId: {
806
-			      id: this.checkedHos
807
-			    }
808
-			  }
809
-			};
810
-			this.mainService
811
-			  .getFetchDataList("simple/data", "taskType", query)
812
-			  .subscribe((result) => {
813
-			    if (result.status == 200) {
814
-			      this.allTaskType = result.list || {};
815
-						this.initControlView();
816
-			    }
817
-			  });
862
+			// let query = {
863
+			//   idx: 0,
864
+			//   sum: 9999,
865
+			//   taskType: {
866
+			//     hosId: {
867
+			//       id: this.checkedHos
868
+			//     }
869
+			//   }
870
+			// };
871
+			// this.mainService
872
+			//   .getFetchDataList("simple/data", "taskType", query)
873
+			//   .subscribe((result) => {
874
+			//     if (result.status == 200) {
875
+			//       this.allTaskType = result.list || {};
876
+			// 			this.initControlView();
877
+			//     }
878
+			//   });
818 879
   }
819 880
   // 获取检查页面信息配置
820 881
   getInspectAndPatientTransportConfig(tasktype) {
@@ -907,6 +968,7 @@ export class FuwutaiComponent implements OnInit {
907 968
     this.initOrderScope();
908 969
     this.getVisitList();
909 970
     this.getMessageList();
971
+		this.initControlView();
910 972
     this.moveMenu("fixedMenu");
911 973
     this.moveMenu("fixedMenuLeft");
912 974
     this.moveMenuAll("fixedMenuAll");
@@ -2239,9 +2301,12 @@ export class FuwutaiComponent implements OnInit {
2239 2301
               item.computedReceiveFlag = this.computedReceive(item.data)
2240 2302
               item.computedEditFlag = this.computedEdit(item.data)
2241 2303
             }
2242
-						item.taskTypeConfig = this.allTaskType.find(i=>i.associationType.id == item.data.taskType.associationType.id)
2304
+						// else{
2305
+						// 	item.taskTypeConfig = this.allTaskType.find(i=>i.id == item.data.taskType.id)
2306
+						// }
2243 2307
           });
2244 2308
           this.unassignedList = unassignedList;
2309
+					console.log(5555,unassignedList)
2245 2310
           this.batchType = false;
2246 2311
           this.allUnassignedList = false;
2247 2312
           this.unassignedListClone = cloneDeep(this.unassignedList);
@@ -2266,7 +2331,9 @@ export class FuwutaiComponent implements OnInit {
2266 2331
               item.computedReceiveFlag = this.computedReceive(item.data)
2267 2332
               item.computedEditFlag = this.computedEdit(item.data)
2268 2333
             }
2269
-						item.taskTypeConfig = this.allTaskType.find(i=>i.associationType.id == item.data.taskType.associationType.id)
2334
+						// else{
2335
+						// 	item.taskTypeConfig = this.allTaskType.find(i=>i.id == item.data.taskType.id)
2336
+						// }
2270 2337
           });
2271 2338
           this.arriveList = arriveList;
2272 2339
           this.batchType1 = false;
@@ -2282,7 +2349,9 @@ export class FuwutaiComponent implements OnInit {
2282 2349
               item.computedHandleFlag = this.computedHandle(item.data)
2283 2350
               item.computedEditFlag = this.computedEdit(item.data)
2284 2351
             }
2285
-						item.taskTypeConfig = this.allTaskType.find(i=>i.associationType.id == item.data.taskType.associationType.id)
2352
+						// else{
2353
+						// 	item.taskTypeConfig = this.allTaskType.find(i=>i.id == item.data.taskType.id)
2354
+						// }
2286 2355
           });
2287 2356
           this.executionList = executionList;
2288 2357
           this.loading3 = false;
@@ -4112,6 +4181,7 @@ export class FuwutaiComponent implements OnInit {
4112 4181
       if(this.incomingService.getSign() === 'callCenter' && this.incomingService.getPhoneNumber()){
4113 4182
         this.jry_shixian();
4114 4183
       }
4184
+			this.goType = null;
4115 4185
       this.newOrderShow = false; //关闭弹窗
4116 4186
       this.newOrderShowOpen = false; //此时可出现新的弹窗
4117 4187
       this.showPromptModal("操作", true, "", "");
@@ -4652,7 +4722,7 @@ export class FuwutaiComponent implements OnInit {
4652 4722
     console.log(this.workTypesArrange[index].value);
4653 4723
     let taskType = this.workTypesArrange[index].value.find(v => v.id == value);
4654 4724
     let patientCode;
4655
-		this.taskType = taskType.associationTypeValue
4725
+		// this.taskType = taskType.associationTypeValue?taskType.associationTypeValue:null
4656 4726
     if(taskType.associationTypeValue === 'inspect'){
4657 4727
       patientCode = this.patientZy;
4658 4728
       this.requiredConfigChange('validateFormZy', 'startDept', false);
@@ -4779,8 +4849,9 @@ export class FuwutaiComponent implements OnInit {
4779 4849
       return;
4780 4850
     }
4781 4851
 		let index = this.tabIndex;
4782
-		let item = this.workTypesArrange[1].value.find(v => v.id == value);
4783
-		this.taskType = item.associationTypeValue
4852
+		// let item = this.workTypesArrange[1].value.find(v => v.id == value);
4853
+		// console.log(788787,item)
4854
+		// this.taskType = item.associationTypeValue?item.associationTypeValue:null
4784 4855
 		this.psValue = value
4785 4856
     this.startDeptQt = null;
4786 4857
     this.endDeptQt = null;
@@ -4842,26 +4913,33 @@ export class FuwutaiComponent implements OnInit {
4842 4913
 
4843 4914
   //新建工单->确定提交
4844 4915
   isGoLoading = false;
4916
+	goType:any;
4845 4917
   newOrderOk(go?): void {
4918
+		this.goType = go
4846 4919
     console.log(this.radioValueQt);
4847 4920
     let arr = this.workTypesArrange.find(v => v.key === this.currentTabIndex);
4848 4921
     let objQt = arr.value.find(v => v.id == this.radioValueQt);
4849 4922
     let objZy = arr.value.find(v => v.id == this.radioValueZy);
4850 4923
     if (this.isYyInspect && objQt && objQt.associationTypeValue === 'other') {
4851 4924
       this.clickYYFlag = true;
4925
+			console.log(110)
4852 4926
     } else {
4927
+			console.log(111)
4853 4928
       this.clickYYFlag = false;
4854 4929
     }
4855 4930
     if (this.isYyInspect && objZy && (objZy.associationTypeValue === 'patientTransport' || objZy.associationTypeValue === 'inspect')) {
4856 4931
       this.clickYYZyFlag = true;
4932
+			console.log(112)
4857 4933
     } else {
4858 4934
       this.clickYYZyFlag = false;
4935
+			console.log(113)
4859 4936
     }
4860 4937
 
4861 4938
     if (
4862 4939
       (!this.yyTime && objQt && objQt.associationTypeValue === 'other' && this.isYyInspect) ||
4863 4940
       (!this.yyTimeZy && objZy && (objZy.associationTypeValue === 'patientTransport' || objZy.associationTypeValue === 'inspect') && this.isYyInspect)
4864 4941
     ) {
4942
+			console.log(114)
4865 4943
       return;
4866 4944
     }
4867 4945
 
@@ -4902,6 +4980,7 @@ export class FuwutaiComponent implements OnInit {
4902 4980
     this.currentTabIndex = "";
4903 4981
     this.fixedTab = "";
4904 4982
     this.fixedMenuShangla();
4983
+		this.goType = null;
4905 4984
     this.radioValueQt = null;
4906 4985
     this.startDeptQt = null;
4907 4986
     this.endDeptQt = null;
@@ -5061,13 +5140,23 @@ export class FuwutaiComponent implements OnInit {
5061 5140
     this.mainService.buildOrder(postData).subscribe((result:any) => {
5062 5141
       this.createLoading = false;
5063 5142
       this.deptFlag = false;
5143
+			this.dataStatus = result["status"];
5064 5144
       if (result["status"] == 200) {
5065 5145
         this.showPromptModal("建单", true, "");
5066
-      } else if(result["status"] == 1000033){
5146
+      } 
5147
+			else if(result["status"] == 1000033){
5148
+				if (this.goType === "&go&") {
5149
+					this.applyDept = result["startDept"].id;
5150
+					this.applyStartDept = result["startDept"];
5151
+					this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = result["phone"];
5152
+				}
5067 5153
 				//重复建单那策略
5068
-				this.repeatMsg = result.msg;
5069
-				this.showRepeatModal(postData, "");
5070
-      }else{
5154
+				this.repeatMsg = result["msg"];
5155
+				this.showRepeatModal(postData, "ordinary", this.goType);
5156
+      }else if (result["status"] == 100043){
5157
+				this.showPromptModal("建单", true, result["msg"]);
5158
+			}
5159
+			else{
5071 5160
 				this.showPromptModal("建单", false, result["msg"]);
5072 5161
 			}
5073 5162
     });
@@ -5084,34 +5173,7 @@ export class FuwutaiComponent implements OnInit {
5084 5173
 	isShowConfirm:boolean = true;
5085 5174
 	isShowConfirmInfo:string = '';
5086 5175
 	newOrderTimeFun(order, fun1, fun2){
5087
-	  if(this.currentDept.typeValue != 'recovery' && this.currentDept.typeValue != 'surgery'){
5088
-	    let taskTypeId = order.taskType.id;
5089
-	    let deptId = order.createDept;
5090
-	    let maskFlag = this.msg.loading("正在加载中..", {
5091
-	      nzDuration: 0,
5092
-	    }).messageId;
5093
-	    this.mainService
5094
-	    .postCustom("api", "compareWorkTime", {taskTypeId, deptId, yyTime: order.yyTime})
5095
-	    .subscribe((data) => {
5096
-	      this.msg.remove(maskFlag);
5097
-	      if(data.state == 200){
5098
-	        fun2.call(this);
5099
-	      }else{
5100
-	        fun1.call(this);
5101
-	        this.limitTimeModal = true;
5102
-	        this.limitTimeItem = {taskTypeId, fun1, fun2};
5103
-	        this.limitTimeInfo = data.data.remark;
5104
-	        this.isShowConfirm = data.data.limitType == 1;
5105
-	        if(this.isShowConfirm || data.data.limitNum == 1){
5106
-	          this.isShowConfirmInfo = '';
5107
-	        }else{
5108
-	          this.isShowConfirmInfo = '请在规定时间内下单';
5109
-	        }
5110
-	      }
5111
-	    })
5112
-	  }else{
5113
-	    fun2.call(this);
5114
-	  }
5176
+	  fun2.call(this)
5115 5177
 	}
5116 5178
 	
5117 5179
 	repeatModal: boolean = false; //删除模态框
@@ -5119,121 +5181,156 @@ export class FuwutaiComponent implements OnInit {
5119 5181
 	loadingRepeat = false;
5120 5182
 	repeatPostData;
5121 5183
 	sourceType;
5122
-	isYuyue;
5123
-	showRepeatModal(postData, sourceType, yuyue?) {
5184
+	showRepeatModal(postData, sourceType, go) {
5124 5185
 	  this.repeatModal = true;
5125 5186
 	  this.repeatPostData = postData;
5126 5187
 	  this.sourceType = sourceType;
5127
-	  this.isYuyue = yuyue ? yuyue : false;
5188
+		// if(this.goType=='&go&'){
5189
+		// 	this.showRepetitionModal("建单", true, "", "closeGo");
5190
+		// }
5128 5191
 	}
5129 5192
 	hideRepeatModal() {
5130 5193
 	  this.repeatModal = false;
5131 5194
 	  this.btnLoading = false;
5195
+		this.confirmType = false;
5196
+		if(this.goType=='&go&'){
5197
+			console.log('fou222222')
5198
+			this.showNewOrder("&go&");
5199
+			// this.showRepetitionModal("建单", true, "", "closeGo");
5200
+		}
5132 5201
 	}
5202
+	
5203
+	confirmType:boolean = false;
5133 5204
 	confirmRepeat() {
5205
+		this.confirmType = true;
5134 5206
 	  this.loadingRepeat = true;
5135 5207
 	  this.repeatPostData.tipsCreateOder = 1;
5136
-	  this.newOrderTimeFun(this.repeatPostData.workOrder, () => {
5208
+		let url = null;
5209
+		if(this.isYyInspect){
5210
+			url = this.mainService.postCustom("api", "appointmentOrder", this.repeatPostData)
5211
+		}else{
5212
+			url = this.mainService.buildOrder(this.repeatPostData)
5213
+		}
5214
+	 url.subscribe((data) => {
5137 5215
 	    this.loadingRepeat = false;
5138 5216
 	    this.repeatModal = false;
5139
-	  }, () => {
5140
-	    this.mainService
5141
-	    .postCustom(
5142
-	      "api",
5143
-	      this.isYuyue ? "appointmentOrder" : "startOrder",
5144
-	      this.repeatPostData
5145
-	    )
5146
-	    .subscribe((data) => {
5147
-	      this.loadingRepeat = false;
5148
-	      this.repeatModal = false;
5149
-	      if(this.currentDept.typeValue == 'recovery'){
5150
-	        this.mainService.postCustom("api", "clearPatientRecoveryDept", {patientCode: this.repeatPostData.workOrder.patient.patientCode}).subscribe((resultData) => {
5151
-	          this.confirmRepeatFun(data);
5152
-	        });
5153
-	      }else{
5154
-	        this.confirmRepeatFun(data);
5155
-	      }
5156
-	    });
5157
-	  })
5217
+			if(this.currentDept.typeValue == 'recovery'){
5218
+			  this.mainService.postCustom("api", "clearPatientRecoveryDept", {patientCode: this.repeatPostData.workOrder.patient.patientCode}).subscribe((resultData) => {
5219
+			    this.confirmRepeatFun(data);
5220
+			  });
5221
+			}else{
5222
+			  this.confirmRepeatFun(data);
5223
+			}
5224
+	    
5225
+	  });
5158 5226
 	}
5159 5227
 	confirmRepeatFun(data){
5228
+		console.log(10087,this.sourceType)
5160 5229
 	  if (this.sourceType === "specimen") {
5161 5230
 	    // 标本建单
5162
-	    if (data.status == 200 && (this.taskType == "other" || this.taskType == "ordinary")) {
5163
-	      this.showPromptModal("创建", true, "", this.taskType);
5164
-	    } else if (data.status == 200 && this.taskType == "bb") {
5165
-	      this.showPromptModal("创建", true, "", "bb");
5166
-	    } else if (this.taskType == "bb" && data.status == 100043) {
5167
-	      this.showPromptModal("创建", true, data.msg);
5168
-	    } else {
5169
-	      this.showPromptModal("创建", false, data.msg);
5170
-	    }
5231
+			if (data.status == 200){
5232
+				this.showRepetitionModal("创建", true, "");
5233
+			}else if(data.status == 100043){
5234
+				this.showRepetitionModal("创建", true, data.msg);
5235
+			}else{
5236
+				this.showRepetitionModal("创建", false, data.msg);
5237
+			}
5238
+	  //   if (data.status == 200 && (this.taskType == "other" || this.taskType == "ordinary")) {
5239
+	  //     this.showRepetitionModal("创建", true, "", this.taskType);
5240
+	  //   } else if (data.status == 200 && this.taskType == "bb") {
5241
+	  //     this.showRepetitionModal("创建", true, "", "bb");
5242
+	  //   } else if (this.taskType == "bb" && data.status == 100043) {
5243
+	  //     this.showRepetitionModal("创建", true, data.msg);
5244
+	  //   } else if (data.status == 100043){
5245
+	  //     this.showRepetitionModal("创建", true, data.msg);
5246
+	  //   } else {
5247
+			// 	this.showRepetitionModal("创建", false, data.msg);
5248
+			// }
5171 5249
 	  } else if (this.sourceType === "other" || this.sourceType === "ordinary") {
5172 5250
 			// 其他建单
5173
-	    if (data.status == 200 && (this.taskType == "other" || this.taskType == "ordinary")) {
5174
-	      this.showPromptModal("创建", true, "", this.taskType);
5175
-	    } else if (data.status == 200 && this.taskType == "bb") {
5176
-	      this.showPromptModal("创建", true, "", "bb");
5177
-	    } else if (this.taskType == "bb" && data.status == 100043) {
5178
-	      this.showPromptModal("创建", true, data.msg);
5179
-	    } else {
5180
-	      this.showPromptModal("创建", false, data.msg);
5181
-	    }
5251
+			if (data.status == 200){
5252
+				this.showRepetitionModal("创建", true, "");
5253
+			}else if(data.status == 100043){
5254
+				this.showRepetitionModal("创建", true, data.msg);
5255
+			}else{
5256
+				this.showRepetitionModal("创建", false, data.msg);
5257
+			}
5258
+	    // if (data.status == 200 && (this.taskType == "other" || this.taskType == "ordinary")) {
5259
+	    //   this.showRepetitionModal("创建", true, "", this.taskType);
5260
+	    // } else if (data.status == 200 && this.taskType == "bb") {
5261
+	    //   this.showRepetitionModal("创建", true, "", "bb");
5262
+	    // } else if (this.taskType == "bb" && data.status == 100043) {
5263
+	    //   this.showRepetitionModal("创建", true, data.msg);
5264
+	    // } else if (data.status == 100043){
5265
+	    //   this.showRepetitionModal("创建", true, data.msg);
5266
+	    // } else {
5267
+	    //   this.showRepetitionModal("创建", false, data.msg);
5268
+	    // }
5182 5269
 	  } else if (this.sourceType === "transport") {
5183 5270
 	    // 转运
5184 5271
 	    if (data.status == 200) {
5185
-	      this.showPromptModal("创建", true, "");
5272
+	      this.showRepetitionModal("创建", true, "");
5186 5273
 	    } else if (data.status == 100042) {
5187
-	      this.showPromptModal("创建", false, data.msg);
5274
+	      this.showRepetitionModal("创建", false, data.msg);
5188 5275
 	    } else {
5189
-	      this.showPromptModal("创建", false, data.msg);
5276
+	      this.showRepetitionModal("创建", false, data.msg);
5190 5277
 	    }
5191 5278
 	  } else if (this.sourceType === "accompany1") {
5192 5279
 	    // 陪检
5193 5280
 	    if (data.status == 200) {
5194
-	      this.showPromptModal("创建", true, "");
5281
+	      this.showRepetitionModal("创建", true, "");
5195 5282
 	    } else if (data.status == 100042) {
5196
-	      this.showPromptModal("创建", false, data.msg);
5283
+	      this.showRepetitionModal("创建", false, data.msg);
5197 5284
 	    } else {
5198
-	      this.showPromptModal("创建", false, data.msg);
5285
+	      this.showRepetitionModal("创建", false, data.msg);
5199 5286
 	    }
5200 5287
 	  } else if (this.sourceType === "accompany2") {
5201 5288
 	    // 陪检
5202 5289
 	    if (data.status == 200) {
5203
-	      this.showPromptModal("创建", true, "");
5290
+	      this.showRepetitionModal("创建", true, "");
5204 5291
 	    } else if (data.status == 100042) {
5205
-	      this.showPromptModal("创建", false, data.msg);
5292
+	      this.showRepetitionModal("创建", false, data.msg);
5206 5293
 	    } else {
5207
-	      this.showPromptModal("创建", false, data.msg);
5294
+	      this.showRepetitionModal("创建", false, data.msg);
5208 5295
 	    }
5209 5296
 	  } else if (this.sourceType === "accompany3") {
5210 5297
 	    // 陪检
5211 5298
 	    if (data.status == 200) {
5212
-	      this.showPromptModal("创建", true, "");
5299
+	      this.showRepetitionModal("创建", true, "");
5213 5300
 	    } else if (data.status == 100042) {
5214
-	      this.showPromptModal("创建", false, data.msg);
5301
+	      this.showRepetitionModal("创建", false, data.msg);
5215 5302
 	    } else {
5216
-	      this.showPromptModal("创建", false, data.msg);
5303
+	      this.showRepetitionModal("创建", false, data.msg);
5217 5304
 	    }
5218 5305
 	  } else if (this.sourceType === "accompany4") {
5219 5306
 	    // 陪检
5220 5307
 	    if (data.status == 200) {
5221
-	      this.showPromptModal("创建", true, "");
5308
+	      this.showRepetitionModal("创建", true, "");
5222 5309
 	    } else if (data.status == 100042) {
5223
-	      this.showPromptModal("创建", false, data.msg);
5310
+	      this.showRepetitionModal("创建", false, data.msg);
5224 5311
 	    } else {
5225
-	      this.showPromptModal("创建", false, data.msg);
5312
+	      this.showRepetitionModal("创建", false, data.msg);
5226 5313
 	    }
5227 5314
 	  } else if (this.sourceType === "accompany5") {
5228 5315
 	    // 陪检
5229 5316
 	    if (data.status == 200) {
5230
-	      this.showPromptModal("创建", true, "");
5317
+	      this.showRepetitionModal("创建", true, "");
5231 5318
 	    } else if (data.status == 100042) {
5232
-	      this.showPromptModal("创建", false, data.msg);
5319
+	      this.showRepetitionModal("创建", false, data.msg);
5233 5320
 	    } else {
5234
-	      this.showPromptModal("创建", false, data.msg);
5321
+	      this.showRepetitionModal("创建", false, data.msg);
5235 5322
 	    }
5236
-	  }
5323
+	  } else {
5324
+			if (data.status == 200) {
5325
+			  this.showRepetitionModal("创建", true, "");
5326
+			} else if (data.status == 100042) {
5327
+			  this.showRepetitionModal("创建", false, data.msg);
5328
+			} else if (data.status == 100043) {
5329
+			  this.showRepetitionModal("创建", true, data.msg);
5330
+			} else {
5331
+			  this.showRepetitionModal("创建", false, data.msg);
5332
+			}
5333
+		}
5237 5334
 	}
5238 5335
 	
5239 5336
   // 隐藏选择转入科室的模态框
@@ -5328,14 +5425,48 @@ export class FuwutaiComponent implements OnInit {
5328 5425
         }
5329 5426
       });
5330 5427
   }
5331
-
5428
+	
5429
+	// 确认
5430
+	jdFlagId;
5431
+	limitTimeLoading:boolean = false;
5432
+	confirmLimitTime() {
5433
+	  console.log(this.limitTimeItem);
5434
+	  this.limitTimeModal = false;
5435
+	  this.jdFlagId = this.msg.loading("正在加载中..", {
5436
+	    nzDuration: 0,
5437
+	  }).messageId;
5438
+	  this.limitTimeItem.fun2.call(this);
5439
+	}
5440
+	
5332 5441
   closeModel(e) {
5442
+		console.log(99999,e)
5333 5443
     if (e === "close") {
5444
+			this.goType = null;
5334 5445
       this.newOrderShowOpen = false; //此时可出现新的弹窗
5335 5446
     } else if (e === "closeGo") {
5447
+			console.log(1111)
5336 5448
       this.showNewOrder("&go&");
5337
-    }
5449
+    }else if(this.dataStatus==1000033 && this.goType=='&go&'){
5450
+			console.log(2222)
5451
+			this.showNewOrder("&go&");
5452
+		}
5338 5453
   }
5454
+	
5455
+	// 重复建单提示框
5456
+	showRepetitionModal(con, success, promptInfo?, back?){
5457
+		this.promptModalShow = false;
5458
+		this.promptContent = con;
5459
+		this.ifSuccess = success;
5460
+		this.promptInfo = promptInfo;
5461
+		this.back = back || "";
5462
+		setTimeout(() => {
5463
+			if(this.confirmType || this.goType=='&go&'){
5464
+				this.showPromptModalRefresh();
5465
+				this.promptModalShow = true;
5466
+			}
5467
+		}, 100);
5468
+	}
5469
+	
5339 5470
   // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
5340 5471
   showPromptModal(con, success, promptInfo?, back?) {
5341 5472
     this.promptModalShow = false;
@@ -5350,6 +5481,8 @@ export class FuwutaiComponent implements OnInit {
5350 5481
   }
5351 5482
 
5352 5483
   showPromptModalRefresh(){
5484
+		// this.goType = null;
5485
+		// this.confirmType = false;
5353 5486
     this.getUnassignedBuilding2();
5354 5487
     this.resetList();
5355 5488
     this.getOrderList(1);
@@ -5366,8 +5499,8 @@ export class FuwutaiComponent implements OnInit {
5366 5499
     } else if (this.currentRTab === 3) {
5367 5500
       this.getDictionaryList();
5368 5501
     }
5369
-		this.newOrderShow = false;
5370
-		this.newOrderShowOpen = false;
5502
+		// this.newOrderShow = false;
5503
+		// this.newOrderShowOpen = false;
5371 5504
     this.fixedTab = "";
5372 5505
     this.fixedMenuShangla();
5373 5506
   }

+ 1 - 1
src/app/views/home/home.component.html

@@ -222,7 +222,7 @@
222 222
 										 <div>评价时间:{{data.evaluationTime|date:'yyyy-MM-dd HH:mm:ss' || ''}}</div>
223 223
 										 <div>评价等级:{{data.evaluationLevel ? data.evaluationLevel.name : '-'}}</div>
224 224
 									 </div>
225
-                  <div class="time">发起时间:{{data.startTime|date:'yyyy-MM-dd HH:mm:ss'}}</div>
225
+                  <!-- <div class="time">发起时间:{{data.startTime|date:'yyyy-MM-dd HH:mm:ss'}}</div> -->
226 226
                 </div>
227 227
                 <div class="btns display_flex">
228 228
                   <div class="btn flex_1" (click)="designate(data.id,data.hosId)">指派</div>

+ 2 - 2
src/app/views/new-statistics/components/search-more/search-more.component.html

@@ -191,7 +191,7 @@
191 191
 				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择报修人!">
192 192
 				    <nz-select [nzDropdownMatchSelectWidth]="false" nzAllowClear nzServerSearch nzShowSearch (nzOnSearch)="changerepairUserInp($event)" formControlName="repairUserId" nzPlaceHolder="请选择报修人" (nzOpenChange)="openChangerepairUser($event)" (ngModelChange)="setIsSelecting(true)">
193 193
 				      <ng-container *ngFor="let option of repairUserList">
194
-				        <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
194
+				        <nz-option *ngIf="!isLoading" [nzLabel]="option.name +'('+ option.account +')'" [nzValue]="option.id"></nz-option>
195 195
 				      </ng-container>
196 196
 				      <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
197 197
 				        <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
@@ -233,7 +233,7 @@
233 233
 				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择耗材!">
234 234
 				    <nz-select [nzDropdownMatchSelectWidth]="false" nzAllowClear nzServerSearch nzShowSearch (nzOnSearch)="changeConsumableInp($event)" formControlName="consumableId" nzPlaceHolder="请选择耗材" (nzOpenChange)="openChangeConsumable($event)" (ngModelChange)="setIsSelecting(true)">
235 235
 				      <ng-container *ngFor="let option of consumableList">
236
-				        <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
236
+				        <nz-option *ngIf="!isLoading" [nzLabel]="option.name +'-'+ option.model +'-'+ option.unit +'-'+ option.price" [nzValue]="option.id"></nz-option>
237 237
 				      </ng-container>
238 238
 				      <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
239 239
 				        <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...

+ 47 - 9
src/app/views/new-statistics/components/search-more/search-more.component.ts

@@ -19,6 +19,7 @@ export class SearchMoreComponent implements OnInit {
19 19
   @Input() parentDutyId: any;
20 20
   @Input() dutyId: any;
21 21
   @Input() queryType: any;
22
+	@Input() going: boolean = false;
22 23
   validateForm: FormGroup;//表单
23 24
   searchTimerSubject = new Subject();
24 25
   constructor(
@@ -91,6 +92,40 @@ export class SearchMoreComponent implements OnInit {
91 92
 			codeNum: [this.fieldConfig.fields.codeNum || null],
92 93
 			overtimeId: [this.fieldConfig.fields.overtimeDTO ? this.fieldConfig.fields.overtimeDTO.id  : null],
93 94
 		});
95
+		
96
+		if(this.going && this.fieldConfig.fields.groupId){
97
+			this.getGroupList();
98
+		}
99
+		
100
+		if(this.going && this.fieldConfig.fields.userId){
101
+			this.getUserList();
102
+		}
103
+		
104
+		if(this.going && this.fieldConfig.fields.category1DTO){
105
+			this.getCategory1List();
106
+		}
107
+		
108
+		if(this.going && this.fieldConfig.fields.category2DTO){
109
+			this.getCategory2List();
110
+		}
111
+		
112
+		if(this.going && this.fieldConfig.fields.category3DTO){
113
+			this.getCategory3List();
114
+		}
115
+		
116
+		if(this.going && this.fieldConfig.fields.buildingId){
117
+			this.getBuildingList();
118
+		}
119
+		
120
+		if(this.going && this.fieldConfig.fields.floorId){
121
+			this.getFloorList();
122
+		}
123
+		
124
+		if(this.going && this.fieldConfig.fields.companyId){
125
+			this.getCompanyList();
126
+		}
127
+		
128
+		
94 129
   }
95 130
   // 表单提交
96 131
   submitForm(): void {
@@ -287,18 +322,18 @@ export class SearchMoreComponent implements OnInit {
287 322
   // 获取维修人员列表
288 323
   userList:any[] = [];
289 324
   getUserList(keyword = ''){
290
-    if(!this.validateForm.value.groupId){
291
-      this.isLoading = false;
292
-      this.userList = [];
293
-      return;
294
-    }
325
+    // if(!this.validateForm.value.groupId){
326
+    //   this.isLoading = false;
327
+    //   this.userList = [];
328
+    //   return;
329
+    // }
295 330
     let postData: any = {
296 331
       idx: 0,
297 332
       sum: 20,
298 333
       user: {
299 334
         name: keyword,
300 335
         simpleQuery: true,
301
-        groupdata: { id: this.validateForm.value.groupId },
336
+        // groupdata: { id: this.validateForm.value.groupId },
302 337
         roleCodes: 'first-line support,second-line support,incident manager',
303 338
         engineer: 1,
304 339
       },
@@ -644,6 +679,11 @@ export class SearchMoreComponent implements OnInit {
644 679
 	// 获取工时小类列表
645 680
 	workHourSmallList:any[] = [];
646 681
 	getWorkHourSmallList(keyword?){
682
+		if(!this.validateForm.value.workHourParentId){
683
+		  this.isLoading = false;
684
+		  this.workHourSmallList = [];
685
+		  return;
686
+		}
647 687
 	  let postData: any = {
648 688
 	    idx: 0,
649 689
 	    sum: 20,
@@ -701,9 +741,8 @@ export class SearchMoreComponent implements OnInit {
701 741
 	    sum: 20,
702 742
 			user: {
703 743
 			  name: keyword,
704
-			  hospital: { id: this.tool.getCurrentHospital().id },
705 744
 			  engineer: 1,
706
-			  simpleQuery: true,
745
+			  // simpleQuery: true,
707 746
 			},
708 747
 	  };
709 748
 	  this.isLoading = true;
@@ -736,7 +775,6 @@ export class SearchMoreComponent implements OnInit {
736 775
 	    sum: 20,
737 776
 	    consumable: {
738 777
 				name: keyword,
739
-	      hosId: this.tool.getCurrentHospital().id,
740 778
 	      quoteOther: 0,
741 779
 	    },
742 780
 	  };

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.html

@@ -36,15 +36,15 @@
36 36
   <tbody>
37 37
     <tr *ngFor="let data of listOfData">
38 38
       <td>{{ data.category }}</td>
39
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
39
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
40 40
       <td>{{ data.avgResponseTime }}</td>
41 41
       <td>{{ data.avgResolvedTime }}</td>
42
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
43
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
42
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
43
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
44 44
       <td>{{ data.consumablePrice }}</td>
45 45
       <td>{{ data.workHourPrice }}</td>
46 46
       <td>{{ data.totalPrice }}</td>
47
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
47
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
48 48
       <td>{{ data.favorableRate }}</td>
49 49
     </tr>
50 50
   </tbody>
@@ -52,15 +52,15 @@
52 52
     <table class="footTable">
53 53
       <tr *ngFor="let data of listOfDataEnd">
54 54
         <td style="width: 10%">{{ data.category }}</td>
55
-        <td style="width: 9%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
55
+        <td style="width: 9%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
56 56
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
57 57
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
58
-        <td style="width: 9%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
59
-        <td style="width: 9%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
58
+        <td style="width: 9%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
59
+        <td style="width: 9%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
60 60
         <td style="width: 9%">{{ data.consumablePrice }}</td>
61 61
         <td style="width: 9%">{{ data.workHourPrice }}</td>
62 62
         <td style="width: 9%">{{ data.totalPrice }}</td>
63
-        <td style="width: 9%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
63
+        <td style="width: 9%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
64 64
         <td style="width: 9%">{{ data.favorableRate }}</td>
65 65
       </tr>
66 66
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 79 - 4
src/app/views/new-statistics/maintenance-statistics/category-one-statistics/category-one-statistics.component.ts

@@ -52,8 +52,20 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
52 52
 			query = {
53 53
 				startDate: this.customChangeDateComponent.startDate || undefined,
54 54
 				endDate: this.customChangeDateComponent.endDate || undefined,
55
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
55 56
 				searchQuery:{
56 57
 					statusValue: 'close',
58
+					groupId: this.fieldConfig.fields.groupId || undefined,
59
+					userId: this.fieldConfig.fields.userId || undefined,
60
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
61
+					placeId: this.fieldConfig.fields.floorId || undefined,
62
+					floorId: this.fieldConfig.fields.floorId || undefined,
63
+					companyId: this.fieldConfig.fields.companyId || undefined,
64
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
65
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
66
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
67
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
68
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
57 69
 				}
58 70
 			}
59 71
 		}else{
@@ -65,11 +77,17 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
65 77
 					statusValue: 'close',
66 78
 					hierarchy: data.hierarchy,
67 79
 					categoryId: data.categoryId,
68
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
80
+					groupId: this.fieldConfig.fields.groupId || undefined,
69 81
 					userId: this.fieldConfig.fields.userId || undefined,
70 82
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
71 83
 					placeId: this.fieldConfig.fields.floorId || undefined,
84
+					floorId: this.fieldConfig.fields.floorId || undefined,
72 85
 					companyId: this.fieldConfig.fields.companyId || undefined,
86
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
87
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
88
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
89
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
90
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
73 91
 				}
74 92
 			}
75 93
 		}
@@ -85,9 +103,21 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
85 103
 			query = {
86 104
 				startDate: this.customChangeDateComponent.startDate || undefined,
87 105
 				endDate: this.customChangeDateComponent.endDate || undefined,
106
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
88 107
 				searchQuery:{
89 108
 					statusValue: 'close',
90 109
 					overtimeId: 1,
110
+					groupId: this.fieldConfig.fields.groupId || undefined,
111
+					userId: this.fieldConfig.fields.userId || undefined,
112
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
113
+					placeId: this.fieldConfig.fields.floorId || undefined,
114
+					floorId: this.fieldConfig.fields.floorId || undefined,
115
+					companyId: this.fieldConfig.fields.companyId || undefined,
116
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
117
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
118
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
119
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
120
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
91 121
 				}
92 122
 			}
93 123
 		}else{
@@ -100,11 +130,17 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
100 130
 					hierarchy: data.hierarchy,
101 131
 					categoryId: data.categoryId,
102 132
 					overtimeId: 1,
103
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
133
+					groupId: this.fieldConfig.fields.groupId || undefined,
104 134
 					userId: this.fieldConfig.fields.userId || undefined,
105 135
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
106 136
 					placeId: this.fieldConfig.fields.floorId || undefined,
137
+					floorId: this.fieldConfig.fields.floorId || undefined,
107 138
 					companyId: this.fieldConfig.fields.companyId || undefined,
139
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
140
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
141
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
142
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
143
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
108 144
 				}
109 145
 			}
110 146
 		}
@@ -120,9 +156,21 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
120 156
 			query = {
121 157
 				startDate: this.customChangeDateComponent.startDate || undefined,
122 158
 				endDate: this.customChangeDateComponent.endDate || undefined,
159
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
123 160
 				searchQuery:{
124 161
 					statusValue: 'close',
125 162
 					isHangId: 1,
163
+					groupId: this.fieldConfig.fields.groupId || undefined,
164
+					userId: this.fieldConfig.fields.userId || undefined,
165
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
166
+					placeId: this.fieldConfig.fields.floorId || undefined,
167
+					floorId: this.fieldConfig.fields.floorId || undefined,
168
+					companyId: this.fieldConfig.fields.companyId || undefined,
169
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
170
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
171
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
172
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
173
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
126 174
 				}
127 175
 			}
128 176
 		}else{
@@ -135,11 +183,17 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
135 183
 					hierarchy: data.hierarchy,
136 184
 					categoryId: data.categoryId,
137 185
 					isHangId: 1,
138
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
186
+					groupId: this.fieldConfig.fields.groupId || undefined,
139 187
 					userId: this.fieldConfig.fields.userId || undefined,
140 188
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
141 189
 					placeId: this.fieldConfig.fields.floorId || undefined,
190
+					floorId: this.fieldConfig.fields.floorId || undefined,
142 191
 					companyId: this.fieldConfig.fields.companyId || undefined,
192
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
193
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
194
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
195
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
196
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
143 197
 				}
144 198
 			}
145 199
 		}
@@ -155,9 +209,21 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
155 209
 			query = {
156 210
 				startDate: this.customChangeDateComponent.startDate || undefined,
157 211
 				endDate: this.customChangeDateComponent.endDate || undefined,
212
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
158 213
 				searchQuery:{
159 214
 					statusValue: 'close',
160 215
 					evaluateId: 20424,
216
+					groupId: this.fieldConfig.fields.groupId || undefined,
217
+					userId: this.fieldConfig.fields.userId || undefined,
218
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
219
+					placeId: this.fieldConfig.fields.floorId || undefined,
220
+					floorId: this.fieldConfig.fields.floorId || undefined,
221
+					companyId: this.fieldConfig.fields.companyId || undefined,
222
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
223
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
224
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
225
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
226
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
161 227
 				}
162 228
 			}
163 229
 		}else{
@@ -170,11 +236,17 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
170 236
 					hierarchy: data.hierarchy,
171 237
 					categoryId: data.categoryId,
172 238
 					evaluateId: 20424,
173
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
239
+					groupId: this.fieldConfig.fields.groupId || undefined,
174 240
 					userId: this.fieldConfig.fields.userId || undefined,
175 241
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
176 242
 					placeId: this.fieldConfig.fields.floorId || undefined,
243
+					floorId: this.fieldConfig.fields.floorId || undefined,
177 244
 					companyId: this.fieldConfig.fields.companyId || undefined,
245
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
246
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
247
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
248
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
249
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
178 250
 				}
179 251
 			}
180 252
 		}
@@ -254,6 +326,7 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
254 326
       userId: this.fieldConfig.fields.userId || undefined,
255 327
       buildingId: this.fieldConfig.fields.buildingId || undefined,
256 328
       placeId: this.fieldConfig.fields.floorId || undefined,
329
+      floorId: this.fieldConfig.fields.floorId || undefined,
257 330
       companyId: this.fieldConfig.fields.companyId || undefined,
258 331
       repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
259 332
       categoryLevel: 1,
@@ -307,6 +380,7 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
307 380
       userId: this.fieldConfig.fields.userId || undefined,
308 381
       buildingId: this.fieldConfig.fields.buildingId || undefined,
309 382
       placeId: this.fieldConfig.fields.floorId || undefined,
383
+      floorId: this.fieldConfig.fields.floorId || undefined,
310 384
       companyId: this.fieldConfig.fields.companyId || undefined,
311 385
       repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
312 386
       categoryLevel: 1,
@@ -345,6 +419,7 @@ export class CategoryOneStatisticsComponent implements OnInit, AfterViewInit {
345 419
     this.dateRange = []
346 420
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, buildingId: undefined, floorId: undefined, companyId: undefined, repairDeptId: undefined};
347 421
     this.customChangeDateComponent.resetByDate();
422
+		sessionStorage.removeItem('maintenanceData');
348 423
     this.search();
349 424
   }
350 425
 

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.html

@@ -56,15 +56,15 @@
56 56
   <tbody>
57 57
     <tr *ngFor="let data of listOfData">
58 58
       <td>{{ data.category }}</td>
59
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
59
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
60 60
       <td>{{ data.avgResponseTime }}</td>
61 61
       <td>{{ data.avgResolvedTime }}</td>
62
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
63
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
62
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
63
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
64 64
       <td>{{ data.consumablePrice }}</td>
65 65
       <td>{{ data.workHourPrice }}</td>
66 66
       <td>{{ data.totalPrice }}</td>
67
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
67
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
68 68
       <td>{{ data.favorableRate }}</td>
69 69
     </tr>
70 70
   </tbody>
@@ -72,15 +72,15 @@
72 72
     <table class="footTable">
73 73
       <tr *ngFor="let data of listOfDataEnd">
74 74
         <td style="width: 10%">{{ data.category }}</td>
75
-        <td style="width: 9%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
75
+        <td style="width: 9%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
76 76
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
77 77
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
78
-        <td style="width: 9%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
79
-        <td style="width: 9%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
78
+        <td style="width: 9%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
79
+        <td style="width: 9%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
80 80
         <td style="width: 9%">{{ data.consumablePrice }}</td>
81 81
         <td style="width: 9%">{{ data.workHourPrice }}</td>
82 82
         <td style="width: 9%">{{ data.totalPrice }}</td>
83
-        <td style="width: 9%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
83
+        <td style="width: 9%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
84 84
         <td style="width: 9%">{{ data.favorableRate }}</td>
85 85
       </tr>
86 86
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 133 - 4
src/app/views/new-statistics/maintenance-statistics/category-three-statistics/category-three-statistics.component.ts

@@ -59,12 +59,36 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
59 59
 	// 数据下钻
60 60
 	viewDetail1(data, type){
61 61
 		let query = null
62
+		let item1 = null;
63
+		let item2 = null;
64
+		if(this.category1Id){
65
+		  item1 = this.category1List.find(item => item.id == this.category1Id);
66
+		}
67
+		if(this.category2Id){
68
+		  item2 = this.category2List.find(item => item.id == this.category2Id);
69
+		}
62 70
 		if(type=='all'){
63 71
 			query = {
64 72
 				startDate: this.customChangeDateComponent.startDate || undefined,
65 73
 				endDate: this.customChangeDateComponent.endDate || undefined,
74
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
66 75
 				searchQuery:{
67 76
 					statusValue: 'close',
77
+					categoryId: this.category1Id && this.category2Id ? this.category2Id : this.category1Id,
78
+					hierarchy: this.category1Id && this.category2Id ? 2 : 1,
79
+					groupId: this.fieldConfig.fields.groupId || undefined,
80
+					userId: this.fieldConfig.fields.userId || undefined,
81
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
82
+					placeId: this.fieldConfig.fields.floorId || undefined,
83
+					floorId: this.fieldConfig.fields.floorId || undefined,
84
+					companyId: this.fieldConfig.fields.companyId || undefined,
85
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
86
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
87
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
88
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
89
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
90
+					category1DTO: item1 || undefined,
91
+					category2DTO: item2 || undefined,
68 92
 				}
69 93
 			}
70 94
 		}else{
@@ -76,11 +100,19 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
76 100
 					statusValue: 'close',
77 101
 					hierarchy: data.hierarchy,
78 102
 					categoryId: data.categoryId,
79
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
103
+					groupId: this.fieldConfig.fields.groupId || undefined,
80 104
 					userId: this.fieldConfig.fields.userId || undefined,
81 105
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
82 106
 					placeId: this.fieldConfig.fields.floorId || undefined,
107
+					floorId: this.fieldConfig.fields.floorId || undefined,
83 108
 					companyId: this.fieldConfig.fields.companyId || undefined,
109
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
110
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
111
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
112
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
113
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
114
+					category1DTO: item1 || undefined,
115
+					category2DTO: item2 || undefined,
84 116
 				}
85 117
 			}
86 118
 		}
@@ -92,13 +124,37 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
92 124
 	// 数据下钻
93 125
 	viewDetail2(data, type){
94 126
 		let query = null
127
+		let item1 = null;
128
+		let item2 = null;
129
+		if(this.category1Id){
130
+		  item1 = this.category1List.find(item => item.id == this.category1Id);
131
+		}
132
+		if(this.category2Id){
133
+		  item2 = this.category2List.find(item => item.id == this.category2Id);
134
+		}
95 135
 		if(type=='all'){
96 136
 			query = {
97 137
 				startDate: this.customChangeDateComponent.startDate || undefined,
98 138
 				endDate: this.customChangeDateComponent.endDate || undefined,
139
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
99 140
 				searchQuery:{
100 141
 					statusValue: 'close',
101 142
 					overtimeId: 1,
143
+					categoryId: this.category1Id && this.category2Id ? this.category2Id : this.category1Id,
144
+					hierarchy: this.category1Id && this.category2Id ? 2 : 1,
145
+					groupId: this.fieldConfig.fields.groupId || undefined,
146
+					userId: this.fieldConfig.fields.userId || undefined,
147
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
148
+					placeId: this.fieldConfig.fields.floorId || undefined,
149
+					floorId: this.fieldConfig.fields.floorId || undefined,
150
+					companyId: this.fieldConfig.fields.companyId || undefined,
151
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
152
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
153
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
154
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
155
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
156
+					category1DTO: item1 || undefined,
157
+					category2DTO: item2 || undefined,
102 158
 				}
103 159
 			}
104 160
 		}else{
@@ -111,11 +167,19 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
111 167
 					hierarchy: data.hierarchy,
112 168
 					categoryId: data.categoryId,
113 169
 					overtimeId: 1,
114
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
170
+					groupId: this.fieldConfig.fields.groupId || undefined,
115 171
 					userId: this.fieldConfig.fields.userId || undefined,
116 172
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
117 173
 					placeId: this.fieldConfig.fields.floorId || undefined,
174
+					floorId: this.fieldConfig.fields.floorId || undefined,
118 175
 					companyId: this.fieldConfig.fields.companyId || undefined,
176
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
177
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
178
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
179
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
180
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
181
+					category1DTO: item1 || undefined,
182
+					category2DTO: item2 || undefined,
119 183
 				}
120 184
 			}
121 185
 		}
@@ -127,13 +191,37 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
127 191
 	// 数据下钻
128 192
 	viewDetail3(data, type){
129 193
 		let query = null
194
+		let item1 = null;
195
+		let item2 = null;
196
+		if(this.category1Id){
197
+		  item1 = this.category1List.find(item => item.id == this.category1Id);
198
+		}
199
+		if(this.category2Id){
200
+		  item2 = this.category2List.find(item => item.id == this.category2Id);
201
+		}
130 202
 		if(type=='all'){
131 203
 			query = {
132 204
 				startDate: this.customChangeDateComponent.startDate || undefined,
133 205
 				endDate: this.customChangeDateComponent.endDate || undefined,
206
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
134 207
 				searchQuery:{
135 208
 					statusValue: 'close',
136 209
 					isHangId: 1,
210
+					categoryId: this.category1Id && this.category2Id ? this.category2Id : this.category1Id,
211
+					hierarchy: this.category1Id && this.category2Id ? 2 : 1,
212
+					groupId: this.fieldConfig.fields.groupId || undefined,
213
+					userId: this.fieldConfig.fields.userId || undefined,
214
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
215
+					placeId: this.fieldConfig.fields.floorId || undefined,
216
+					floorId: this.fieldConfig.fields.floorId || undefined,
217
+					companyId: this.fieldConfig.fields.companyId || undefined,
218
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
219
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
220
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
221
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
222
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
223
+					category1DTO: item1 || undefined,
224
+					category2DTO: item2 || undefined,
137 225
 				}
138 226
 			}
139 227
 		}else{
@@ -146,11 +234,19 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
146 234
 					hierarchy: data.hierarchy,
147 235
 					categoryId: data.categoryId,
148 236
 					isHangId: 1,
149
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
237
+					groupId: this.fieldConfig.fields.groupId || undefined,
150 238
 					userId: this.fieldConfig.fields.userId || undefined,
151 239
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
152 240
 					placeId: this.fieldConfig.fields.floorId || undefined,
241
+					floorId: this.fieldConfig.fields.floorId || undefined,
153 242
 					companyId: this.fieldConfig.fields.companyId || undefined,
243
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
244
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
245
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
246
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
247
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
248
+					category1DTO: item1 || undefined,
249
+					category2DTO: item2 || undefined,
154 250
 				}
155 251
 			}
156 252
 		}
@@ -162,13 +258,37 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
162 258
 	// 数据下钻
163 259
 	viewDetail4(data, type){
164 260
 		let query = null
261
+		let item1 = null;
262
+		let item2 = null;
263
+		if(this.category1Id){
264
+		  item1 = this.category1List.find(item => item.id == this.category1Id);
265
+		}
266
+		if(this.category2Id){
267
+		  item2 = this.category2List.find(item => item.id == this.category2Id);
268
+		}
165 269
 		if(type=='all'){
166 270
 			query = {
167 271
 				startDate: this.customChangeDateComponent.startDate || undefined,
168 272
 				endDate: this.customChangeDateComponent.endDate || undefined,
273
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
169 274
 				searchQuery:{
170 275
 					statusValue: 'close',
171 276
 					evaluateId: 20424,
277
+					categoryId: this.category1Id && this.category2Id ? this.category2Id : this.category1Id,
278
+					hierarchy: this.category1Id && this.category2Id ? 2 : 1,
279
+					groupId: this.fieldConfig.fields.groupId || undefined,
280
+					userId: this.fieldConfig.fields.userId || undefined,
281
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
282
+					placeId: this.fieldConfig.fields.floorId || undefined,
283
+					floorId: this.fieldConfig.fields.floorId || undefined,
284
+					companyId: this.fieldConfig.fields.companyId || undefined,
285
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
286
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
287
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
288
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
289
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
290
+					category1DTO: item1 || undefined,
291
+					category2DTO: item2 || undefined,
172 292
 				}
173 293
 			}
174 294
 		}else{
@@ -181,11 +301,19 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
181 301
 					hierarchy: data.hierarchy,
182 302
 					categoryId: data.categoryId,
183 303
 					evaluateId: 20424,
184
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
304
+					groupId: this.fieldConfig.fields.groupId || undefined,
185 305
 					userId: this.fieldConfig.fields.userId || undefined,
186 306
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
187 307
 					placeId: this.fieldConfig.fields.floorId || undefined,
308
+					floorId: this.fieldConfig.fields.floorId || undefined,
188 309
 					companyId: this.fieldConfig.fields.companyId || undefined,
310
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
311
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
312
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
313
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
314
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
315
+					category1DTO: item1 || undefined,
316
+					category2DTO: item2 || undefined,
189 317
 				}
190 318
 			}
191 319
 		}
@@ -362,6 +490,7 @@ export class CategoryThreeStatisticsComponent implements OnInit, AfterViewInit {
362 490
     this.category2Id = undefined;
363 491
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, buildingId: undefined, floorId: undefined, companyId: undefined, repairDeptId: undefined};
364 492
     this.customChangeDateComponent.resetByDate();
493
+		sessionStorage.removeItem('maintenanceData');
365 494
     this.search();
366 495
   }
367 496
 

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.html

@@ -46,15 +46,15 @@
46 46
   <tbody>
47 47
     <tr *ngFor="let data of listOfData">
48 48
       <td>{{ data.category }}</td>
49
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
49
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
50 50
       <td>{{ data.avgResponseTime }}</td>
51 51
       <td>{{ data.avgResolvedTime }}</td>
52
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
53
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
52
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
53
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
54 54
       <td>{{ data.consumablePrice }}</td>
55 55
       <td>{{ data.workHourPrice }}</td>
56 56
       <td>{{ data.totalPrice }}</td>
57
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
57
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
58 58
       <td>{{ data.favorableRate }}</td>
59 59
     </tr>
60 60
   </tbody>
@@ -62,15 +62,15 @@
62 62
     <table class="footTable">
63 63
       <tr *ngFor="let data of listOfDataEnd">
64 64
         <td style="width: 10%">{{ data.category }}</td>
65
-        <td style="width: 9%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
65
+        <td style="width: 9%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
66 66
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
67 67
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
68
-        <td style="width: 9%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
69
-        <td style="width: 9%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
68
+        <td style="width: 9%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
69
+        <td style="width: 9%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
70 70
         <td style="width: 9%">{{ data.consumablePrice }}</td>
71 71
         <td style="width: 9%">{{ data.workHourPrice }}</td>
72 72
         <td style="width: 9%">{{ data.totalPrice }}</td>
73
-        <td style="width: 9%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
73
+        <td style="width: 9%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
74 74
         <td style="width: 9%">{{ data.favorableRate }}</td>
75 75
       </tr>
76 76
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 110 - 5
src/app/views/new-statistics/maintenance-statistics/category-two-statistics/category-two-statistics.component.ts

@@ -58,13 +58,32 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
58 58
 	
59 59
 	// 数据下钻
60 60
 	viewDetail1(data, type){
61
-		let query = null
61
+		let query = null;
62
+		let item = null;
63
+		if(this.category1Id){
64
+		  item = this.category1List.find(item => item.id == this.category1Id);
65
+		}
62 66
 		if(type=='all'){
63 67
 			query = {
64 68
 				startDate: this.customChangeDateComponent.startDate || undefined,
65 69
 				endDate: this.customChangeDateComponent.endDate || undefined,
70
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
66 71
 				searchQuery:{
67 72
 					statusValue: 'close',
73
+					categoryId: this.category1Id,
74
+					hierarchy:1,
75
+					groupId: this.fieldConfig.fields.groupId || undefined,
76
+					userId: this.fieldConfig.fields.userId || undefined,
77
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
78
+					placeId: this.fieldConfig.fields.floorId || undefined,
79
+					floorId: this.fieldConfig.fields.floorId || undefined,
80
+					companyId: this.fieldConfig.fields.companyId || undefined,
81
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
82
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
83
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
84
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
85
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
86
+					category1DTO: item || undefined,
68 87
 				}
69 88
 			}
70 89
 		}else{
@@ -76,11 +95,18 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
76 95
 					statusValue: 'close',
77 96
 					hierarchy: data.hierarchy,
78 97
 					categoryId: data.categoryId,
79
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
98
+					groupId: this.fieldConfig.fields.groupId || undefined,
80 99
 					userId: this.fieldConfig.fields.userId || undefined,
81 100
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
82 101
 					placeId: this.fieldConfig.fields.floorId || undefined,
102
+					floorId: this.fieldConfig.fields.floorId || undefined,
83 103
 					companyId: this.fieldConfig.fields.companyId || undefined,
104
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
105
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
106
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
107
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
108
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
109
+					category1DTO: item || undefined,
84 110
 				}
85 111
 			}
86 112
 		}
@@ -92,13 +118,32 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
92 118
 	// 数据下钻
93 119
 	viewDetail2(data, type){
94 120
 		let query = null
121
+		let item = null;
122
+		if(this.category1Id){
123
+		  item = this.category1List.find(item => item.id == this.category1Id);
124
+		}
95 125
 		if(type=='all'){
96 126
 			query = {
97 127
 				startDate: this.customChangeDateComponent.startDate || undefined,
98 128
 				endDate: this.customChangeDateComponent.endDate || undefined,
129
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
99 130
 				searchQuery:{
100 131
 					statusValue: 'close',
101 132
 					overtimeId: 1,
133
+					categoryId: this.category1Id,
134
+					hierarchy:1,
135
+					groupId: this.fieldConfig.fields.groupId || undefined,
136
+					userId: this.fieldConfig.fields.userId || undefined,
137
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
138
+					placeId: this.fieldConfig.fields.floorId || undefined,
139
+					floorId: this.fieldConfig.fields.floorId || undefined,
140
+					companyId: this.fieldConfig.fields.companyId || undefined,
141
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
142
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
143
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
144
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
145
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
146
+					category1DTO: item || undefined,
102 147
 				}
103 148
 			}
104 149
 		}else{
@@ -111,11 +156,18 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
111 156
 					hierarchy: data.hierarchy,
112 157
 					categoryId: data.categoryId,
113 158
 					overtimeId: 1,
114
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
159
+					groupId: this.fieldConfig.fields.groupId || undefined,
115 160
 					userId: this.fieldConfig.fields.userId || undefined,
116 161
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
117 162
 					placeId: this.fieldConfig.fields.floorId || undefined,
163
+					floorId: this.fieldConfig.fields.floorId || undefined,
118 164
 					companyId: this.fieldConfig.fields.companyId || undefined,
165
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
166
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
167
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
168
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
169
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
170
+					category1DTO: item || undefined,
119 171
 				}
120 172
 			}
121 173
 		}
@@ -127,13 +179,32 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
127 179
 	// 数据下钻
128 180
 	viewDetail3(data, type){
129 181
 		let query = null
182
+		let item = null;
183
+		if(this.category1Id){
184
+		  item = this.category1List.find(item => item.id == this.category1Id);
185
+		}
130 186
 		if(type=='all'){
131 187
 			query = {
132 188
 				startDate: this.customChangeDateComponent.startDate || undefined,
133 189
 				endDate: this.customChangeDateComponent.endDate || undefined,
190
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
134 191
 				searchQuery:{
135 192
 					statusValue: 'close',
136 193
 					isHangId: 1,
194
+					categoryId: this.category1Id,
195
+					hierarchy:1,
196
+					groupId: this.fieldConfig.fields.groupId || undefined,
197
+					userId: this.fieldConfig.fields.userId || undefined,
198
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
199
+					placeId: this.fieldConfig.fields.floorId || undefined,
200
+					floorId: this.fieldConfig.fields.floorId || undefined,
201
+					companyId: this.fieldConfig.fields.companyId || undefined,
202
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
203
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
204
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
205
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
206
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
207
+					category1DTO: item || undefined,
137 208
 				}
138 209
 			}
139 210
 		}else{
@@ -146,11 +217,18 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
146 217
 					hierarchy: data.hierarchy,
147 218
 					categoryId: data.categoryId,
148 219
 					isHangId: 1,
149
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
220
+					groupId: this.fieldConfig.fields.groupId || undefined,
150 221
 					userId: this.fieldConfig.fields.userId || undefined,
151 222
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
152 223
 					placeId: this.fieldConfig.fields.floorId || undefined,
224
+					floorId: this.fieldConfig.fields.floorId || undefined,
153 225
 					companyId: this.fieldConfig.fields.companyId || undefined,
226
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
227
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
228
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
229
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
230
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
231
+					category1DTO: item || undefined,
154 232
 				}
155 233
 			}
156 234
 		}
@@ -162,13 +240,32 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
162 240
 	// 数据下钻
163 241
 	viewDetail4(data, type){
164 242
 		let query = null
243
+		let item = null;
244
+		if(this.category1Id){
245
+		  item = this.category1List.find(item => item.id == this.category1Id);
246
+		}
165 247
 		if(type=='all'){
166 248
 			query = {
167 249
 				startDate: this.customChangeDateComponent.startDate || undefined,
168 250
 				endDate: this.customChangeDateComponent.endDate || undefined,
251
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
169 252
 				searchQuery:{
170 253
 					statusValue: 'close',
171 254
 					evaluateId: 20424,
255
+					categoryId: this.category1Id,
256
+					hierarchy:1,
257
+					groupId: this.fieldConfig.fields.groupId || undefined,
258
+					userId: this.fieldConfig.fields.userId || undefined,
259
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
260
+					placeId: this.fieldConfig.fields.floorId || undefined,
261
+					floorId: this.fieldConfig.fields.floorId || undefined,
262
+					companyId: this.fieldConfig.fields.companyId || undefined,
263
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
264
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
265
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
266
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
267
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
268
+					category1DTO: item || undefined,
172 269
 				}
173 270
 			}
174 271
 		}else{
@@ -181,11 +278,18 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
181 278
 					hierarchy: data.hierarchy,
182 279
 					categoryId: data.categoryId,
183 280
 					evaluateId: 20424,
184
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
281
+					groupId: this.fieldConfig.fields.groupId || undefined,
185 282
 					userId: this.fieldConfig.fields.userId || undefined,
186 283
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
187 284
 					placeId: this.fieldConfig.fields.floorId || undefined,
285
+					floorId: this.fieldConfig.fields.floorId || undefined,
188 286
 					companyId: this.fieldConfig.fields.companyId || undefined,
287
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
288
+					companyDTO: this.fieldConfig.fields.companyDTO || undefined,
289
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
290
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
291
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
292
+					category1DTO: item || undefined,
189 293
 				}
190 294
 			}
191 295
 		}
@@ -361,6 +465,7 @@ export class CategoryTwoStatisticsComponent implements OnInit, AfterViewInit {
361 465
     this.category1Id = undefined;
362 466
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, buildingId: undefined, floorId: undefined, companyId: undefined, repairDeptId: undefined};
363 467
     this.customChangeDateComponent.resetByDate();
468
+		sessionStorage.removeItem('maintenanceData');
364 469
     this.search();
365 470
   }
366 471
 

+ 1 - 0
src/app/views/new-statistics/maintenance-statistics/consumable-statistics/consumable-statistics.component.ts

@@ -220,6 +220,7 @@ export class ConsumableStatisticsComponent implements OnInit, AfterViewInit {
220 220
     this.repairDeptId = undefined;
221 221
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, categoryId: undefined, buildingId: undefined, floorId: undefined, companyId: undefined};
222 222
     this.customChangeDateComponent.resetByDate();
223
+		sessionStorage.removeItem('maintenanceData');
223 224
     this.search();
224 225
   }
225 226
 

+ 12 - 12
src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.html

@@ -51,13 +51,13 @@
51 51
 			<tr *ngFor="let data of listOfData">
52 52
 				<td *ngIf="parent==1">{{ data.parentName || '无' }}<ng-container *ngIf="parent==1 && data.parentName">({{ data.parentCode }})</ng-container></td>
53 53
 				<td>{{ data.deptName }}<ng-container *ngIf="data.deptCode">({{ data.deptCode }})</ng-container></td>
54
-				<td (click)="viewDetail1(data)">{{ data.sum }}</td>
54
+				<td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
55 55
 				<td>{{ data.degreeCount }}</td>
56
-				<td (click)="viewDetail2(data)">{{ data.oneStar }}</td>
57
-				<td (click)="viewDetail3(data)">{{ data.twoStar }}</td>
58
-				<td (click)="viewDetail4(data)">{{ data.threeStar }}</td>
59
-				<td (click)="viewDetail5(data)">{{ data.fourStar }}</td>
60
-				<td (click)="viewDetail6(data)">{{ data.fiveStar }}</td>
56
+				<td class="text-sign" (click)="viewDetail2(data)">{{ data.oneStar }}</td>
57
+				<td class="text-sign" (click)="viewDetail3(data)">{{ data.twoStar }}</td>
58
+				<td class="text-sign" (click)="viewDetail4(data)">{{ data.threeStar }}</td>
59
+				<td class="text-sign" (click)="viewDetail5(data)">{{ data.fourStar }}</td>
60
+				<td class="text-sign" (click)="viewDetail6(data)">{{ data.fiveStar }}</td>
61 61
 				<td>{{ data.totalStar }}</td>
62 62
 				<td>{{ data.avgStar }}</td>
63 63
 			</tr>
@@ -68,13 +68,13 @@
68 68
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==1">{{ data.parentCode }}</td>
69 69
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==0">{{ data.deptCode }}</td>
70 70
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==1"></td>
71
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
71
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
72 72
 					<td [ngStyle]="{width:widthStyle}">{{ data.degreeCount }}</td>
73
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail2(data, 'all')">{{ data.oneStar }}</td>
74
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail3(data, 'all')">{{ data.twoStar }}</td>
75
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail4(data, 'all')">{{ data.threeStar }}</td>
76
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail5(data, 'all')">{{ data.fourStar }}</td>
77
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail6(data, 'all')">{{ data.fiveStar }}</td>
73
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.oneStar }}</td>
74
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.twoStar }}</td>
75
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.threeStar }}</td>
76
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail5(data, 'all')">{{ data.fourStar }}</td>
77
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail6(data, 'all')">{{ data.fiveStar }}</td>
78 78
 					<td [ngStyle]="{width:widthStyle}">{{ data.totalStar }}</td>
79 79
 					<td [ngStyle]="{width:widthStyle}">{{ data.avgStar }}</td>
80 80
 				</tr>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 139 - 0
src/app/views/new-statistics/maintenance-statistics/department-evaluate-statistics/department-evaluate-statistics.component.ts

@@ -68,8 +68,25 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
68 68
 			query = {
69 69
 				startDate: this.customChangeDateComponent.startDate || undefined,
70 70
 				endDate: this.customChangeDateComponent.endDate || undefined,
71
+				repairDeptId: this.deptId || undefined,
71 72
 				searchQuery:{
72 73
 					statusValue: 'close',
74
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
75
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
76
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
77
+					floorId: this.fieldConfig.fields.floorId || undefined,
78
+					groupId: this.fieldConfig.fields.groupId || undefined,
79
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
80
+					userId: this.fieldConfig.fields.userId || undefined,
81
+					placeId: this.fieldConfig.fields.floorId || undefined,
82
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
83
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
84
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
85
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
86
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
87
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
88
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
89
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
73 90
 				}
74 91
 			}
75 92
 		}else{
@@ -86,6 +103,15 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
86 103
 					groupId: this.fieldConfig.fields.groupId || undefined,
87 104
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
88 105
 					userId: this.fieldConfig.fields.userId || undefined,
106
+					placeId: this.fieldConfig.fields.floorId || undefined,
107
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
108
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
109
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
110
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
111
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
112
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
113
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
114
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
89 115
 				}
90 116
 			}
91 117
 		}
@@ -101,9 +127,26 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
101 127
 			query = {
102 128
 				startDate: this.customChangeDateComponent.startDate || undefined,
103 129
 				endDate: this.customChangeDateComponent.endDate || undefined,
130
+				repairDeptId: this.deptId || undefined,
104 131
 				searchQuery:{
105 132
 					statusValue: 'close',
106 133
 					evaluateId: 20424,
134
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
135
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
136
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
137
+					floorId: this.fieldConfig.fields.floorId || undefined,
138
+					groupId: this.fieldConfig.fields.groupId || undefined,
139
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
140
+					userId: this.fieldConfig.fields.userId || undefined,
141
+					placeId: this.fieldConfig.fields.floorId || undefined,
142
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
143
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
144
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
145
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
146
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
147
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
148
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
149
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
107 150
 				}
108 151
 			}
109 152
 		}else{
@@ -121,6 +164,15 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
121 164
 					groupId: this.fieldConfig.fields.groupId || undefined,
122 165
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
123 166
 					userId: this.fieldConfig.fields.userId || undefined,
167
+					placeId: this.fieldConfig.fields.floorId || undefined,
168
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
169
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
170
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
171
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
172
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
173
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
174
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
175
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
124 176
 				}
125 177
 			}
126 178
 		}
@@ -136,9 +188,26 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
136 188
 			query = {
137 189
 				startDate: this.customChangeDateComponent.startDate || undefined,
138 190
 				endDate: this.customChangeDateComponent.endDate || undefined,
191
+				repairDeptId: this.deptId || undefined,
139 192
 				searchQuery:{
140 193
 					statusValue: 'close',
141 194
 					evaluateId: 20423,
195
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
196
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
197
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
198
+					floorId: this.fieldConfig.fields.floorId || undefined,
199
+					groupId: this.fieldConfig.fields.groupId || undefined,
200
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
201
+					userId: this.fieldConfig.fields.userId || undefined,
202
+					placeId: this.fieldConfig.fields.floorId || undefined,
203
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
204
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
205
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
206
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
207
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
208
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
209
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
210
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
142 211
 				}
143 212
 			}
144 213
 		}else{
@@ -156,6 +225,15 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
156 225
 					groupId: this.fieldConfig.fields.groupId || undefined,
157 226
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
158 227
 					userId: this.fieldConfig.fields.userId || undefined,
228
+					placeId: this.fieldConfig.fields.floorId || undefined,
229
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
230
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
231
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
232
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
233
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
234
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
235
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
236
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
159 237
 				}
160 238
 			}
161 239
 		}
@@ -171,9 +249,26 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
171 249
 			query = {
172 250
 				startDate: this.customChangeDateComponent.startDate || undefined,
173 251
 				endDate: this.customChangeDateComponent.endDate || undefined,
252
+				repairDeptId: this.deptId || undefined,
174 253
 				searchQuery:{
175 254
 					statusValue: 'close',
176 255
 					evaluateId: 20422,
256
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
257
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
258
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
259
+					floorId: this.fieldConfig.fields.floorId || undefined,
260
+					groupId: this.fieldConfig.fields.groupId || undefined,
261
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
262
+					userId: this.fieldConfig.fields.userId || undefined,
263
+					placeId: this.fieldConfig.fields.floorId || undefined,
264
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
265
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
266
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
267
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
268
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
269
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
270
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
271
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
177 272
 				}
178 273
 			}
179 274
 		}else{
@@ -191,6 +286,15 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
191 286
 					groupId: this.fieldConfig.fields.groupId || undefined,
192 287
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
193 288
 					userId: this.fieldConfig.fields.userId || undefined,
289
+					placeId: this.fieldConfig.fields.floorId || undefined,
290
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
291
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
292
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
293
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
294
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
295
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
296
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
297
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
194 298
 				}
195 299
 			}
196 300
 		}
@@ -206,9 +310,26 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
206 310
 			query = {
207 311
 				startDate: this.customChangeDateComponent.startDate || undefined,
208 312
 				endDate: this.customChangeDateComponent.endDate || undefined,
313
+				repairDeptId: this.deptId || undefined,
209 314
 				searchQuery:{
210 315
 					statusValue: 'close',
211 316
 					evaluateId: 20421,
317
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
318
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
319
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
320
+					floorId: this.fieldConfig.fields.floorId || undefined,
321
+					groupId: this.fieldConfig.fields.groupId || undefined,
322
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
323
+					userId: this.fieldConfig.fields.userId || undefined,
324
+					placeId: this.fieldConfig.fields.floorId || undefined,
325
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
326
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
327
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
328
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
329
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
330
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
331
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
332
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
212 333
 				}
213 334
 			}
214 335
 		}else{
@@ -226,6 +347,15 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
226 347
 					groupId: this.fieldConfig.fields.groupId || undefined,
227 348
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
228 349
 					userId: this.fieldConfig.fields.userId || undefined,
350
+					placeId: this.fieldConfig.fields.floorId || undefined,
351
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
352
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
353
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
354
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
355
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
356
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
357
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
358
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
229 359
 				}
230 360
 			}
231 361
 		}
@@ -241,9 +371,17 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
241 371
 			query = {
242 372
 				startDate: this.customChangeDateComponent.startDate || undefined,
243 373
 				endDate: this.customChangeDateComponent.endDate || undefined,
374
+				repairDeptId: this.deptId || undefined,
244 375
 				searchQuery:{
245 376
 					statusValue: 'close',
246 377
 					evaluateId: 20420,
378
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
379
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
380
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
381
+					floorId: this.fieldConfig.fields.floorId || undefined,
382
+					groupId: this.fieldConfig.fields.groupId || undefined,
383
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
384
+					userId: this.fieldConfig.fields.userId || undefined,
247 385
 				}
248 386
 			}
249 387
 		}else{
@@ -450,6 +588,7 @@ export class DepartmentEvaluateStatisticsComponent implements OnInit, AfterViewI
450 588
     this.deptId = undefined;
451 589
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, categoryId: undefined, buildingId: undefined, floorId: undefined, deptTypeId: undefined};
452 590
     this.customChangeDateComponent.resetByDate();
591
+		sessionStorage.removeItem('maintenanceData');
453 592
     this.search();
454 593
   }
455 594
 

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.html

@@ -52,15 +52,15 @@
52 52
 			<tr *ngFor="let data of listOfData">
53 53
 				<td *ngIf="parent==1">{{ data.parentName || '无' }}<ng-container *ngIf="parent==1 && data.parentName">({{ data.parentCode }})</ng-container></td>
54 54
 				<td>{{ data.deptName }}<ng-container *ngIf="data.deptCode">({{ data.deptCode }})</ng-container></td>
55
-				<td (click)="viewDetail1(data)">{{ data.sum }}</td>
55
+				<td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
56 56
 				<td>{{ data.avgResponseTime }}</td>
57 57
 				<td>{{ data.avgResolvedTime }}</td>
58
-				<td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
59
-				<td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
58
+				<td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
59
+				<td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
60 60
 				<td>{{ data.consumablePrice }}</td>
61 61
 				<td>{{ data.workHourPrice }}</td>
62 62
 				<td>{{ data.totalPrice }}</td>
63
-				<td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
63
+				<td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
64 64
 				<td>{{ data.favorableRate }}</td>
65 65
 			</tr>
66 66
 		</tbody>
@@ -70,15 +70,15 @@
70 70
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==1">{{ data.parentCode }}</td>
71 71
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==0">{{ data.deptCode}}</td>
72 72
 					<td [ngStyle]="{width:widthStyle}" *ngIf="parent==1"></td>
73
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
73
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
74 74
 					<td [ngStyle]="{width:widthStyle}">{{ data.avgResponseTime }}</td>
75 75
 					<td [ngStyle]="{width:widthStyle}">{{ data.avgResolvedTime }}</td>
76
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
77
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
76
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
77
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
78 78
 					<td [ngStyle]="{width:widthStyle}">{{ data.consumablePrice }}</td>
79 79
 					<td [ngStyle]="{width:widthStyle}">{{ data.workHourPrice }}</td>
80 80
 					<td [ngStyle]="{width:widthStyle}">{{ data.totalPrice }}</td>
81
-					<td [ngStyle]="{width:widthStyle}" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
81
+					<td [ngStyle]="{width:widthStyle}" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
82 82
 					<td [ngStyle]="{width:widthStyle}">{{ data.favorableRate }}</td>
83 83
 				</tr>
84 84
 			</table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 105 - 0
src/app/views/new-statistics/maintenance-statistics/department-incident-statistics/department-incident-statistics.component.ts

@@ -68,8 +68,25 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
68 68
 			query = {
69 69
 				startDate: this.customChangeDateComponent.startDate || undefined,
70 70
 				endDate: this.customChangeDateComponent.endDate || undefined,
71
+				repairDeptId: this.deptId,
71 72
 				searchQuery:{
72 73
 					statusValue: 'close',
74
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
75
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
76
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
77
+					floorId: this.fieldConfig.fields.floorId || undefined,
78
+					groupId: this.fieldConfig.fields.groupId || undefined,
79
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
80
+					userId: this.fieldConfig.fields.userId || undefined,
81
+					placeId: this.fieldConfig.fields.floorId || undefined,
82
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
83
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
84
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
85
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
86
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
87
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
88
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
89
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
73 90
 				}
74 91
 			}
75 92
 		}else{
@@ -86,6 +103,15 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
86 103
 					groupId: this.fieldConfig.fields.groupId || undefined,
87 104
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
88 105
 					userId: this.fieldConfig.fields.userId || undefined,
106
+					placeId: this.fieldConfig.fields.floorId || undefined,
107
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
108
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
109
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
110
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
111
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
112
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
113
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
114
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
89 115
 				}
90 116
 			}
91 117
 		}
@@ -101,9 +127,26 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
101 127
 			query = {
102 128
 				startDate: this.customChangeDateComponent.startDate || undefined,
103 129
 				endDate: this.customChangeDateComponent.endDate || undefined,
130
+				repairDeptId: this.deptId,
104 131
 				searchQuery:{
105 132
 					statusValue: 'close',
106 133
 					overtimeId: 1,
134
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
135
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
136
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
137
+					floorId: this.fieldConfig.fields.floorId || undefined,
138
+					groupId: this.fieldConfig.fields.groupId || undefined,
139
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
140
+					userId: this.fieldConfig.fields.userId || undefined,
141
+					placeId: this.fieldConfig.fields.floorId || undefined,
142
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
143
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
144
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
145
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
146
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
147
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
148
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
149
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
107 150
 				}
108 151
 			}
109 152
 		}else{
@@ -121,6 +164,15 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
121 164
 					groupId: this.fieldConfig.fields.groupId || undefined,
122 165
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
123 166
 					userId: this.fieldConfig.fields.userId || undefined,
167
+					placeId: this.fieldConfig.fields.floorId || undefined,
168
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
169
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
170
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
171
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
172
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
173
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
174
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
175
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
124 176
 				}
125 177
 			}
126 178
 		}
@@ -136,9 +188,26 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
136 188
 			query = {
137 189
 				startDate: this.customChangeDateComponent.startDate || undefined,
138 190
 				endDate: this.customChangeDateComponent.endDate || undefined,
191
+				repairDeptId: this.deptId,
139 192
 				searchQuery:{
140 193
 					statusValue: 'close',
141 194
 					isHangId: 1,
195
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
196
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
197
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
198
+					floorId: this.fieldConfig.fields.floorId || undefined,
199
+					groupId: this.fieldConfig.fields.groupId || undefined,
200
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
201
+					userId: this.fieldConfig.fields.userId || undefined,
202
+					placeId: this.fieldConfig.fields.floorId || undefined,
203
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
204
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
205
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
206
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
207
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
208
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
209
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
210
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
142 211
 				}
143 212
 			}
144 213
 		}else{
@@ -156,6 +225,15 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
156 225
 					groupId: this.fieldConfig.fields.groupId || undefined,
157 226
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
158 227
 					userId: this.fieldConfig.fields.userId || undefined,
228
+					placeId: this.fieldConfig.fields.floorId || undefined,
229
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
230
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
231
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
232
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
233
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
234
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
235
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
236
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
159 237
 				}
160 238
 			}
161 239
 		}
@@ -171,9 +249,26 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
171 249
 			query = {
172 250
 				startDate: this.customChangeDateComponent.startDate || undefined,
173 251
 				endDate: this.customChangeDateComponent.endDate || undefined,
252
+				repairDeptId: this.deptId,
174 253
 				searchQuery:{
175 254
 					statusValue: 'close',
176 255
 					evaluateId: 20424,
256
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
257
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
258
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
259
+					floorId: this.fieldConfig.fields.floorId || undefined,
260
+					groupId: this.fieldConfig.fields.groupId || undefined,
261
+					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
262
+					userId: this.fieldConfig.fields.userId || undefined,
263
+					placeId: this.fieldConfig.fields.floorId || undefined,
264
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
265
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
266
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
267
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
268
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
269
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
270
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
271
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
177 272
 				}
178 273
 			}
179 274
 		}else{
@@ -191,6 +286,15 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
191 286
 					groupId: this.fieldConfig.fields.groupId || undefined,
192 287
 					deptTypeId: this.fieldConfig.fields.deptTypeId || undefined,
193 288
 					userId: this.fieldConfig.fields.userId || undefined,
289
+					placeId: this.fieldConfig.fields.floorId || undefined,
290
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
291
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
292
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
293
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
294
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
295
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
296
+					userDTO: this.fieldConfig.fields.userDTO || undefined,
297
+					deptTypeDTO: this.fieldConfig.fields.deptTypeDTO || undefined,
194 298
 				}
195 299
 			}
196 300
 		}
@@ -380,6 +484,7 @@ export class DepartmentIncidentStatisticsComponent implements OnInit, AfterViewI
380 484
     this.deptId = undefined;
381 485
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, categoryId: undefined, buildingId: undefined, floorId: undefined, deptTypeId: undefined};
382 486
     this.customChangeDateComponent.resetByDate();
487
+		sessionStorage.removeItem('maintenanceData');
383 488
     this.search();
384 489
   }
385 490
 

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.html

@@ -35,15 +35,15 @@
35 35
   <tbody>
36 36
     <tr *ngFor="let data of listOfData">
37 37
       <td>{{ data.groupName }}</td>
38
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
38
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
39 39
       <td>{{ data.avgResponseTime }}</td>
40 40
       <td>{{ data.avgResolvedTime }}</td>
41
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
42
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
41
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
42
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
43 43
       <td>{{ data.consumablePrice }}</td>
44 44
       <td>{{ data.workHourPrice }}</td>
45 45
       <td>{{ data.totalPrice }}</td>
46
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
46
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
47 47
       <td>{{ data.favorableRate }}</td>
48 48
     </tr>
49 49
   </tbody>
@@ -51,15 +51,15 @@
51 51
     <table class="footTable">
52 52
       <tr *ngFor="let data of listOfDataEnd">
53 53
         <td style="width: 10%">{{ data.groupName }}</td>
54
-        <td style="width: 9%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
54
+        <td style="width: 9%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
55 55
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
56 56
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
57
-        <td style="width: 9%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
58
-        <td style="width: 9%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
57
+        <td style="width: 9%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
58
+        <td style="width: 9%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
59 59
         <td style="width: 9%">{{ data.consumablePrice }}</td>
60 60
         <td style="width: 9%">{{ data.workHourPrice }}</td>
61 61
         <td style="width: 9%">{{ data.totalPrice }}</td>
62
-        <td style="width: 9%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
62
+        <td style="width: 9%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
63 63
         <td style="width: 9%">{{ data.favorableRate }}</td>
64 64
       </tr>
65 65
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 64 - 0
src/app/views/new-statistics/maintenance-statistics/group-statistics/group-statistics.component.ts

@@ -54,6 +54,16 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
54 54
 				endDate: this.customChangeDateComponent.endDate || undefined,
55 55
 				searchQuery:{
56 56
 					statusValue: 'close',
57
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
58
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
59
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
60
+					floorId: this.fieldConfig.fields.floorId || undefined,
61
+					placeId: this.fieldConfig.fields.floorId || undefined,
62
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
63
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
64
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
65
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
66
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
57 67
 				}
58 68
 			}
59 69
 		}else{
@@ -67,6 +77,12 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
67 77
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
68 78
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
69 79
 					floorId: this.fieldConfig.fields.floorId || undefined,
80
+					placeId: this.fieldConfig.fields.floorId || undefined,
81
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
82
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
83
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
84
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
85
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
70 86
 				}
71 87
 			}
72 88
 		}
@@ -85,6 +101,16 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
85 101
 				searchQuery:{
86 102
 					statusValue: 'close',
87 103
 					overtimeId: 1,
104
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
105
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
106
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
107
+					floorId: this.fieldConfig.fields.floorId || undefined,
108
+					placeId: this.fieldConfig.fields.floorId || undefined,
109
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
110
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
111
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
112
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
113
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
88 114
 				}
89 115
 			}
90 116
 		}else{
@@ -99,6 +125,12 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
99 125
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
100 126
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
101 127
 					floorId: this.fieldConfig.fields.floorId || undefined,
128
+					placeId: this.fieldConfig.fields.floorId || undefined,
129
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
130
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
131
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
132
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
133
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
102 134
 				}
103 135
 			}
104 136
 		}
@@ -117,6 +149,16 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
117 149
 				searchQuery:{
118 150
 					statusValue: 'close',
119 151
 					isHangId: 1,
152
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
153
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
154
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
155
+					floorId: this.fieldConfig.fields.floorId || undefined,
156
+					placeId: this.fieldConfig.fields.floorId || undefined,
157
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
158
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
159
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
160
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
161
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
120 162
 				}
121 163
 			}
122 164
 		}else{
@@ -131,6 +173,12 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
131 173
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
132 174
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
133 175
 					floorId: this.fieldConfig.fields.floorId || undefined,
176
+					placeId: this.fieldConfig.fields.floorId || undefined,
177
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
178
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
179
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
180
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
181
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
134 182
 				}
135 183
 			}
136 184
 		}
@@ -149,6 +197,16 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
149 197
 				searchQuery:{
150 198
 					statusValue: 'close',
151 199
 					evaluateId: 20424,
200
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
201
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
202
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
203
+					floorId: this.fieldConfig.fields.floorId || undefined,
204
+					placeId: this.fieldConfig.fields.floorId || undefined,
205
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
206
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
207
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
208
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
209
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
152 210
 				}
153 211
 			}
154 212
 		}else{
@@ -163,6 +221,12 @@ export class GroupStatisticsComponent implements OnInit, AfterViewInit {
163 221
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
164 222
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
165 223
 					floorId: this.fieldConfig.fields.floorId || undefined,
224
+					placeId: this.fieldConfig.fields.floorId || undefined,
225
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
226
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
227
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
228
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
229
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
166 230
 				}
167 231
 			}
168 232
 		}

+ 4 - 4
src/app/views/new-statistics/maintenance-statistics/incident-list/incident-list.component.html

@@ -40,7 +40,7 @@
40 40
 	<span>{{fieldConfig.fields.isHangDTO?.name}}</span>
41 41
 	<span>{{fieldConfig.fields.overtimeDTO?.name}}</span>
42 42
 	<span>{{fieldConfig.fields.codeNumDTO}}</span>
43
-	<span>{{fieldConfig.fields.deptTypeDTO.name}}</span>
43
+	<span>{{fieldConfig.fields.deptTypeDTO?.name}}</span>
44 44
 	
45 45
 </div>
46 46
 <nz-table class="table" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false" [nzLoading]="loading1" [nzScroll]="{ y: tableHeight + 'px', x: '1600px'}">
@@ -87,8 +87,8 @@
87 87
 				<div>解决:{{data.resolvedTime}}</div>
88 88
 			</td>
89 89
       <td>
90
-      	<div>预接:{{data.overdueTime|date:'yyyy-MM-dd HH:mm:ss'}}</div>
91
-      	<div>预解:{{data.overdueResponseDate|date:'yyyy-MM-dd HH:mm:ss'}}</div>
90
+      	<div>预接:{{data.overdueResponseDate|date:'yyyy-MM-dd HH:mm:ss'}}</div>
91
+      	<div>预解:{{data.overdueTime|date:'yyyy-MM-dd HH:mm:ss'}}</div>
92 92
       </td>
93 93
       <td>{{ data.remark }}</td>
94 94
       <td>
@@ -109,7 +109,7 @@
109 109
 </div>
110 110
 
111 111
 <!-- 详细搜索 -->
112
-<app-search-more [fieldConfig]="fieldConfig" *ngIf="showSearchMore" [hosId]="hosId" [queryType]="queryType"  [dutyId]="dutyId"  [parentDutyId]="parentDutyId" (cancelEvent)="cancelEvent()" (submitEvent)="submitEvent($event)"></app-search-more>
112
+<app-search-more [fieldConfig]="fieldConfig" *ngIf="showSearchMore" [hosId]="hosId" [queryType]="queryType"  [dutyId]="dutyId"  [parentDutyId]="parentDutyId" (cancelEvent)="cancelEvent()" (submitEvent)="submitEvent($event)" [going]="goingType"></app-search-more>
113 113
 
114 114
 <!-- 详情 -->
115 115
 <app-incident-detail [id]="coopData.id" *ngIf="detailModalShow" (closeModelHs)="closeDetailModelOrder($event)" (confirmModelHs)="confirmDetailModelOrder($event)"></app-incident-detail>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/incident-list/incident-list.component.ts

@@ -72,6 +72,7 @@ export class IncidentListComponent implements OnInit, AfterViewInit, OnDestroy {
72 72
     }, 0)
73 73
   }
74 74
 	
75
+	goingType:boolean = false;
75 76
 	getRouteQuery(){
76 77
 		let data = sessionStorage.getItem('maintenanceData')
77 78
 		let query = null
@@ -95,8 +96,10 @@ export class IncidentListComponent implements OnInit, AfterViewInit, OnDestroy {
95 96
 					this.repairDeptId = undefined
96 97
 				}
97 98
 				if(query.searchQuery){
99
+					this.goingType = true
98 100
 					this.fieldConfig.fields = query.searchQuery
99 101
 				}else{
102
+					this.goingType = false
100 103
 					this.fieldConfig.fields = {}
101 104
 				}
102 105
 				
@@ -309,6 +312,7 @@ export class IncidentListComponent implements OnInit, AfterViewInit, OnDestroy {
309 312
     this.customChangeDateComponent.resetByDate();
310 313
     this.search();
311 314
 		this.onResize(0);
315
+		sessionStorage.removeItem('maintenanceData');
312 316
   }
313 317
 
314 318
   // 科室搜索

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.html

@@ -47,15 +47,15 @@
47 47
   <tbody>
48 48
     <tr *ngFor="let data of listOfData">
49 49
       <td>{{ data.startDate }}</td>
50
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
50
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
51 51
       <td>{{ data.avgResponseTime }}</td>
52 52
       <td>{{ data.avgResolvedTime }}</td>
53
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
54
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
53
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
54
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
55 55
       <td>{{ data.consumablePrice }}</td>
56 56
       <td>{{ data.workHourPrice }}</td>
57 57
       <td>{{ data.totalPrice }}</td>
58
-      <td (click)="viewDetail3(data)">{{ data.negativeNum }}</td>
58
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.negativeNum }}</td>
59 59
       <td>{{ data.favorableRate }}</td>
60 60
     </tr>
61 61
   </tbody>
@@ -63,15 +63,15 @@
63 63
     <table class="footTable">
64 64
       <tr *ngFor="let data of listOfDataEnd">
65 65
         <td style="width: 10%">{{ data.startDate }}</td>
66
-        <td style="width: 9%" (click)="viewDetail1(data,'all')">{{ data.sum }}</td>
66
+        <td style="width: 9%" class="text-sign" (click)="viewDetail1(data,'all')">{{ data.sum }}</td>
67 67
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
68 68
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
69
-        <td style="width: 9%" (click)="viewDetail2(data,'all')">{{ data.resolvedOverNum }}</td>
70
-        <td style="width: 9%" (click)="viewDetail3(data,'all')">{{ data.overTimeNum }}</td>
69
+        <td style="width: 9%" class="text-sign" (click)="viewDetail2(data,'all')">{{ data.resolvedOverNum }}</td>
70
+        <td style="width: 9%" class="text-sign" (click)="viewDetail3(data,'all')">{{ data.overTimeNum }}</td>
71 71
         <td style="width: 9%">{{ data.consumablePrice }}</td>
72 72
         <td style="width: 9%">{{ data.workHourPrice }}</td>
73 73
         <td style="width: 9%">{{ data.totalPrice }}</td>
74
-        <td style="width: 9%" (click)="viewDetail4(data,'all')">{{ data.negativeNum }}</td>
74
+        <td style="width: 9%" class="text-sign" (click)="viewDetail4(data,'all')">{{ data.negativeNum }}</td>
75 75
         <td style="width: 9%">{{ data.favorableRate }}</td>
76 76
       </tr>
77 77
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 83 - 6
src/app/views/new-statistics/maintenance-statistics/incident-statistics/incident-statistics.component.ts

@@ -63,21 +63,40 @@ export class IncidentStatisticsComponent implements OnInit, AfterViewInit {
63 63
 			query = {
64 64
 				startDate: this.customChangeDateComponent.startDate,
65 65
 				endDate: this.customChangeDateComponent.endDate,
66
+				repairDeptId: this.repairDeptId || undefined,
66 67
 				searchQuery:{
67 68
 					statusValue: 'close',
69
+					groupId: this.fieldConfig.fields.groupId || undefined,
70
+					userId: this.fieldConfig.fields.userId || undefined,
71
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
72
+					sourceId: this.fieldConfig.fields.sourceId || undefined,
73
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
74
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
75
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
76
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
77
+					groupDTO: this.fieldConfig.fields.groupDTO,
78
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
79
+					userDTO: this.fieldConfig.fields.userDTO,
68 80
 				}
69 81
 			}
70 82
 		}else{
71 83
 			 query = {
72 84
 				startDate: data.startDate + ' ' + '00:00:00',
73 85
 				endDate: data.startDate + ' ' + '23:59:59',
86
+				repairDeptId: this.repairDeptId || undefined,
74 87
 				searchQuery:{
75 88
 					statusValue: 'close',
76
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
89
+					groupId: this.fieldConfig.fields.groupId || undefined,
77 90
 					userId: this.fieldConfig.fields.userId || undefined,
78 91
 					categoryId: this.fieldConfig.fields.categoryId || undefined,
79 92
 					sourceId: this.fieldConfig.fields.sourceId || undefined,
80 93
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
94
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
95
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
96
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
97
+					groupDTO: this.fieldConfig.fields.groupDTO,
98
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
99
+					userDTO: this.fieldConfig.fields.userDTO,
81 100
 				}
82 101
 			}
83 102
 		}
@@ -93,23 +112,42 @@ export class IncidentStatisticsComponent implements OnInit, AfterViewInit {
93 112
 			query = {
94 113
 				startDate: this.customChangeDateComponent.startDate,
95 114
 				endDate: this.customChangeDateComponent.endDate,
115
+				repairDeptId: this.repairDeptId || undefined,
96 116
 				searchQuery:{
97 117
 					statusValue: 'close',
98 118
 					overtimeId: 1,
119
+					groupId: this.fieldConfig.fields.groupId || undefined,
120
+					userId: this.fieldConfig.fields.userId || undefined,
121
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
122
+					sourceId: this.fieldConfig.fields.sourceId || undefined,
123
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
124
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
125
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
126
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
127
+					groupDTO: this.fieldConfig.fields.groupDTO,
128
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
129
+					userDTO: this.fieldConfig.fields.userDTO,
99 130
 				}
100 131
 			}
101 132
 		}else{
102 133
 			query = {
103 134
 				startDate: data.startDate + ' ' + '00:00:00',
104 135
 				endDate: data.startDate + ' ' + '23:59:59',
136
+				repairDeptId: this.repairDeptId || undefined,
105 137
 				searchQuery:{
106 138
 					statusValue: 'close',
107 139
 					overtimeId: 1,
108
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
140
+					groupId: this.fieldConfig.fields.groupId || undefined,
109 141
 					userId: this.fieldConfig.fields.userId || undefined,
110 142
 					categoryId: this.fieldConfig.fields.categoryId || undefined,
111 143
 					sourceId: this.fieldConfig.fields.sourceId || undefined,
112 144
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
145
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
146
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
147
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
148
+					groupDTO: this.fieldConfig.fields.groupDTO,
149
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
150
+					userDTO: this.fieldConfig.fields.userDTO,
113 151
 				}
114 152
 			}
115 153
 		}
@@ -125,23 +163,42 @@ export class IncidentStatisticsComponent implements OnInit, AfterViewInit {
125 163
 			query = {
126 164
 				startDate: this.customChangeDateComponent.startDate,
127 165
 				endDate: this.customChangeDateComponent.endDate,
166
+				repairDeptId: this.repairDeptId || undefined,
128 167
 				searchQuery:{
129 168
 					statusValue: 'close',
130
-					isHangId: 1
169
+					isHangId: 1,
170
+					groupId: this.fieldConfig.fields.groupId || undefined,
171
+					userId: this.fieldConfig.fields.userId || undefined,
172
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
173
+					sourceId: this.fieldConfig.fields.sourceId || undefined,
174
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
175
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
176
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
177
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
178
+					groupDTO: this.fieldConfig.fields.groupDTO,
179
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
180
+					userDTO: this.fieldConfig.fields.userDTO,
131 181
 				}
132 182
 			}
133 183
 		}else{
134 184
 			query = {
135 185
 				startDate: data.startDate + ' ' + '00:00:00',
136 186
 				endDate: data.startDate + ' ' + '23:59:59',
187
+				repairDeptId: this.repairDeptId || undefined,
137 188
 				searchQuery:{
138 189
 					statusValue: 'close',
139 190
 					isHangId: 1,
140
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
191
+					groupId: this.fieldConfig.fields.groupId || undefined,
141 192
 					userId: this.fieldConfig.fields.userId || undefined,
142 193
 					categoryId: this.fieldConfig.fields.categoryId || undefined,
143 194
 					sourceId: this.fieldConfig.fields.sourceId || undefined,
144 195
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
196
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
197
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
198
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
199
+					groupDTO: this.fieldConfig.fields.groupDTO,
200
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
201
+					userDTO: this.fieldConfig.fields.userDTO,
145 202
 				}
146 203
 			}
147 204
 		}
@@ -157,23 +214,42 @@ export class IncidentStatisticsComponent implements OnInit, AfterViewInit {
157 214
 			query = {
158 215
 				startDate: this.customChangeDateComponent.startDate,
159 216
 				endDate: this.customChangeDateComponent.endDate,
217
+				repairDeptId: this.repairDeptId || undefined,
160 218
 				searchQuery:{
161 219
 					statusValue: 'close',
162
-					evaluateId: 20424
220
+					evaluateId: 20424,
221
+					groupId: this.fieldConfig.fields.groupId || undefined,
222
+					userId: this.fieldConfig.fields.userId || undefined,
223
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
224
+					sourceId: this.fieldConfig.fields.sourceId || undefined,
225
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
226
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
227
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
228
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
229
+					groupDTO: this.fieldConfig.fields.groupDTO,
230
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
231
+					userDTO: this.fieldConfig.fields.userDTO,
163 232
 				}
164 233
 			}
165 234
 		}else{
166 235
 			query = {
167 236
 				startDate: data.startDate + ' ' + '00:00:00',
168 237
 				endDate: data.startDate + ' ' + '23:59:59',
238
+				repairDeptId: this.repairDeptId || undefined,
169 239
 				searchQuery:{
170 240
 					statusValue: 'close',
171 241
 					evaluateId: 20424,
172
-					groupId: this.fieldConfig.fields.userId ? undefined : (this.fieldConfig.fields.groupId || undefined),
242
+					groupId: this.fieldConfig.fields.groupId || undefined,
173 243
 					userId: this.fieldConfig.fields.userId || undefined,
174 244
 					categoryId: this.fieldConfig.fields.categoryId || undefined,
175 245
 					sourceId: this.fieldConfig.fields.sourceId || undefined,
176 246
 					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
247
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
248
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
249
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
250
+					groupDTO: this.fieldConfig.fields.groupDTO,
251
+					sourceDTO: this.fieldConfig.fields.sourceDTO,
252
+					userDTO: this.fieldConfig.fields.userDTO,
177 253
 				}
178 254
 			}
179 255
 		}
@@ -345,6 +421,7 @@ export class IncidentStatisticsComponent implements OnInit, AfterViewInit {
345 421
     this.repairDeptId = undefined;
346 422
     this.fieldConfig.fields = {groupId: undefined, userId: undefined, categoryId: undefined, sourceId: undefined, hierarchy: undefined};
347 423
     this.customChangeDateComponent.resetByDate();
424
+		sessionStorage.removeItem('maintenanceData');
348 425
     this.search();
349 426
   }
350 427
 

+ 7 - 7
src/app/views/new-statistics/maintenance-statistics/synthesize-statistics/synthesize-statistics.component.html

@@ -11,7 +11,7 @@
11 11
   <ng-container *ngIf="!isLoading">
12 12
     <div class="top1-statistics">
13 13
       <div class="top-list">
14
-        <div class="special-box" (click)="viewDetail1()">
14
+        <div class="special-box cursor" (click)="viewDetail1()">
15 15
           <div class="num">{{workData.gd_total || 0}}</div>
16 16
           <div class="describe">工单总数</div>
17 17
         </div>
@@ -34,21 +34,21 @@
34 34
         <div class="border"></div>
35 35
       </div>
36 36
       <div class="top-list">
37
-        <div class="special-box" (click)="viewDetail2()">
37
+        <div class="special-box cursor" (click)="viewDetail2()">
38 38
           <div class="num">{{workData.gd_postpone || 0}}</div>
39 39
           <div class="describe">挂起单数</div>
40 40
         </div>
41 41
         <div class="border"></div>
42 42
       </div>
43 43
       <div class="top-list">
44
-        <div class="special-box" (click)="viewDetail3()">
44
+        <div class="special-box cursor" (click)="viewDetail3()">
45 45
           <div class="num">{{workData.gd_overtime || 0}}</div>
46 46
           <div class="describe">超时单数</div>
47 47
         </div>
48 48
         <div class="border"></div>
49 49
       </div>
50 50
       <div class="top-list">
51
-        <div class="special-box" (click)="viewDetail4()">
51
+        <div class="special-box cursor" (click)="viewDetail4()">
52 52
           <div class="num">{{workData.gd_degree}}</div>
53 53
           <div class="describe">差评单数</div>
54 54
         </div>
@@ -83,10 +83,10 @@
83 83
               <span *ngIf="index !=0 && index !=1 && index !=2">{{index+1}}</span>
84 84
             </div>
85 85
             <div class="table-list">{{item.name}}</div>
86
-            <div class="table-list" (click)="viewMaintain1(item)">{{item.count || 0}}</div>
86
+            <div class="table-list text-sign" (click)="viewMaintain1(item)">{{item.count || 0}}</div>
87 87
             <div class="table-list">{{item.avg_response}}分</div>
88 88
             <div class="table-list">{{item.avg_handle }}分</div>
89
-            <div class="table-list" (click)="viewMaintain2(item)">{{item.overtime || 0}}</div>
89
+            <div class="table-list text-sign" (click)="viewMaintain2(item)">{{item.overtime || 0}}</div>
90 90
           </div>
91 91
         </div>
92 92
       </div>
@@ -140,7 +140,7 @@
140 140
           <div class="th" *ngFor="let item of deptCostData; let index = index;">
141 141
             <div class="table-list-4">{{index+1}}</div>
142 142
             <div class="table-list-4 ellipsis-oneline" title="{{item.dept}}">{{item.dept}}</div>
143
-            <div class="table-list-4" (click)="viewDept(item)">{{item.sum || 0}}</div>
143
+            <div class="table-list-4 text-sign" (click)="viewDept(item)">{{item.sum || 0}}</div>
144 144
             <div class="table-list-4">{{item.sum_price || 0}}</div>
145 145
           </div>
146 146
         </div>

+ 7 - 1
src/app/views/new-statistics/maintenance-statistics/synthesize-statistics/synthesize-statistics.component.less

@@ -5,6 +5,13 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.cursor{
9
+		cursor: pointer;
10
+	}
11
+	.text-sign{
12
+		text-decoration: underline;
13
+		cursor: pointer;
14
+	}
8 15
 	.synthesize-box{
9 16
 		background: #F0F2F5 !important;
10 17
 		height: calc((100vh - 92px));
@@ -48,7 +55,6 @@
48 55
 					right: 0;
49 56
 				}
50 57
 				.special-box{
51
-					cursor: pointer;
52 58
 					text-align: center;
53 59
 					position: relative;
54 60
 					top: -5px;

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.html

@@ -47,15 +47,15 @@
47 47
   <tbody>
48 48
     <tr *ngFor="let data of listOfData">
49 49
       <td>{{ data.companyName }}</td>
50
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
50
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
51 51
       <td>{{ data.avgResponseTime }}</td>
52 52
       <td>{{ data.avgResolvedTime }}</td>
53
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
54
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
53
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
54
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
55 55
       <td>{{ data.consumablePrice }}</td>
56 56
       <td>{{ data.workHourPrice }}</td>
57 57
       <td>{{ data.totalPrice }}</td>
58
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
58
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
59 59
       <td>{{ data.favorableRate }}</td>
60 60
     </tr>
61 61
   </tbody>
@@ -63,15 +63,15 @@
63 63
     <table class="footTable">
64 64
       <tr *ngFor="let data of listOfDataEnd">
65 65
         <td style="width: 10%">{{ data.companyName }}</td>
66
-        <td style="width: 9%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
66
+        <td style="width: 9%">{{ data.sum }}</td>
67 67
         <td style="width: 9%">{{ data.avgResponseTime }}</td>
68 68
         <td style="width: 9%">{{ data.avgResolvedTime }}</td>
69
-        <td style="width: 9%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
70
-        <td style="width: 9%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
69
+        <td style="width: 9%">{{ data.resolvedOverNum }}</td>
70
+        <td style="width: 9%">{{ data.overTimeNum }}</td>
71 71
         <td style="width: 9%">{{ data.consumablePrice }}</td>
72 72
         <td style="width: 9%">{{ data.workHourPrice }}</td>
73 73
         <td style="width: 9%">{{ data.totalPrice }}</td>
74
-        <td style="width: 9%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
74
+        <td style="width: 9%">{{ data.negativeNum }}</td>
75 75
         <td style="width: 9%">{{ data.favorableRate }}</td>
76 76
       </tr>
77 77
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 102 - 2
src/app/views/new-statistics/maintenance-statistics/tripartite-company-statistics/tripartite-company-statistics.component.ts

@@ -58,12 +58,29 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
58 58
 	// 数据下钻
59 59
 	viewDetail1(data, type){
60 60
 		let query = null
61
+		let item = null;
62
+		if(this.companyId){
63
+		  item = this.companyList.find(item => item.id == this.companyId);
64
+		}
61 65
 		if(type=='all'){
62 66
 			query = {
63 67
 				startDate: this.customChangeDateComponent.startDate || undefined,
64 68
 				endDate: this.customChangeDateComponent.endDate || undefined,
65 69
 				searchQuery:{
66 70
 					statusValue: 'close',
71
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
72
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
73
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
74
+					floorId: this.fieldConfig.fields.floorId || undefined,
75
+					groupId: this.fieldConfig.fields.groupId || undefined,
76
+					companyId: this.companyId,
77
+					placeId: this.fieldConfig.fields.floorId || undefined,
78
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
79
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
80
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
81
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
82
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
83
+					companyDTO: item || undefined,
67 84
 				}
68 85
 			}
69 86
 		}else{
@@ -79,6 +96,13 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
79 96
 					floorId: this.fieldConfig.fields.floorId || undefined,
80 97
 					groupId: this.fieldConfig.fields.groupId || undefined,
81 98
 					companyId: data.companyId,
99
+					placeId: this.fieldConfig.fields.floorId || undefined,
100
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
101
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
102
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
103
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
104
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
105
+					companyDTO: item || undefined,
82 106
 				}
83 107
 			}
84 108
 		}
@@ -90,17 +114,35 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
90 114
 	// 数据下钻
91 115
 	viewDetail2(data, type){
92 116
 		let query = null
117
+		let item = null;
118
+		if(this.companyId){
119
+		  item = this.companyList.find(item => item.id == this.companyId);
120
+		}
93 121
 		if(type=='all'){
94
-			let query = {
122
+			query = {
95 123
 				startDate: this.customChangeDateComponent.startDate || undefined,
96 124
 				endDate: this.customChangeDateComponent.endDate || undefined,
125
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
97 126
 				searchQuery:{
98 127
 					statusValue: 'close',
99 128
 					overtimeId: 1,
129
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
130
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
131
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
132
+					floorId: this.fieldConfig.fields.floorId || undefined,
133
+					groupId: this.fieldConfig.fields.groupId || undefined,
134
+					companyId: this.companyId,
135
+					placeId: this.fieldConfig.fields.floorId || undefined,
136
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
137
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
138
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
139
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
140
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
141
+					companyDTO: item || undefined,
100 142
 				}
101 143
 			}
102 144
 		}else{
103
-			let query = {
145
+			query = {
104 146
 				startDate: this.customChangeDateComponent.startDate || undefined,
105 147
 				endDate: this.customChangeDateComponent.endDate || undefined,
106 148
 				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
@@ -113,6 +155,13 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
113 155
 					floorId: this.fieldConfig.fields.floorId || undefined,
114 156
 					groupId: this.fieldConfig.fields.groupId || undefined,
115 157
 					companyId: data.companyId,
158
+					placeId: this.fieldConfig.fields.floorId || undefined,
159
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
160
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
161
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
162
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
163
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
164
+					companyDTO: item || undefined,
116 165
 				}
117 166
 			}
118 167
 		}
@@ -124,13 +173,31 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
124 173
 	// 数据下钻
125 174
 	viewDetail3(data, type){
126 175
 		let query = null
176
+		let item = null;
177
+		if(this.companyId){
178
+		  item = this.companyList.find(item => item.id == this.companyId);
179
+		}
127 180
 		if(type=='all'){
128 181
 			query = {
129 182
 				startDate: this.customChangeDateComponent.startDate || undefined,
130 183
 				endDate: this.customChangeDateComponent.endDate || undefined,
184
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
131 185
 				searchQuery:{
132 186
 					statusValue: 'close',
133 187
 					isHangId: 1,
188
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
189
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
190
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
191
+					floorId: this.fieldConfig.fields.floorId || undefined,
192
+					groupId: this.fieldConfig.fields.groupId || undefined,
193
+					companyId: this.companyId,
194
+					placeId: this.fieldConfig.fields.floorId || undefined,
195
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
196
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
197
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
198
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
199
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
200
+					companyDTO: item || undefined,
134 201
 				}
135 202
 			}
136 203
 		}else{
@@ -147,6 +214,13 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
147 214
 					floorId: this.fieldConfig.fields.floorId || undefined,
148 215
 					groupId: this.fieldConfig.fields.groupId || undefined,
149 216
 					companyId: data.companyId,
217
+					placeId: this.fieldConfig.fields.floorId || undefined,
218
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
219
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
220
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
221
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
222
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
223
+					companyDTO: item || undefined,
150 224
 				}
151 225
 			}
152 226
 		}
@@ -158,13 +232,31 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
158 232
 	// 数据下钻
159 233
 	viewDetail4(data, type){
160 234
 		let query = null
235
+		let item = null;
236
+		if(this.companyId){
237
+		  item = this.companyList.find(item => item.id == this.companyId);
238
+		}
161 239
 		if(type=='all'){
162 240
 			query = {
163 241
 				startDate: this.customChangeDateComponent.startDate || undefined,
164 242
 				endDate: this.customChangeDateComponent.endDate || undefined,
243
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
165 244
 				searchQuery:{
166 245
 					statusValue: 'close',
167 246
 					evaluateId: 20424,
247
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
248
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
249
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
250
+					floorId: this.fieldConfig.fields.floorId || undefined,
251
+					groupId: this.fieldConfig.fields.groupId || undefined,
252
+					companyId: this.companyId,
253
+					placeId: this.fieldConfig.fields.floorId || undefined,
254
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
255
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
256
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
257
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
258
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
259
+					companyDTO: item || undefined,
168 260
 				}
169 261
 			}
170 262
 		}else{
@@ -181,6 +273,13 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
181 273
 					floorId: this.fieldConfig.fields.floorId || undefined,
182 274
 					groupId: this.fieldConfig.fields.groupId || undefined,
183 275
 					companyId: data.companyId,
276
+					placeId: this.fieldConfig.fields.floorId || undefined,
277
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
278
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
279
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
280
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
281
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
282
+					companyDTO: item || undefined,
184 283
 				}
185 284
 			}
186 285
 		}
@@ -350,6 +449,7 @@ export class TripartiteCompanyStatisticsComponent implements OnInit, AfterViewIn
350 449
     this.companyId = undefined;
351 450
     this.fieldConfig.fields = {categoryId: undefined, buildingId: undefined, floorId: undefined, repairDeptId: undefined};
352 451
     this.customChangeDateComponent.resetByDate();
452
+		sessionStorage.removeItem('maintenanceData');
353 453
     this.search();
354 454
   }
355 455
 

+ 12 - 12
src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.html

@@ -47,13 +47,13 @@
47 47
   <tbody>
48 48
     <tr *ngFor="let data of listOfData">
49 49
       <td>{{ data.userName }}<ng-container *ngIf="data.userAccount">({{ data.userAccount }})</ng-container></td>
50
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
50
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
51 51
       <td>{{ data.degreeCount }}</td>
52
-      <td (click)="viewDetail2(data)">{{ data.oneStar }}</td>
53
-      <td (click)="viewDetail3(data)">{{ data.twoStar }}</td>
54
-      <td (click)="viewDetail4(data)">{{ data.threeStar }}</td>
55
-      <td (click)="viewDetail5(data)">{{ data.fourStar }}</td>
56
-      <td (click)="viewDetail6(data)">{{ data.fiveStar }}</td>
52
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.oneStar }}</td>
53
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.twoStar }}</td>
54
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.threeStar }}</td>
55
+      <td class="text-sign" (click)="viewDetail5(data)">{{ data.fourStar }}</td>
56
+      <td class="text-sign" (click)="viewDetail6(data)">{{ data.fiveStar }}</td>
57 57
       <td>{{ data.totalStar }}</td>
58 58
       <td>{{ data.avgStar }}</td>
59 59
     </tr>
@@ -62,13 +62,13 @@
62 62
     <table class="footTable">
63 63
       <tr *ngFor="let data of listOfDataEnd">
64 64
         <td style="width: 10%">{{ data.userName }}</td>
65
-        <td style="width: 10%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
65
+        <td style="width: 10%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
66 66
         <td style="width: 10%">{{ data.degreeCount }}</td>
67
-        <td style="width: 10%" (click)="viewDetail2(data, 'all')">{{ data.oneStar }}</td>
68
-        <td style="width: 10%" (click)="viewDetail3(data, 'all')">{{ data.twoStar }}</td>
69
-        <td style="width: 10%" (click)="viewDetail4(data, 'all')">{{ data.threeStar }}</td>
70
-        <td style="width: 10%" (click)="viewDetail5(data, 'all')">{{ data.fourStar }}</td>
71
-        <td style="width: 10%" (click)="viewDetail6(data, 'all')">{{ data.fiveStar }}</td>
67
+        <td style="width: 10%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.oneStar }}</td>
68
+        <td style="width: 10%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.twoStar }}</td>
69
+        <td style="width: 10%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.threeStar }}</td>
70
+        <td style="width: 10%" class="text-sign" (click)="viewDetail5(data, 'all')">{{ data.fourStar }}</td>
71
+        <td style="width: 10%" class="text-sign" (click)="viewDetail6(data, 'all')">{{ data.fiveStar }}</td>
72 72
         <td style="width: 10%">{{ data.totalStar }}</td>
73 73
         <td style="width: 10%">{{ data.avgStar }}</td>
74 74
       </tr>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 164 - 1
src/app/views/new-statistics/maintenance-statistics/user-evaluate-statistics/user-evaluate-statistics.component.ts

@@ -59,12 +59,31 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
59 59
 	// 数据下钻
60 60
 	viewDetail1(data, type){
61 61
 		let query = null
62
+		let item = null;
63
+		if(this.userId){
64
+		  item = this.userList.find(item => item.id == this.userId);
65
+		}
62 66
 		if(type=='all'){
63 67
 			query = {
64 68
 				startDate: this.customChangeDateComponent.startDate || undefined,
65 69
 				endDate: this.customChangeDateComponent.endDate || undefined,
70
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
66 71
 				searchQuery:{
67 72
 					statusValue: 'close',
73
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
74
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
75
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
76
+					floorId: this.fieldConfig.fields.floorId || undefined,
77
+					groupId: this.fieldConfig.fields.groupId || undefined,
78
+					userId: this.userId || undefined,
79
+					placeId: this.fieldConfig.fields.floorId || undefined,
80
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
81
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
82
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
83
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
84
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
85
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
86
+					userDTO : item || undefined,
68 87
 				}
69 88
 			}
70 89
 		}else{
@@ -80,6 +99,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
80 99
 					floorId: this.fieldConfig.fields.floorId || undefined,
81 100
 					groupId: this.fieldConfig.fields.groupId || undefined,
82 101
 					userId: data.userId || undefined,
102
+					placeId: this.fieldConfig.fields.floorId || undefined,
103
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
104
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
105
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
106
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
107
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
108
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
109
+					userDTO : item || undefined,
83 110
 				}
84 111
 			}
85 112
 		}
@@ -91,13 +118,32 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
91 118
 	// 数据下钻
92 119
 	viewDetail2(data, type){
93 120
 		let query = null
121
+		let item = null;
122
+		if(this.userId){
123
+		  item = this.userList.find(item => item.id == this.userId);
124
+		}
94 125
 		if(type=='all'){
95 126
 			query = {
96 127
 				startDate: this.customChangeDateComponent.startDate || undefined,
97 128
 				endDate: this.customChangeDateComponent.endDate || undefined,
129
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
98 130
 				searchQuery:{
99 131
 					statusValue: 'close',
100 132
 					evaluateId: 20424,
133
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
134
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
135
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
136
+					floorId: this.fieldConfig.fields.floorId || undefined,
137
+					groupId: this.fieldConfig.fields.groupId || undefined,
138
+					userId: this.userId || undefined,
139
+					placeId: this.fieldConfig.fields.floorId || undefined,
140
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
141
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
142
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
143
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
144
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
145
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
146
+					userDTO : item || undefined,
101 147
 				}
102 148
 			}
103 149
 		}else{
@@ -114,6 +160,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
114 160
 					floorId: this.fieldConfig.fields.floorId || undefined,
115 161
 					groupId: this.fieldConfig.fields.groupId || undefined,
116 162
 					userId: data.userId || undefined,
163
+					placeId: this.fieldConfig.fields.floorId || undefined,
164
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
165
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
166
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
167
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
168
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
169
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
170
+					userDTO : item || undefined,
117 171
 				}
118 172
 			}
119 173
 		}
@@ -125,13 +179,32 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
125 179
 	// 数据下钻
126 180
 	viewDetail3(data, type){
127 181
 		let query = null
182
+		let item = null;
183
+		if(this.userId){
184
+		  item = this.userList.find(item => item.id == this.userId);
185
+		}
128 186
 		if(type=='all'){
129 187
 			query = {
130 188
 				startDate: this.customChangeDateComponent.startDate || undefined,
131 189
 				endDate: this.customChangeDateComponent.endDate || undefined,
190
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
132 191
 				searchQuery:{
133 192
 					statusValue: 'close',
134 193
 					evaluateId: 20423,
194
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
195
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
196
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
197
+					floorId: this.fieldConfig.fields.floorId || undefined,
198
+					groupId: this.fieldConfig.fields.groupId || undefined,
199
+					userId: this.userId || undefined,
200
+					placeId: this.fieldConfig.fields.floorId || undefined,
201
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
202
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
203
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
204
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
205
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
206
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
207
+					userDTO : item || undefined,
135 208
 				}
136 209
 			}
137 210
 		}else{
@@ -148,6 +221,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
148 221
 					floorId: this.fieldConfig.fields.floorId || undefined,
149 222
 					groupId: this.fieldConfig.fields.groupId || undefined,
150 223
 					userId: data.userId || undefined,
224
+					placeId: this.fieldConfig.fields.floorId || undefined,
225
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
226
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
227
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
228
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
229
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
230
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
231
+					userDTO : item || undefined,
151 232
 				}
152 233
 			}
153 234
 		}
@@ -159,13 +240,32 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
159 240
 	// 数据下钻
160 241
 	viewDetail4(data, type){
161 242
 		let query = null
243
+		let item = null;
244
+		if(this.userId){
245
+		  item = this.userList.find(item => item.id == this.userId);
246
+		}
162 247
 		if(type=='all'){
163 248
 			query = {
164 249
 				startDate: this.customChangeDateComponent.startDate || undefined,
165 250
 				endDate: this.customChangeDateComponent.endDate || undefined,
251
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
166 252
 				searchQuery:{
167 253
 					statusValue: 'close',
168 254
 					evaluateId: 20422,
255
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
256
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
257
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
258
+					floorId: this.fieldConfig.fields.floorId || undefined,
259
+					groupId: this.fieldConfig.fields.groupId || undefined,
260
+					userId: this.userId || undefined,
261
+					placeId: this.fieldConfig.fields.floorId || undefined,
262
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
263
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
264
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
265
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
266
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
267
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
268
+					userDTO : item || undefined,
169 269
 				}
170 270
 			}
171 271
 		}else{
@@ -182,6 +282,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
182 282
 					floorId: this.fieldConfig.fields.floorId || undefined,
183 283
 					groupId: this.fieldConfig.fields.groupId || undefined,
184 284
 					userId: data.userId || undefined,
285
+					placeId: this.fieldConfig.fields.floorId || undefined,
286
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
287
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
288
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
289
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
290
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
291
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
292
+					userDTO : item || undefined,
185 293
 				}
186 294
 			}
187 295
 		}
@@ -193,13 +301,32 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
193 301
 	// 数据下钻
194 302
 	viewDetail5(data, type){
195 303
 		let query = null
304
+		let item = null;
305
+		if(this.userId){
306
+		  item = this.userList.find(item => item.id == this.userId);
307
+		}
196 308
 		if(type=='all'){
197 309
 			query = {
198 310
 				startDate: this.customChangeDateComponent.startDate || undefined,
199 311
 				endDate: this.customChangeDateComponent.endDate || undefined,
312
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
200 313
 				searchQuery:{
201 314
 					statusValue: 'close',
202 315
 					evaluateId: 20421,
316
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
317
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
318
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
319
+					floorId: this.fieldConfig.fields.floorId || undefined,
320
+					groupId: this.fieldConfig.fields.groupId || undefined,
321
+					userId: this.userId || undefined,
322
+					placeId: this.fieldConfig.fields.floorId || undefined,
323
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
324
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
325
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
326
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
327
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
328
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
329
+					userDTO : item || undefined,
203 330
 				}
204 331
 			}
205 332
 		}else{
@@ -216,6 +343,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
216 343
 					floorId: this.fieldConfig.fields.floorId || undefined,
217 344
 					groupId: this.fieldConfig.fields.groupId || undefined,
218 345
 					userId: data.userId || undefined,
346
+					placeId: this.fieldConfig.fields.floorId || undefined,
347
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
348
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
349
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
350
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
351
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
352
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
353
+					userDTO : item || undefined,
219 354
 				}
220 355
 			}
221 356
 		}
@@ -227,13 +362,32 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
227 362
 	// 数据下钻
228 363
 	viewDetail6(data, type){
229 364
 		let query = null
365
+		let item = null;
366
+		if(this.userId){
367
+		  item = this.userList.find(item => item.id == this.userId);
368
+		}
230 369
 		if(type=='all'){
231 370
 			query = {
232 371
 				startDate: this.customChangeDateComponent.startDate || undefined,
233 372
 				endDate: this.customChangeDateComponent.endDate || undefined,
373
+				repairDeptId: this.fieldConfig.fields.repairDeptId || undefined,
234 374
 				searchQuery:{
235 375
 					statusValue: 'close',
236
-					evaluateId: 20420
376
+					evaluateId: 20420,
377
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
378
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
379
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
380
+					floorId: this.fieldConfig.fields.floorId || undefined,
381
+					groupId: this.fieldConfig.fields.groupId || undefined,
382
+					userId: this.userId || undefined,
383
+					placeId: this.fieldConfig.fields.floorId || undefined,
384
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
385
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
386
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
387
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
388
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
389
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
390
+					userDTO : item || undefined,
237 391
 				}
238 392
 			}
239 393
 		}else{
@@ -250,6 +404,14 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
250 404
 					floorId: this.fieldConfig.fields.floorId || undefined,
251 405
 					groupId: this.fieldConfig.fields.groupId || undefined,
252 406
 					userId: data.userId || undefined,
407
+					placeId: this.fieldConfig.fields.floorId || undefined,
408
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
409
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
410
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
411
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
412
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
413
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
414
+					userDTO : item || undefined,
253 415
 				}
254 416
 			}
255 417
 		}
@@ -421,6 +583,7 @@ export class UserEvaluateStatisticsComponent implements OnInit, AfterViewInit {
421 583
     this.userId = undefined;
422 584
     this.fieldConfig.fields = {buildingId: undefined, floorId: undefined, categoryId: undefined, groupId: undefined, repairDeptId: undefined};
423 585
     this.customChangeDateComponent.resetByDate();
586
+		sessionStorage.removeItem('maintenanceData');
424 587
     this.search();
425 588
   }
426 589
 

+ 8 - 8
src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.html

@@ -48,16 +48,16 @@
48 48
   <tbody>
49 49
     <tr *ngFor="let data of listOfData">
50 50
       <td>{{ data.userName }}<ng-container *ngIf="data.userAccount">({{ data.userAccount }})</ng-container></td>
51
-      <td (click)="viewDetail1(data)">{{ data.sum }}</td>
51
+      <td class="text-sign" (click)="viewDetail1(data)">{{ data.sum }}</td>
52 52
       <td>{{ data.avgResponseTime }}</td>
53 53
       <td>{{ data.avgResolvedTime }}</td>
54
-      <td (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
55
-      <td (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
54
+      <td class="text-sign" (click)="viewDetail2(data)">{{ data.resolvedOverNum }}</td>
55
+      <td class="text-sign" (click)="viewDetail3(data)">{{ data.overTimeNum }}</td>
56 56
       <td>{{ data.consumablePrice }}</td>
57 57
       <td>{{ data.workHourPrice }}</td>
58 58
       <td>{{ data.totalPrice }}</td>
59 59
 			<td>{{ data.totalScore }}</td>
60
-      <td (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
60
+      <td class="text-sign" (click)="viewDetail4(data)">{{ data.negativeNum }}</td>
61 61
       <td>{{ data.favorableRate }}</td>
62 62
     </tr>
63 63
   </tbody>
@@ -65,16 +65,16 @@
65 65
     <table class="footTable">
66 66
       <tr *ngFor="let data of listOfDataEnd">
67 67
         <td style="width: 8%">{{ data.userName }}</td>
68
-        <td style="width: 8%" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
68
+        <td style="width: 8%" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.sum }}</td>
69 69
         <td style="width: 8%">{{ data.avgResponseTime }}</td>
70 70
         <td style="width: 8%">{{ data.avgResolvedTime }}</td>
71
-        <td style="width: 8%" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
72
-        <td style="width: 8%" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
71
+        <td style="width: 8%" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.resolvedOverNum }}</td>
72
+        <td style="width: 8%" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.overTimeNum }}</td>
73 73
         <td style="width: 8%">{{ data.consumablePrice }}</td>
74 74
         <td style="width: 8%">{{ data.workHourPrice }}</td>
75 75
         <td style="width: 8%">{{ data.totalPrice }}</td>
76 76
 				<td style="width: 8%">{{ data.totalScore }}</td>
77
-        <td style="width: 8%" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
77
+        <td style="width: 8%" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.negativeNum }}</td>
78 78
         <td style="width: 8%">{{ data.favorableRate }}</td>
79 79
       </tr>
80 80
     </table>

+ 4 - 0
src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.less

@@ -5,6 +5,10 @@
5 5
   right: 0;
6 6
   bottom: 0;
7 7
   left: 0;
8
+	.text-sign{
9
+		text-decoration: underline;
10
+		cursor: pointer;
11
+	}
8 12
   ::ng-deep .ant-table-footer{
9 13
     padding: 16px 0;
10 14
     width: calc(100% - 15px);

+ 105 - 0
src/app/views/new-statistics/maintenance-statistics/user-statistics/user-statistics.component.ts

@@ -59,12 +59,30 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
59 59
 	// 数据下钻
60 60
 	viewDetail1(data, type){
61 61
 		let query = null
62
+		let item = null;
63
+		if(this.userId){
64
+		  item = this.userList.find(item => item.id == this.userId);
65
+		}
62 66
 		if(type=='all'){
63 67
 			query = {
64 68
 				startDate: this.customChangeDateComponent.startDate || undefined,
65 69
 				endDate: this.customChangeDateComponent.endDate || undefined,
66 70
 				searchQuery:{
67 71
 					statusValue: 'close',
72
+					userId: this.userId,
73
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
74
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
75
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
76
+					floorId: this.fieldConfig.fields.floorId || undefined,
77
+					groupId: this.fieldConfig.fields.groupId || undefined,
78
+					placeId: this.fieldConfig.fields.floorId || undefined,
79
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
80
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
81
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
82
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
83
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
84
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
85
+					userDTO : item || undefined
68 86
 				}
69 87
 			}
70 88
 		}else{
@@ -79,6 +97,14 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
79 97
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
80 98
 					floorId: this.fieldConfig.fields.floorId || undefined,
81 99
 					groupId: this.fieldConfig.fields.groupId || undefined,
100
+					placeId: this.fieldConfig.fields.floorId || undefined,
101
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
102
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
103
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
104
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
105
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
106
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
107
+					userDTO : item || undefined
82 108
 				}
83 109
 			}
84 110
 		}
@@ -90,6 +116,10 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
90 116
 	// 数据下钻
91 117
 	viewDetail2(data, type){
92 118
 		let query = null
119
+		let item = null;
120
+		if(this.userId){
121
+		  item = this.userList.find(item => item.id == this.userId);
122
+		}
93 123
 		if(type=='all'){
94 124
 			query = {
95 125
 				startDate: this.customChangeDateComponent.startDate || undefined,
@@ -97,6 +127,20 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
97 127
 				searchQuery:{
98 128
 					statusValue: 'close',
99 129
 					overtimeId: 1,
130
+					userId: this.userId,
131
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
132
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
133
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
134
+					floorId: this.fieldConfig.fields.floorId || undefined,
135
+					groupId: this.fieldConfig.fields.groupId || undefined,
136
+					placeId: this.fieldConfig.fields.floorId || undefined,
137
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
138
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
139
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
140
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
141
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
142
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
143
+					userDTO : item || undefined
100 144
 				}
101 145
 			}
102 146
 		}else{
@@ -112,6 +156,14 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
112 156
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
113 157
 					floorId: this.fieldConfig.fields.floorId || undefined,
114 158
 					groupId: this.fieldConfig.fields.groupId || undefined,
159
+					placeId: this.fieldConfig.fields.floorId || undefined,
160
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
161
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
162
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
163
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
164
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
165
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
166
+					userDTO : item || undefined
115 167
 				}
116 168
 			}
117 169
 		}
@@ -123,6 +175,10 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
123 175
 	// 数据下钻
124 176
 	viewDetail3(data, type){
125 177
 		let query = null
178
+		let item = null;
179
+		if(this.userId){
180
+		  item = this.userList.find(item => item.id == this.userId);
181
+		}
126 182
 		if(type=='all'){
127 183
 			query = {
128 184
 				startDate: this.customChangeDateComponent.startDate || undefined,
@@ -130,6 +186,20 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
130 186
 				searchQuery:{
131 187
 					statusValue: 'close',
132 188
 					isHangId: 1,
189
+					userId: this.userId,
190
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
191
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
192
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
193
+					floorId: this.fieldConfig.fields.floorId || undefined,
194
+					groupId: this.fieldConfig.fields.groupId || undefined,
195
+					placeId: this.fieldConfig.fields.floorId || undefined,
196
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
197
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
198
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
199
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
200
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
201
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
202
+					userDTO : item || undefined
133 203
 				}
134 204
 			}
135 205
 		}else{
@@ -145,6 +215,14 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
145 215
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
146 216
 					floorId: this.fieldConfig.fields.floorId || undefined,
147 217
 					groupId: this.fieldConfig.fields.groupId || undefined,
218
+					placeId: this.fieldConfig.fields.floorId || undefined,
219
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
220
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
221
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
222
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
223
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
224
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
225
+					userDTO : item || undefined
148 226
 				}
149 227
 			}
150 228
 		}
@@ -156,6 +234,10 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
156 234
 	// 数据下钻
157 235
 	viewDetail4(data, type){
158 236
 		let query = null
237
+		let item = null;
238
+		if(this.userId){
239
+		  item = this.userList.find(item => item.id == this.userId);
240
+		}
159 241
 		if(type=='all'){
160 242
 			query = {
161 243
 				startDate: this.customChangeDateComponent.startDate || undefined,
@@ -163,6 +245,20 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
163 245
 				searchQuery:{
164 246
 					statusValue: 'close',
165 247
 					evaluateId: 20424,
248
+					userId: this.userId,
249
+					categoryId: this.fieldConfig.fields.categoryId || undefined,
250
+					hierarchy: this.fieldConfig.fields.hierarchy || undefined,
251
+					buildingId: this.fieldConfig.fields.buildingId || undefined,
252
+					floorId: this.fieldConfig.fields.floorId || undefined,
253
+					groupId: this.fieldConfig.fields.groupId || undefined,
254
+					placeId: this.fieldConfig.fields.floorId || undefined,
255
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
256
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
257
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
258
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
259
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
260
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
261
+					userDTO : item || undefined
166 262
 				}
167 263
 			}
168 264
 		}else{
@@ -178,6 +274,14 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
178 274
 					buildingId: this.fieldConfig.fields.buildingId || undefined,
179 275
 					floorId: this.fieldConfig.fields.floorId || undefined,
180 276
 					groupId: this.fieldConfig.fields.groupId || undefined,
277
+					placeId: this.fieldConfig.fields.floorId || undefined,
278
+					category1DTO: this.fieldConfig.fields.category1DTO || undefined,
279
+					category2DTO: this.fieldConfig.fields.category2DTO || undefined,
280
+					category3DTO: this.fieldConfig.fields.category3DTO || undefined,
281
+					buildingDTO: this.fieldConfig.fields.buildingDTO || undefined,
282
+					floorDTO: this.fieldConfig.fields.floorDTO || undefined,
283
+					groupDTO: this.fieldConfig.fields.groupDTO || undefined,
284
+					userDTO : item || undefined
181 285
 				}
182 286
 			}
183 287
 		}
@@ -347,6 +451,7 @@ export class UserStatisticsComponent implements OnInit, AfterViewInit {
347 451
     this.userId = undefined;
348 452
     this.fieldConfig.fields = {buildingId: undefined, floorId: undefined, categoryId: undefined, groupId: undefined};
349 453
     this.customChangeDateComponent.resetByDate();
454
+		sessionStorage.removeItem('maintenanceData');
350 455
     this.search();
351 456
   }
352 457
 

+ 3 - 3
src/app/views/office-management/office-management.component.html

@@ -138,9 +138,9 @@
138 138
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="busiParent">业务父级</nz-form-label>
139 139
 					  <nz-form-control nzErrorTip="请填写业务父级!">
140 140
 					    <nz-select nzAllowClear [nzDropdownMatchSelectWidth]="false" formControlName="busiParent" nzShowSearch
141
-					      nzPlaceHolder="请填写业务父级" nzServerSearch (nzOnSearch)="changeInp($event)"
142
-					      (nzOpenChange)="openDeptSelect($event)">
143
-					      <ng-container *ngFor="let data of allParentdepart">
141
+					      nzPlaceHolder="请填写业务父级" nzServerSearch (nzOnSearch)="changeInp2($event)"
142
+					      (nzOpenChange)="openDeptSelect2($event)">
143
+					      <ng-container *ngFor="let data of businessDept">
144 144
 					        <nz-option *ngIf="!isLoading" [nzLabel]="data.dept" [nzValue]="data.id">
145 145
 					        </nz-option>
146 146
 					      </ng-container>

+ 45 - 10
src/app/views/office-management/office-management.component.ts

@@ -40,12 +40,20 @@ export class OfficeManagementComponent implements OnInit {
40 40
 
41 41
   ngOnInit() {
42 42
     this.searchParentDeptSubject.pipe(debounceTime(500)).subscribe((v: any) => {
43
-      this.getAllParentdepart(v).subscribe((result) => {
43
+      this.getAllParentdepart(v,'qd').subscribe((result) => {
44 44
         this.isLoading = false;
45 45
         if (result.status == 200) {
46 46
           this.allParentdepart = result.list;
47 47
         }
48 48
       });
49
+    });
50
+		this.searchBusinessDeptSubject.pipe(debounceTime(500)).subscribe((v: any) => {
51
+      this.getAllParentdepart(v,'yw').subscribe((result) => {
52
+        this.isLoading = false;
53
+        if (result.status == 200) {
54
+          this.businessDept = result.list;
55
+        }
56
+      });
49 57
     });
50 58
     this.coopBtns = this.tool.initCoopBtns(this.route);
51 59
     this.initForm();
@@ -81,6 +89,7 @@ export class OfficeManagementComponent implements OnInit {
81 89
   allParentdepart: any = []; //所有的父级科室列表
82 90
   hospitals1: any = []; //院区列表(搜索)
83 91
   searchParentDeptSubject = new Subject();
92
+	searchBusinessDeptSubject = new Subject();
84 93
   // 初始化增删改按钮
85 94
   coopBtns: any = {};
86 95
   // 模板导出
@@ -164,12 +173,17 @@ export class OfficeManagementComponent implements OnInit {
164 173
     this.isLoading = true;
165 174
     this.searchParentDeptSubject.next(e);
166 175
   }
176
+	
177
+	changeInp2(e) {
178
+    this.isLoading = true;
179
+    this.searchBusinessDeptSubject.next(e);
180
+  }
167 181
   // 打开父级科室下拉框baba
168 182
   isLoading = false;
169 183
   openDeptSelect(flag) {
170 184
     if (flag) {
171 185
       this.isLoading = true;
172
-      this.getAllParentdepart().subscribe((result) => {
186
+      this.getAllParentdepart('','qd').subscribe((result) => {
173 187
         this.isLoading = false;
174 188
         if (result.status == 200) {
175 189
           this.allParentdepart = result.list;
@@ -177,6 +191,18 @@ export class OfficeManagementComponent implements OnInit {
177 191
       });
178 192
     }
179 193
   }
194
+	
195
+	openDeptSelect2(flag) {
196
+    if (flag) {
197
+      this.isLoading = true;
198
+      this.getAllParentdepart('','yw').subscribe((result) => {
199
+        this.isLoading = false;
200
+        if (result.status == 200) {
201
+          this.businessDept = result.list;
202
+        }
203
+      });
204
+    }
205
+  }
180 206
   // 启用/停用弹框
181 207
   coopData:any = {};
182 208
   addDateModal(data) {
@@ -207,7 +233,7 @@ export class OfficeManagementComponent implements OnInit {
207 233
       });
208 234
   }
209 235
   //获取所有的父级科室列表
210
-  getAllParentdepart(keyWord = "") {
236
+  getAllParentdepart(keyWord = "", type) {
211 237
     let postData: any = {
212 238
       idx: 0,
213 239
       sum: 10,
@@ -216,10 +242,18 @@ export class OfficeManagementComponent implements OnInit {
216 242
         keyWord: keyWord,
217 243
       },
218 244
     };
219
-    if (this.coopItem) {
220
-      // 过滤这个科室及其子科室
221
-      postData.department.filterByDeptId = this.coopItem.id;
222
-    }
245
+		if(type=='qd'){
246
+			if (this.coopItem) {
247
+			  // 过滤这个科室及其子科室
248
+			  postData.department.filterByDeptId = this.coopItem.id;
249
+			}
250
+		}else{
251
+			if (this.coopItem) {
252
+			  // 过滤这个科室及其子科室
253
+			  postData.department.filterBusiByDeptId = this.coopItem.id;
254
+			}
255
+		}
256
+
223 257
     return this.mainService.getFetchDataList("data", "department", postData);
224 258
   }
225 259
   // 新添加科室号码
@@ -636,6 +670,7 @@ export class OfficeManagementComponent implements OnInit {
636 670
 
637 671
   // 编辑
638 672
   coopItem: any = null;
673
+	businessDept:any;
639 674
   edit(e, data) {
640 675
     e.stopPropagation();
641 676
     this.add = false;
@@ -671,15 +706,15 @@ export class OfficeManagementComponent implements OnInit {
671 706
     }
672 707
     this.validateForm.controls.officeAddress.setValue(data.address);
673 708
 		if(data.busiParentDTO){
674
-			this.getAllParentdepart(data.busiParentDTO.dept).subscribe((res) => {
709
+			this.getAllParentdepart(data.busiParentDTO.dept,'yw').subscribe((res) => {
675 710
 			  if (res.status == 200) {
676
-			    this.allParentdepart = res.list;
711
+			    this.businessDept = res.list;
677 712
 					this.validateForm.controls.busiParent.setValue(data.busiParentDTO.id);
678 713
 				}
679 714
 			});
680 715
 		}
681 716
     if (data.parent) {
682
-      this.getAllParentdepart(data.parent.dept).subscribe((res) => {
717
+      this.getAllParentdepart(data.parent.dept,'qd').subscribe((res) => {
683 718
         if (res.status == 200) {
684 719
           this.allParentdepart = res.list;
685 720
           this.validateForm.controls.parentOfficeName.setValue(data.parent.id);

+ 18 - 6
src/app/views/qrcode-configuration/qrcode-configuration.component.ts

@@ -189,8 +189,7 @@ export class QRCodeConfigurationComponent implements OnInit {
189 189
     this.btnLoading = true;
190 190
     let deptsPhone = this.deptPhones.map((item) => item.phone).join();
191 191
     if(this.add){
192
-      this.qrCodeConfigurationService
193
-      .add({
192
+			let query ={
194 193
         name: this.validateForm.value.name,
195 194
         deptId: this.validateForm.value.deptId,
196 195
         placeCode: this.validateForm.value.placeCode,
@@ -199,7 +198,14 @@ export class QRCodeConfigurationComponent implements OnInit {
199 198
 				},
200 199
         phones: deptsPhone ? this.validateForm.value.phones + "," + deptsPhone : this.validateForm.value.phones,
201 200
         hosId: this.hosId,
202
-      })
201
+      }
202
+			if(this.validateForm.value.priority){
203
+				query.priority.id = this.validateForm.value.priority
204
+			}else{
205
+				delete query.priority
206
+			}
207
+      this.qrCodeConfigurationService
208
+      .add(query)
203 209
       .subscribe((data) => {
204 210
         this.btnLoading = false;
205 211
         this.hideModal();
@@ -211,8 +217,7 @@ export class QRCodeConfigurationComponent implements OnInit {
211 217
         }
212 218
       });
213 219
     }else{
214
-      this.qrCodeConfigurationService
215
-      .update({
220
+			let query = {
216 221
         name: this.validateForm.value.name,
217 222
         deptId: this.validateForm.value.deptId,
218 223
         placeCode: this.validateForm.value.placeCode,
@@ -221,7 +226,14 @@ export class QRCodeConfigurationComponent implements OnInit {
221 226
 				priority: {
222 227
 					id:this.validateForm.value.priority
223 228
 				},
224
-      })
229
+      }
230
+			if(this.validateForm.value.priority){
231
+				query.priority.id = this.validateForm.value.priority
232
+			}else{
233
+				delete query.priority
234
+			}
235
+      this.qrCodeConfigurationService
236
+      .update(query)
225 237
       .subscribe((data) => {
226 238
         this.btnLoading = false;
227 239
         this.hideModal();