112 lines
5.9 KiB
PHP
112 lines
5.9 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', 'Semakan Bank')
|
|
|
|
@section('content')
|
|
<div class="page-heading">
|
|
<div class="eyebrow">Admin Kewangan</div>
|
|
<div class="d-flex justify-content-between flex-column flex-lg-row gap-3">
|
|
<div>
|
|
<h1 class="h3 mb-1">Semakan Akaun Bank</h1>
|
|
<p class="text-secondary mb-0">Semak maklumat bank staf yang telah diluluskan tanpa mengubah penempatan.</p>
|
|
</div>
|
|
<div>
|
|
<a class="btn btn-primary" href="{{ route('kewangan.bank.export', request()->query()) }}">
|
|
<i class="bi bi-download me-1"></i>Export
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="content-panel p-3 mb-3">
|
|
<form class="row g-2" method="GET">
|
|
<div class="col-12 col-md-3">
|
|
<input class="form-control" name="q" value="{{ $filters['q'] ?? '' }}" placeholder="Cari nama / IC / email">
|
|
</div>
|
|
<div class="col-6 col-md-2">
|
|
<select class="form-select" name="status">
|
|
<option value="">Semua status</option>
|
|
@foreach (['pending', 'verified', 'rejected', 'requires_correction'] as $status)
|
|
<option value="{{ $status }}" @selected(($filters['status'] ?? '') === $status)>{{ str_replace('_', ' ', $status) }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="col-6 col-md-3">
|
|
<select class="form-select" name="pusat_mengundi_id">
|
|
<option value="">Semua pusat</option>
|
|
@foreach ($pusats as $pusat)
|
|
<option value="{{ $pusat->id }}" @selected(($filters['pusat_mengundi_id'] ?? '') == $pusat->id)>{{ $pusat->code }} - {{ $pusat->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="col-6 col-md-2">
|
|
<select class="form-select" name="role_id">
|
|
<option value="">Semua jawatan</option>
|
|
@foreach ($positions as $position)
|
|
<option value="{{ $position->id }}" @selected(($filters['role_id'] ?? '') == $position->id)>{{ $position->code }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="col-6 col-md-2">
|
|
<button class="btn btn-outline-primary w-100" type="submit"><i class="bi bi-funnel me-1"></i>Tapis</button>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex flex-wrap gap-3 pt-2">
|
|
<label class="form-check">
|
|
<input class="form-check-input" type="checkbox" name="missing_bank_statement" value="1" @checked($filters['missing_bank_statement'] ?? false)>
|
|
<span class="form-check-label">Tiada penyata bank</span>
|
|
</label>
|
|
<label class="form-check">
|
|
<input class="form-check-input" type="checkbox" name="missing_account_number" value="1" @checked($filters['missing_account_number'] ?? false)>
|
|
<span class="form-check-label">Tiada no. akaun</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="content-panel p-0 overflow-hidden">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover align-middle mb-0">
|
|
<thead>
|
|
<tr>
|
|
<th>Staf</th>
|
|
<th>Pusat / Jawatan</th>
|
|
<th>Bank</th>
|
|
<th>Dokumen</th>
|
|
<x-sort-th column="status" label="Status" />
|
|
<th class="text-end no-sort">Tindakan</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@forelse ($verifications as $verification)
|
|
@php($application = $verification->application)
|
|
@php($position = $application?->approvedPosition ?: $application?->requestedPosition)
|
|
@php($hasBankStatement = $application?->documents->contains('document_type', 'bank_statement') === true)
|
|
<tr>
|
|
<td>
|
|
<div class="fw-semibold">{{ $application?->name }}</div>
|
|
<div class="small text-secondary">{{ \App\Support\SensitiveData::maskIc($application?->ic_number) }} · {{ \App\Support\SensitiveData::maskPhone($application?->phone_number) }}</div>
|
|
</td>
|
|
<td>{{ $application?->pusatMengundi?->code }}<div class="small text-secondary">{{ $position?->code ?: '-' }}</div></td>
|
|
<td>
|
|
<div>{{ $application?->bank_name ?: '-' }}</div>
|
|
<div class="small text-secondary">{{ \App\Support\SensitiveData::maskAccount($application?->bank_account_number) }}</div>
|
|
</td>
|
|
<td>
|
|
<span class="badge {{ $hasBankStatement ? 'text-bg-success' : 'text-bg-danger' }}">{{ $hasBankStatement ? 'Penyata ada' : 'Penyata tiada' }}</span>
|
|
</td>
|
|
<td><span class="badge text-bg-secondary">{{ str_replace('_', ' ', $verification->status) }}</span></td>
|
|
<td class="text-end"><a class="btn btn-sm btn-outline-primary" href="{{ route('kewangan.bank.show', $verification) }}">Semak</a></td>
|
|
</tr>
|
|
@empty
|
|
<tr><td colspan="6" class="text-center text-secondary py-4">Tiada rekod kewangan dijumpai.</td></tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-3">{{ $verifications->links() }}</div>
|
|
@endsection
|