558 lines
24 KiB
HTML
558 lines
24 KiB
HTML
<!--
|
||
Copyright since 2025 Mifos Initiative
|
||
|
||
This Source Code Form is subject to the terms of the Mozilla Public
|
||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||
-->
|
||
|
||
<div class="dav-page">
|
||
@if (isLoading) {
|
||
<div class="dav-card dav-state">
|
||
<mat-spinner diameter="32"></mat-spinner>
|
||
<span>Loading account…</span>
|
||
</div>
|
||
} @else if (!account) {
|
||
<div class="dav-card dav-state">
|
||
<fa-icon icon="inbox" size="2x"></fa-icon>
|
||
<span>DDS account not found</span>
|
||
<button class="dav-btn" (click)="back()"><fa-icon icon="arrow-left"></fa-icon> DDS Accounts</button>
|
||
</div>
|
||
} @else {
|
||
<!-- Banner, as the savings account page opens -->
|
||
<div class="dav-banner">
|
||
<div class="dav-banner__icon"><fa-icon icon="coins"></fa-icon></div>
|
||
<div class="dav-banner__text">
|
||
<span class="dav-pill" [ngClass]="'dav-pill--' + (account.status || '').toLowerCase()"
|
||
>● {{ account.status }}</span
|
||
>
|
||
<h2 class="dav-banner__title">{{ account.subType }}</h2>
|
||
<div class="dav-banner__meta">
|
||
<span class="dav-banner__label">Account Number</span>
|
||
<span class="dav-banner__value dav-mono">{{ account.accountNo }}</span>
|
||
<span class="dav-banner__label">Client Name</span>
|
||
<span class="dav-banner__value">{{ account.clientName || account.partyName }}</span>
|
||
</div>
|
||
</div>
|
||
<div class="dav-banner__boxes">
|
||
<div class="dav-box">
|
||
<span class="dav-box__label">Current Balance</span>
|
||
<span class="dav-box__value">₹{{ account.currentBalance || 0 | formatNumber }}</span>
|
||
</div>
|
||
<div class="dav-box">
|
||
<span class="dav-box__label">Maturity Amount</span>
|
||
<span class="dav-box__value">₹{{ account.maturityAmount || 0 | formatNumber }}</span>
|
||
</div>
|
||
</div>
|
||
<div class="dav-banner__actions">
|
||
<button class="dav-icon-btn" (click)="back()" matTooltip="Back to DDS Accounts">
|
||
<fa-icon icon="arrow-left"></fa-icon>
|
||
</button>
|
||
<button class="dav-icon-btn" (click)="openInPartyMaster()" matTooltip="Open in DDS Party Master">
|
||
<fa-icon icon="pen"></fa-icon>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Tabs -->
|
||
<div class="dav-tabs">
|
||
<button class="dav-tab" [class.dav-tab--on]="tab === 'general'" (click)="tab = 'general'">
|
||
<fa-icon icon="info-circle"></fa-icon> General
|
||
</button>
|
||
<button class="dav-tab" [class.dav-tab--on]="tab === 'transactions'" (click)="tab = 'transactions'">
|
||
<fa-icon icon="exchange-alt"></fa-icon> Transactions
|
||
</button>
|
||
<button class="dav-tab" [class.dav-tab--on]="tab === 'passbook'" (click)="tab = 'passbook'">
|
||
<fa-icon icon="book"></fa-icon> Passbook
|
||
</button>
|
||
<button class="dav-tab" [class.dav-tab--on]="tab === 'nominees'" (click)="tab = 'nominees'">
|
||
<fa-icon icon="user"></fa-icon> Nominees
|
||
</button>
|
||
@if (account.status === 'CLOSED') {
|
||
<button class="dav-tab" [class.dav-tab--on]="tab === 'closure'" (click)="tab = 'closure'">
|
||
<fa-icon icon="lock"></fa-icon> Closure
|
||
</button>
|
||
}
|
||
</div>
|
||
|
||
<!-- Closure: how a closed account was closed and where its money went -->
|
||
@if (tab === 'closure') {
|
||
@if (!closure) {
|
||
<div class="dav-card">
|
||
<div class="dav-row"><span>Loading closure details…</span></div>
|
||
</div>
|
||
} @else {
|
||
<div class="dav-columns">
|
||
<div class="dav-column">
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> How It Closed</div>
|
||
<div class="dav-row">
|
||
<span>Type</span>
|
||
<strong>
|
||
{{ closureLabels[closure.closureType] || closure.closureType }}
|
||
@if (closure.withinLockin) {
|
||
<em class="dav-closure-tag">within lock-in</em>
|
||
}
|
||
</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Closed On</span><strong>{{ closure.closeDate | date: 'dd MMMM yyyy' }}</strong>
|
||
</div>
|
||
@if (closure.paidOutBy) {
|
||
<div class="dav-row">
|
||
<span>Paid Out By</span><strong>{{ closure.paidOutBy }}</strong>
|
||
</div>
|
||
}
|
||
<div class="dav-row">
|
||
<span>Closed By</span><strong>{{ closure.closedBy || '—' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Approved By</span><strong>{{ closure.approvedBy || '—' }}</strong>
|
||
</div>
|
||
@if (closure.lockinOverrideReason) {
|
||
<div class="dav-row">
|
||
<span>Reason</span><strong>{{ closure.lockinOverrideReason }}</strong>
|
||
</div>
|
||
}
|
||
@if (closure.shortfallBorneBy) {
|
||
<div class="dav-row">
|
||
<span>Cost Borne By</span>
|
||
<strong>{{
|
||
closure.shortfallBorneBy === 'AGENT' ? 'Agent — ' + closure.agentCode : 'Customer'
|
||
}}</strong>
|
||
</div>
|
||
}
|
||
</div>
|
||
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> The Money</div>
|
||
<div class="dav-row">
|
||
<span>Balance at Close</span><strong>₹{{ closure.balanceAtClose || 0 | formatNumber }}</strong>
|
||
</div>
|
||
@if (closure.interestRecovered > 0) {
|
||
<div class="dav-row">
|
||
<span>Interest Recovered</span
|
||
><strong class="dav-dr">− ₹{{ closure.interestRecovered | formatNumber }}</strong>
|
||
</div>
|
||
}
|
||
@if (closure.interestToppedUpByAgent > 0) {
|
||
<div class="dav-row">
|
||
<span>Interest Funded by Agent</span
|
||
><strong class="dav-cr">+ ₹{{ closure.interestToppedUpByAgent | formatNumber }}</strong>
|
||
</div>
|
||
}
|
||
<div class="dav-row dav-closure-total">
|
||
<span>Paid Out</span><strong>₹{{ closure.paidOut || 0 | formatNumber }}</strong>
|
||
</div>
|
||
@if (closure.closureType === 'PREMATURE') {
|
||
<div class="dav-row">
|
||
<span>Agent Penalty ({{ closure.agentCode }})</span
|
||
><strong>₹{{ closure.agentCommissionPenalty || 0 | formatNumber }}</strong>
|
||
</div>
|
||
}
|
||
</div>
|
||
</div>
|
||
|
||
<div class="dav-column">
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> Where It Went</div>
|
||
@if (closure.destination === 'OWN_ACCOUNT') {
|
||
<div class="dav-row"><span>Paid Into</span><strong>Customer's own account</strong></div>
|
||
<div class="dav-row">
|
||
<span>Account</span><strong class="dav-mono">{{ closure.creditedAccount?.accountNo }}</strong>
|
||
</div>
|
||
@if (closure.creditedAccount?.productName) {
|
||
<div class="dav-row">
|
||
<span>Product</span><strong>{{ closure.creditedAccount.productName }}</strong>
|
||
</div>
|
||
}
|
||
@if (closure.creditedAccount?.owner) {
|
||
<div class="dav-row">
|
||
<span>Holder</span><strong>{{ closure.creditedAccount.owner }}</strong>
|
||
</div>
|
||
}
|
||
} @else if (closure.destination === 'SUNDRY') {
|
||
<div class="dav-row"><span>Parked In</span><strong>Sundry (customer has no account here)</strong></div>
|
||
<div class="dav-row">
|
||
<span>GL Account</span
|
||
><strong class="dav-mono">{{ closure.sundryGl?.glCode }} · {{ closure.sundryGl?.glName }}</strong>
|
||
</div>
|
||
} @else {
|
||
<div class="dav-row"><span>Paid Out</span><strong>Nothing - the balance was nil</strong></div>
|
||
}
|
||
@if (closure.voucherNo) {
|
||
<div class="dav-row">
|
||
<span>Voucher</span><strong class="dav-mono">{{ closure.voucherNo }}</strong>
|
||
</div>
|
||
}
|
||
@if (closure.payoutDate) {
|
||
<div class="dav-row">
|
||
<span>Paid On</span><strong>{{ closure.payoutDate | date: 'dd MMMM yyyy' }}</strong>
|
||
</div>
|
||
}
|
||
@if (closure.passbookNote) {
|
||
<div class="dav-row">
|
||
<span>Passbook Note</span><strong>{{ closure.passbookNote }}</strong>
|
||
</div>
|
||
}
|
||
</div>
|
||
|
||
@if (closure.ledgerEntries?.length) {
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> Ledger Entry</div>
|
||
<div class="dav-row">
|
||
<span>Transaction ID</span><strong class="dav-mono">{{ closure.ledgerTransactionId }}</strong>
|
||
</div>
|
||
@for (leg of closure.ledgerEntries; track $index) {
|
||
<div class="dav-row">
|
||
<span>{{ leg.glCode }} · {{ leg.glName }}</span>
|
||
<strong [class.dav-dr]="leg.side === 'DR'" [class.dav-cr]="leg.side === 'CR'">
|
||
{{ leg.side }} ₹{{ leg.amount | formatNumber }}
|
||
</strong>
|
||
</div>
|
||
}
|
||
</div>
|
||
}
|
||
</div>
|
||
</div>
|
||
}
|
||
}
|
||
|
||
<!-- General -->
|
||
@if (tab === 'general') {
|
||
<div class="dav-columns">
|
||
<div class="dav-column">
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> DDS Details</div>
|
||
<div class="dav-row">
|
||
<span>Account Number</span><strong class="dav-mono">{{ account.accountNo }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Party Code</span><strong>{{ account.partyCode }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Client Name</span><strong>{{ account.clientName }} ({{ account.clientId }})</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Agent</span><strong>{{ account.agentCode }} · {{ account.agentName }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Branch</span><strong>{{ account.officeName }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Product</span><strong>{{ account.subType }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Opened On</span><strong>{{ account.openingDate | date: 'dd MMMM yyyy' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Matures On</span><strong>{{ account.maturityDate | date: 'dd MMMM yyyy' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Daily Deposit</span><strong>₹{{ account.dailyDepositAmount || 0 | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Term</span><strong>{{ account.month }} months · {{ account.days }} days</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Interest Rate</span><strong>{{ account.interestRate }} %</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Currency</span><strong>Indian Rupee <em class="dav-mono">[INR]</em></strong>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> Performance History</div>
|
||
<div class="dav-row">
|
||
<span>Total Collected</span><strong class="dav-cr">₹{{ totalOf('PARTY_TRAN') | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Total Interest Earned</span><strong>₹{{ interestEarned | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Total Paid Out</span><strong class="dav-dr">₹{{ totalDebitsAll | formatNumber }}</strong>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="dav-column">
|
||
<div class="dav-card">
|
||
<div class="dav-card__head"><span class="dav-card__dot"></span> Account Summary</div>
|
||
<div class="dav-row">
|
||
<span>Collected to Date</span><strong>₹{{ account.collectedToDate || 0 | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Expected to Date</span><strong>₹{{ account.expectedToDate || 0 | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Standing</span>
|
||
<strong>
|
||
@if (account.advanceDays > 0) {
|
||
{{ account.advanceDays }} days ahead
|
||
} @else if (account.arrearsDays > 0) {
|
||
<span class="dav-dr">{{ account.arrearsDays }} days behind</span>
|
||
} @else {
|
||
Up to date
|
||
}
|
||
</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Instalments Due</span><strong>{{ account.instalmentsDue ?? 0 }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Interest Earned</span><strong>₹{{ interestEarned | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Interest Calculated, Not Posted</span
|
||
><strong>₹{{ account.interestCalc || 0 | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row"><span>Interest Calculated Using</span><strong>Daily Balance</strong></div>
|
||
<div class="dav-row"><span>Days in Year</span><strong>365 Days</strong></div>
|
||
<div class="dav-row">
|
||
<span>Last Interest Date</span
|
||
><strong>{{ account.interestDate ? (account.interestDate | date: 'dd MMMM yyyy') : '—' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Last Transaction Date</span
|
||
><strong>{{ lastTransactionDate ? (lastTransactionDate | date: 'dd MMMM yyyy') : '—' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Maturity Amount</span><strong>₹{{ account.maturityAmount || 0 | formatNumber }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Lien</span>
|
||
<strong>{{ account.lien ? 'Yes — ₹' + (account.amountHeldUnderLien || 0) : 'No' }}</strong>
|
||
</div>
|
||
<div class="dav-row">
|
||
<span>Freeze</span><strong>{{ account.freezeCode || 'Normal' }}</strong>
|
||
</div>
|
||
@if (account.closeDate) {
|
||
<div class="dav-row">
|
||
<span>Closed On</span><strong>{{ account.closeDate | date: 'dd MMMM yyyy' }}</strong>
|
||
</div>
|
||
}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
}
|
||
|
||
<!-- Transactions -->
|
||
@if (tab === 'transactions') {
|
||
<div class="dav-card">
|
||
<div class="dav-toolbar">
|
||
<div class="dav-datepick">
|
||
<span>From</span>
|
||
<input type="date" [formControl]="fromDateControl" [max]="today" />
|
||
</div>
|
||
<div class="dav-datepick">
|
||
<span>To</span>
|
||
<input type="date" [formControl]="toDateControl" [max]="today" />
|
||
</div>
|
||
<button class="dav-btn" (click)="showToday()"><fa-icon icon="clock"></fa-icon> Today</button>
|
||
@if (hasDateFilters) {
|
||
<button class="dav-btn" (click)="clearDateFilters()"><fa-icon icon="times"></fa-icon> Clear</button>
|
||
}
|
||
<div class="dav-totals">
|
||
<span class="dav-cr">Credits ₹{{ totalCredits | formatNumber }}</span>
|
||
<span class="dav-dr">Debits ₹{{ totalDebits | formatNumber }}</span>
|
||
</div>
|
||
<button class="dav-btn dav-btn--primary" (click)="exportCsv()" [disabled]="shownTransactions.length === 0">
|
||
Export
|
||
</button>
|
||
</div>
|
||
|
||
@if (shownTransactions.length === 0) {
|
||
<div class="dav-state">
|
||
<fa-icon icon="inbox" size="2x"></fa-icon>
|
||
<span>{{
|
||
hasDateFilters
|
||
? 'Nothing moved on this account in these dates'
|
||
: 'Nothing has been credited to this account yet'
|
||
}}</span>
|
||
</div>
|
||
} @else {
|
||
<div class="dav-table-wrap">
|
||
<table class="dav-table">
|
||
<thead>
|
||
<tr>
|
||
<th>#</th>
|
||
<th>ID</th>
|
||
<th>Transaction Date</th>
|
||
<th>Transaction Type</th>
|
||
<th>Voucher</th>
|
||
<th>Description</th>
|
||
<th class="dav-right">Debit</th>
|
||
<th class="dav-right">Credit</th>
|
||
<th class="dav-right">Balance</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@for (txn of shownTransactions; track txn.id; let i = $index) {
|
||
<tr>
|
||
<td>{{ i + 1 }}</td>
|
||
<td>{{ txn.id }}</td>
|
||
<td>{{ txn.transactionDate | date: 'dd MMMM yyyy' }}</td>
|
||
<td>{{ label(txn.transactionType) }}</td>
|
||
<td class="dav-mono">{{ txn.voucherNo || '—' }}</td>
|
||
<td class="dav-desc">{{ txn.description }}</td>
|
||
<td class="dav-right">
|
||
{{ txn.direction === 'DEBIT' ? '₹' + (txn.amount | formatNumber) : 'N/A' }}
|
||
</td>
|
||
<td class="dav-right">
|
||
{{ txn.direction === 'CREDIT' ? '₹' + (txn.amount | formatNumber) : 'N/A' }}
|
||
</td>
|
||
<td class="dav-right">
|
||
<strong>₹{{ txn.balanceAfterTransaction || 0 | formatNumber }}</strong>
|
||
</td>
|
||
</tr>
|
||
}
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
}
|
||
</div>
|
||
}
|
||
|
||
<!-- Passbook: the same entries oldest first, the way a passbook is written up, and printable -->
|
||
@if (tab === 'passbook') {
|
||
<div class="dav-card">
|
||
<div class="dav-toolbar dav-noprint">
|
||
<div class="dav-datepick">
|
||
<span>From</span>
|
||
<input type="date" [formControl]="fromDateControl" [max]="today" />
|
||
</div>
|
||
<div class="dav-datepick">
|
||
<span>To</span>
|
||
<input type="date" [formControl]="toDateControl" [max]="today" />
|
||
</div>
|
||
@if (hasDateFilters) {
|
||
<button class="dav-btn" (click)="clearDateFilters()"><fa-icon icon="times"></fa-icon> Clear</button>
|
||
}
|
||
<button class="dav-btn dav-btn--primary dav-push" (click)="printPassbook()">
|
||
<fa-icon icon="print"></fa-icon> Print
|
||
</button>
|
||
</div>
|
||
|
||
<div class="dav-passbook" id="dds-passbook">
|
||
<div class="dav-pb-head">
|
||
<div>
|
||
<div class="dav-pb-title">DDS Passbook</div>
|
||
<div class="dav-pb-sub">{{ account.officeName }}</div>
|
||
</div>
|
||
<div class="dav-pb-grid">
|
||
<span>Account No</span><strong class="dav-mono">{{ account.accountNo }}</strong> <span>Party Code</span
|
||
><strong>{{ account.partyCode }}</strong> <span>Name</span
|
||
><strong>{{ account.clientName || account.partyName }}</strong> <span>Product</span
|
||
><strong>{{ account.subType }} · {{ account.interestRate }} %</strong> <span>Opened On</span
|
||
><strong>{{ account.openingDate | date: 'dd/MM/yyyy' }}</strong> <span>Agent</span
|
||
><strong>{{ account.agentCode }}</strong>
|
||
</div>
|
||
</div>
|
||
|
||
@if (passbookEntries.length === 0) {
|
||
<div class="dav-state">
|
||
<span>{{ hasDateFilters ? 'No entries in these dates' : 'No entries yet' }}</span>
|
||
</div>
|
||
} @else {
|
||
<table class="dav-table dav-pb-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Date</th>
|
||
<th>Voucher</th>
|
||
<th>Particulars</th>
|
||
<th class="dav-right">Withdrawals</th>
|
||
<th class="dav-right">Deposits</th>
|
||
<th class="dav-right">Balance</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@for (txn of passbookEntries; track txn.id) {
|
||
<tr>
|
||
<td>{{ txn.transactionDate | date: 'dd/MM/yyyy' }}</td>
|
||
<td class="dav-mono">{{ txn.voucherNo || '' }}</td>
|
||
<td>
|
||
{{ label(txn.transactionType) }}
|
||
@if (txn.description) {
|
||
<span class="dav-pb-note">{{ txn.description }}</span>
|
||
}
|
||
</td>
|
||
<td class="dav-right">{{ txn.direction === 'DEBIT' ? (txn.amount | formatNumber) : '' }}</td>
|
||
<td class="dav-right">{{ txn.direction === 'CREDIT' ? (txn.amount | formatNumber) : '' }}</td>
|
||
<td class="dav-right">
|
||
<strong>{{ txn.balanceAfterTransaction || 0 | formatNumber }}</strong>
|
||
</td>
|
||
</tr>
|
||
}
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<td colspan="3"><strong>Total</strong></td>
|
||
<td class="dav-right">
|
||
<strong>{{ totalDebits | formatNumber }}</strong>
|
||
</td>
|
||
<td class="dav-right">
|
||
<strong>{{ totalCredits | formatNumber }}</strong>
|
||
</td>
|
||
<td class="dav-right">
|
||
<strong>{{ passbookClosingBalance | formatNumber }}</strong>
|
||
</td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
}
|
||
</div>
|
||
</div>
|
||
}
|
||
|
||
<!-- Nominees -->
|
||
@if (tab === 'nominees') {
|
||
<div class="dav-card">
|
||
@if (!account.nominees || account.nominees.length === 0) {
|
||
<div class="dav-state">
|
||
<fa-icon icon="user" size="2x"></fa-icon>
|
||
<span>No nominee on this account</span>
|
||
</div>
|
||
} @else {
|
||
<div class="dav-table-wrap">
|
||
<table class="dav-table">
|
||
<thead>
|
||
<tr>
|
||
<th>#</th>
|
||
<th>Name</th>
|
||
<th>Relation</th>
|
||
<th>Gender</th>
|
||
<th>Mobile</th>
|
||
<th>Birth Date</th>
|
||
<th>Nominated On</th>
|
||
<th>Guardian</th>
|
||
<th class="dav-right">{{ account.nomineeSplitMode === 'Sequence' ? 'Order' : 'Share %' }}</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@for (nominee of account.nominees; track nominee.id; let i = $index) {
|
||
<tr>
|
||
<td>{{ i + 1 }}</td>
|
||
<td>
|
||
<strong>{{ nominee.name }}</strong>
|
||
</td>
|
||
<td>{{ nominee.relation }}</td>
|
||
<td>{{ nominee.gender }}</td>
|
||
<td>{{ nominee.mobileNo || '—' }}</td>
|
||
<td>{{ nominee.birthDate ? (nominee.birthDate | date: 'dd MMM yyyy') : '—' }}</td>
|
||
<td>{{ nominee.nominationDate ? (nominee.nominationDate | date: 'dd MMM yyyy') : '—' }}</td>
|
||
<td>{{ nominee.guardianName || '—' }}</td>
|
||
<td class="dav-right">
|
||
{{ account.nomineeSplitMode === 'Sequence' ? nominee.sequenceNo : (nominee.sharePercent ?? '—') }}
|
||
</td>
|
||
</tr>
|
||
}
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
}
|
||
</div>
|
||
}
|
||
}
|
||
</div>
|