DDS: approvals tab, vouchers, payout & close, Sundry GL search, closure tab, fixes
This commit is contained in:
@@ -20,11 +20,67 @@
|
||||
<span class="po-summary__label">Matured on</span>
|
||||
<span class="po-summary__value">{{ data.maturityDate | dateFormat }}</span>
|
||||
</div>
|
||||
<div class="po-summary__row po-summary__row--amount">
|
||||
<span class="po-summary__label">Amount payable</span>
|
||||
<span class="po-summary__value">{{ data.currentBalance | number: '1.2-2' }}</span>
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">Opened on</span>
|
||||
<span class="po-summary__value">{{ data.openingDate | dateFormat }}</span>
|
||||
</div>
|
||||
|
||||
@if (breakdown) {
|
||||
<div class="po-breakdown">
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">Deposits collected</span>
|
||||
<span class="po-summary__value">{{ breakdown.deposits | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
@if (breakdown.transfersIn > 0) {
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">Transferred in</span>
|
||||
<span class="po-summary__value">+ {{ breakdown.transfersIn | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
}
|
||||
@if (breakdown.transfersOut > 0) {
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">Transferred out</span>
|
||||
<span class="po-summary__value">− {{ breakdown.transfersOut | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
}
|
||||
@if (breakdown.other !== 0) {
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">Other (opening balance / adjustments)</span>
|
||||
<span class="po-summary__value">{{ breakdown.other | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
}
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label">
|
||||
Interest @ {{ data.interestRate | number: '1.2-2' }}%
|
||||
<span class="po-summary__note"
|
||||
>{{ data.openingDate | dateFormat }} to {{ data.interestDate | dateFormat }}</span
|
||||
>
|
||||
</span>
|
||||
<span class="po-summary__value">+ {{ breakdown.interest | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
@if (breakdown.interestToPost > 0) {
|
||||
<div class="po-summary__row">
|
||||
<span class="po-summary__label"> Interest calculated, posted with this payout </span>
|
||||
<span class="po-summary__value">+ {{ breakdown.interestToPost | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="po-summary__row po-summary__row--amount">
|
||||
<span class="po-summary__label">Total payable</span>
|
||||
<span class="po-summary__value">{{ (breakdown ? breakdown.total : data.currentBalance) | number: '1.2-2' }}</span>
|
||||
</div>
|
||||
@if (interestStillToCome) {
|
||||
<p class="po-summary__note">
|
||||
Interest from {{ data.interestDate | dateFormat }} to {{ data.maturityDate | dateFormat }} is not worked out yet
|
||||
- it is added when this is paid out, so the amount paid will be a little more.
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
<p class="po-summary__note">
|
||||
Paying out closes {{ data.partyCode }} - the balance is nil afterwards and it takes nothing more.
|
||||
</p>
|
||||
|
||||
@if (loading) {
|
||||
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
|
||||
@@ -46,28 +102,57 @@
|
||||
<mat-label>Account</mat-label>
|
||||
<mat-select [(ngModel)]="selectedAccountNo" panelWidth="min(28rem, 90vw)">
|
||||
@for (account of ownAccounts; track account.id) {
|
||||
<mat-option [value]="account.accountNo">
|
||||
{{ account.accountNo }} · {{ account.productName }}
|
||||
</mat-option>
|
||||
<mat-option [value]="account.accountNo"> {{ account.accountNo }} · {{ account.productName }} </mat-option>
|
||||
}
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
}
|
||||
|
||||
<mat-radio-button value="other" class="po-choice">
|
||||
<span class="po-choice__title">To an account at another bank</span>
|
||||
<span class="po-choice__note">
|
||||
Held in Matured Deposits Payable, then sent by NEFT or IMPS from Fund Transfers
|
||||
</span>
|
||||
<span class="po-choice__title">Park in Sundry</span>
|
||||
<span class="po-choice__note"
|
||||
>When the customer has no account here - held in the bank's Sundry account in their name</span
|
||||
>
|
||||
</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
|
||||
@if (destination === 'other') {
|
||||
<mat-form-field appearance="outline" class="po-account">
|
||||
<mat-label>Park in GL account</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[ngModel]="sundrySearch"
|
||||
(ngModelChange)="onSundryTyped($event)"
|
||||
[matAutocomplete]="sundryAuto"
|
||||
placeholder="Type GL code or name…"
|
||||
autocomplete="off"
|
||||
/>
|
||||
<mat-autocomplete
|
||||
#sundryAuto="matAutocomplete"
|
||||
panelWidth="min(28rem, 90vw)"
|
||||
[displayWith]="sundryDisplay"
|
||||
(optionSelected)="pickSundry($event.option.value)"
|
||||
>
|
||||
@for (account of sundryOptions; track account.id) {
|
||||
<mat-option [value]="account">{{ account.glCode }} · {{ account.name }}</mat-option>
|
||||
}
|
||||
@if (sundryOptions.length === 0) {
|
||||
<mat-option disabled>No liability GL matches</mat-option>
|
||||
}
|
||||
</mat-autocomplete>
|
||||
@if (!sundryGlAccountId) {
|
||||
<mat-hint class="po-hint-warn">Search and pick your bank's Sundry GL account</mat-hint>
|
||||
} @else {
|
||||
<mat-hint>The balance is held here in the customer's name until it is paid to them</mat-hint>
|
||||
}
|
||||
</mat-form-field>
|
||||
}
|
||||
|
||||
@if (destination === 'other') {
|
||||
<!-- Said plainly, because the officer will be asked by the customer when the money arrives. -->
|
||||
<div class="po-callout">
|
||||
The money comes off {{ data.partyCode }} today and sits in the bank's Matured Deposits Payable
|
||||
account until the transfer is made from Fund Transfers — so it is accounted for the whole
|
||||
time, and a failed transfer loses nothing.
|
||||
The money comes off {{ data.partyCode }} today and is held in the Sundry account chosen above against
|
||||
{{ data.partyName }} until it is paid to them - so it is accounted for the whole time and nothing is lost.
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@@ -75,5 +160,5 @@
|
||||
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-stroked-button mat-dialog-close>Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!canPayOut" (click)="payOut()">Pay out</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!canPayOut" (click)="payOut()">Pay out & Close</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
Reference in New Issue
Block a user