department-quality-control-statistics.component.html 6.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <div class="searchDataWrap">
  2. <div class="searchData">
  3. <app-custom-change-date #customChangeDate [isShowType]="false"></app-custom-change-date>
  4. <div class="searchDataItem">
  5. <span class="label">科室</span>:
  6. <nz-select class="selectItem" [nzDisabled]="queryType == 5" [nzDropdownMatchSelectWidth]="false" nzAllowClear nzPlaceHolder="请选择科室" [(ngModel)]="deptId" nzServerSearch nzShowSearch (nzOnSearch)="changeInp($event)">
  7. <ng-container *ngFor="let option of deptList">
  8. <nz-option *ngIf="!isLoading" [nzLabel]="option.hospital.hosName + '-' + option.dept" [nzValue]="option.id"></nz-option>
  9. </ng-container>
  10. <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
  11. <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
  12. </nz-option>
  13. </nz-select>
  14. </div>
  15. </div>
  16. <div class="operation">
  17. <i class="icon_transport transport-gengduo" nz-tooltip nzTooltipTitle="更多搜索" (click)="showMore()"></i>
  18. <button nz-button class="btn default" (click)="search()">查询</button>
  19. <button nz-button class="btn default ml8" (click)="reset()">重置</button>
  20. <button nz-button class="btn default ml8" (click)="excelExport()" [nzLoading]="excelExportLoading">导出</button>
  21. </div>
  22. </div>
  23. <div class="moreFilter" *ngIf="fieldConfig.fields.groupDTO || fieldConfig.fields.userDTO || fieldConfig.fields.taskTypeDTO || fieldConfig.fields.statisticsTypeDTO || fieldConfig.fields.buildingDTO">
  24. <span>{{fieldConfig.fields.groupDTO?.groupName}}</span>
  25. <span>{{fieldConfig.fields.userDTO?.name}}</span>
  26. <span>{{fieldConfig.fields.statisticsTypeDTO?.name}}</span>
  27. <span>{{fieldConfig.fields.taskTypeDTO?.taskName}}</span>
  28. <span>{{fieldConfig.fields.buildingDTO?.buildingName}}</span>
  29. </div>
  30. <div class="tableWrap">
  31. <nz-table class="table" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false" [nzLoading]="loading1" [nzScroll]="{ y: tableHeight + 'px' }" [nzFooter]="footerTpl">
  32. <thead (nzSortChange)="sort($event)" nzSingleSort>
  33. <tr>
  34. <th nzWidth="12%" *ngIf="parent==1" nzShowSort nzSortKey="parentOrders" [(nzSort)]="sortCurrent.parentOrders">父级科室(编码)</th>
  35. <th [nzWidth]="parent==1 ? '8%' : '10%'" nzShowSort nzSortKey="orders" [(nzSort)]="sortCurrent.orders">科室(编码)</th>
  36. <th [nzWidth]="parent==1 ? '8%' : '9%'" nzShowSort nzSortKey="totalCount" [(nzSort)]="sortCurrent.totalCount">工单数量</th>
  37. <th [nzWidth]="parent==1 ? '8%' : '9%'" nzShowSort nzSortKey="emergency_count" [(nzSort)]="sortCurrent.emergency_count">加急工单</th>
  38. <th [nzWidth]="parent==1 ? '8%' : '8%'" nzShowSort nzSortKey="totalGrade" [(nzSort)]="sortCurrent.totalGrade">总积分</th>
  39. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="totalPrice" [(nzSort)]="sortCurrent.totalPrice">总费用</th>
  40. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="response_time_num" [(nzSort)]="sortCurrent.response_time_num">平均响应时间</th>
  41. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="arrive_time_num" [(nzSort)]="sortCurrent.arrive_time_num">平均到达时间</th>
  42. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="execution_time_num" [(nzSort)]="sortCurrent.execution_time_num">平均送达时间</th>
  43. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="aveper" [(nzSort)]="sortCurrent.aveper">按时完成达标率</th>
  44. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="total_time" [(nzSort)]="sortCurrent.total_time">平均总时间</th>
  45. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="five_count" [(nzSort)]="sortCurrent.five_count">五分钟内工单</th>
  46. <th [nzWidth]="parent==1 ? '7%' : '8%'" nzShowSort nzSortKey="special_close" [(nzSort)]="sortCurrent.special_close">特殊关闭数</th>
  47. </tr>
  48. </thead>
  49. <tbody>
  50. <tr *ngFor="let data of listOfData">
  51. <td *ngIf="parent==1">{{ data.parentName || '无' }}</td>
  52. <td>{{ data.name }}</td>
  53. <td class="text-sign" (click)="viewDetail1(data)">{{ data.totalCount }}</td>
  54. <td class="text-sign" (click)="viewDetail4(data)">{{ data.emergency_count }}</td>
  55. <td>{{ data.totalGrade }}</td>
  56. <td>{{ data.totalPrice }}</td>
  57. <td>{{ data.response_time_num }}</td>
  58. <td>{{ data.arrive_time_num }}</td>
  59. <td>{{ data.execution_time_num }}</td>
  60. <td>{{ data.aveper }}</td>
  61. <td>{{ data.total_time }}</td>
  62. <td class="text-sign" (click)="viewDetail2(data)">{{ data.five_count }}</td>
  63. <td class="text-sign" (click)="viewDetail3(data)">{{ data.special_close }}</td>
  64. </tr>
  65. </tbody>
  66. <ng-template #footerTpl>
  67. <table class="footTable">
  68. <tr *ngFor="let data of listOfDataEnd">
  69. <td style="width: 12%" *ngIf="parent==1">{{ data.parentName }}</td>
  70. <td style="width: 10%" *ngIf="parent==0">{{ data.name }}</td>
  71. <td style="width: 8%" *ngIf="parent==1"></td>
  72. <td [ngStyle]="{width: parent==1 ? '8%' : '9%'}" class="text-sign" (click)="viewDetail1(data, 'all')">{{ data.totalCount }}</td>
  73. <td [ngStyle]="{width: parent==1 ? '8%' : '9%'}" class="text-sign" (click)="viewDetail4(data, 'all')">{{ data.emergency_count }}</td>
  74. <td [ngStyle]="{width: parent==1 ? '8%' : '8%'}">{{ data.totalGrade }}</td>
  75. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.totalPrice }}</td>
  76. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.response_time_num }}</td>
  77. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.arrive_time_num }}</td>
  78. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.execution_time_num }}</td>
  79. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.aveper }}</td>
  80. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}">{{ data.total_time }}</td>
  81. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}" class="text-sign" (click)="viewDetail2(data, 'all')">{{ data.five_count }}</td>
  82. <td [ngStyle]="{width: parent==1 ? '7%' : '8%'}" class="text-sign" (click)="viewDetail3(data, 'all')">{{ data.special_close }}</td>
  83. </tr>
  84. </table>
  85. </ng-template>
  86. </nz-table>
  87. </div>
  88. <div class="pagination">
  89. <ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>
  90. <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" [(nzPageSize)]="pageSize" (nzPageIndexChange)="getList(pageIndex, sortCurrentKey, sortCurrentValue)" (nzPageSizeChange)="getList(pageIndex, sortCurrentKey, sortCurrentValue)" nzShowSizeChanger [nzPageSizeOptions]="[30,50,100,200]" [nzShowTotal]="totalTemplate"></nz-pagination>
  91. </div>
  92. <!-- 详细搜索 -->
  93. <app-distribution-search-more [fieldConfig]="fieldConfig" *ngIf="showSearchMore" [hosId]="hosId" [queryType]="queryType" [dutyId]="dutyId" [parentDutyId]="parentDutyId" (cancelEvent)="cancelEvent()" (submitEvent)="submitEvent($event)"></app-distribution-search-more>