Broker System for Supercredit
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

162 lines
6.6KB

  1. <kendo-grid #grid [data]="gridData"
  2. [pageable]="pageable"
  3. [navigable]="true"
  4. [pageSize]="filter.Take"
  5. [skip]="filter.Skip"
  6. [sortable]="sortable"
  7. [filterable]="false"
  8. [loading]="loading"
  9. [sort]="filter.Sort"
  10. [selectable]="true"
  11. kendoGridSelectBy
  12. [selectedKeys]="gridSelection"
  13. [rowClass]="rowClassCallbackBind"
  14. (add)="addHandler($event)"
  15. (cancel)="cancelHandler($event)"
  16. (save)="saveHandler($event)"
  17. (edit)="editHandler($event)"
  18. (remove)="removeHandler($event)"
  19. (pageChange)="pageChange($event)"
  20. (sortChange)="sortChange($event)"
  21. [ngClass]="{ 'filterByUploadMeta': uploadMeta.Id > 0 }"
  22. >
  23. <ng-template kendoGridToolbarTemplate>
  24. <div style="width:100%; margin:0px; display:block">
  25. <div *ngIf="allowAddNew" class="add-new-tool-bar">
  26. <button kendoGridAddCommand icon="plus" >Add new Income</button>
  27. </div>
  28. <div [ngStyle]="{'width': allowAddNew? '70%': '100%'}" class="filter-panel-wrapper" >
  29. <span *ngIf="uploadMeta.Id > 0 " class="badge badge-pill badge-primary specific-upload"> {{uploadMeta.Id}} </span>
  30. <span *ngIf="uploadMeta.Id > 0 " class="badge badge-secondary specific-upload"> {{uploadMeta.FileName}} </span>
  31. <button kendoButton icon="filter" (click)="showFilter()" >Filter</button>
  32. </div>
  33. </div>
  34. </ng-template>
  35. <kendo-grid-command-column *ngIf="allowEdit" title="command" width="100">
  36. <ng-template kendoGridCellTemplate let-isNew="isNew" let-dataItem>
  37. <div class="duplicate">dup</div>
  38. <button kendoGridEditCommand *ngIf="!dataItem.Uploads !== 0" icon="edit"></button>
  39. <button kendoGridRemoveCommand *ngIf="!dataItem.Uploads !== 0" icon="delete"></button>
  40. <button kendoGridSaveCommand [disabled]="incomeFormGroup?.invalid" icon="save"></button>
  41. <button kendoGridCancelCommand icon="cancel"></button>
  42. </ng-template>
  43. </kendo-grid-command-column>
  44. <kendo-grid-column field="Id" title="Id" width="50" editable="false" >
  45. <ng-template kendoGridFilterCellTemplate let-filter let-column="column">
  46. <kendo-grid-numeric-filter-cell [column]="column" [filter]="filter" [showOperators]="false" >
  47. </kendo-grid-numeric-filter-cell>
  48. </ng-template>
  49. </kendo-grid-column>
  50. <kendo-grid-column field="Lender" title="Lender" width="150" >
  51. <ng-template kendoGridEditTemplate let-dataItem let-formGroup>
  52. <kendo-combobox
  53. [formControl]="formGroup.get('Lender')"
  54. [data]="lenderListView | async"
  55. [allowCustom]="true"
  56. [loading]="lenderNameService.loading">
  57. </kendo-combobox>
  58. </ng-template>
  59. </kendo-grid-column>
  60. <kendo-grid-column field="LoanNumber" title="Lender Loan Id" width="150" editor="string">
  61. </kendo-grid-column>
  62. <kendo-grid-column field="IncomeAmount" title="Income" width="150" format="{0:c}" editor="numeric">
  63. </kendo-grid-column>
  64. <kendo-grid-column field="IncomeType" title="Type" width="150" editor="string">
  65. </kendo-grid-column>
  66. <kendo-grid-column field="Ts" title="Trail Date" editor="date" width="100">
  67. <ng-template kendoGridCellTemplate let-dataItem>
  68. {{ dataItem.Ts | date: 'yyyy-MM-dd' }}
  69. </ng-template>
  70. </kendo-grid-column>
  71. <kendo-grid-column field="Balance" title="Balance" width="150">
  72. <ng-template kendoGridCellTemplate let-dataItem>
  73. <div *ngIf="dataItem.Balance >=0 "> {{ dataItem.Balance | currency}} </div>
  74. <div *ngIf="dataItem.Balance < 0 "> unknown </div>
  75. </ng-template>
  76. <ng-template kendoGridEditTemplate
  77. let-dataItem="dataItem"
  78. let-formGroup="incomeFormGroup">
  79. <kendo-switch [checked]="dataItem.Balance >=0"
  80. name="showBalance" [(ngModel)]="showBalance"
  81. ngModelOptions="{standalone: true}"
  82. [onLabel]="'Yes'"
  83. [offLabel]="'No'"
  84. (valueChange)="setBalance()"
  85. >
  86. </kendo-switch>
  87. <kendo-numerictextbox *ngIf="showBalance"
  88. [formControl]="incomeFormGroup.get('Balance')"
  89. [min]="-1" [max]="999999999" [autoCorrect]="true" class="balance">
  90. </kendo-numerictextbox>
  91. </ng-template>
  92. </kendo-grid-column>
  93. <kendo-grid-column field="OffsetBalance" title="Offset" width="150" >
  94. <ng-template kendoGridCellTemplate let-dataItem>
  95. <div *ngIf="dataItem.OffsetBalance >=0 "> {{ dataItem.OffsetBalance | currency}} </div>
  96. <div *ngIf="dataItem.OffsetBalance < 0 "> unknown </div>
  97. </ng-template>
  98. <ng-template kendoGridEditTemplate
  99. let-dataItem="dataItem"
  100. let-formGroup="incomeFormGroup">
  101. <kendo-switch [checked]="dataItem.OffsetBalance >=0"
  102. name="showOffsetBalance" [(ngModel)]="showOffsetBalance"
  103. ngModelOptions="{standalone: true}"
  104. [onLabel]="'Yes'"
  105. [offLabel]="'No'"
  106. (valueChange)="setOffsetBalance()"
  107. >
  108. </kendo-switch>
  109. <kendo-numerictextbox *ngIf="showOffsetBalance"
  110. [formControl]="incomeFormGroup.get('OffsetBalance')"
  111. [min]="-1" [max]="999999999" [autoCorrect]="true" class="balance">
  112. </kendo-numerictextbox>
  113. </ng-template>
  114. </kendo-grid-column>
  115. <kendo-grid-column *ngIf="showUploadColumn"
  116. field="UploadId" title="Uploads" width="100" format="{0:c}" [editable]="false" [sortable]="false">
  117. <ng-template kendoGridCellTemplate let-dataItem >
  118. <button kendoButton *ngIf="dataItem.UploadId > 0"
  119. (click)="showUpload(dataItem.UploadId)" icon="attachment"> {{ dataItem.UploadId }}
  120. </button>
  121. <p *ngIf="dataItem.UploadId <=0" > - </p>
  122. </ng-template>
  123. </kendo-grid-column>
  124. <kendo-grid-column *ngIf="showLoanColumn"
  125. field="LoanId" title="Loan" width="210"
  126. [editable]="true "
  127. [sortable]="false">
  128. <ng-template kendoGridCellTemplate let-dataItem>
  129. <app-loan-card *ngIf="dataItem.LoanId !== '' " [Loan]="dataItem.Loan"></app-loan-card>
  130. </ng-template>
  131. <ng-template kendoGridEditTemplate let-dataItem>
  132. <app-loan-select [formControl]="incomeFormGroup.get('Loan')" (valueChange)="onLoanChange($event)"
  133. [Max]="1" [readOnly]="this.filterLoan !== undefined && this.filterLoan.Id !==''"
  134. ></app-loan-select>
  135. </ng-template>
  136. </kendo-grid-column>
  137. </kendo-grid>
  138. <app-popup-income-filter #filterDialog (DoFilter)="doFilter($event)"> </app-popup-income-filter>