Merge pull request #2542 from steinwinde/diverse-fixes

fix: Diverse problems in the Organization section
This commit is contained in:
Gopi Kishan
2025-07-01 20:36:31 +05:30
committed by GitHub
17 changed files with 401 additions and 382 deletions
@@ -1,190 +1,192 @@
<mat-card class="container" *ngIf="!isCollapsed"> <mat-card class="container" *ngIf="!isCollapsed">
<form [formGroup]="fundMappingForm" (ngSubmit)="submit()"> <form [formGroup]="fundMappingForm" (ngSubmit)="submit()">
<div class="layout-row-wrap gap-2percent responsive-column align-start-center"> <mat-card-content>
<mat-form-field class="flex-48"> <div class="layout-row-wrap gap-2percent responsive-column align-start-center">
<mat-label>{{ 'labels.inputs.Loan Status' | translate }}</mat-label> <mat-form-field class="flex-48">
<mat-select formControlName="loanStatus" multiple> <mat-label>{{ 'labels.inputs.Loan Status' | translate }}</mat-label>
<mat-option value="all">{{ 'labels.inputs.All' | translate }}</mat-option> <mat-select formControlName="loanStatus" multiple>
<mat-option value="active">{{ 'labels.inputs.Active' | translate }}</mat-option> <mat-option value="all">{{ 'labels.inputs.All' | translate }}</mat-option>
<mat-option value="closed">{{ 'labels.inputs.Overpaid' | translate }}</mat-option> <mat-option value="active">{{ 'labels.inputs.Active' | translate }}</mat-option>
<mat-option value="overpaid">{{ 'labels.inputs.Closed (obligations met)' | translate }}</mat-option> <mat-option value="closed">{{ 'labels.inputs.Overpaid' | translate }}</mat-option>
<mat-option value="writeoff">{{ 'labels.inputs.Closed (written-off)' | translate }}</mat-option> <mat-option value="overpaid">{{ 'labels.inputs.Closed (obligations met)' | translate }}</mat-option>
</mat-select> <mat-option value="writeoff">{{ 'labels.inputs.Closed (written-off)' | translate }}</mat-option>
</mat-form-field>
<span class="flex-48 hide-lt-md"></span>
<mat-form-field class="flex-48">
<mat-label>{{ 'labels.inputs.Product' | translate }}</mat-label>
<mat-select formControlName="loanProducts" multiple>
<mat-option *ngFor="let product of advanceSearchTemplate.loanProducts" [value]="product.id">
{{ product.name }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="flex-48">
<mat-label>{{ 'labels.inputs.Office' | translate }}</mat-label>
<mat-select formControlName="offices" multiple>
<mat-option *ngFor="let office of advanceSearchTemplate.offices" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="flex-31">
<mat-label>{{ 'labels.inputs.Date Type' | translate }}</mat-label>
<mat-select required formControlName="loanDateOption">
<mat-option value="approvalDate">{{ 'labels.inputs.Approval Date' | translate }}</mat-option>
<mat-option value="createdDate">{{ 'labels.inputs.Creation Date' | translate }}</mat-option>
<mat-option value="disbursalDate">{{ 'labels.inputs.Disbursement Date' | translate }}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="flex-fill flex-31" (click)="fromDatePicker.open()">
<mat-label>{{ 'labels.inputs.From Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="fromDatePicker"
formControlName="loanFromDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="fromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #fromDatePicker></mat-datepicker>
<mat-error *ngIf="fundMappingForm.controls.loanFromDate.hasError('required')">
{{ 'labels.inputs.From Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field class="flex-fill flex-31" (click)="toDatePicker.open()">
<mat-label>{{ 'labels.inputs.To Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="toDatePicker"
formControlName="loanToDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="toDatePicker"></mat-datepicker-toggle>
<mat-datepicker #toDatePicker></mat-datepicker>
<mat-error *ngIf="fundMappingForm.controls.loanToDate.hasError('required')">
{{ 'labels.inputs.To Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-checkbox
labelPosition="before"
formControlName="includeOutStandingAmountPercentage"
class="margin-b flex-73"
>
{{ 'labels.inputs.Loan Outstanding Percentage' | translate }}
</mat-checkbox>
<div
*ngIf="fundMappingForm.value.includeOutStandingAmountPercentage"
class="flex-fill layout-row-wrap gap-2percent layout-xs-column"
>
<mat-form-field *ngIf="fundMappingForm.contains('outStandingAmountPercentageCondition')" class="flex-31">
<mat-label>{{ 'labels.inputs.Comparison Condition' | translate }}</mat-label>
<mat-select required formControlName="outStandingAmountPercentageCondition">
<mat-option value="between">{{ 'labels.inputs.between' | translate }}</mat-option>
<mat-option value="<=">&lt;=</mat-option>
<mat-option value=">=">&gt;=</mat-option>
<mat-option value="<">&lt;</mat-option>
<mat-option value=">">&gt;</mat-option>
<mat-option value="=">=</mat-option>
</mat-select> </mat-select>
<mat-error *ngIf="fundMappingForm.controls.outStandingAmountPercentageCondition.hasError('required')">
{{ 'labels.inputs.Comparison Condition' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field> </mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('minOutStandingAmountPercentage')" class="flex-31"> <span class="flex-48 hide-lt-md"></span>
<mat-label>{{ 'labels.inputs.Minimum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="minOutStandingAmountPercentage" />
<mat-error *ngIf="fundMappingForm.controls.minOutStandingAmountPercentage.hasError('required')">
{{ 'labels.inputs.Minimum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('outStandingAmountPercentage')" class="flex-31"> <mat-form-field class="flex-48">
<mat-label>{{ 'labels.inputs.Comparison Value' | translate }}</mat-label> <mat-label>{{ 'labels.inputs.Product' | translate }}</mat-label>
<input type="number" matInput required formControlName="outStandingAmountPercentage" /> <mat-select formControlName="loanProducts" multiple>
<mat-error *ngIf="fundMappingForm.controls.outStandingAmountPercentage.hasError('required')"> <mat-option *ngFor="let product of advanceSearchTemplate.loanProducts" [value]="product.id">
{{ 'labels.inputs.Comparison Value' | translate }} {{ 'labels.commons.is' | translate }} {{ product.name }}
<strong>{{ 'labels.commons.required' | translate }}</strong> </mat-option>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('maxOutStandingAmountPercentage')" class="flex-31">
<mat-label>{{ 'labels.inputs.Maximum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="maxOutStandingAmountPercentage" />
<mat-error *ngIf="fundMappingForm.controls.maxOutStandingAmountPercentage.hasError('required')">
{{ 'labels.inputs.Maximum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-checkbox class="flex-73 margin-b" labelPosition="before" formControlName="includeOutstandingAmount">
{{ 'labels.inputs.Loan Outstanding Amount' | translate }}
</mat-checkbox>
<div
*ngIf="fundMappingForm.value.includeOutstandingAmount"
class="flex-fill layout-row-wrap gap-2percent responsive-column"
>
<mat-form-field *ngIf="fundMappingForm.contains('outstandingAmountCondition')" class="flex-31">
<mat-label>{{ 'labels.inputs.Comparison Condition' | translate }}</mat-label>
<mat-select required formControlName="outstandingAmountCondition">
<mat-option value="between">{{ 'labels.inputs.between' | translate }}</mat-option>
<mat-option value="<=">&lt;=</mat-option>
<mat-option value=">=">&gt;=</mat-option>
<mat-option value="<">&lt;</mat-option>
<mat-option value=">">&gt;</mat-option>
<mat-option value="=">=</mat-option>
</mat-select> </mat-select>
<mat-error *ngIf="fundMappingForm.controls.outstandingAmountCondition.hasError('required')"> </mat-form-field>
{{ 'labels.inputs.Comparison Condition' | translate }} {{ 'labels.commons.is' | translate }}
<mat-form-field class="flex-48">
<mat-label>{{ 'labels.inputs.Office' | translate }}</mat-label>
<mat-select formControlName="offices" multiple>
<mat-option *ngFor="let office of advanceSearchTemplate.offices" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="flex-31">
<mat-label>{{ 'labels.inputs.Date Type' | translate }}</mat-label>
<mat-select required formControlName="loanDateOption">
<mat-option value="approvalDate">{{ 'labels.inputs.Approval Date' | translate }}</mat-option>
<mat-option value="createdDate">{{ 'labels.inputs.Creation Date' | translate }}</mat-option>
<mat-option value="disbursalDate">{{ 'labels.inputs.Disbursement Date' | translate }}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="flex-31" (click)="fromDatePicker.open()">
<mat-label>{{ 'labels.inputs.From Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="fromDatePicker"
formControlName="loanFromDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="fromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #fromDatePicker></mat-datepicker>
<mat-error *ngIf="fundMappingForm.controls.loanFromDate.hasError('required')">
{{ 'labels.inputs.From Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong> <strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error> </mat-error>
</mat-form-field> </mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('minOutstandingAmount')" class="flex-31"> <mat-form-field class="flex-31" (click)="toDatePicker.open()">
<mat-label>{{ 'labels.inputs.Minimum Value' | translate }}</mat-label> <mat-label>{{ 'labels.inputs.To Date' | translate }}</mat-label>
<input type="number" matInput required formControlName="minOutstandingAmount" /> <input
<mat-error *ngIf="fundMappingForm.controls.minOutstandingAmount.hasError('required')"> matInput
{{ 'labels.inputs.Minimum Value' | translate }} {{ 'labels.commons.is' | translate }} [min]="minDate"
[max]="maxDate"
[matDatepicker]="toDatePicker"
formControlName="loanToDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="toDatePicker"></mat-datepicker-toggle>
<mat-datepicker #toDatePicker></mat-datepicker>
<mat-error *ngIf="fundMappingForm.controls.loanToDate.hasError('required')">
{{ 'labels.inputs.To Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong> <strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error> </mat-error>
</mat-form-field> </mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('outstandingAmount')" class="flex-31"> <mat-checkbox
<mat-label>{{ 'labels.inputs.Comparison Value' | translate }}</mat-label> labelPosition="before"
<input type="number" matInput required formControlName="outstandingAmount" /> formControlName="includeOutStandingAmountPercentage"
<mat-error *ngIf="fundMappingForm.controls.outstandingAmount.hasError('required')"> class="margin-b flex-73"
{{ 'labels.inputs.Comparison Value' | translate }} {{ 'labels.commons.is' | translate }} >
<strong>{{ 'labels.commons.required' | translate }}</strong> {{ 'labels.inputs.Loan Outstanding Percentage' | translate }}
</mat-error> </mat-checkbox>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('maxOutstandingAmount')" class="flex-31"> <div
<mat-label>{{ 'labels.inputs.Maximum Value' | translate }}</mat-label> *ngIf="fundMappingForm.value.includeOutStandingAmountPercentage"
<input type="number" matInput required formControlName="maxOutstandingAmount" /> class="flex-fill layout-row-wrap gap-2percent layout-xs-column"
<mat-error *ngIf="fundMappingForm.controls.maxOutstandingAmount.hasError('required')"> >
{{ 'labels.inputs.Maximum Value' | translate }} {{ 'labels.commons.is' | translate }} <mat-form-field *ngIf="fundMappingForm.contains('outStandingAmountPercentageCondition')" class="flex-31">
<strong>{{ 'labels.commons.required' | translate }}</strong> <mat-label>{{ 'labels.inputs.Comparison Condition' | translate }}</mat-label>
</mat-error> <mat-select required formControlName="outStandingAmountPercentageCondition">
</mat-form-field> <mat-option value="between">{{ 'labels.inputs.between' | translate }}</mat-option>
<mat-option value="<=">&lt;=</mat-option>
<mat-option value=">=">&gt;=</mat-option>
<mat-option value="<">&lt;</mat-option>
<mat-option value=">">&gt;</mat-option>
<mat-option value="=">=</mat-option>
</mat-select>
<mat-error *ngIf="fundMappingForm.controls.outStandingAmountPercentageCondition.hasError('required')">
{{ 'labels.inputs.Comparison Condition' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('minOutStandingAmountPercentage')" class="flex-31">
<mat-label>{{ 'labels.inputs.Minimum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="minOutStandingAmountPercentage" />
<mat-error *ngIf="fundMappingForm.controls.minOutStandingAmountPercentage.hasError('required')">
{{ 'labels.inputs.Minimum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('outStandingAmountPercentage')" class="flex-31">
<mat-label>{{ 'labels.inputs.Comparison Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="outStandingAmountPercentage" />
<mat-error *ngIf="fundMappingForm.controls.outStandingAmountPercentage.hasError('required')">
{{ 'labels.inputs.Comparison Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('maxOutStandingAmountPercentage')" class="flex-31">
<mat-label>{{ 'labels.inputs.Maximum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="maxOutStandingAmountPercentage" />
<mat-error *ngIf="fundMappingForm.controls.maxOutStandingAmountPercentage.hasError('required')">
{{ 'labels.inputs.Maximum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-checkbox class="flex-73 margin-b" labelPosition="before" formControlName="includeOutstandingAmount">
{{ 'labels.inputs.Loan Outstanding Amount' | translate }}
</mat-checkbox>
<div
*ngIf="fundMappingForm.value.includeOutstandingAmount"
class="flex-fill layout-row-wrap gap-2percent responsive-column"
>
<mat-form-field *ngIf="fundMappingForm.contains('outstandingAmountCondition')" class="flex-31">
<mat-label>{{ 'labels.inputs.Comparison Condition' | translate }}</mat-label>
<mat-select required formControlName="outstandingAmountCondition">
<mat-option value="between">{{ 'labels.inputs.between' | translate }}</mat-option>
<mat-option value="<=">&lt;=</mat-option>
<mat-option value=">=">&gt;=</mat-option>
<mat-option value="<">&lt;</mat-option>
<mat-option value=">">&gt;</mat-option>
<mat-option value="=">=</mat-option>
</mat-select>
<mat-error *ngIf="fundMappingForm.controls.outstandingAmountCondition.hasError('required')">
{{ 'labels.inputs.Comparison Condition' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('minOutstandingAmount')" class="flex-31">
<mat-label>{{ 'labels.inputs.Minimum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="minOutstandingAmount" />
<mat-error *ngIf="fundMappingForm.controls.minOutstandingAmount.hasError('required')">
{{ 'labels.inputs.Minimum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('outstandingAmount')" class="flex-31">
<mat-label>{{ 'labels.inputs.Comparison Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="outstandingAmount" />
<mat-error *ngIf="fundMappingForm.controls.outstandingAmount.hasError('required')">
{{ 'labels.inputs.Comparison Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="fundMappingForm.contains('maxOutstandingAmount')" class="flex-31">
<mat-label>{{ 'labels.inputs.Maximum Value' | translate }}</mat-label>
<input type="number" matInput required formControlName="maxOutstandingAmount" />
<mat-error *ngIf="fundMappingForm.controls.maxOutstandingAmount.hasError('required')">
{{ 'labels.inputs.Maximum Value' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
</div> </div>
</div> </mat-card-content>
<mat-card-actions class="layout-row align-center gap-5px responsive-column"> <mat-card-actions class="layout-row align-center gap-5px responsive-column">
<button type="button" mat-raised-button [routerLink]="['../']">{{ 'labels.buttons.Cancel' | translate }}</button> <button type="button" mat-raised-button [routerLink]="['../']">{{ 'labels.buttons.Cancel' | translate }}</button>
@@ -1,225 +1,229 @@
<mat-card class="container"> <mat-card class="container">
<div class="layout-row-wrap gap-2px responsive-column"> <mat-card-content>
<mat-form-field class="flex-fill flex-18"> <div class="layout-row-wrap gap-2px responsive-column">
<mat-label>{{ 'labels.text.Search by Text' | translate }}</mat-label> <mat-form-field class="flex-18">
<input matInput [formControl]="searchText" /> <mat-label>{{ 'labels.text.Search by Text' | translate }}</mat-label>
</mat-form-field> <input matInput [formControl]="searchText" />
</mat-form-field>
<mat-form-field class="flex-fill flex-18" (click)="effectiveFromDatePicker.open()"> <mat-form-field class="flex-18" (click)="effectiveFromDatePicker.open()">
<mat-label>{{ 'labels.text.Effective Date From' | translate }}</mat-label> <mat-label>{{ 'labels.text.Effective Date From' | translate }}</mat-label>
<input <input
matInput matInput
[min]="minDate" [min]="minDate"
[max]="maxDate" [max]="maxDate"
[matDatepicker]="effectiveFromDatePicker" [matDatepicker]="effectiveFromDatePicker"
[formControl]="effectiveFromDate" [formControl]="effectiveFromDate"
/> />
<mat-datepicker-toggle matSuffix [for]="effectiveFromDatePicker"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="effectiveFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #effectiveFromDatePicker></mat-datepicker> <mat-datepicker #effectiveFromDatePicker></mat-datepicker>
</mat-form-field> </mat-form-field>
<mat-form-field class="flex-fill flex-18" (click)="effectiveToDatePicker.open()"> <mat-form-field class="flex-18" (click)="effectiveToDatePicker.open()">
<mat-label>{{ 'labels.text.Effective Date To' | translate }}</mat-label> <mat-label>{{ 'labels.text.Effective Date To' | translate }}</mat-label>
<input <input
matInput matInput
[min]="minDate" [min]="minDate"
[max]="maxDate" [max]="maxDate"
[matDatepicker]="effectiveToDatePicker" [matDatepicker]="effectiveToDatePicker"
[formControl]="effectiveToDate" [formControl]="effectiveToDate"
/> />
<mat-datepicker-toggle matSuffix [for]="effectiveToDatePicker"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="effectiveToDatePicker"></mat-datepicker-toggle>
<mat-datepicker #effectiveToDatePicker></mat-datepicker> <mat-datepicker #effectiveToDatePicker></mat-datepicker>
</mat-form-field> </mat-form-field>
<mat-form-field class="flex-fill flex-18" (click)="settlementFromDatePicker.open()"> <mat-form-field class="flex-18" (click)="settlementFromDatePicker.open()">
<mat-label>{{ 'labels.text.Settlement Date From' | translate }}</mat-label> <mat-label>{{ 'labels.text.Settlement Date From' | translate }}</mat-label>
<input <input
matInput matInput
[min]="minDate" [min]="minDate"
[max]="maxDate" [max]="maxDate"
[matDatepicker]="settlementFromDatePicker" [matDatepicker]="settlementFromDatePicker"
[formControl]="settlementFromDate" [formControl]="settlementFromDate"
/> />
<mat-datepicker-toggle matSuffix [for]="settlementFromDatePicker"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="settlementFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #settlementFromDatePicker></mat-datepicker> <mat-datepicker #settlementFromDatePicker></mat-datepicker>
</mat-form-field> </mat-form-field>
<mat-form-field class="flex-fill flex-18" (click)="settlementToDatePicker.open()"> <mat-form-field class="flex-18" (click)="settlementToDatePicker.open()">
<mat-label>{{ 'labels.text.Settlement Date To' | translate }}</mat-label> <mat-label>{{ 'labels.text.Settlement Date To' | translate }}</mat-label>
<input <input
matInput matInput
[min]="minDate" [min]="minDate"
[max]="maxDate" [max]="maxDate"
[matDatepicker]="settlementToDatePicker" [matDatepicker]="settlementToDatePicker"
[formControl]="settlementToDate" [formControl]="settlementToDate"
/> />
<mat-datepicker-toggle matSuffix [for]="settlementToDatePicker"></mat-datepicker-toggle> <mat-datepicker-toggle matSuffix [for]="settlementToDatePicker"></mat-datepicker-toggle>
<mat-datepicker #settlementToDatePicker></mat-datepicker> <mat-datepicker #settlementToDatePicker></mat-datepicker>
</mat-form-field> </mat-form-field>
<div class="center m-t-15 flex-98"> <div class="center m-t-15 flex-98">
<button mat-raised-button color="primary" (click)="searchEAO()"> <button mat-raised-button color="primary" (click)="searchEAO()">
<fa-icon icon="search" class="m-r-10"></fa-icon> {{ 'labels.buttons.Search' | translate }} <fa-icon icon="search" class="m-r-10"></fa-icon> {{ 'labels.buttons.Search' | translate }}
</button> </button>
</div>
</div> </div>
</div>
<div class="mat-elevation-z8 container m-t-20"> <div class="mat-elevation-z8 container m-t-20">
<div *ngIf="isLoading" class="loader"> <div *ngIf="isLoading" class="loader">
<div class="loading"></div> <div class="loading"></div>
</div> </div>
<mat-accordion *ngIf="existsDataToFilter"> <mat-accordion *ngIf="existsDataToFilter">
<mat-expansion-panel *ngFor="let record of searchResults; index as i" class="record"> <mat-expansion-panel *ngFor="let record of searchResults; index as i" class="record">
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> <mat-panel-title>
<table>
<tr>
<td>
<div [ngClass]="itemStatus(record.status)" class="m-r-20">
<fa-icon icon="stop"></fa-icon>
<span class="m-l-10 status">{{ record.status }}</span>
</div>
</td>
<td class="field-name">{{ 'labels.inputs.Owner External Id' | translate }}</td>
<td>
<mifosx-external-identifier externalId="{{ record.owner.externalId }}"></mifosx-external-identifier>
</td>
<td class="field-name">{{ 'labels.inputs.Transfer External Id' | translate }}</td>
<td>
<mifosx-external-identifier
externalId="{{ record.transferExternalId }}"
></mifosx-external-identifier>
</td>
<td class="field-name">{{ 'labels.inputs.Effective From' | translate }}</td>
<td>{{ record.effectiveFrom | dateFormat }}</td>
</tr>
</table>
</mat-panel-title>
</mat-expansion-panel-header>
<div class="external-asset-transfer">
<table> <table>
<tr> <tbody>
<td> <tr>
<div [ngClass]="itemStatus(record.status)" class="m-r-20"> <td class="m-l-5 flex-25">
<fa-icon icon="stop"></fa-icon> <b>{{ 'labels.inputs.Status' | translate }} :</b>
<span class="m-l-10 status">{{ record.status }}</span> </td>
</div> <td class="flex-25 m-l-5 left">
</td> <div [ngClass]="itemStatus(record.status)">
<td class="field-name">{{ 'labels.inputs.Owner External Id' | translate }}</td> <fa-icon icon="stop"></fa-icon>
<td> <span class="m-l-5 status">{{ record.status }}</span>
<mifosx-external-identifier externalId="{{ record.owner.externalId }}"></mifosx-external-identifier> </div>
</td> </td>
<td class="field-name">{{ 'labels.inputs.Transfer External Id' | translate }}</td> <td class="m-l-5 flex-25">
<td> <b>{{ 'labels.inputs.Owner External Id' | translate }} :</b>
<mifosx-external-identifier externalId="{{ record.transferExternalId }}"></mifosx-external-identifier> </td>
</td> <td class="flex-25 m-l-5 left">
<td class="field-name">{{ 'labels.inputs.Effective From' | translate }}</td> <mifosx-external-identifier
<td>{{ record.effectiveFrom | dateFormat }}</td> externalId="{{ record.owner.externalId }}"
</tr> completed="true"
></mifosx-external-identifier>
</td>
</tr>
<tr>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Settlement Date' | translate }} :</b>
</td>
<td class="m-l-5 flex-25">
{{ record.settlementDate | dateFormat }}
</td>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Effective Date' | translate }} :</b>
</td>
<td class="m-l-5 flex-25">
{{ record.effectiveFrom | dateFormat }}
</td>
</tr>
<tr *ngIf="record.details">
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Details' | translate }} :</b>
</td>
<td class="flex-75 left">
<table>
<tbody>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Principal Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalPrincipalOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Interest Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalInterestOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Fees Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalFeeChargesOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Penalties Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalPenaltyChargesOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">{{ record.details.totalOutstanding | formatNumber }}</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Overpaid' | translate }} :</b>
</td>
<td class="flex-50 r-amount">{{ record.details.totalOverpaid | formatNumber }}</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table> </table>
</mat-panel-title> </div>
</mat-expansion-panel-header>
<div class="external-asset-transfer"> <mat-divider [inset]="true"></mat-divider>
<table>
<tbody>
<tr>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Status' | translate }} :</b>
</td>
<td class="flex-25 m-l-5 left">
<div [ngClass]="itemStatus(record.status)">
<fa-icon icon="stop"></fa-icon>
<span class="m-l-5 status">{{ record.status }}</span>
</div>
</td>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Owner External Id' | translate }} :</b>
</td>
<td class="flex-25 m-l-5 left">
<mifosx-external-identifier
externalId="{{ record.owner.externalId }}"
completed="true"
></mifosx-external-identifier>
</td>
</tr>
<tr>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Settlement Date' | translate }} :</b>
</td>
<td class="m-l-5 flex-25">
{{ record.settlementDate | dateFormat }}
</td>
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Effective Date' | translate }} :</b>
</td>
<td class="m-l-5 flex-25">
{{ record.effectiveFrom | dateFormat }}
</td>
</tr>
<tr *ngIf="record.details">
<td class="m-l-5 flex-25">
<b>{{ 'labels.inputs.Details' | translate }} :</b>
</td>
<td class="flex-75 left">
<table>
<tbody>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Principal Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalPrincipalOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Interest Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalInterestOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Fees Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalFeeChargesOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Penalties Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">
{{ record.details.totalPenaltyChargesOutstanding | formatNumber }}
</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Outstanding' | translate }} :</b>
</td>
<td class="flex-50 r-amount">{{ record.details.totalOutstanding | formatNumber }}</td>
</tr>
<tr>
<td class="flex-50 m-l-5">
<b>{{ 'labels.inputs.Overpaid' | translate }} :</b>
</td>
<td class="flex-50 r-amount">{{ record.details.totalOverpaid | formatNumber }}</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<mat-divider [inset]="true"></mat-divider> <div class="record-actions layout-row align-flex-end" *ngIf="canBeCancelled(record)">
<button
mat-button
color="warn"
(click)="cancelPendingSale(record)"
matTooltip="{{ 'labels.text.Cancel Pending Sale' | translate }}"
>
<fa-icon icon="trash"></fa-icon>
</button>
</div>
</mat-expansion-panel>
</mat-accordion>
<div class="record-actions layout-row align-flex-end" *ngIf="canBeCancelled(record)"> <mat-paginator
<button [pageSize]="pageSize"
mat-button [pageSizeOptions]="[50, 100, 200]"
color="warn" [length]="totalRows"
(click)="cancelPendingSale(record)" (page)="pageChanged($event)"
matTooltip="{{ 'labels.text.Cancel Pending Sale' | translate }}" showFirstLastButtons
> *ngIf="existsDataToFilter"
<fa-icon icon="trash"></fa-icon> ></mat-paginator>
</button>
</div>
</mat-expansion-panel>
</mat-accordion>
<mat-paginator
[pageSize]="pageSize"
[pageSizeOptions]="[50, 100, 200]"
[length]="totalRows"
(page)="pageChanged($event)"
showFirstLastButtons
*ngIf="existsDataToFilter"
></mat-paginator>
</div>
<div class="alert" *ngIf="!existsDataToFilter">
<div class="message">
<i class="fa fa-exclamation-circle alert-check"></i>
{{ 'labels.text.No data found' | translate }}
</div> </div>
</div>
<div class="alert" *ngIf="!existsDataToFilter">
<div class="message">
<i class="fa fa-exclamation-circle alert-check"></i>
{{ 'labels.text.No data found' | translate }}
</div>
</div>
</mat-card-content>
</mat-card> </mat-card>
@@ -339,7 +339,7 @@ const routes: Routes = [
{ {
path: 'fund-mapping', path: 'fund-mapping',
component: FundMappingComponent, component: FundMappingComponent,
data: { title: 'Advance Search', breadcrumb: 'Advance Search' }, data: { title: 'Fund Mapping', breadcrumb: 'Fund Mapping' },
resolve: { resolve: {
advanceSearchTemplate: AdvanceSearchTemplateResolver advanceSearchTemplate: AdvanceSearchTemplateResolver
} }
@@ -102,7 +102,7 @@
<div #standinginstructions> <div #standinginstructions>
<mat-list-item *mifosxHasPermission="'READ_STANDINGINSTRUCTION'"> <mat-list-item *mifosxHasPermission="'READ_STANDINGINSTRUCTION'">
<div class="menu-list-item-content"> <div class="menu-list-item-content">
<div class="menu-left-section" [routerLink]="['standing-instructions']"> <div class="menu-left-section" [routerLink]="['standing-instructions-history']">
<mat-icon matListIcon> <mat-icon matListIcon>
<fa-icon icon="book" size="sm"></fa-icon> <fa-icon icon="book" size="sm"></fa-icon>
</mat-icon> </mat-icon>
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Vytvořeno v", "Created At": "Vytvořeno v",
"Created By": "Vytvořil", "Created By": "Vytvořil",
"Created On": "Vytvořeno dne", "Created On": "Vytvořeno dne",
"Creation Date": "Datum vytvoření",
"Credit": "Kredit", "Credit": "Kredit",
"Credit Account": "Úvěrový účet", "Credit Account": "Úvěrový účet",
"Credit Account Name": "Název kreditního účtu", "Credit Account Name": "Název kreditního účtu",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Hergestellt in", "Created At": "Hergestellt in",
"Created By": "Erstellt von", "Created By": "Erstellt von",
"Created On": "Erstellt am", "Created On": "Erstellt am",
"Creation Date": "Erstellungsdatum",
"Credit": "Kredit", "Credit": "Kredit",
"Credit Account": "Kreditkonto", "Credit Account": "Kreditkonto",
"Credit Account Name": "Name des Kreditkontos", "Credit Account Name": "Name des Kreditkontos",
+1
View File
@@ -1429,6 +1429,7 @@
"Created At": "Created At", "Created At": "Created At",
"Created By": "Created By", "Created By": "Created By",
"Created On": "Created On", "Created On": "Created On",
"Creation Date": "Creation Date",
"Credit": "Credit", "Credit": "Credit",
"Credit Account": "Credit Account", "Credit Account": "Credit Account",
"Credit Account Name": "Credit Account Name", "Credit Account Name": "Credit Account Name",
+1
View File
@@ -1424,6 +1424,7 @@
"Created At": "Creado en", "Created At": "Creado en",
"Created By": "Creado por", "Created By": "Creado por",
"Created On": "Creado en", "Created On": "Creado en",
"Creation Date": "Fecha de creación",
"Credit": "Crédito", "Credit": "Crédito",
"Credit Account": "Cuenta de crédito", "Credit Account": "Cuenta de crédito",
"Credit Account Name": "Nombre de la cuenta de crédito", "Credit Account Name": "Nombre de la cuenta de crédito",
+1
View File
@@ -1424,6 +1424,7 @@
"Created At": "Creado en", "Created At": "Creado en",
"Created By": "Creado por", "Created By": "Creado por",
"Created On": "Creado en", "Created On": "Creado en",
"Creation Date": "Fecha de creación",
"Credit": "Crédito", "Credit": "Crédito",
"Credit Account": "Cuenta de crédito", "Credit Account": "Cuenta de crédito",
"Credit Account Name": "Nombre de la cuenta de crédito", "Credit Account Name": "Nombre de la cuenta de crédito",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Créé à", "Created At": "Créé à",
"Created By": "Créé par", "Created By": "Créé par",
"Created On": "Créé sur", "Created On": "Créé sur",
"Creation Date": "Date de création",
"Credit": "Crédit", "Credit": "Crédit",
"Credit Account": "Compte créditeur", "Credit Account": "Compte créditeur",
"Credit Account Name": "Nom du compte de crédit", "Credit Account Name": "Nom du compte de crédit",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Creato a", "Created At": "Creato a",
"Created By": "Creato da", "Created By": "Creato da",
"Created On": "Creato", "Created On": "Creato",
"Creation Date": "Data di creazione",
"Credit": "Credito", "Credit": "Credito",
"Credit Account": "Conto di credito", "Credit Account": "Conto di credito",
"Credit Account Name": "Nome del conto di credito", "Credit Account Name": "Nome del conto di credito",
+1
View File
@@ -1426,6 +1426,7 @@
"Created At": "생성 날짜", "Created At": "생성 날짜",
"Created By": "작성자", "Created By": "작성자",
"Created On": "에 만든", "Created On": "에 만든",
"Creation Date": "생성 날짜",
"Credit": "신용 거래", "Credit": "신용 거래",
"Credit Account": "신용 계좌", "Credit Account": "신용 계좌",
"Credit Account Name": "신용 계좌 이름", "Credit Account Name": "신용 계좌 이름",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Sukurta", "Created At": "Sukurta",
"Created By": "Sukurta", "Created By": "Sukurta",
"Created On": "Sukurtas", "Created On": "Sukurtas",
"Creation Date": "Sukūrimo data",
"Credit": "Kreditas", "Credit": "Kreditas",
"Credit Account": "Kredito sąskaita", "Credit Account": "Kredito sąskaita",
"Credit Account Name": "Kredito sąskaitos pavadinimas", "Credit Account Name": "Kredito sąskaitos pavadinimas",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Izveidots plkst", "Created At": "Izveidots plkst",
"Created By": "Radīts", "Created By": "Radīts",
"Created On": "Izveidots", "Created On": "Izveidots",
"Creation Date": "Izveidošanas datums",
"Credit": "Kredīts", "Credit": "Kredīts",
"Credit Account": "Kredīta konts", "Credit Account": "Kredīta konts",
"Credit Account Name": "Kredīta konta nosaukums", "Credit Account Name": "Kredīta konta nosaukums",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "मा सिर्जना गरियो", "Created At": "मा सिर्जना गरियो",
"Created By": "द्वारा सिर्जना गरिएको", "Created By": "द्वारा सिर्जना गरिएको",
"Created On": "मा सिर्जना गरियो", "Created On": "मा सिर्जना गरियो",
"Creation Date": "सिर्जना मिति",
"Credit": "क्रेडिट", "Credit": "क्रेडिट",
"Credit Account": "क्रेडिट खाता", "Credit Account": "क्रेडिट खाता",
"Credit Account Name": "क्रेडिट खाता नाम", "Credit Account Name": "क्रेडिट खाता नाम",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Criado em", "Created At": "Criado em",
"Created By": "Criado por", "Created By": "Criado por",
"Created On": "Criado em", "Created On": "Criado em",
"Creation Date": "Data de Criação",
"Credit": "Crédito", "Credit": "Crédito",
"Credit Account": "Conta de crédito", "Credit Account": "Conta de crédito",
"Credit Account Name": "Nome da conta de crédito", "Credit Account Name": "Nome da conta de crédito",
+1
View File
@@ -1425,6 +1425,7 @@
"Created At": "Imeundwa Katika", "Created At": "Imeundwa Katika",
"Created By": "Imetengenezwa na", "Created By": "Imetengenezwa na",
"Created On": "Imeundwa Juu", "Created On": "Imeundwa Juu",
"Creation Date": "Tarehe ya Uumbaji",
"Credit": "Mikopo", "Credit": "Mikopo",
"Credit Account": "Akaunti ya Mkopo", "Credit Account": "Akaunti ya Mkopo",
"Credit Account Name": "Jina la Akaunti ya Mkopo", "Credit Account Name": "Jina la Akaunti ya Mkopo",