feat(npa): add branch-wise NPA module with realistic data, pagination and recovery actions

Adds a full NPA (Non-Performing Assets) module mirroring the legacy CBS NPA
mega-menu: NPA Reports, NPA Analysis, and NPA Classification screens over a
640-account loan book classified per RBI IRAC norms (Standard through
Loss). Same Head-Office/branch-wise access pattern as the Cash/Clearing/
Transfer summary, 20-row pagination on every large table, and a Recovery
Action workflow (demand notice, SARFAESI, suit filing, OTS) on the Account
Detail screen.

Fixes several data-generation bugs so every account stays internally
consistent regardless of when it's viewed: disbursement date can no longer
predate the account's own overdue history, last-payment date now reflects
the most recent recovery entry, the quarter-ago snapshot can't imply more
overdue days than the loan's age allowed, and provision held is capped at
the account's outstanding balance.

Also fixes a text-overflow/dropdown-arrow overlap on long select options
(Investment + NPA shared form styles), and marks the GL "Financial
Statements" menu items that are already wired to a working dialog.
This commit is contained in:
2026-08-01 11:18:02 +05:30
parent 63ac900e42
commit 4261f9659e
10 changed files with 2312 additions and 9 deletions
+11
View File
@@ -147,6 +147,7 @@
input,
select {
width: 100%;
height: 36px;
padding: 0 10px;
border: 1px solid #e2e8f0;
@@ -155,6 +156,15 @@
color: #0d1b2a;
font-family: inherit;
background: #fff;
box-sizing: border-box;
}
// Long "code — name (branch)" style option text must never run under the native dropdown
// arrow — truncate it with an ellipsis instead of letting the browser clip it mid-word.
select {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// Computed / lookup-filled fields are rendered read-only and greyed out so they read as
@@ -168,6 +178,7 @@
.inv-form-actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: 10px;
padding: 0 18px 18px;