@extends('admin.layouts.app') @push('styles') @endpush @section('content')
← Back to Loans @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @php $clientName = $loan->user->name ?? 'Unknown Client'; $initial = strtoupper( substr( $clientName, 0, 1 ) ); $paidTotal = (float) $loan->installments->sum('paid_amount'); $outstanding = $loan->status === 'rejected' ? 0 : (float) $loan->outstanding_amount; $totalPayable = (float) $loan->total_payable; $paidPercent = $totalPayable > 0 ? min( 100, max( 0, ($paidTotal / $totalPayable) * 100 ) ) : 0; $currencySymbol = preg_replace( '/[0-9.,\s-]+$/', '', money(0) ); /* |-------------------------------------------------------------------------- | Bank Details |-------------------------------------------------------------------------- */ $bankDetail = $loan->user?->bankDetail; @endphp

Loan Details

Review the application, financial terms and repayment schedule.

All Loans @if($loan->status === 'pending')
@csrf
@elseif($loan->status === 'approved') @if( (float)$loan->processing_fee <= 0 || $loan->processing_fee_paid_at )
@csrf
@else Processing Fee Unpaid @endif @endif
{{-- ========================================================== LOAN HERO =========================================================== --}}
Loan Number
{{ $loan->loan_number }}
{{ ucfirst($loan->status) }}
Loan Amount {{ money((float)$loan->loan_amount) }}
EMI {{ money((float)$loan->emi_amount) }}
Tenure {{ $loan->tenure_months }} Months
Outstanding {{ money($outstanding) }}
{{-- ========================================================== LOAN FINANCIAL DETAILS =========================================================== --}}

Loan Financial Details

0% interest / configurable processing fee
Principal {{ money((float)$loan->loan_amount) }}
Interest Rate {{ number_format((float)$loan->interest_rate,2) }}%
Interest Amount {{ money((float)$loan->interest_amount) }}
Processing Fee {{ money((float)$loan->processing_fee) }}
Processing Fee Status @if($loan->processing_fee_paid_at) ✓ Paid @elseif( $loan->status === 'approved' && (float)$loan->processing_fee > 0 ) Unpaid @elseif( (float)$loan->processing_fee <= 0 ) No Fee @else After Approval @endif
Total Payable {{ money($totalPayable) }}
EMI Amount {{ money((float)$loan->emi_amount) }}
Disbursed Amount {{ money((float)$loan->disbursed_amount) }}
Outstanding {{ money($outstanding) }}
Tenure {{ $loan->tenure_months }} months
{{-- ========================================================== LOAN TYPE & DETAILS =========================================================== --}} @if($loan->loanDetail)

Loan Type & Details

{{ $loan->loanDetail->loanType->name ?? '—' }}
{{-- Loan Type --}}
Loan Type {{ $loan->loanDetail->loanType->name ?? '—' }}
{{-- Dynamic Details --}} @if( is_array($loan->loanDetail->details) && count($loan->loanDetail->details) )
@foreach( $loan->loanDetail->details as $key => $value ) @if( !is_null($value) && $value !== '' )
{{ ucwords( str_replace( '_', ' ', $key ) ) }} @if(is_array($value)) {{ implode(', ', $value) }} @else {{ $value }} @endif
@endif @endforeach
@else
No additional loan details available.
@endif
@endif {{-- ========================================================== PROCESSING FEE =========================================================== --}}

Processing Fee

Separate from EMI
Fee Amount {{ money( (float)$loan->processing_fee ) }}
Status @if($loan->processing_fee_paid_at) ✓ Paid @elseif( $loan->status === 'approved' && (float)$loan->processing_fee > 0 ) Unpaid @elseif( (float)$loan->processing_fee <= 0 ) No Fee @else After Approval @endif
@if($loan->processing_fee_paid_at)
✓ Processing fee paid
Paid on {{ $loan->processing_fee_paid_at->format('d M Y h:i A') }} @if($loan->processingFeePayer) · By {{ $loan->processingFeePayer->name }} @endif
@elseif( $loan->status === 'approved' && (float)$loan->processing_fee > 0 )
Processing fee is unpaid.
Mark the fee as paid before disbursing this loan.
@csrf
@elseif( $loan->status === 'pending' && (float)$loan->processing_fee > 0 )
Processing fee payment becomes available after loan approval.
@elseif( (float)$loan->processing_fee <= 0 )
No processing fee is due for this loan.
@endif
{{-- ========================================================== EMI REPAYMENT SCHEDULE =========================================================== --}}

EMI Repayment Schedule

{{ $loan->installments->count() }} installments
@if($loan->installments->count())
@foreach( $loan->installments as $emi ) @php $emiStatus = match($emi->status) { 'paid' => 'emi-paid', 'partial' => 'emi-partial', 'overdue' => 'emi-overdue', 'cancelled' => 'emi-cancelled', default => 'emi-pending' }; @endphp @endforeach
# Due Date Principal Interest EMI Paid Outstanding Status Action
#{{ $emi->installment_number }} {{ optional($emi->due_date)->format('d M Y') }} {{ money((float)$emi->principal_amount) }} {{ money((float)$emi->interest_amount) }} {{ money((float)$emi->emi_amount) }} {{ money((float)$emi->paid_amount) }} {{ money((float)$emi->outstanding_amount) }} {{ ucfirst($emi->status) }} @if( in_array( $loan->status, [ 'active', 'disbursed', 'overdue' ], true ) && !in_array( $emi->status, [ 'paid', 'cancelled' ], true ) && (float)$emi->outstanding_amount > 0 ) @else — @endif
@else
EMI schedule has not been generated yet. It will be created when the approved loan is disbursed.
@endif
{{-- ========================================================== REJECTION REASON =========================================================== --}} @if($loan->rejection_reason)

Rejection Reason

{{ $loan->rejection_reason }}
@endif {{-- ========================================================== ADMIN NOTES =========================================================== --}} @if($loan->admin_notes)

Admin Notes

{{ $loan->admin_notes }}
@endif
{{-- ========================================================== RIGHT SIDE =========================================================== --}}
{{-- ========================================================== CLIENT =========================================================== --}}

Client

ID #{{ $loan->user_id }}
{{ $initial }}
{{ $clientName }}
{{ $loan->user->mobile ?? 'No mobile' }}
{{ $loan->user->email ?? 'No email' }}
{{-- ========================================================== BANK ACCOUNT =========================================================== --}}

Bank Account

Client bank details
@if($bankDetail)
Bank Name {{ $bankDetail->bank_name ?? '—' }}
Branch {{ $bankDetail->branch ?? '—' }}
Account Number {{ $bankDetail->account_number ?? '—' }}
IFSC Code {{ $bankDetail->ifsc_code ?? '—' }}
@else
Bank details have not been submitted yet.
@endif
{{-- ========================================================== EMI CARD =========================================================== --}}

EMI Card

{{ ucfirst($loan->emiCard->status ?? 'Unknown') }}
Card Number {{ $loan->emiCard->card_number ?? '—' }}
Card Limit {{ money( (float)( $loan->emiCard->card_limit ?? 0 ) ) }}
Available Limit {{ money( (float)( $loan->emiCard->available_limit ?? 0 ) ) }}
Validity {{ optional( $loan->emiCard->issued_at )->format('d M Y') }} — {{ optional( $loan->emiCard->expires_at )->format('d M Y') }}
{{-- ========================================================== REPAYMENT PROGRESS =========================================================== --}}

Repayment Progress

Total Payable {{ money($totalPayable) }}
Paid {{ money($paidTotal) }}
Outstanding {{ money($outstanding) }}
Progress {{ number_format($paidPercent,1) }}%
{{-- ========================================================== LOAN ACTIONS =========================================================== --}}

Loan Actions

{{ $loan->isClosed() ? 'No further action' : 'Manage loan' }}
@if($loan->isClosed())
Loan Closed
This loan is marked as closed.
Closed On {{ optional( $loan->closed_at )->format( 'd M Y h:i A' ) ?? '—' }}
Closed By {{ $loan->closer->name ?? 'Admin' }}
Close Reason {{ $loan->close_reason ?: '—' }}
@else
@if( $outstanding > 0 && in_array( $loan->status, [ 'active', 'disbursed', 'overdue' ], true ) ) @endif {{-- Close Loan --}} @if($loan->status === 'pending')
@csrf
@csrf
@elseif($loan->status === 'approved') @if( (float)$loan->processing_fee <= 0 || $loan->processing_fee_paid_at )
@csrf
@else
Disbursement locked.
Processing fee must be marked as paid first.
@endif
@csrf
@endif @if( in_array( $loan->status, [ 'pending', 'approved' ], true ) )
@csrf
@endif
@endif
{{-- ========================================================== CLOSED LOAN =========================================================== --}} @if($loan->isClosed())

Closed Loan

Account closed
Closed At {{ optional( $loan->closed_at )->format( 'd M Y h:i A' ) ?? '—' }}
Closed By {{ $loan->closer->name ?? '—' }}
Close Reason {{ $loan->close_reason ?? '—' }}
@endif {{-- ========================================================== TIMELINE =========================================================== --}}

Timeline

Applied {{ optional( $loan->applied_at ?? $loan->created_at )->format( 'd M Y h:i A' ) }}
Approved {{ optional( $loan->approved_at )->format( 'd M Y h:i A' ) ?? '—' }}
First EMI {{ optional( $loan->first_emi_date )->format( 'd M Y' ) ?? '—' }}
Disbursed {{ optional( $loan->disbursed_at )->format( 'd M Y h:i A' ) ?? '—' }}
Completed {{ optional( $loan->completed_at )->format( 'd M Y' ) ?? '—' }}
{{-- ========================================================== EMI PAYMENT MODAL CSS =========================================================== --}} {{-- ========================================================== CLOSE LOAN MODAL CSS =========================================================== --}} {{-- ========================================================== EMI PAYMENT MODAL =========================================================== --}} {{-- ========================================================== OUTSTANDING PAYMENT MODAL =========================================================== --}} {{-- ========================================================== CLOSE LOAN MODAL =========================================================== --}} @endsection