Initial commit - expense
Deploy to VPS (PAT over HTTPS) / deploy (push) Has been cancelled

This commit is contained in:
root
2026-06-01 15:01:03 +07:00
parent 9e9fab4a3f
commit 1c1418f3e0
123 changed files with 18622 additions and 10376 deletions
@@ -7,123 +7,147 @@
@section('admin-content')
<section class="content-header">
<div class="container-fluid">
<div class="row mt-1">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<form action="{{ route('reports.jurnal.generate') }}" method="GET">
<div class="d-flex">
<div class="col-md-3">
<div class="form-group mb-3">
<label for="region">Pilih Region</label>
<select name="region" id="region" class="form-control">
<option value="">Semua Region</option>
@foreach ($regions as $region)
<option value="{{ $region->code }}" {{ request()->region == $region->code ? 'selected' : '' }}>
{{ $region->name }}
</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group mb-3">
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $itemCabang)
<option value="{{ $itemCabang->code }}" {{ request()->cabang == $itemCabang->code ? 'selected' : '' }}>
{{ $itemCabang->name }}
</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group mb-3">
<label for="month">Pilih Periode Bulan</label>
<select name="month" id="month" class="form-control">
<option value="">Pilih Bulan</option>
<option value="january" {{ request()->month == 'january' ? 'selected' : '' }}>Januari</option>
<option value="february" {{ request()->month == 'february' ? 'selected' : '' }}>Februari</option>
<option value="march" {{ request()->month == 'march' ? 'selected' : '' }}>Maret</option>
<option value="april" {{ request()->month == 'april' ? 'selected' : '' }}>April</option>
<option value="may" {{ request()->month == 'may' ? 'selected' : '' }}>Mei</option>
<option value="june" {{ request()->month == 'june' ? 'selected' : '' }}>Juni</option>
<option value="july" {{ request()->month == 'july' ? 'selected' : '' }}>Juli</option>
<option value="august" {{ request()->month == 'august' ? 'selected' : '' }}>Agustus</option>
<option value="september" {{ request()->month == 'september' ? 'selected' : '' }}>September</option>
<option value="october" {{ request()->month == 'october' ? 'selected' : '' }}>Oktober</option>
<option value="november" {{ request()->month == 'november' ? 'selected' : '' }}>November</option>
<option value="december" {{ request()->month == 'december' ? 'selected' : '' }}>Desember</option>
</select>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="fw-bold">{{ $pageInfo['title'] }}</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="{{ route('admin.dashboard') }}">{{ __('Dashboard') }}</a></li>
<li class="breadcrumb-item active">{{ $pageInfo['title'] }}</li>
</ol>
</div>
</div>
<div class="col-md-3">
<div class="form-group mb-3">
<label for="year">Pilih Periode Tahun</label>
<select name="year" id="year" class="form-control">
<option value="">Pilih Tahun</option>
@for ($i = 2024; $i <= date('Y'); $i++)
<option value="{{ $i }}" {{ request()->year == $i ? 'selected' : '' }}>{{ $i }}</option>
@endfor
</select>
</div>
</div>
</div>
{{-- Filter Filter Generator Jurnal - Sinkron 11 s/d 13 Bulan Berikut --}}
<div class="row mt-4">
<div class="col-md-12">
<div class="card shadow-sm border-0" style="border-radius: 15px;">
<div class="card-body">
<form action="{{ route('reports.jurnal.generate') }}" method="GET" id="formGenerateJurnal">
<div class="row">
<div class="col-md-3">
<div class="form-group mb-3">
<label class="small fw-bold text-muted" for="region">Pilih Region</label>
<select name="region" id="region" class="form-control select2">
<option value="">Semua Region</option>
@foreach ($regions as $region)
<option value="{{ $region->code }}" {{ request()->region == $region->code ? 'selected' : '' }}>
{{ $region->name }}
</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group mb-3">
<label class="small fw-bold text-muted" for="cabang">Pilih Cabang <span class="text-danger">*</span></label>
<select name="cabang" id="cabang" class="form-control select2" required>
<option value="">Semua Cabang</option>
{{-- Data diisi via JavaScript --}}
</select>
</div>
</div>
<div class="col-md-2">
<div class="form-group mb-3">
<label class="small fw-bold text-muted" for="month">Periode Bulan</label>
<select name="month" id="month" class="form-control">
<option value="">Pilih Bulan</option>
@php
$months = ['january' => 'Januari', 'february' => 'Februari', 'march' => 'Maret', 'april' => 'April', 'may' => 'Mei', 'june' => 'Juni', 'july' => 'Juli', 'august' => 'Agustus', 'september' => 'September', 'october' => 'Oktober', 'november' => 'November', 'december' => 'Desember'];
@endphp
@foreach($months as $key => $val)
<option value="{{ $key }}" {{ (request()->month ?? strtolower(date('F'))) == $key ? 'selected' : '' }}>{{ $val }}</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="{{ route('reports.jurnal') }}" class="btn btn-secondary">Reset</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group mb-3">
<label class="small fw-bold text-muted" for="year">Periode Tahun</label>
<select name="year" id="year" class="form-control">
<option value="">Pilih Tahun</option>
@for ($i = 2024; $i <= date('Y'); $i++)
<option value="{{ $i }}" {{ (request()->year ?? date('Y')) == $i ? 'selected' : '' }}>{{ $i }}</option>
@endfor
</select>
</div>
</div>
<div class="col-md-2">
<div class="form-group mb-3">
<label class="small fw-bold text-muted" for="accounting_period">Periode Accounting</label>
<input type="text" name="accounting_period" id="accounting_period" class="form-control" placeholder="Contoh: 2026/04" value="{{ request()->accounting_period ?? date('Y/m') }}">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 text-right">
<div class="form-group mt-2">
<button type="submit" class="btn btn-primary px-4 shadow-sm">
<i class="fas fa-filter mr-1"></i> Generate Jurnal
</button>
<a href="{{ route('reports.jurnal') }}" class="btn btn-outline-secondary px-4 shadow-sm">Reset</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
<script>
$(document).ready(function() {
// Fungsi untuk memuat cabang berdasarkan region
function loadCabang(regionCode, selectedCabang = null) {
const cabangSelect = $('#cabang');
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
cabangSelect.html('<option value="">Semua Cabang</option>');
data.forEach(cabang => {
const isSelected = (selectedCabang && cabang.code === selectedCabang) ? 'selected' : '';
cabangSelect.append(`<option value="${cabang.code}" ${isSelected}>${cabang.name}</option>`);
});
})
.catch(error => console.error('Error fetching cabang:', error));
} else {
cabangSelect.html('<option value="">Semua Cabang</option>');
}
}
@endsection
// Trigger saat region diubah
$('#region').on('change', function() {
loadCabang(this.value);
});
// Jalankan saat halaman pertama kali dimuat (untuk persistence filter)
const initialRegion = '{{ request()->region }}';
const initialCabang = '{{ request()->cabang }}';
if (initialRegion) {
loadCabang(initialRegion, initialCabang);
}
// Otomatis sinkronisasi ketikan field 'Periode Accounting' saat Dropdown Bulan/Tahun diubah oleh user
$('#month, #year').on('change', function() {
const yearVal = $('#year').val();
const monthSelect = document.getElementById('month');
const monthIdx = monthSelect.selectedIndex;
if(yearVal && monthIdx > 0) {
// Merubah index bulan menjadi format 2 digit pad string (ex: April -> "04")
const paddedMonth = String(monthIdx).padStart(2, '0');
$('#accounting_period').val(`${yearVal}/${paddedMonth}`);
}
});
});
</script>
@endsection