- Menambahkan menu "Periode Statement" pada module.json dengan akses untuk role administrator. - Menambahkan model `PeriodeStatement` dengan fitur tracking user dan scoped query. - Menyediakan controller `PeriodeStatementController` dengan fungsi CRUD, otorisasi, proses, ekspor data ke Excel, dan datatables. - Menambahkan request validation melalui `PeriodeStatementRequest`. - Menyediakan view untuk list, create, edit, dan otorisasi periode statement. - Menambahkan routing termasuk resource routes dan breadcrumbs untuk mendukung fitur ini. - Menambahkan migrasi database `periode_statements` dengan kolom untuk menyimpan data periode, status, otorisasi, serta metadata. - Fitur ini memungkinkan pengelolaan dan pemrosesan periode statement secara terstruktur dan aman. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
114 lines
5.6 KiB
PHP
114 lines
5.6 KiB
PHP
@extends('layouts.main')
|
|
|
|
@section('breadcrumbs')
|
|
{{ Breadcrumbs::render(request()->route()->getName(), $periodeStatement) }}
|
|
@endsection
|
|
|
|
@section('content')
|
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
|
<div class="card pb-2.5">
|
|
<div class="card-header" id="basic_settings">
|
|
<h3 class="card-title">
|
|
Detail Periode Statement
|
|
</h3>
|
|
<div class="flex items-center gap-2">
|
|
<a href="{{ route('periode-statements.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
|
</div>
|
|
</div>
|
|
<div class="card-body grid gap-5">
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-5">
|
|
<div class="flex flex-col">
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Periode:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ \Carbon\Carbon::parse($periodeStatement->periode . '-01')->format('F Y') }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Created By:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ $periodeStatement->creator->name ?? 'N/A' }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Created At:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ $periodeStatement->created_at ? $periodeStatement->created_at->format('d M Y H:i:s') : 'N/A' }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex flex-col">
|
|
@if($periodeStatement->authorized_by)
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Authorized By:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ $periodeStatement->authorizer->name ?? 'N/A' }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Authorized At:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ $periodeStatement->authorized_at ? \Carbon\Carbon::parse($periodeStatement->authorized_at)->format('d M Y H:i:s') : 'N/A' }}
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
@if($periodeStatement->processed_at)
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Processed At:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
{{ \Carbon\Carbon::parse($periodeStatement->processed_at)->format('d M Y H:i:s') }}
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-4">
|
|
<label class="form-label max-w-56 font-bold">
|
|
Authorization Status:
|
|
</label>
|
|
<div class="flex flex-wrap items-baseline">
|
|
@php
|
|
$authStatusClass = [
|
|
'pending' => 'badge-light-warning',
|
|
'approved' => 'badge-light-success',
|
|
'rejected' => 'badge-light-danger'
|
|
][$periodeStatement->authorized_status] ?? 'badge-light-primary';
|
|
@endphp
|
|
<span class="badge {{ $authStatusClass }}">{{ ucfirst($periodeStatement->authorized_status) }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if($periodeStatement->notes)
|
|
<div class="flex flex-col mt-4">
|
|
<label class="form-label font-bold mb-2">
|
|
Notes:
|
|
</label>
|
|
<div class="bg-gray-100 dark:bg-coal-300 p-4 rounded-lg whitespace-pre-line">
|
|
{{ $periodeStatement->notes }}
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|