feat: show account number in GL journal entry list and transaction detail views

- Add savingsAccountNo column to search-journal-entry table (SB/FD/RD/CA)
- Add account no column to view-journal-entry-transaction detail table
- Fix duplicate .gl-mat-table selector; merge column-width rules inside block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jaanu423
2026-05-20 18:22:24 +05:30
co-authored by Claude Sonnet 4.6
parent 6f04c137c5
commit 43bab670a0
7 changed files with 160 additions and 1 deletions
@@ -571,6 +571,17 @@
</mat-cell>
</ng-container>
<!-- Savings Account No -->
<ng-container matColumnDef="savingsAccountNo">
<mat-header-cell *matHeaderCellDef class="gl-th">Account No</mat-header-cell>
<mat-cell *matCellDef="let e" class="gl-td">
<span *ngIf="e.savingsAccountNo" class="gl-acct-no-chip" [matTooltip]="e.savingsAccountNo">{{
e.savingsAccountNo
}}</span>
<span *ngIf="!e.savingsAccountNo" class="gl-na">—</span>
</mat-cell>
</ng-container>
<!-- Office -->
<ng-container matColumnDef="officeName">
<mat-header-cell *matHeaderCellDef mat-sort-header class="gl-th">Office</mat-header-cell>
@@ -1237,6 +1237,102 @@
text-align: right !important;
}
}
::ng-deep .mat-column-id {
width: 56px;
min-width: 56px;
flex: 0 0 56px;
}
::ng-deep .mat-column-transactionDate {
width: 95px;
min-width: 95px;
flex: 0 0 95px;
}
::ng-deep .mat-column-transactionId {
width: 80px;
min-width: 80px;
flex: 0 0 80px;
}
::ng-deep .mat-column-savingsAccountNo {
width: 130px;
min-width: 130px;
flex: 0 0 130px;
}
::ng-deep .mat-column-officeName {
width: 110px;
min-width: 110px;
flex: 0 0 110px;
}
::ng-deep .mat-column-glAccountCode {
width: 65px;
min-width: 65px;
flex: 0 0 65px;
}
::ng-deep .mat-column-glAccountName {
width: 160px;
min-width: 160px;
flex: 1 1 160px;
}
::ng-deep .mat-column-glAccountType {
width: 85px;
min-width: 85px;
flex: 0 0 85px;
}
::ng-deep .mat-column-entryType {
width: 65px;
min-width: 65px;
flex: 0 0 65px;
}
::ng-deep .mat-column-debit {
width: 95px;
min-width: 95px;
flex: 0 0 95px;
}
::ng-deep .mat-column-credit {
width: 95px;
min-width: 95px;
flex: 0 0 95px;
}
::ng-deep .mat-column-runningBalance {
width: 95px;
min-width: 95px;
flex: 0 0 95px;
}
::ng-deep .mat-column-manualEntry {
width: 75px;
min-width: 75px;
flex: 0 0 75px;
}
::ng-deep .mat-column-createdByUserName {
width: 90px;
min-width: 90px;
flex: 0 0 90px;
}
::ng-deep .mat-column-submittedOnDate {
width: 130px;
min-width: 130px;
flex: 0 0 130px;
}
::ng-deep .mat-column-actions {
width: 50px;
min-width: 50px;
flex: 0 0 50px;
}
}
// ── Table cell components ─────────────────────────────────────────────────────
@@ -1307,6 +1403,28 @@
border: 1px solid var(--c-border);
}
.gl-acct-no-chip {
display: inline-block;
padding: 2px 8px;
background: #e8f4fd;
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 0.7rem;
color: #1565c0;
font-weight: 600;
border: 1px solid #bbdefb;
white-space: nowrap;
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: middle;
}
.gl-na {
color: var(--c-text-3, #bbb);
font-size: 0.75rem;
}
.gl-acct-cell {
font-size: 0.74rem;
max-width: 150px;
@@ -117,6 +117,7 @@ export class SearchJournalEntryComponent implements OnInit, OnDestroy, AfterView
'id',
'transactionDate',
'transactionId',
'savingsAccountNo',
'officeName',
'glAccountCode',
'glAccountName',
@@ -177,6 +177,17 @@
</td>
</ng-container>
<!-- Savings / CA Account No -->
<ng-container matColumnDef="savingsAccountNo">
<th mat-header-cell *matHeaderCellDef class="txn-th">Account No</th>
<td mat-cell *matCellDef="let entry" class="txn-td">
<span *ngIf="entry.savingsAccountNo" class="txn-acct-no-chip" [matTooltip]="entry.savingsAccountNo">
{{ entry.savingsAccountNo }}
</span>
<span *ngIf="!entry.savingsAccountNo" class="txn-amount--empty">—</span>
</td>
</ng-container>
<!-- DR/CR Badge -->
<ng-container matColumnDef="entryType">
<th mat-header-cell *matHeaderCellDef class="txn-th txn-th--center">DR / CR</th>
@@ -498,3 +498,20 @@ $shadow: 0 2px 12px rgb(0 0 0 / 8%);
margin-bottom: 0.5rem;
}
}
.txn-acct-no-chip {
display: inline-block;
padding: 2px 8px;
background: #e8f4fd;
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 0.72rem;
color: #1565c0;
font-weight: 600;
border: 1px solid #bbdefb;
white-space: nowrap;
max-width: 130px;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: middle;
}
@@ -82,6 +82,7 @@ export class ViewJournalEntryTransactionComponent implements OnInit {
'glAccountType',
'glAccountCode',
'glAccountName',
'savingsAccountNo',
'entryType',
'debit',
'credit'
+1 -1
View File
@@ -10,7 +10,7 @@
export default {
'mifos_x': {
'version': '260520',
'hash': 'g325228c51'
'hash': 'bf3e26a0'
},
'allow_switching_backend_instance': true
};