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:
co-authored by
Claude Sonnet 4.6
parent
6f04c137c5
commit
43bab670a0
@@ -571,6 +571,17 @@
|
|||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</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 -->
|
<!-- Office -->
|
||||||
<ng-container matColumnDef="officeName">
|
<ng-container matColumnDef="officeName">
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header class="gl-th">Office</mat-header-cell>
|
<mat-header-cell *matHeaderCellDef mat-sort-header class="gl-th">Office</mat-header-cell>
|
||||||
|
|||||||
@@ -1237,6 +1237,102 @@
|
|||||||
text-align: right !important;
|
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 ─────────────────────────────────────────────────────
|
// ── Table cell components ─────────────────────────────────────────────────────
|
||||||
@@ -1307,6 +1403,28 @@
|
|||||||
border: 1px solid var(--c-border);
|
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 {
|
.gl-acct-cell {
|
||||||
font-size: 0.74rem;
|
font-size: 0.74rem;
|
||||||
max-width: 150px;
|
max-width: 150px;
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ export class SearchJournalEntryComponent implements OnInit, OnDestroy, AfterView
|
|||||||
'id',
|
'id',
|
||||||
'transactionDate',
|
'transactionDate',
|
||||||
'transactionId',
|
'transactionId',
|
||||||
|
'savingsAccountNo',
|
||||||
'officeName',
|
'officeName',
|
||||||
'glAccountCode',
|
'glAccountCode',
|
||||||
'glAccountName',
|
'glAccountName',
|
||||||
|
|||||||
+11
@@ -177,6 +177,17 @@
|
|||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</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 -->
|
<!-- DR/CR Badge -->
|
||||||
<ng-container matColumnDef="entryType">
|
<ng-container matColumnDef="entryType">
|
||||||
<th mat-header-cell *matHeaderCellDef class="txn-th txn-th--center">DR / CR</th>
|
<th mat-header-cell *matHeaderCellDef class="txn-th txn-th--center">DR / CR</th>
|
||||||
|
|||||||
+17
@@ -498,3 +498,20 @@ $shadow: 0 2px 12px rgb(0 0 0 / 8%);
|
|||||||
margin-bottom: 0.5rem;
|
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;
|
||||||
|
}
|
||||||
|
|||||||
+1
@@ -82,6 +82,7 @@ export class ViewJournalEntryTransactionComponent implements OnInit {
|
|||||||
'glAccountType',
|
'glAccountType',
|
||||||
'glAccountCode',
|
'glAccountCode',
|
||||||
'glAccountName',
|
'glAccountName',
|
||||||
|
'savingsAccountNo',
|
||||||
'entryType',
|
'entryType',
|
||||||
'debit',
|
'debit',
|
||||||
'credit'
|
'credit'
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
export default {
|
export default {
|
||||||
'mifos_x': {
|
'mifos_x': {
|
||||||
'version': '260520',
|
'version': '260520',
|
||||||
'hash': 'g325228c51'
|
'hash': 'bf3e26a0'
|
||||||
},
|
},
|
||||||
'allow_switching_backend_instance': true
|
'allow_switching_backend_instance': true
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user