synthesize-statistics.component.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <div class="synthesize-box" *ngIf="!isLoading">
  2. <div class="searchDataWrap">
  3. <div class="searchData">
  4. <div class="searchDataItem">
  5. <span class="label">选择日期</span>:
  6. <nz-range-picker [(ngModel)]="dateRange" [nzAllowClear]="false" (ngModelChange)="changeDate($event)" (nzOnCalendarChange)="onCalendarChangeDate($event)">
  7. </nz-range-picker>
  8. </div>
  9. </div>
  10. <div class="operation">
  11. <button nz-button class="btn default" (click)="search()">搜索</button>
  12. <button nz-button class="btn default ml8" (click)="reset()">重置</button>
  13. </div>
  14. </div>
  15. <div class="top1-statistics">
  16. <div class="top-list">
  17. <div class="special-box">
  18. <div class="num">{{workData.gd_total || 0}}</div>
  19. <div class="describe">工单总数</div>
  20. </div>
  21. <div class="special-box-right">
  22. <div class="sign-describe">已完成: <span class="sign-num">{{workData.gd_close || 0}}</span></div>
  23. <div class="sign-describe">待接单: <span class="sign-num">{{workData.gd_todo || 0}}</span></div>
  24. <div class="sign-describe">处理中: <span class="sign-num">{{workData.gd_doing || 0}}</span></div>
  25. </div>
  26. </div>
  27. <div class="top-list">
  28. <div class="special-box">
  29. <div class="num">{{workData.sum_price || 0}}</div>
  30. <div class="describe">总费用 (元)</div>
  31. </div>
  32. </div>
  33. <div class="top-list">
  34. <div class="special-box">
  35. <div class="num">{{workData.gd_postpone || 0}}</div>
  36. <div class="describe">挂起单数</div>
  37. </div>
  38. </div>
  39. <div class="top-list">
  40. <div class="special-box">
  41. <div class="num">{{workData.gd_overtime || 0}}</div>
  42. <div class="describe">超时单数</div>
  43. </div>
  44. </div>
  45. <div class="top-list">
  46. <div class="special-box">
  47. <div class="num">{{workData.gd_degree}}</div>
  48. <div class="describe">差评单数</div>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="top2-statistics">
  53. <div class="statistics width-60 mar-right-8">
  54. <div class="statistics-box">
  55. <div class="sign-green"></div>
  56. <div class="statistics-title">维修处理Top5</div>
  57. <div class="statistics-select">
  58. <div class="statistics-select-list" [ngClass]="{'activeClass': activeIndex == 0}" (click)="selectCheck(0)">维修人员</div>
  59. <div class="statistics-select-list" [ngClass]="{'activeClass': activeIndex == 1}" (click)="selectCheck(1)">维修组</div>
  60. </div>
  61. <div class="more" *ngIf="showMore(activeIndex == 0 ? 'userStatistics' : 'groupStatistics')" (click)="toPath(activeIndex == 0 ? '/newStatistics/maintenanceStatistics/userStatistics' : '/newStatistics/maintenanceStatistics/groupStatistics')">更多></div>
  62. </div>
  63. <div class="table">
  64. <div class="td">
  65. <div class="table-td">排名</div>
  66. <div class="table-td" *ngIf="activeIndex==0">人员姓名</div>
  67. <div class="table-td" *ngIf="activeIndex==1">维修组</div>
  68. <div class="table-td">工单量</div>
  69. <div class="table-td">平均接单时长</div>
  70. <div class="table-td">平均解决时长</div>
  71. <div class="table-td">超时单</div>
  72. </div>
  73. <div class="th" *ngFor="let item of maintainData; let index = index;">
  74. <div class="table-list">
  75. <img src="../../assets/images/top1.png" alt="" class="img" *ngIf="index==0">
  76. <img src="../../assets/images/top2.png" alt="" class="img" *ngIf="index==1">
  77. <img src="../../assets/images/top3.png" alt="" class="img" *ngIf="index==2">
  78. <span *ngIf="index !=0 && index !=1 && index !=2">{{index+1}}</span>
  79. </div>
  80. <div class="table-list">{{item.name}}</div>
  81. <div class="table-list">{{item.count || 0}}</div>
  82. <div class="table-list">{{item.avg_response}}分</div>
  83. <div class="table-list">{{item.avg_handle }}分</div>
  84. <div class="table-list">{{item.overtime || 0}}</div>
  85. </div>
  86. </div>
  87. </div>
  88. <div class="statistics width-40">
  89. <div class="statistics-box">
  90. <div class="sign-green"></div>
  91. <div class="statistics-title">故障来源</div>
  92. <div class="more" *ngIf="showMore('categorySourceStatistics')" (click)="toPath('/newStatistics/maintenanceStatistics/categorySourceStatistics')">更多></div>
  93. </div>
  94. <div class="echarts-repairs">
  95. <div echarts class="echarts" [options]='repairsOptions'></div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="top2-statistics">
  100. <div class="statistics width-49 mar-right-8">
  101. <div class="statistics-box">
  102. <div class="sign-green"></div>
  103. <div class="statistics-title">一级故障现象Top5</div>
  104. <div class="more" *ngIf="showMore('categoryOneStatistics')" (click)="toPath('/newStatistics/maintenanceStatistics/categoryOneStatistics')">更多></div>
  105. </div>
  106. <div class="echarts-repairs">
  107. <div echarts class="echarts" [options]='malfunctionOptions'></div>
  108. </div>
  109. </div>
  110. <div class="statistics width-50">
  111. <div class="statistics-box">
  112. <div class="sign-green"></div>
  113. <div class="statistics-title">楼栋报修Top5</div>
  114. <div class="more" *ngIf="showMore('buildingStatistics')" (click)="toPath('/newStatistics/maintenanceStatistics/buildingStatistics')">更多></div>
  115. </div>
  116. <div class="echarts-repairs">
  117. <div echarts class="echarts" [options]='buildingOptions'></div>
  118. </div>
  119. </div>
  120. </div>
  121. <div class="top2-statistics">
  122. <div class="statistics width-49 mar-right-8">
  123. <div class="statistics-box">
  124. <div class="sign-green"></div>
  125. <div class="statistics-title">科室费用Top5</div>
  126. <div class="more" *ngIf="showMore('departmentIncidentStatistics')" (click)="toPath('/newStatistics/maintenanceStatistics/departmentIncidentStatistics')">更多></div>
  127. </div>
  128. <div class="table">
  129. <div class="td">
  130. <div class="table-td-4">排名</div>
  131. <div class="table-td-4">科室名称</div>
  132. <div class="table-td-4">工单量</div>
  133. <div class="table-td-4">总费用(元)</div>
  134. </div>
  135. <div class="th" *ngFor="let item of deptCostData; let index = index;">
  136. <div class="table-list-4">{{index+1}}</div>
  137. <div class="table-list-4 ellipsis-oneline" title="{{item.dept}}">{{item.dept}}</div>
  138. <div class="table-list-4">{{item.sum || 0}}</div>
  139. <div class="table-list-4">{{item.sum_price || 0}}</div>
  140. </div>
  141. </div>
  142. </div>
  143. <div class="statistics width-50">
  144. <div class="statistics-box">
  145. <div class="sign-green"></div>
  146. <div class="statistics-title">耗材Top5</div>
  147. <div class="more" *ngIf="showMore('consumableStatistics')" (click)="toPath('/newStatistics/maintenanceStatistics/consumableStatistics')">更多></div>
  148. </div>
  149. <div class="table">
  150. <div class="td">
  151. <div class="table-td-4">排名</div>
  152. <div class="table-td-4">耗材名称(耗材编号)</div>
  153. <div class="table-td-4">使用数量</div>
  154. <div class="table-td-4">总费用(元)</div>
  155. </div>
  156. <div class="th" *ngFor="let item of consumableData; let index = index;">
  157. <div class="table-list-4">{{index+1}}</div>
  158. <div class="table-list-4 ellipsis-oneline" title="{{item.name}}({{item.spd_code}})">{{item.name}}<ng-container *ngIf="item.spd_code">({{item.spd_code}})</ng-container></div>
  159. <div class="table-list-4">{{item.sum || 0}}</div>
  160. <div class="table-list-4">{{item.sum_price || 0}}</div>
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. <div class="mask-style" *ngIf="isLoading">
  167. <nz-spin nzSimple class="spin-style"></nz-spin>
  168. </div>