quilt-washing-trend-analysis.component.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <div class="quiltWashingTrendAnalysis">
  2. <div class="main">
  3. <div class="head">
  4. <div class="search">
  5. <div class="searchItem">
  6. <nz-radio-group [(ngModel)]="searchDto.dateType" (ngModelChange)="changeDateType($event)">
  7. <label *ngFor="let data of dateTypes" nz-radio-button [nzValue]="data.value">{{data.label}}</label>
  8. </nz-radio-group>
  9. </div>
  10. <div class="searchItem" *ngIf="searchDto.dateType=='day'">
  11. <span class="label">发起时间:</span>
  12. <nz-date-picker [nzAllowClear]="false" [(ngModel)]="searchDto.dateStr"></nz-date-picker>
  13. </div>
  14. <div class="searchItem" *ngIf="searchDto.dateType=='month'">
  15. <span class="label">发起时间:</span>
  16. <nz-month-picker [nzAllowClear]="false" [(ngModel)]="searchDto.dateStr"></nz-month-picker>
  17. </div>
  18. <div class="searchItem" *ngIf="searchDto.dateType=='year'">
  19. <span class="label">发起时间:</span>
  20. <nz-year-picker [nzAllowClear]="false" [(ngModel)]="searchDto.dateStr"></nz-year-picker>
  21. </div>
  22. <div class="searchItem" *ngIf="searchDto.dateType=='quarter'">
  23. <span class="label">发起时间:</span>
  24. <nz-select [(ngModel)]="searchDto.year">
  25. <nz-option [nzLabel]="item.name" [nzValue]="item.value" *ngFor="let item of yearList"></nz-option>
  26. </nz-select>
  27. <nz-select class="ml8" [(ngModel)]="searchDto.quarter">
  28. <nz-option [nzLabel]="item.name" [nzValue]="item.value" *ngFor="let item of quarterList"></nz-option>
  29. </nz-select>
  30. </div>
  31. </div>
  32. <div class="btns">
  33. <button nz-button nzType="primary" (click)='search()'>搜索</button>
  34. <button nz-button class="ml8" (click)='reset()'>重置</button>
  35. </div>
  36. </div>
  37. <div class="body">
  38. <div class="body_tabs_wrap">
  39. <div class="body_tabs">
  40. <ng-container *ngFor="let tabType of tabTypes">
  41. <div class="tab" [ngClass]="{active: searchDto.tabType == tabType.value}" *ngIf="!(searchDto.dateType == 'year' && tabType.value == 'MoM')" (click)="changeTabType(tabType.value)">{{tabType.name}}</div>
  42. </ng-container>
  43. </div>
  44. <div class="compareDate">对比期:{{headerDate.compareDate}}</div>
  45. </div>
  46. <div class="total">
  47. <div class="total_list">
  48. <div class="total_item">
  49. <span class="name">{{headerData.totalPrice}}</span>
  50. <span class="value">总费用(元)</span>
  51. </div>
  52. <div class="total_item">
  53. <span class="name">{{headerData.compareTotalPrice}}</span>
  54. <span class="value">对比期总费用</span>
  55. </div>
  56. <div class="total_item" [ngClass]="{green: headerData.priceRate >= 0, red: headerData.priceRate < 0}">
  57. <span class="name">{{headerData.priceRate}}%</span>
  58. <span class="value">差异率</span>
  59. </div>
  60. </div>
  61. <div class="total_list">
  62. <div class="total_item">
  63. <span class="name">{{headerData.totalCount}}</span>
  64. <span class="value">总数量</span>
  65. </div>
  66. <div class="total_item">
  67. <span class="name">{{headerData.compareTotalCount}}</span>
  68. <span class="value">对比期总数量</span>
  69. </div>
  70. <div class="total_item" [ngClass]="{green: headerData.countRate >= 0, red: headerData.countRate < 0}">
  71. <span class="name">{{headerData.countRate}}%</span>
  72. <span class="value">差异率</span>
  73. </div>
  74. </div>
  75. </div>
  76. <div class="boxwrap">
  77. <div class="box">
  78. <div class="box-head">本期费用科室TOP10</div>
  79. <nz-table class="table" [nzData]="priceDeptListTop10" nzSize="small" [nzShowPagination]="false" [nzLoading]="loading">
  80. <thead>
  81. <tr class="thead">
  82. <th nzWidth="10%">排名</th>
  83. <th nzWidth="30%">科室名称</th>
  84. <th nzWidth="30%">本期费用(元)</th>
  85. <th nzWidth="30%">占比(%)</th>
  86. </tr>
  87. </thead>
  88. <tbody>
  89. <tr *ngFor="let data of priceDeptListTop10;let i = index;">
  90. <td>{{i + 1}}</td>
  91. <td>{{data.deptName}}</td>
  92. <td>{{data.totalPrice}}</td>
  93. <td>{{data.priceRate}}%</td>
  94. </tr>
  95. </tbody>
  96. </nz-table>
  97. </div>
  98. <div class="box">
  99. <div class="box-head">对比期费用科室TOP10</div>
  100. <nz-table class="table" [nzData]="priceCompareDeptListTop10" nzSize="small" [nzShowPagination]="false" [nzLoading]="loading">
  101. <thead>
  102. <tr class="thead">
  103. <th nzWidth="10%">排名</th>
  104. <th nzWidth="30%">科室名称</th>
  105. <th nzWidth="30%">对比期费用(元)</th>
  106. <th nzWidth="30%">占比(%)</th>
  107. </tr>
  108. </thead>
  109. <tbody>
  110. <tr *ngFor="let data of priceCompareDeptListTop10;let i = index;">
  111. <td>{{i + 1}}</td>
  112. <td>{{data.deptName}}</td>
  113. <td>{{data.totalPrice}}</td>
  114. <td>{{data.priceRate}}%</td>
  115. </tr>
  116. </tbody>
  117. </nz-table>
  118. </div>
  119. </div>
  120. <div class="echarts">
  121. <div class="echart-head">科室费用差异率TOP10</div>
  122. <div echarts class="echart" [options]='deptPriceOption'></div>
  123. </div>
  124. <div class="boxwrap">
  125. <div class="box">
  126. <div class="box-head">本期数量科室TOP10</div>
  127. <nz-table class="table" [nzData]="countDeptListTop10" nzSize="small" [nzShowPagination]="false" [nzLoading]="loading">
  128. <thead>
  129. <tr class="thead">
  130. <th nzWidth="10%">排名</th>
  131. <th nzWidth="30%">科室名称</th>
  132. <th nzWidth="30%">本期数量</th>
  133. <th nzWidth="30%">占比(%)</th>
  134. </tr>
  135. </thead>
  136. <tbody>
  137. <tr *ngFor="let data of countDeptListTop10;let i = index;">
  138. <td>{{i + 1}}</td>
  139. <td>{{data.deptName}}</td>
  140. <td>{{data.sendBackNum}}</td>
  141. <td>{{data.countRate}}%</td>
  142. </tr>
  143. </tbody>
  144. </nz-table>
  145. </div>
  146. <div class="box">
  147. <div class="box-head">对比期数量科室TOP10</div>
  148. <nz-table class="table" [nzData]="countCompareDeptListTop10" nzSize="small" [nzShowPagination]="false" [nzLoading]="loading">
  149. <thead>
  150. <tr class="thead">
  151. <th nzWidth="10%">排名</th>
  152. <th nzWidth="30%">科室名称</th>
  153. <th nzWidth="30%">对比期数量</th>
  154. <th nzWidth="30%">占比(%)</th>
  155. </tr>
  156. </thead>
  157. <tbody>
  158. <tr *ngFor="let data of countCompareDeptListTop10;let i = index;">
  159. <td>{{i + 1}}</td>
  160. <td>{{data.deptName}}</td>
  161. <td>{{data.sendBackNum}}</td>
  162. <td>{{data.countRate}}%</td>
  163. </tr>
  164. </tbody>
  165. </nz-table>
  166. </div>
  167. </div>
  168. <div class="echarts">
  169. <div class="echart-head">科室数量差异率TOP10</div>
  170. <div echarts class="echart" [options]='deptCountOption'></div>
  171. </div>
  172. </div>
  173. </div>
  174. </div>