@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
@include('components.alert')
Detail Pengajuan Pinjaman

Informasi lengkap pengajuan

@foreach ($table_header_l as $header) @php $fieldValue = $table_detail->{$header->field} ?? ''; $primary = false; foreach ($table_primary as $p) { if ($p->field == $header->field) { $primary = true; break; } } @endphp @if ($header->show == '1' && $header->type != 'hidden' && $fieldValue !== '' && $fieldValue !== null)
@php $displayValue = ''; if ($header->type == 'currency') { $displayValue = $format->CurrencyFormat( $fieldValue, $header->decimals ?? 0, ); } elseif ( $header->type == 'date' || $header->type == 'datetime' ) { $displayValue = $format->DateFormat($fieldValue); } elseif ($header->type == 'enum') { if ($header->query != '') { $data_query = DB::select($header->query); $displayValue = $fieldValue; foreach ($data_query as $q) { $sAsArray = array_values((array) $q); if ($fieldValue == $sAsArray[0]) { $displayValue = $sAsArray[1]; break; } } } else { $displayValue = ucfirst($fieldValue); } } elseif ($header->type == 'join') { if ($header->query != '' && $fieldValue) { try { $joinResult = DB::select($header->query . "'" . $fieldValue . "'"); $displayValue = $joinResult[0]->nama_lengkap ?? $fieldValue; } catch (\Exception $e) { $displayValue = $fieldValue; } } else { $displayValue = $fieldValue; } } elseif ($header->type == 'text') { $displayValue = $fieldValue; } else { $displayValue = $fieldValue; } @endphp @if ($header->type == 'image' && $fieldValue && $fieldValue !== 'noimage.png') @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif
@endif @endforeach
@foreach ($table_header_r as $header) @php $fieldValue = $table_detail->{$header->field} ?? ''; $primary = false; foreach ($table_primary as $p) { if ($p->field == $header->field) { $primary = true; break; } } @endphp @if ($header->show == '1' && $header->type != 'hidden' && $fieldValue !== '' && $fieldValue !== null)
@if ($header->type == 'text') @else @php $displayValueR = ''; if ($header->type == 'currency') { $displayValueR = $format->CurrencyFormat( $fieldValue, $header->decimals ?? 0, ); } elseif ( $header->type == 'date' || $header->type == 'datetime' ) { $displayValueR = $format->DateFormat($fieldValue); } elseif ($header->type == 'enum') { if ($header->query != '') { $data_query = DB::select($header->query); $displayValueR = $fieldValue; foreach ($data_query as $q) { $sAsArray = array_values((array) $q); if ($fieldValue == $sAsArray[0]) { $displayValueR = $sAsArray[1]; break; } } } else { $displayValueR = ucfirst($fieldValue); } } elseif ($header->type == 'join') { if ($header->query != '' && $fieldValue) { try { $joinResult = DB::select($header->query . "'" . $fieldValue . "'"); $displayValueR = $joinResult[0]->nama_lengkap ?? $fieldValue; } catch (\Exception $e) { $displayValueR = $fieldValue; } } else { $displayValueR = $fieldValue; } } else { $displayValueR = $fieldValue; } @endphp @endif @if ($header->type == 'image' && $fieldValue && $fieldValue !== 'noimage.png') @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif
@endif @endforeach
@if (isset($breakdownCicilan) && !empty($breakdownCicilan['cicilan_data'])) @php $cicilanData = $breakdownCicilan['cicilan_data']; $totalPokok = $breakdownCicilan['total_pokok']; $totalBunga = $breakdownCicilan['total_bunga']; $grandTotal = $breakdownCicilan['grand_total']; $bungaRatePercent = $breakdownCicilan['bunga_rate_percent']; @endphp
Breakdown Cicilan

Simulasi angsuran dengan bunga flat {{ $bungaRatePercent }}% per bulan

@foreach ($cicilanData as $cicilan) @endforeach
Bulan Ke Saldo Awal Angsuran Pokok Angsuran Bunga Total Angsuran
{{ $cicilan['bulan'] }} {{ $format->CurrencyFormat($cicilan['saldo_awal']) }} {{ $format->CurrencyFormat($cicilan['angsuran_pokok']) }} {{ $format->CurrencyFormat($cicilan['angsuran_bunga']) }} {{ $format->CurrencyFormat($cicilan['total_angsuran']) }}
Total {{ $format->CurrencyFormat($totalPokok) }} {{ $format->CurrencyFormat($totalBunga) }} {{ $format->CurrencyFormat($grandTotal) }}
@endif {{-- Container untuk Cicilan Belum Bayar (Top Up) --}}
Sisa Cicilan Yang Belum Dibayar
Pinjaman Sebelumnya: -
@php $userLevel = \App\Helpers\Koperasi\Pengajuan\ApprovalHelper::getUserLevel( $user_login->idroles, ); $canApprove = $userLevel && \App\Helpers\Koperasi\Pengajuan\ValidationHelper::canBeApproved( $table_detail, $userLevel, ); @endphp @if ( $authorize->approval == '1' && $canApprove && $user_login->idroles !== \App\Helpers\Koperasi\Constants\KoperasiConstants::ROLE_ADMIN_TRANSFER)
Panel Approval

Proses persetujuan pinjaman

@csrf
Maksimal 500 karakter
@endif @php if (!empty($table_detail->nominal_transfer) && $table_detail->nominal_transfer > 0) { $nominalPencairan = $table_detail->nominal_transfer; $sisaCicilan = 0; } else { $transferCalculation = \App\Helpers\Koperasi\Pengajuan\CalculationHelper::calculateTransfer( $table_detail->nik, (float) $table_detail->nominal_pinjaman, $table_detail->jenis_pengajuan ); $nominalPencairan = $transferCalculation['nominal_transfer']; $sisaCicilan = $transferCalculation['sisa_cicilan_total']; } @endphp @php $canTransfer = $user_login->idroles === 'atrans' && \App\Helpers\Koperasi\Pengajuan\ValidationHelper::canBeTransferred($table_detail); @endphp @if ($canTransfer)
Panel Transfer

Upload bukti transfer dana

@csrf @foreach ($table_header_transfer as $header) @if ($header->field == 'nominal_transfer')
validate, 'required') ? 'required' : '' }}> @error($header->field)

{{ $message }}

@enderror
@elseif ($header->field == 'bukti_transfer')
@if ($header->type != 'hidden') @endif @if ($header->type == 'image')
image

Maksimal Size : {{ $header->length }} KB

Format File : PNG,JPG,JPEG,PDF

@else validate, 'required') ? 'required' : '' }} accept=".jpg,.jpeg,.png,.pdf"> @php preg_match( '/mimes:([^|]+)/', $header->validate, $matches, ); $formats = isset($matches[1]) ? strtoupper(str_replace(',', ', ', $matches[1])) : 'JPG, PNG, PDF'; $maxSize = $header->length ? $header->length / 1024 . 'MB' : '2MB'; @endphp Format: {{ $formats }} (Max: {{ $maxSize }}) @endif @error($header->field)

{{ $message }}

@enderror @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif
@endif @endforeach
@endif @if ($table_detail->tanggal_transfer)
Status Transfer

Dana telah ditransfer

    @foreach ($table_header_transfer as $header) @if ($table_detail->{$header->field})
  • {{ $header->alias }} : @if ($header->type == 'currency') {{ $format->CurrencyFormat($table_detail->{$header->field}) }} @elseif ($header->type == 'datetime') {{ $format->DateFormat($table_detail->{$header->field}) }} @elseif ($header->type == 'image' && $header->field == 'bukti_transfer')
    @php $extension = strtolower( pathinfo( $table_detail->{$header->field}, PATHINFO_EXTENSION, ), ); $isImage = in_array($extension, ['jpg', 'jpeg', 'png']); @endphp @if ($isImage)
    {{ $header->alias }}
    @endif
    @else {{ $table_detail->{$header->field} ?: '-' }} @endif
  • @endif @endforeach
{{-- Upload Ulang Bukti Transfer (hanya untuk atrans) --}} @if ($user_login->idroles === 'atrans' && $table_detail->bukti_transfer && empty($table_detail->kesalahan_bukti_transfer))
Centang jika ingin mengunggah bukti transfer yang benar. Upload ulang hanya dapat dilakukan 1 kali.
@endif {{-- Tampilkan info jika sudah pernah upload ulang --}} @if ($table_detail->kesalahan_bukti_transfer)
Bukti Transfer (Upload Ulang)
@php $reuploadExtension = strtolower(pathinfo($table_detail->kesalahan_bukti_transfer, PATHINFO_EXTENSION)); $isReuploadImage = in_array($reuploadExtension, ['jpg', 'jpeg', 'png']); @endphp
@endif
@endif @if (!empty($approval_history) && count($approval_history) > 0)
Riwayat Pengajuan

Timeline pengajuan

@foreach ($approval_history->reverse() as $index => $history) @php $timelineColor = $history->approval_color ?? 'primary'; @endphp
{{ $history->user_display_name ?? $history->username }}

{{ $history->formatted_created_at ?? \Carbon\Carbon::parse($history->created_at)->format('d M Y, H:i') }}

@if (isset($history->clean_action))

{{ $history->clean_action }}

@if ($history->nomor_pinjaman)

Nomor: {{ $history->nomor_pinjaman }}

@endif @if ($history->catatan_approval)

{{ $history->catatan_approval }}

@endif @else

{{ $history->description }}

@endif
@if ($timelineColor === 'success') Disetujui @elseif ($timelineColor === 'danger') Ditolak @elseif ($timelineColor === 'info') Transfer @elseif ($timelineColor === 'warning') Upload Ulang @else Pending @endif
@endforeach
@if (count($approval_history) === 0)
Belum ada riwayat approval

Riwayat akan muncul setelah ada aktivitas approval

@endif
@else
Riwayat Approval

Timeline persetujuan pengajuan

Belum ada riwayat approval

Riwayat akan muncul setelah ada aktivitas approval

@endif @php $anggota = \App\Models\MstAnggota::where('nik', $table_detail->nik)->first(); $fotoKtp = $anggota->foto_ktp ?? 'noimage.png'; @endphp
Foto KTP Anggota

{{ $anggota->nama_lengkap ?? 'Nama tidak ditemukan' }}

@if ($fotoKtp && $fotoKtp !== 'noimage.png') @else
Foto KTP belum tersedia

Anggota belum mengupload foto KTP

@endif
{{-- Script untuk Upload Ulang Bukti Transfer --}} @push('js') @endpush @endsection @if ($jsmenu == '1') @if (view()->exists("js.{$dmenu}")) @push('addjs') @include('js.' . $dmenu) @endpush @else @push('addjs') @endpush @endif @endif