{{ isReview ? 'CHECKER · APPROVAL' : 'CLERK · WITHDRAWAL' }}

{{ pageTitle }}

{{ pageSubtitle }}

@if (pageState === 'success') {
check_circle
@if (isReview) {

Action completed successfully.

} @else {

Withdrawal request submitted for Bank Manager approval.

}

Redirecting…

} @if (pageState !== 'success') { @if (isEdit && existingRequest?.status === 'REJECTED') {
cancel
This request was rejected @if (existingRequest?.rejection_reason) {

Reason: {{ existingRequest.rejection_reason }}

}

Please update the details below and resubmit for approval.

} @if (isCreate) { } @if (errorMsg) {
error_outline {{ errorMsg }}
} @if (pageState === 'searching' && isCreate) {
hourglass_empty

Loading account…

} @if (account && (pageState === 'loaded' || pageState === 'submitting' || isEdit || isReview)) {
@if (account.balance != null) { }
} @if (account && (pageState === 'loaded' || pageState === 'submitting' || isEdit || isReview)) {
Transaction Details
@if (isChequePayment || chequeNo) { }
@if (isCashPayment && allDenominations.length > 0) {
local_atm Denomination Breakdown
@if (!isReview) {
Total: ₹{{ denominationTotal | number: '1.2-2' }} @if ((amount || 0) > 0 && denominationTotal > 0) { @if (denomMatchesAmount) { check_circle } @else { error } }
} @else {
Total: ₹{{ denominationTotal | number: '1.2-2' }}
}
@if (validationErrors['denom']) {
{{ validationErrors['denom'] }}
} @if (notes.length > 0) {
@for (d of notes; track d.id) {
{{ d.label }} @if (!isReview) { } @else { {{ countFor(d) }} } ₹{{ subtotalFor(d) | number: '1.0-0' }}
}
} @if (coins.length > 0) {
@for (d of coins; track d.id) {
{{ d.label }} @if (!isReview) { } @else { {{ countFor(d) }} } ₹{{ subtotalFor(d) | number: '1.0-0' }}
}
} @if (!isReview) { }
} @if (activityLog.length > 0) {
history Activity Log
@for (entry of activityLog; track $index) {
{{ activityLabel(entry.action) }}
by {{ entry.user }} {{ formatActivityTime(entry.timestamp) }}
@if (entry.note) {
{{ entry.note }}
}
}
}
@if (!isReview) { } @else { }
@if (showRejectDialog) {
cancel Reject Withdrawal Request

Provide a reason for rejection. The clerk will see this reason and can edit and resubmit.

} } @if (isCreate && pageState === 'idle' && !account) {
account_balance_wallet

Search for a savings account to start a withdrawal request.

} }