build: Use prettier for html
Stop ignoring html files in prettier and fix existing issues.
This commit is contained in:
+21
-19
@@ -1,48 +1,50 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="collateralForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Collateral Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Collateral Type' | translate }}</mat-label>
|
||||
<mat-select required formControlName="collateralTypeId">
|
||||
<mat-option *ngFor="let collateral of dataObject.allowedCollateralTypes" [value]="collateral.id">
|
||||
{{ collateral.name }}</mat-option>
|
||||
{{ collateral.name }}</mat-option
|
||||
>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="collateralForm.controls.collateralTypeId.hasError('required')">
|
||||
{{"labels.inputs.Collateral Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Collateral Type' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Value" | translate}}</mat-label>
|
||||
<input matInput required formControlName="value">
|
||||
<mat-label>{{ 'labels.inputs.Value' | translate }}</mat-label>
|
||||
<input matInput required formControlName="value" />
|
||||
<mat-error *ngIf="collateralForm.controls.value.hasError('required')">
|
||||
{{"labels.inputs.Value" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Value' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Description' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../loan-collateral']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!collateralForm.valid"
|
||||
*mifosxHasPermission="'CREATE_COLLATERAL'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../loan-collateral']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!collateralForm.valid"
|
||||
*mifosxHasPermission="'CREATE_COLLATERAL'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+30
-22
@@ -1,65 +1,73 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="loanChargeForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Charge" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Charge' | translate }}</mat-label>
|
||||
<mat-select required formControlName="chargeId">
|
||||
<mat-option *ngFor="let loanCharge of loanChargeOptions" [value]="loanCharge.id">
|
||||
{{ loanCharge.name + ' (' + loanCharge?.currency.name + ')' }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loanChargeForm.controls.chargeId.hasError('required')">
|
||||
{{"labels.inputs.Charge" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Charge' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Amount' | translate }}</mat-label>
|
||||
<input type="number" required matInput formControlName="amount" />
|
||||
<mat-error *ngIf="loanChargeForm.controls.amount.hasError('required')">
|
||||
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Amount' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Charge Calculation" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Charge Calculation' | translate }}</mat-label>
|
||||
<input matInput formControlName="chargeCalculation" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Charge Time" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Charge Time' | translate }}</mat-label>
|
||||
<input matInput formControlName="chargeTime" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="loanChargeForm.controls['dueDate']" (click)="dueDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Due On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dueDatePicker" required
|
||||
formControlName="dueDate">
|
||||
<mat-label>{{ 'labels.inputs.Due On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="dueDatePicker"
|
||||
required
|
||||
formControlName="dueDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #dueDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="loanChargeForm.controls.dueDate.hasError('required')">
|
||||
{{"labels.inputs.Due Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Due Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!loanChargeForm.valid"
|
||||
*mifosxHasPermission="'CREATE_LOANCHARGE'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!loanChargeForm.valid"
|
||||
*mifosxHasPermission="'CREATE_LOANCHARGE'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+30
-31
@@ -1,30 +1,26 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="adjustLoanChargeForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Amount' | translate }}</mat-label>
|
||||
<span matTextSuffix class="m-l-10">{{ loanDetailsData.currency.code }}</span>
|
||||
<span fxFlex="auto"></span>
|
||||
<input type="number" matInput required class="right-input" formControlName="amount">
|
||||
<input type="number" matInput required class="right-input" formControlName="amount" />
|
||||
<mat-error *ngIf="adjustLoanChargeForm.controls.amount.hasError('required')">
|
||||
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Amount' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Payment Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Payment Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="paymentTypeId">
|
||||
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
|
||||
{{ paymentType.name }}
|
||||
@@ -36,7 +32,7 @@
|
||||
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
|
||||
<mat-slide-toggle>
|
||||
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
|
||||
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate}}</span>
|
||||
<span class="m-l-10">{{ 'labels.inputs.Show Payment Details' | translate }}</span>
|
||||
</div>
|
||||
</mat-slide-toggle>
|
||||
</span>
|
||||
@@ -44,48 +40,51 @@
|
||||
|
||||
<ng-container *ngIf="showPaymentDetails">
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Account" | translate}} #</mat-label>
|
||||
<input matInput formControlName="accountNumber">
|
||||
<mat-label> {{ 'labels.inputs.Account' | translate }} #</mat-label>
|
||||
<input matInput formControlName="accountNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Cheque" | translate}} #</mat-label>
|
||||
<input matInput formControlName="checkNumber">
|
||||
<mat-label>{{ 'labels.inputs.Cheque' | translate }} #</mat-label>
|
||||
<input matInput formControlName="checkNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Routing Code" | translate}}</mat-label>
|
||||
<input matInput formControlName="routingCode">
|
||||
<mat-label>{{ 'labels.inputs.Routing Code' | translate }}</mat-label>
|
||||
<input matInput formControlName="routingCode" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reciept" | translate}} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber">
|
||||
<mat-label>{{ 'labels.inputs.Reciept' | translate }} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Bank" | translate}} #</mat-label>
|
||||
<input matInput formControlName="bankNumber">
|
||||
<mat-label>{{ 'labels.inputs.Bank' | translate }} #</mat-label>
|
||||
<input matInput formControlName="bankNumber" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../..']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!adjustLoanChargeForm.valid"
|
||||
*mifosxHasPermission="'ADJUSTMENT_LOANCHARGE'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../..']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!adjustLoanChargeForm.valid"
|
||||
*mifosxHasPermission="'ADJUSTMENT_LOANCHARGE'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+38
-26
@@ -1,62 +1,74 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="approveLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="approvedDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Approved On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [matDatepicker]="approvedDatePicker" required
|
||||
formControlName="approvedOnDate">
|
||||
<mat-label>{{ 'labels.inputs.Approved On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[matDatepicker]="approvedDatePicker"
|
||||
required
|
||||
formControlName="approvedOnDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="approvedDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #approvedDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="approveLoanForm.controls.approvedOnDate.hasError('required')">
|
||||
{{"labels.inputs.Approved Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Approved Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="disbursementDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Expected disbursement on" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [matDatepicker]="disbursementDatePicker"
|
||||
formControlName="expectedDisbursementDate">
|
||||
<mat-label>{{ 'labels.inputs.Expected disbursement on' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[matDatepicker]="disbursementDatePicker"
|
||||
formControlName="expectedDisbursementDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #disbursementDatePicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="approveLoanForm.controls.approvedLoanAmount"
|
||||
[inputLabel]="'Approved Amount'">
|
||||
[inputLabel]="'Approved Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Transaction Amount" | translate}}</mat-label>
|
||||
<input matInput type="number" required formControlName="approvedLoanAmount">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Amount' | translate }}</mat-label>
|
||||
<input matInput type="number" required formControlName="approvedLoanAmount" />
|
||||
<mat-error *ngIf="approveLoanForm.controls.approvedLoanAmount.hasError('required')">
|
||||
{{"labels.inputs.Transaction Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Amount' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!approveLoanForm.valid"
|
||||
*mifosxHasPermission="'APPROVE_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!approveLoanForm.valid"
|
||||
*mifosxHasPermission="'APPROVE_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+27
-25
@@ -1,57 +1,59 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="saleLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="settlementDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Settlement Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="settlementDatePicker" required
|
||||
formControlName="settlementDate">
|
||||
<mat-label>{{ 'labels.inputs.Settlement Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="settlementDatePicker"
|
||||
required
|
||||
formControlName="settlementDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="settlementDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #settlementDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="saleLoanForm.controls.settlementDate.hasError('required')">
|
||||
{{"labels.inputs.Settlement Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Settlement Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="!isBuyBack()">
|
||||
<mat-label>{{"labels.inputs.Purchase Price Ratio" | translate}}</mat-label>
|
||||
<input type="number" matInput required formControlName="purchasePriceRatio">
|
||||
<mat-label>{{ 'labels.inputs.Purchase Price Ratio' | translate }}</mat-label>
|
||||
<input type="number" matInput required formControlName="purchasePriceRatio" />
|
||||
<mat-error *ngIf="saleLoanForm.controls.purchasePriceRatio.hasError('required')">
|
||||
{{"labels.inputs.Purchase Price Ratio" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Purchase Price Ratio' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="!isBuyBack()">
|
||||
<mat-label>{{"labels.inputs.Owner External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="ownerExternalId">
|
||||
<mat-label>{{ 'labels.inputs.Owner External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="ownerExternalId" />
|
||||
<mat-error *ngIf="saleLoanForm.controls.ownerExternalId.hasError('required')">
|
||||
{{"labels.inputs.Owner External Id" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Owner External Id' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Transfer External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="transferExternalId">
|
||||
<mat-label>{{ 'labels.inputs.Transfer External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="transferExternalId" />
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!saleLoanForm.valid"
|
||||
*mifosxHasPermission="'SALE_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!saleLoanForm.valid" *mifosxHasPermission="'SALE_LOAN'">
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+25
-19
@@ -1,48 +1,54 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="assignOfficerForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.To Loan Officer" | translate}}</mat-label>
|
||||
<mat-label> {{ 'labels.inputs.To Loan Officer' | translate }}</mat-label>
|
||||
<mat-select required formControlName="toLoanOfficerId">
|
||||
<mat-option *ngFor="let loanOfficer of loanOfficers" [value]="loanOfficer.id">
|
||||
{{ loanOfficer.displayName }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="assignOfficerForm.controls.toLoanOfficerId.hasError('required')">
|
||||
{{"labels.inputs.Loan Officer" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Loan Officer' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="assignOnDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Assignment Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="assignOnDatePicker" required
|
||||
formControlName="assignmentDate">
|
||||
<mat-label>{{ 'labels.inputs.Assignment Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="assignOnDatePicker"
|
||||
required
|
||||
formControlName="assignmentDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="assignOnDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #assignOnDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="assignOfficerForm.controls.assignmentDate.hasError('required')">
|
||||
{{"labels.inputs.Assignment Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Assignment Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!assignOfficerForm.valid"
|
||||
*mifosxHasPermission="'BULKREASSIGN_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!assignOfficerForm.valid"
|
||||
*mifosxHasPermission="'BULKREASSIGN_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+28
-22
@@ -1,58 +1,64 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="chargeoffLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="chargeoffLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reason for Charge-Off" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Reason for Charge-Off' | translate }}</mat-label>
|
||||
<mat-select formControlName="chargeOffReasonId">
|
||||
<mat-option *ngFor="let chargeOffReason of chargeOffReasonOptions" [value]="chargeOffReason.id">
|
||||
{{ chargeOffReason.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="chargeoffLoanForm.controls.chargeOffReasonId.hasError('required')">
|
||||
{{"labels.inputs.Reason for Charge-Off" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Reason for Charge-Off' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!chargeoffLoanForm.valid"
|
||||
*mifosxHasPermission="'CHARGEOFF_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!chargeoffLoanForm.valid"
|
||||
*mifosxHasPermission="'CHARGEOFF_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="closedDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Closed On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Closed On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="closedDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #closedDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Closed Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Closed Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
|
||||
*mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!closeLoanForm.valid"
|
||||
*mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+56
-57
@@ -1,36 +1,35 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="newGuarantorForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-checkbox labelPosition="before" formControlName="existingClient">
|
||||
{{"labels.inputs.Existing Client" | translate}}
|
||||
{{ 'labels.inputs.Existing Client' | translate }}
|
||||
</mat-checkbox>
|
||||
|
||||
<ng-container *ngIf="!showClientDetailsForm">
|
||||
|
||||
<mat-form-field fxFlex="30%">
|
||||
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
|
||||
<input matInput formControlName="name" [matAutocomplete]="clientsAutocomplete">
|
||||
<mat-label>{{ 'labels.inputs.name' | translate }}</mat-label>
|
||||
<input matInput formControlName="name" [matAutocomplete]="clientsAutocomplete" />
|
||||
<mat-error *ngIf="newGuarantorForm.controls.name.hasError('required')">
|
||||
{{"labels.inputs.name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.name' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-autocomplete autoActiveFirstOption #clientsAutocomplete="matAutocomplete" [displayWith]="displayClient"
|
||||
(optionSelected)="clientSelected($event.option.value)">
|
||||
<mat-autocomplete
|
||||
autoActiveFirstOption
|
||||
#clientsAutocomplete="matAutocomplete"
|
||||
[displayWith]="displayClient"
|
||||
(optionSelected)="clientSelected($event.option.value)"
|
||||
>
|
||||
<mat-option *ngFor="let client of clientsData" [value]="client">
|
||||
{{ client.displayName }}
|
||||
</mat-option>
|
||||
</mat-autocomplete>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Relationship" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Relationship' | translate }}</mat-label>
|
||||
<mat-select formControlName="clientRelationshipTypeId">
|
||||
<mat-option *ngFor="let relationType of relationTypes" [value]="relationType.id">
|
||||
{{ relationType.name }}
|
||||
@@ -39,9 +38,8 @@
|
||||
</mat-form-field>
|
||||
|
||||
<ng-container *ngIf="accountOptions.length > 0">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Account" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Account' | translate }}</mat-label>
|
||||
<mat-select formControlName="savingsId">
|
||||
<mat-option *ngFor="let accountOption of accountOptions" [value]="accountOption.id">
|
||||
{{ accountOption.productName }} - {{ accountOption.accountNo }}
|
||||
@@ -50,18 +48,15 @@
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
|
||||
<input type="number" matInput required formControlName="amount">
|
||||
<mat-label>{{ 'labels.inputs.Amount' | translate }}</mat-label>
|
||||
<input type="number" matInput required formControlName="amount" />
|
||||
</mat-form-field>
|
||||
|
||||
</ng-container>
|
||||
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="showClientDetailsForm">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Relationship" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Relationship' | translate }}</mat-label>
|
||||
<mat-select formControlName="clientRelationshipTypeId">
|
||||
<mat-option *ngFor="let relationType of relationTypes" [value]="relationType.id">
|
||||
{{ relationType.name }}
|
||||
@@ -70,92 +65,96 @@
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.First Name" | translate}}</mat-label>
|
||||
<input matInput required formControlName="firstname">
|
||||
<mat-label>{{ 'labels.inputs.First Name' | translate }}</mat-label>
|
||||
<input matInput required formControlName="firstname" />
|
||||
<mat-error *ngIf="newGuarantorForm.controls.firstname.hasError('required')">
|
||||
{{"labels.inputs.First Name" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.First Name' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
{{ 'labels.commons.is' | translate }} <strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Last Name" | translate}}</mat-label>
|
||||
<input matInput required formControlName="lastname">
|
||||
<mat-label>{{ 'labels.inputs.Last Name' | translate }}</mat-label>
|
||||
<input matInput required formControlName="lastname" />
|
||||
<mat-error *ngIf="newGuarantorForm.controls.lastname.hasError('required')">
|
||||
{{"labels.inputs.Last Name" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Last Name' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
{{ 'labels.commons.is' | translate }} <strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="dobDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Date Of Birth" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dobDatePicker" formControlName="dob">
|
||||
<mat-label>{{ 'labels.inputs.Date Of Birth' | translate }}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dobDatePicker" formControlName="dob" />
|
||||
<mat-datepicker-toggle matSuffix [for]="dobDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #dobDatePicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Address Line" | translate}} 1</mat-label>
|
||||
<input matInput formControlName="addressLine1">
|
||||
<mat-label>{{ 'labels.inputs.Address Line' | translate }} 1</mat-label>
|
||||
<input matInput formControlName="addressLine1" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Address Line" | translate}} 2</mat-label>
|
||||
<input matInput formControlName="addressLine2">
|
||||
<mat-label>{{ 'labels.inputs.Address Line' | translate }} 2</mat-label>
|
||||
<input matInput formControlName="addressLine2" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.City" | translate}}</mat-label>
|
||||
<input matInput formControlName="city">
|
||||
<mat-label>{{ 'labels.inputs.City' | translate }}</mat-label>
|
||||
<input matInput formControlName="city" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Zip" | translate}}</mat-label>
|
||||
<input matInput formControlName="zip">
|
||||
<mat-label>{{ 'labels.inputs.Zip' | translate }}</mat-label>
|
||||
<input matInput formControlName="zip" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Mobile" | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="mobileNumber">
|
||||
<mat-label>{{ 'labels.inputs.Mobile' | translate }}</mat-label>
|
||||
<input type="number" matInput formControlName="mobileNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Residence Phone" | translate}} #</mat-label>
|
||||
<input type="number" matInput formControlName="housePhoneNumber">
|
||||
<mat-label>{{ 'labels.inputs.Residence Phone' | translate }} #</mat-label>
|
||||
<input type="number" matInput formControlName="housePhoneNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
</ng-container>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!newGuarantorForm.valid"
|
||||
*mifosxHasPermission="'CREATE_GUARANTOR'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!newGuarantorForm.valid"
|
||||
*mifosxHasPermission="'CREATE_GUARANTOR'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
<ng-container *ngIf="!(newGuarantorForm.controls.name === undefined)">
|
||||
<div class="mat-table">
|
||||
<div class="mat-header-row">
|
||||
<div class="mat-header-cell">{{"labels.inputs.Client Details" | translate}}</div>
|
||||
<div class="mat-header-cell">{{ 'labels.inputs.Client Details' | translate }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.name" | translate}}</div>
|
||||
<div class="mat-cell">{{newGuarantorForm.controls.name.value.displayName}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.name' | translate }}</div>
|
||||
<div class="mat-cell">{{ newGuarantorForm.controls.name.value.displayName }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Id" | translate}}</div>
|
||||
<div class="mat-cell">{{newGuarantorForm.controls.name.value.id}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Id' | translate }}</div>
|
||||
<div class="mat-cell">{{ newGuarantorForm.controls.name.value.id }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Office" | translate}}</div>
|
||||
<div class="mat-cell">{{newGuarantorForm.controls.name.value.officeName}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Office' | translate }}</div>
|
||||
<div class="mat-cell">{{ newGuarantorForm.controls.name.value.officeName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+30
-22
@@ -1,51 +1,59 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="disbursementForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="disbursementDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Disbursement On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="disbursementDatePicker" required
|
||||
formControlName="actualDisbursementDate">
|
||||
<mat-label>{{ 'labels.inputs.Disbursement On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="disbursementDatePicker"
|
||||
required
|
||||
formControlName="actualDisbursementDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #disbursementDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="disbursementForm.controls.actualDisbursementDate.hasError('required')">
|
||||
{{"labels.inputs.Disbursement Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Disbursement Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="disbursementForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field *ngIf="dataObject.fixedEmiAmount">
|
||||
<mat-label>{{"labels.inputs.Fixed EMI amount" | translate}}</mat-label>
|
||||
<input matInput type="number" formControlName="fixedEmiAmount">
|
||||
<mat-label>{{ 'labels.inputs.Fixed EMI amount' | translate }}</mat-label>
|
||||
<input matInput type="number" formControlName="fixedEmiAmount" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!disbursementForm.valid"
|
||||
*mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!disbursementForm.valid"
|
||||
*mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,36 +1,41 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="disbursementLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="actualDisbursementDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Disbursed On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="actualDisbursementDatePicker" required
|
||||
formControlName="actualDisbursementDate">
|
||||
<mat-label>{{ 'labels.inputs.Disbursed On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="actualDisbursementDatePicker"
|
||||
required
|
||||
formControlName="actualDisbursementDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="actualDisbursementDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #actualDisbursementDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="disbursementLoanForm.controls.actualDisbursementDate.hasError('required')">
|
||||
{{"labels.inputs.Disbursed On Date" | translate}}<strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Disbursed On Date' | translate
|
||||
}}<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="disbursementLoanForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Payment Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Payment Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="paymentTypeId">
|
||||
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
|
||||
{{ paymentType.name }}
|
||||
@@ -42,7 +47,7 @@
|
||||
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
|
||||
<mat-slide-toggle>
|
||||
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
|
||||
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate}}</span>
|
||||
<span class="m-l-10">{{ 'labels.inputs.Show Payment Details' | translate }}</span>
|
||||
</div>
|
||||
</mat-slide-toggle>
|
||||
</span>
|
||||
@@ -50,48 +55,51 @@
|
||||
|
||||
<ng-container *ngIf="showPaymentDetails">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Account" | translate}} #</mat-label>
|
||||
<input matInput formControlName="accountNumber">
|
||||
<mat-label>{{ 'labels.inputs.Account' | translate }} #</mat-label>
|
||||
<input matInput formControlName="accountNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Cheque" | translate}} #</mat-label>
|
||||
<input matInput formControlName="checkNumber">
|
||||
<mat-label>{{ 'labels.inputs.Cheque' | translate }} #</mat-label>
|
||||
<input matInput formControlName="checkNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Routing Code" | translate}}</mat-label>
|
||||
<input matInput formControlName="routingCode">
|
||||
<mat-label>{{ 'labels.inputs.Routing Code' | translate }}</mat-label>
|
||||
<input matInput formControlName="routingCode" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reciept" | translate}} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber">
|
||||
<mat-label>{{ 'labels.inputs.Reciept' | translate }} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Bank" | translate}} #</mat-label>
|
||||
<input matInput formControlName="bankNumber">
|
||||
<mat-label>{{ 'labels.inputs.Bank' | translate }} #</mat-label>
|
||||
<input matInput formControlName="bankNumber" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!disbursementLoanForm.valid"
|
||||
*mifosxHasPermission="'DISBURSE_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!disbursementLoanForm.valid"
|
||||
*mifosxHasPermission="'DISBURSE_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+17
-12
@@ -1,25 +1,30 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mifosx-repayment-schedule-tab fxFlex="100%"
|
||||
<mifosx-repayment-schedule-tab
|
||||
fxFlex="100%"
|
||||
[repaymentScheduleDetails]="repaymentScheduleDetails"
|
||||
[forEditing]="true">
|
||||
[forEditing]="true"
|
||||
>
|
||||
</mifosx-repayment-schedule-tab>
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button type="button" (click)="reset()">{{"labels.buttons.Reset" | translate}}</button>
|
||||
<button type="button" color="primary" mat-raised-button (click)="applyPattern()">{{"labels.buttons.Pattern" | translate}}</button>
|
||||
<button type="button" color="primary" mat-raised-button [disabled]="!wasChanged" (click)="validate()">{{"labels.buttons.Validate" | translate}}</button>
|
||||
<button type="button" color="primary" mat-raised-button [disabled]="!wasValidated" (click)="submit()">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button type="button" (click)="reset()">{{ 'labels.buttons.Reset' | translate }}</button>
|
||||
<button type="button" color="primary" mat-raised-button (click)="applyPattern()">
|
||||
{{ 'labels.buttons.Pattern' | translate }}
|
||||
</button>
|
||||
<button type="button" color="primary" mat-raised-button [disabled]="!wasChanged" (click)="validate()">
|
||||
{{ 'labels.buttons.Validate' | translate }}
|
||||
</button>
|
||||
<button type="button" color="primary" mat-raised-button [disabled]="!wasValidated" (click)="submit()">
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+33
-28
@@ -1,66 +1,71 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="foreclosureForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionsDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionsDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionsDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionsDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionsDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="foreclosureForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Principal" | translate}}</mat-label>
|
||||
<input matInput formControlName="outstandingPrincipalPortion">
|
||||
<mat-label>{{ 'labels.inputs.Principal' | translate }}</mat-label>
|
||||
<input matInput formControlName="outstandingPrincipalPortion" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Interest" | translate}}</mat-label>
|
||||
<input matInput formControlName="outstandingInterestPortion">
|
||||
<mat-label>{{ 'labels.inputs.Interest' | translate }}</mat-label>
|
||||
<input matInput formControlName="outstandingInterestPortion" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Fee Amount" | translate}}</mat-label>
|
||||
<input matInput formControlName="outstandingFeeChargesPortion">
|
||||
<mat-label>{{ 'labels.inputs.Fee Amount' | translate }}</mat-label>
|
||||
<input matInput formControlName="outstandingFeeChargesPortion" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Penalty Amount" | translate}}</mat-label>
|
||||
<input matInput required formControlName="outstandingPenaltyChargesPortion">
|
||||
<mat-label>{{ 'labels.inputs.Penalty Amount' | translate }}</mat-label>
|
||||
<input matInput required formControlName="outstandingPenaltyChargesPortion" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Transaction Amount" | translate}}</mat-label>
|
||||
<input matInput required formControlName="transactionAmount">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Amount' | translate }}</mat-label>
|
||||
<input matInput required formControlName="transactionAmount" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!foreclosureForm.valid"
|
||||
*mifosxHasPermission="'FORECLOSURE_LOAN'">{{"labels.buttons.Foreclosure" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!foreclosureForm.valid"
|
||||
*mifosxHasPermission="'FORECLOSURE_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Foreclosure' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,29 +1,56 @@
|
||||
<mifosx-loans-account-close [dataObject]="actionButtonData" *ngIf="actions['Close']"></mifosx-loans-account-close>
|
||||
<mifosx-undo-approval *ngIf="actions['Undo Approval']"></mifosx-undo-approval>
|
||||
<mifosx-assign-loan-officer *ngIf="actions['Assign Loan Officer']" [dataObject]="actionButtonData" ></mifosx-assign-loan-officer>
|
||||
<mifosx-assign-loan-officer
|
||||
*ngIf="actions['Assign Loan Officer']"
|
||||
[dataObject]="actionButtonData"
|
||||
></mifosx-assign-loan-officer>
|
||||
<mifosx-foreclosure [dataObject]="actionButtonData" *ngIf="actions['Foreclosure']"></mifosx-foreclosure>
|
||||
<mifosx-prepay-loan [dataObject]="actionButtonData" *ngIf="actions['Prepay Loan']"></mifosx-prepay-loan>
|
||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Make Repayment']"></mifosx-make-repayment>
|
||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Goodwill Credit']"></mifosx-make-repayment>
|
||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Interest Payment Waiver']"></mifosx-make-repayment>
|
||||
<mifosx-make-repayment
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Interest Payment Waiver']"
|
||||
></mifosx-make-repayment>
|
||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Payout Refund']"></mifosx-make-repayment>
|
||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Merchant Issued Refund']"></mifosx-make-repayment>
|
||||
<mifosx-loan-credit-balance-refund [dataObject]="actionButtonData" *ngIf="actions['Credit Balance Refund']"></mifosx-loan-credit-balance-refund>
|
||||
<mifosx-make-repayment
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Merchant Issued Refund']"
|
||||
></mifosx-make-repayment>
|
||||
<mifosx-loan-credit-balance-refund
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Credit Balance Refund']"
|
||||
></mifosx-loan-credit-balance-refund>
|
||||
<mifosx-waive-interest [dataObject]="actionButtonData" *ngIf="actions['Waive Interest']"></mifosx-waive-interest>
|
||||
<mifosx-write-off-page [dataObject]="actionButtonData" *ngIf="actions['Write Off']"></mifosx-write-off-page>
|
||||
<mifosx-close-as-rescheduled [dataObject]="actionButtonData" *ngIf="actions['Close (as Rescheduled)']"></mifosx-close-as-rescheduled>
|
||||
<mifosx-close-as-rescheduled
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Close (as Rescheduled)']"
|
||||
></mifosx-close-as-rescheduled>
|
||||
<mifosx-loan-reschedule [dataObject]="actionButtonData" *ngIf="actions['Reschedule']"></mifosx-loan-reschedule>
|
||||
<mifosx-recovery-repayment [dataObject]="actionButtonData" *ngIf="actions['Recovery Payment']"></mifosx-recovery-repayment>
|
||||
<mifosx-recovery-repayment
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Recovery Payment']"
|
||||
></mifosx-recovery-repayment>
|
||||
<mifosx-view-guarantors [dataObject]="actionButtonData" *ngIf="actions['View Guarantors']"></mifosx-view-guarantors>
|
||||
<mifosx-create-guarantor [dataObject]="actionButtonData" *ngIf="actions['Create Guarantor']"></mifosx-create-guarantor>
|
||||
<mifosx-disburse-to-savings-account [dataObject]="actionButtonData" *ngIf="actions['Disburse to Savings']"></mifosx-disburse-to-savings-account>
|
||||
<mifosx-disburse-to-savings-account
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Disburse to Savings']"
|
||||
></mifosx-disburse-to-savings-account>
|
||||
<mifosx-reject-loan *ngIf="actions['Reject']"></mifosx-reject-loan>
|
||||
<mifosx-disburse [dataObject]="actionButtonData" *ngIf="actions['Disburse']"></mifosx-disburse>
|
||||
<mifosx-withdrawn-by-client *ngIf="actions['Withdrawn by Client']"></mifosx-withdrawn-by-client>
|
||||
<mifosx-add-collateral [dataObject]="actionButtonData" *ngIf="actions['Add Collateral']"></mifosx-add-collateral>
|
||||
<mifosx-undo-disbursal *ngIf="actions['Undo Disbursal'] || actions['Undo Last Disbursal']" [actionName]="actionName"></mifosx-undo-disbursal>
|
||||
<mifosx-loan-screen-reports [dataObject]="actionButtonData" *ngIf="actions['Loan Screen Reports']"></mifosx-loan-screen-reports>
|
||||
<mifosx-approve-loan *ngIf="actions['Approve']" ></mifosx-approve-loan>
|
||||
<mifosx-undo-disbursal
|
||||
*ngIf="actions['Undo Disbursal'] || actions['Undo Last Disbursal']"
|
||||
[actionName]="actionName"
|
||||
></mifosx-undo-disbursal>
|
||||
<mifosx-loan-screen-reports
|
||||
[dataObject]="actionButtonData"
|
||||
*ngIf="actions['Loan Screen Reports']"
|
||||
></mifosx-loan-screen-reports>
|
||||
<mifosx-approve-loan *ngIf="actions['Approve']"></mifosx-approve-loan>
|
||||
<mifosx-add-loan-charge *ngIf="actions['Add Loan Charge']"></mifosx-add-loan-charge>
|
||||
<mifosx-edit-repayment-schedule *ngIf="actions['Edit Repayment Schedule']"></mifosx-edit-repayment-schedule>
|
||||
<mifosx-charge-off [dataObject]="actionButtonData" *ngIf="actions['Charge-Off']"></mifosx-charge-off>
|
||||
|
||||
+30
-22
@@ -1,51 +1,59 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="creditBalanceLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="creditBalanceLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="creditBalanceLoanForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!creditBalanceLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!creditBalanceLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+62
-57
@@ -1,65 +1,70 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
<mat-card>
|
||||
<form [formGroup]="reagingLoanForm" (ngSubmit)="submit()">
|
||||
<mat-card-content>
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Number of Installments' | translate }}</mat-label>
|
||||
<input type="number" matInput required formControlName="numberOfInstallments" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-card>
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Frequency Number' | translate }}</mat-label>
|
||||
<input type="number" matInput required formControlName="frequencyNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<form [formGroup]="reagingLoanForm" (ngSubmit)="submit()">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Frequency Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="frequencyType">
|
||||
<mat-option *ngFor="let frequencyType of frequencyOptions" [value]="frequencyType.code">
|
||||
{{ frequencyType.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-card-content>
|
||||
<mat-form-field (click)="startDatePicker.open()">
|
||||
<mat-label>{{ 'labels.inputs.Start Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="startDatePicker"
|
||||
required
|
||||
formControlName="startDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="reagingLoanForm.controls.startDate.hasError('required')">
|
||||
{{ 'labels.inputs.Start Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Reason' | translate }}</mat-label>
|
||||
<input matInput formControlName="note" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Number of Installments" | translate}}</mat-label>
|
||||
<input type="number" matInput required formControlName="numberOfInstallments">
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Frequency Number" | translate}}</mat-label>
|
||||
<input type="number" matInput required formControlName="frequencyNumber">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Frequency Type" | translate}}</mat-label>
|
||||
<mat-select formControlName="frequencyType">
|
||||
<mat-option *ngFor="let frequencyType of frequencyOptions" [value]="frequencyType.code">
|
||||
{{ frequencyType.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="startDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Start Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="startDatePicker" required
|
||||
formControlName="startDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="reagingLoanForm.controls.startDate.hasError('required')">
|
||||
{{"labels.inputs.Start Date" | translate}} {{"labels.commons.is" | translate}}
|
||||
<strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reason" | translate}}</mat-label>
|
||||
<input matInput formControlName="note">
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |
|
||||
translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!reagingLoanForm.valid"
|
||||
*mifosxHasPermission="'REAGING_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
</form>
|
||||
</mat-card>
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!reagingLoanForm.valid"
|
||||
*mifosxHasPermission="'REAGING_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
</mat-card-content>
|
||||
</form>
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
+31
-29
@@ -1,33 +1,35 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
<mat-card>
|
||||
<form [formGroup]="reamortizeLoanForm" (ngSubmit)="submit()">
|
||||
<mat-card-content>
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Reason' | translate }}</mat-label>
|
||||
<input matInput formControlName="note" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<mat-card>
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<form [formGroup]="reamortizeLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reason" | translate}}</mat-label>
|
||||
<input matInput formControlName="note">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |
|
||||
translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!reamortizeLoanForm.valid"
|
||||
*mifosxHasPermission="'REAMORTIZE_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
</form>
|
||||
</mat-card>
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!reamortizeLoanForm.valid"
|
||||
*mifosxHasPermission="'REAMORTIZE_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
</mat-card-content>
|
||||
</form>
|
||||
</mat-card>
|
||||
</div>
|
||||
|
||||
+62
-39
@@ -1,107 +1,130 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="rescheduleLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="rescheduleDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Reschedule from Installment On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [matDatepicker]="rescheduleDatePicker" required
|
||||
formControlName="rescheduleFromDate">
|
||||
<mat-label>{{ 'labels.inputs.Reschedule from Installment On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[matDatepicker]="rescheduleDatePicker"
|
||||
required
|
||||
formControlName="rescheduleFromDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="rescheduleDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #rescheduleDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleFromDate.hasError('required')">
|
||||
{{"labels.inputs.Reschedule Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Reschedule Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reason for Rescheduling" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Reason for Rescheduling' | translate }}</mat-label>
|
||||
<mat-select formControlName="rescheduleReasonId">
|
||||
<mat-option *ngFor="let rescheduleReasonCode of codes" [value]="rescheduleReasonCode.id">
|
||||
{{ rescheduleReasonCode.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleReasonId.hasError('required')">
|
||||
{{"labels.inputs.Reason for Rescheduling" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Reason for Rescheduling' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="submittedDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Submitted On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [matDatepicker]="submittedDatePicker" required
|
||||
formControlName="submittedOnDate">
|
||||
<mat-label>{{ 'labels.inputs.Submitted On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[matDatepicker]="submittedDatePicker"
|
||||
required
|
||||
formControlName="submittedOnDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="submittedDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #submittedDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="rescheduleLoanForm.controls.submittedOnDate.hasError('required')">
|
||||
{{"labels.inputs.Submitted On Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Submitted On Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Comments" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Comments' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="rescheduleReasonComment"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox [formControl]="changeRepaymentDate"> {{"labels.inputs.Change Repayment Date" | translate}} </mat-checkbox>
|
||||
<mat-checkbox [formControl]="changeRepaymentDate">
|
||||
{{ 'labels.inputs.Change Repayment Date' | translate }}
|
||||
</mat-checkbox>
|
||||
|
||||
<ng-container *ngIf="changeRepaymentDate.value">
|
||||
<mat-form-field (click)="installmentrescheduledDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Installment Rescheduled to" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [matDatepicker]="installmentrescheduledDatePicker"
|
||||
formControlName="adjustedDueDate">
|
||||
<mat-label>{{ 'labels.inputs.Installment Rescheduled to' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[matDatepicker]="installmentrescheduledDatePicker"
|
||||
formControlName="adjustedDueDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="installmentrescheduledDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #installmentrescheduledDatePicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-checkbox [formControl]="introduceGracePeriods"> {{"labels.inputs.Introduce Mid-term grace periods" | translate}} </mat-checkbox>
|
||||
<mat-checkbox [formControl]="introduceGracePeriods">
|
||||
{{ 'labels.inputs.Introduce Mid-term grace periods' | translate }}
|
||||
</mat-checkbox>
|
||||
|
||||
<ng-container *ngIf="introduceGracePeriods.value">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Principal Grace Periods" | translate}} </mat-label>
|
||||
<input matInput formControlName="graceOnPrincipal">
|
||||
<mat-label>{{ 'labels.inputs.Principal Grace Periods' | translate }} </mat-label>
|
||||
<input matInput formControlName="graceOnPrincipal" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Interest Grace Periods" | translate}} </mat-label>
|
||||
<input matInput formControlName="graceOnInterest">
|
||||
<mat-label>{{ 'labels.inputs.Interest Grace Periods' | translate }} </mat-label>
|
||||
<input matInput formControlName="graceOnInterest" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-checkbox [formControl]="extendRepaymentPeriod"> {{"labels.inputs.Extend Repayment Period" | translate}} </mat-checkbox>
|
||||
<mat-checkbox [formControl]="extendRepaymentPeriod">
|
||||
{{ 'labels.inputs.Extend Repayment Period' | translate }}
|
||||
</mat-checkbox>
|
||||
|
||||
<ng-container *ngIf="extendRepaymentPeriod.value">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Number Of new Repayments" | translate}}</mat-label>
|
||||
<input matInput formControlName="extraTerms">
|
||||
<mat-label>{{ 'labels.inputs.Number Of new Repayments' | translate }}</mat-label>
|
||||
<input matInput formControlName="extraTerms" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-checkbox [formControl]="adjustinterestrates"> {{"labels.inputs.Adjust interest rates for remainder of loan" | translate}} </mat-checkbox>
|
||||
<mat-checkbox [formControl]="adjustinterestrates">
|
||||
{{ 'labels.inputs.Adjust interest rates for remainder of loan' | translate }}
|
||||
</mat-checkbox>
|
||||
<ng-container *ngIf="adjustinterestrates.value">
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.New Interest Rate" | translate}}</mat-label>
|
||||
<input matInput formControlName="newInterestRate">
|
||||
<mat-label>{{ 'labels.inputs.New Interest Rate' | translate }}</mat-label>
|
||||
<input matInput formControlName="newInterestRate" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!rescheduleLoanForm.valid"
|
||||
*mifosxHasPermission="'APPROVE_RESCHEDULELOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!rescheduleLoanForm.valid"
|
||||
*mifosxHasPermission="'APPROVE_RESCHEDULELOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+9
-20
@@ -1,57 +1,46 @@
|
||||
<div class="container m-b-20">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="loanScreenReportForm" (ngSubmit)="generate()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div>
|
||||
|
||||
<mat-form-field fxFlex>
|
||||
<mat-label>{{"labels.inputs.Loan Screen Reports" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Loan Screen Reports' | translate }}</mat-label>
|
||||
<mat-select formControlName="templateId">
|
||||
<mat-option *ngFor="let template of templatesData" [value]="template.id">
|
||||
{{ template.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loanScreenReportForm.controls.templateId.hasError('required')">
|
||||
{{"labels.inputs.Screen Report" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Screen Report' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!loanScreenReportForm.valid">
|
||||
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{"labels.buttons.Generate Report" | translate}}
|
||||
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{ 'labels.buttons.Generate Report' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
<div #output class="container">
|
||||
|
||||
<mat-card fxLayout="column" fxLayoutGap="3%">
|
||||
|
||||
<div fxLayoutAlign="end">
|
||||
<button mat-stroked-button color="primary" [disabled]="!template" (click)="print()">
|
||||
<fa-icon icon="file" class="m-r-10"></fa-icon>
|
||||
{{"labels.buttons.Print" | translate}}
|
||||
{{ 'labels.buttons.Print' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div #screenReport class="screen-report">
|
||||
<p>{{"labels.text.Please select a screen report." | translate}}</p>
|
||||
<p>{{ 'labels.text.Please select a screen report.' | translate }}</p>
|
||||
</div>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="closedDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Closed On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Closed On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="closedDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #closedDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Closed Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Closed Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
|
||||
*mifosxHasPermission="'CLOSE_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!closeLoanForm.valid"
|
||||
*mifosxHasPermission="'CLOSE_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+46
-38
@@ -1,27 +1,29 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="repaymentLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="repaymentLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<div fxLayout="row wrap" class="content">
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Principal' | translate}}
|
||||
{{ 'Principal' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -29,7 +31,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Interest' | translate}}
|
||||
{{ 'Interest' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -37,7 +39,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Fees' | translate}}
|
||||
{{ 'Fees' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -45,7 +47,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Penalties' | translate}}
|
||||
{{ 'Penalties' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -53,18 +55,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="repaymentLoanForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Payment Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Payment Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="paymentTypeId">
|
||||
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
|
||||
{{ paymentType.name }}
|
||||
@@ -76,7 +81,7 @@
|
||||
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
|
||||
<mat-slide-toggle>
|
||||
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
|
||||
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate}}</span>
|
||||
<span class="m-l-10">{{ 'labels.inputs.Show Payment Details' | translate }}</span>
|
||||
</div>
|
||||
</mat-slide-toggle>
|
||||
</span>
|
||||
@@ -84,48 +89,51 @@
|
||||
|
||||
<ng-container *ngIf="showPaymentDetails">
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Account" | translate}} #</mat-label>
|
||||
<input matInput formControlName="accountNumber">
|
||||
<mat-label> {{ 'labels.inputs.Account' | translate }} #</mat-label>
|
||||
<input matInput formControlName="accountNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Cheque" | translate}} #</mat-label>
|
||||
<input matInput formControlName="checkNumber">
|
||||
<mat-label> {{ 'labels.inputs.Cheque' | translate }} #</mat-label>
|
||||
<input matInput formControlName="checkNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Routing Code" | translate}}</mat-label>
|
||||
<input matInput formControlName="routingCode">
|
||||
<mat-label> {{ 'labels.inputs.Routing Code' | translate }}</mat-label>
|
||||
<input matInput formControlName="routingCode" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Reciept" | translate}} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber">
|
||||
<mat-label> {{ 'labels.inputs.Reciept' | translate }} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Bank" | translate}} #</mat-label>
|
||||
<input matInput formControlName="bankNumber">
|
||||
<mat-label> {{ 'labels.inputs.Bank' | translate }} #</mat-label>
|
||||
<input matInput formControlName="bankNumber" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label> {{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!repaymentLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!repaymentLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+46
-38
@@ -1,27 +1,29 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="prepayLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="prepayLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<div fxLayout="row wrap" class="content">
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Principal' | translate}}
|
||||
{{ 'Principal' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -29,7 +31,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Interest' | translate}}
|
||||
{{ 'Interest' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -37,7 +39,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Fees' | translate}}
|
||||
{{ 'Fees' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -45,7 +47,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
{{ 'Penalties' | translate}}
|
||||
{{ 'Penalties' | translate }}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="r-amount right-label">
|
||||
@@ -53,18 +55,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="prepayLoanForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Payment Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Payment Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="paymentTypeId">
|
||||
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
|
||||
{{ paymentType.name }}
|
||||
@@ -76,7 +81,7 @@
|
||||
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
|
||||
<mat-slide-toggle>
|
||||
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
|
||||
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate}}</span>
|
||||
<span class="m-l-10">{{ 'labels.inputs.Show Payment Details' | translate }}</span>
|
||||
</div>
|
||||
</mat-slide-toggle>
|
||||
</span>
|
||||
@@ -84,48 +89,51 @@
|
||||
|
||||
<ng-container *ngIf="showPaymentDetails">
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Account" | translate}} #</mat-label>
|
||||
<input matInput formControlName="accountNumber">
|
||||
<mat-label> {{ 'labels.inputs.Account' | translate }} #</mat-label>
|
||||
<input matInput formControlName="accountNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Cheque" | translate}} #</mat-label>
|
||||
<input matInput formControlName="checkNumber">
|
||||
<mat-label>{{ 'labels.inputs.Cheque' | translate }} #</mat-label>
|
||||
<input matInput formControlName="checkNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Routing Code" | translate}}</mat-label>
|
||||
<input matInput formControlName="routingCode">
|
||||
<mat-label>{{ 'labels.inputs.Routing Code' | translate }}</mat-label>
|
||||
<input matInput formControlName="routingCode" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reciept" | translate}} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber">
|
||||
<mat-label>{{ 'labels.inputs.Reciept' | translate }} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Bank" | translate}} #</mat-label>
|
||||
<input matInput formControlName="bankNumber">
|
||||
<mat-label>{{ 'labels.inputs.Bank' | translate }} #</mat-label>
|
||||
<input matInput formControlName="bankNumber" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!prepayLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!prepayLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+42
-34
@@ -1,36 +1,41 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="recoveryRepaymentLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="transactionDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Transaction Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="transactionDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="recoveryRepaymentLoanForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="recoveryRepaymentLoanForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
|
||||
<input matInput formControlName="externalId">
|
||||
<mat-label>{{ 'labels.inputs.External Id' | translate }}</mat-label>
|
||||
<input matInput formControlName="externalId" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Payment Type" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Payment Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="paymentTypeId">
|
||||
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
|
||||
{{ paymentType.name }}
|
||||
@@ -42,7 +47,7 @@
|
||||
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
|
||||
<mat-slide-toggle>
|
||||
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
|
||||
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate}}</span>
|
||||
<span class="m-l-10">{{ 'labels.inputs.Show Payment Details' | translate }}</span>
|
||||
</div>
|
||||
</mat-slide-toggle>
|
||||
</span>
|
||||
@@ -50,48 +55,51 @@
|
||||
|
||||
<ng-container *ngIf="showPaymentDetails">
|
||||
<mat-form-field>
|
||||
<mat-label> {{"labels.inputs.Account" | translate}} #</mat-label>
|
||||
<input matInput formControlName="accountNumber">
|
||||
<mat-label> {{ 'labels.inputs.Account' | translate }} #</mat-label>
|
||||
<input matInput formControlName="accountNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Cheque" | translate}} #</mat-label>
|
||||
<input matInput formControlName="checkNumber">
|
||||
<mat-label>{{ 'labels.inputs.Cheque' | translate }} #</mat-label>
|
||||
<input matInput formControlName="checkNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Routing Code" | translate}}</mat-label>
|
||||
<input matInput formControlName="routingCode">
|
||||
<mat-label>{{ 'labels.inputs.Routing Code' | translate }}</mat-label>
|
||||
<input matInput formControlName="routingCode" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Reciept" | translate}} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber">
|
||||
<mat-label>{{ 'labels.inputs.Reciept' | translate }} #</mat-label>
|
||||
<input matInput formControlName="receiptNumber" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Bank" | translate}} #</mat-label>
|
||||
<input matInput formControlName="bankNumber">
|
||||
<mat-label>{{ 'labels.inputs.Bank' | translate }} #</mat-label>
|
||||
<input matInput formControlName="bankNumber" />
|
||||
</mat-form-field>
|
||||
</ng-container>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!recoveryRepaymentLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!recoveryRepaymentLoanForm.valid"
|
||||
*mifosxHasPermission="'REPAYMENT_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="rejectLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="rejectedDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Rejected On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectedDatePicker" required
|
||||
formControlName="rejectedOnDate">
|
||||
<mat-label>{{ 'labels.inputs.Rejected On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="rejectedDatePicker"
|
||||
required
|
||||
formControlName="rejectedOnDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="rejectedDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #rejectedDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="rejectLoanForm.controls.rejectedOnDate.hasError('required')">
|
||||
{{"labels.inputs.Rejected Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Rejected Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!rejectLoanForm.valid"
|
||||
*mifosxHasPermission="'REJECT_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!rejectLoanForm.valid"
|
||||
*mifosxHasPermission="'REJECT_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+7
-12
@@ -1,26 +1,21 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field fxFlex>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput [formControl]="note"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()"
|
||||
*mifosxHasPermission="'APPROVALUNDO_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'APPROVALUNDO_LOAN'">
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+7
-12
@@ -1,26 +1,21 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field fxFlex>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput required [formControl]="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()"
|
||||
*mifosxHasPermission="'DISBURSALUNDO_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'DISBURSALUNDO_LOAN'">
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+73
-59
@@ -1,32 +1,36 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<div class="view-guarantors-account-tables" fxLayout="row" fxLayoutGap="2%">
|
||||
|
||||
<div fxFlex="49%">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Disbursement Date" | translate}}</td>
|
||||
<td>{{dataObject.timeline.actualDisbursementDate}}<span
|
||||
*ngIf="!dataObject.timeline.actualDisbursementDate">{{"labels.inputs.Not Available" | translate}}</span></td>
|
||||
<td>{{ 'labels.inputs.Disbursement Date' | translate }}</td>
|
||||
<td>
|
||||
{{ dataObject.timeline.actualDisbursementDate
|
||||
}}<span *ngIf="!dataObject.timeline.actualDisbursementDate">{{
|
||||
'labels.inputs.Not Available' | translate
|
||||
}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Currency" | translate}}</td>
|
||||
<td>{{dataObject.currency.name}}</td>
|
||||
<td>{{ 'labels.inputs.Currency' | translate }}</td>
|
||||
<td>{{ dataObject.currency.name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Loan Officer" | translate}}</td>
|
||||
<td>{{dataObject.loanOfficerName}} <span *ngIf="!dataObject.loanOfficerName">{{"labels.inputs.Unassigned" | translate}}</span>
|
||||
<td>{{ 'labels.inputs.Loan Officer' | translate }}</td>
|
||||
<td>
|
||||
{{ dataObject.loanOfficerName }}
|
||||
<span *ngIf="!dataObject.loanOfficerName">{{ 'labels.inputs.Unassigned' | translate }}</span>
|
||||
<span *ngIf="dataObject.loanOfficerName">
|
||||
<fa-icon icon="times"></fa-icon>
|
||||
</span></td>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.External Id" | translate}}</td>
|
||||
<td>{{ 'labels.inputs.External Id' | translate }}</td>
|
||||
<td>
|
||||
<mifosx-external-identifier externalId="{{dataObject.externalId}}"></mifosx-external-identifier>
|
||||
<mifosx-external-identifier externalId="{{ dataObject.externalId }}"></mifosx-external-identifier>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -37,27 +41,29 @@
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Loan Purpose" | translate}}</td>
|
||||
<td>{{ 'labels.inputs.Loan Purpose' | translate }}</td>
|
||||
<td>
|
||||
{{dataObject.loanPurposeName}} <span *ngIf="!dataObject.loanPurposeName"> {{"labels.inputs.Not Provided" | translate}} </span>
|
||||
{{ dataObject.loanPurposeName }}
|
||||
<span *ngIf="!dataObject.loanPurposeName"> {{ 'labels.inputs.Not Provided' | translate }} </span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Approved Amount" | translate}}</td>
|
||||
<td>{{ 'labels.inputs.Approved Amount' | translate }}</td>
|
||||
<td>
|
||||
<span>{{dataObject.approvedPrincipal | formatNumber}}</span>
|
||||
<span>{{ dataObject.approvedPrincipal | formatNumber }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Disburse Amount" | translate}}</td>
|
||||
<td>{{ 'labels.inputs.Disburse Amount' | translate }}</td>
|
||||
<td>
|
||||
<span>{{dataObject.principal | formatNumber}}</span>
|
||||
<span>{{ dataObject.principal | formatNumber }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{"labels.inputs.Arrears By" | translate}}</td>
|
||||
<td>{{dataObject.summary.totalOverdue | formatNumber}}
|
||||
<span *ngIf="dataObject.summary.totalOverdue < 0">{{"labels.inputs.Not Provided" | translate}}</span>
|
||||
<td>{{ 'labels.inputs.Arrears By' | translate }}</td>
|
||||
<td>
|
||||
{{ dataObject.summary.totalOverdue | formatNumber }}
|
||||
<span *ngIf="dataObject.summary.totalOverdue < 0">{{ 'labels.inputs.Not Provided' | translate }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -66,107 +72,118 @@
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="guarantorDetails" fxLayout="row wrap" fxLayout.lt-md="column">
|
||||
|
||||
<!-- guarantors details table -->
|
||||
<div class="heading-content">
|
||||
<div fxLayout="column" fxFlex="50%">
|
||||
<div class="heading-name">
|
||||
<h3>{{"labels.heading.Guarantors Details" | translate}}</h3>
|
||||
<h3>{{ 'labels.heading.Guarantors Details' | translate }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div fxLayout="column" fxFlex="50%">
|
||||
<div fxLayout="row" fxLayoutAlign="flex-end">
|
||||
<button mat-raised-button class="f-right" color="primary"
|
||||
(click)="toggleGuarantorsDetailsOverview()">{{showDeletedGuarantorsAccounts?'Hide Deleted Guarantors':'Show Deleted Guarantors'}}</button>
|
||||
<button mat-raised-button class="f-right" color="primary" (click)="toggleGuarantorsDetailsOverview()">
|
||||
{{ showDeletedGuarantorsAccounts ? 'Hide Deleted Guarantors' : 'Show Deleted Guarantors' }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table fxFlexFill mat-table
|
||||
[dataSource]="guarantorDetails|accountsFilter:'guarantor':showDeletedGuarantorsAccounts">
|
||||
<table
|
||||
fxFlexFill
|
||||
mat-table
|
||||
[dataSource]="guarantorDetails | accountsFilter: 'guarantor' : showDeletedGuarantorsAccounts"
|
||||
>
|
||||
<ng-container matColumnDef="fullname">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.name' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
{{guarantor.firstname}} {{guarantor.lastname}}
|
||||
{{ guarantor.firstname }} {{ guarantor.lastname }}
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="relationship">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Relationship" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Relationship' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
{{guarantor.clientRelationshipType.name}}
|
||||
{{ guarantor.clientRelationshipType.name }}
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="guarantortype">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Guarantor Type" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Guarantor Type' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
{{guarantor.guarantorType.value}}
|
||||
{{ guarantor.guarantorType.value }}
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="depositAccount">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Deposit Account" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Deposit Account' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
|
||||
</span>
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails"> </span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="amount">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
|
||||
</span>
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails"> </span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="remainingAmount">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Remaining Amount" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Remaining Amount' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
|
||||
</span>
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails"> </span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="status">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
<span *ngIf="guarantor.status">
|
||||
{{"labels.inputs.Active" | translate}}
|
||||
{{ 'labels.inputs.Active' | translate }}
|
||||
</span>
|
||||
<span *ngIf="!guarantor.status">
|
||||
{{"labels.inputs.Deleted" | translate}}
|
||||
{{ 'labels.inputs.Deleted' | translate }}
|
||||
</span>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="action">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Action" | translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Action' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let guarantor; let id = index">
|
||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||
<button mat-raised-button class="account-action-button" color="primary"
|
||||
*mifosxHasPermission="'READ_SAVINGSACCOUNT'" (click)="viewGuarantorDetails(guarantor)">
|
||||
<button
|
||||
mat-raised-button
|
||||
class="account-action-button"
|
||||
color="primary"
|
||||
*mifosxHasPermission="'READ_SAVINGSACCOUNT'"
|
||||
(click)="viewGuarantorDetails(guarantor)"
|
||||
>
|
||||
<fa-icon icon="eye" class="m-r-10"></fa-icon>
|
||||
</button>
|
||||
<button mat-raised-button class="account-action-button" color="primary"
|
||||
*ngIf="guarantor.status && guarantor.guarantorType.id === 3 && guarantor.id">
|
||||
<button
|
||||
mat-raised-button
|
||||
class="account-action-button"
|
||||
color="primary"
|
||||
*ngIf="guarantor.status && guarantor.guarantorType.id === 3 && guarantor.id"
|
||||
>
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
</button>
|
||||
<span *ngIf="guarantor.status">
|
||||
<button mat-raised-button class="account-action-button" color="warn"
|
||||
*mifosxHasPermission="'DELETE_GUARANTOR'" (click)="deleteGuarantor(guarantor.id)">
|
||||
<button
|
||||
mat-raised-button
|
||||
class="account-action-button"
|
||||
color="warn"
|
||||
*mifosxHasPermission="'DELETE_GUARANTOR'"
|
||||
(click)="deleteGuarantor(guarantor.id)"
|
||||
>
|
||||
<fa-icon icon="trash" class="m-r-10"></fa-icon>
|
||||
</button>
|
||||
</span>
|
||||
@@ -176,10 +193,7 @@
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="guarantorsDisplayedColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: guarantorsDisplayedColumns"></tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+28
-20
@@ -1,46 +1,54 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="loanInterestForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="interestDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Interest waived on" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Interest waived on' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="interestDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="interestDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #interestDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="loanInterestForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Interest Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Interest Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mifosx-input-amount [currency]="currency" [isRequired]="true"
|
||||
<mifosx-input-amount
|
||||
[currency]="currency"
|
||||
[isRequired]="true"
|
||||
[inputFormControl]="loanInterestForm.controls.transactionAmount"
|
||||
[inputLabel]="'Transaction Amount'">
|
||||
[inputLabel]="'Transaction Amount'"
|
||||
>
|
||||
</mifosx-input-amount>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!loanInterestForm.valid"
|
||||
*mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!loanInterestForm.valid"
|
||||
*mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="withdrawnByClientLoanForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="withdrawnOnDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Withdrawn On" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="withdrawnOnDatePicker" required
|
||||
formControlName="withdrawnOnDate">
|
||||
<mat-label>{{ 'labels.inputs.Withdrawn On' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="withdrawnOnDatePicker"
|
||||
required
|
||||
formControlName="withdrawnOnDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="withdrawnOnDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #withdrawnOnDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="withdrawnByClientLoanForm.controls.withdrawnOnDate.hasError('required')">
|
||||
{{"labels.inputs.Withdrawn On Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Withdrawn On Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!withdrawnByClientLoanForm.valid"
|
||||
*mifosxHasPermission="'WITHDRAW_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!withdrawnByClientLoanForm.valid"
|
||||
*mifosxHasPermission="'WITHDRAW_LOAN'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+20
-20
@@ -1,46 +1,46 @@
|
||||
<div class="container mat-elevation-z8">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<form [formGroup]="writeOffForm">
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="writeOffDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Write off on" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="writeOffDatePicker" required
|
||||
formControlName="transactionDate">
|
||||
<mat-label>{{ 'labels.inputs.Write off on' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="writeOffDatePicker"
|
||||
required
|
||||
formControlName="transactionDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="writeOffDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #writeOffDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="writeOffForm.controls.transactionDate.hasError('required')">
|
||||
{{"labels.inputs.Write Off Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
{{ 'labels.inputs.Write Off Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
|
||||
<input matInput formControlName="amount">
|
||||
<mat-label>{{ 'labels.inputs.Amount' | translate }}</mat-label>
|
||||
<input matInput formControlName="amount" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()"
|
||||
*mifosxHasPermission="'WRITEOFF_LOAN'">{{"labels.buttons.Submit" | translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../general']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'WRITEOFF_LOAN'">
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user