TIF_NGANJUK_E41220820/resources/views/home.blade.php

288 lines
14 KiB
PHP

@extends('template')
@section('title', 'Beranda')
@section('content')
<div class="main-panel">
<div class="content">
<div class="container-fluid">
<div class="mb-4">
<h4 class="mb-1 fw-semibold">
Hi, selamat datang kembali
</h4>
<small class="text-muted">
{{ now()->translatedFormat('l, d F Y') }}
Login sebagai {{ auth()->user()->isAdmin() ? 'Admin' : 'Karyawan' }}
</small>
</div>
<div class="section">
<div class="row g-4">
<!-- Jumlah Ayam -->
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="border-0 shadow-sm card rounded-3 h-100">
<div class="card-body d-flex flex-column justify-content-between">
<div class="gap-3 d-flex align-items-center">
<div class="flex-shrink-0 rounded-circle d-flex align-items-center justify-content-center"
style="width:52px;height:52px;background:#fef3c7;">
<i class="la la-paw fs-4 text-warning"></i>
</div>
<div>
<small class="text-muted d-block">Jumlah Ayam</small>
<div class="fs-5 fw-semibold">
{{ number_format($jumlahAyam ?? 0, 0, ',', '.') }} Ekor
</div>
</div>
</div>
<small class="text-muted" style="min-height:20px">
Total populasi ayam aktif
</small>
</div>
</div>
</div>
<!-- Produksi Hari Ini -->
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="border-0 shadow-sm card rounded-3 h-100">
<div class="card-body d-flex flex-column justify-content-between">
<div class="gap-3 d-flex align-items-center">
<div class="flex-shrink-0 rounded-circle d-flex align-items-center justify-content-center"
style="width:52px;height:52px;background:#fef3c7;">
<i class="la la-egg fs-4 text-warning"></i>
</div>
<div>
<small class="text-muted d-block">Produksi Hari Ini</small>
<div class="fs-5 fw-semibold">
{{ number_format($produksiHariIni ?? 0, 1, ',', '.') }} Kg
</div>
</div>
</div>
<small class="text-muted" style="min-height:20px">
Akumulasi produksi hari ini
</small>
</div>
</div>
</div>
<!-- Stok Pakan -->
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="border-0 shadow-sm card rounded-3 h-100">
<div class="card-body d-flex flex-column justify-content-between">
<div class="gap-3 d-flex align-items-center">
<div class="flex-shrink-0 rounded-circle d-flex align-items-center justify-content-center"
style="width:52px;height:52px;background:#fef3c7;">
<i class="la la-cubes fs-4 text-warning"></i>
</div>
<div>
<small class="text-muted d-block">Stok Pakan</small>
<div class="fs-5 fw-semibold">
{{ number_format($stokPakan ?? 0, 1, ',', '.') }} Karung
</div>
</div>
</div>
<small style="min-height:20px"
class="{{ isset($stokMenipis) && $stokMenipis->count() ? 'text-warning' : 'text-muted' }}">
@if (isset($stokMenipis) && $stokMenipis->count())
Stok menipis: {{ $stokMenipis->pluck('nama_barang')->join(', ') }}
@else
Stok dalam batas aman
@endif
</small>
</div>
</div>
</div>
<!-- Pendapatan -->
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="border-0 shadow-sm card rounded-3 h-100">
<div class="card-body d-flex flex-column justify-content-between">
<div class="gap-3 d-flex align-items-center">
<div class="flex-shrink-0 rounded-circle d-flex align-items-center justify-content-center"
style="width:52px;height:52px;background:#fef3c7;">
<i class="la la-wallet fs-4 text-warning"></i>
</div>
<div>
<small class="text-muted d-block">Pendapatan Hari Ini</small>
<div class="fs-5 fw-semibold">
Rp {{ number_format($pendapatanHariIni ?? 0, 0, ',', '.') }}
</div>
</div>
</div>
<small class="text-muted" style="min-height:20px">
Total transaksi hari ini
</small>
</div>
</div>
</div>
</div>
</div>
<!-- CHART SECTION -->
<div class="section">
<div class="row g-4">
<!-- Produksi Telur Mingguan -->
<div class="{{ auth()->user()->isAdmin() ? 'col-lg-6' : 'col-lg-8 mx-auto' }}">
<div class="border-0 shadow-sm card rounded-1 h-100">
<div class="card-body">
<div class="mb-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-0 fw-semibold">Produksi Telur</h6>
<small class="text-muted">Harian dalam periode terpilih</small>
</div>
<form method="GET" class="gap-2 d-flex align-items-center">
<select name="bulan" class="border-0 shadow-sm form-select form-select-sm"
style="min-width:110px" onchange="this.form.submit()">
@for ($i = 1; $i <= 12; $i++)
<option value="{{ $i }}"
{{ request('bulan', now()->month) == $i ? 'selected' : '' }}>
{{ \Carbon\Carbon::create()->month($i)->translatedFormat('F') }}
</option>
@endfor
</select>
<select name="minggu" class="border-0 shadow-sm form-select form-select-sm"
onchange="this.form.submit()">
<option value="">All</option>
@for ($i = 1; $i <= 5; $i++)
<option value="{{ $i }}"
{{ request('minggu') == $i ? 'selected' : '' }}>
W{{ $i }}
</option>
@endfor
</select>
<input type="hidden" name="tahun"
value="{{ request('tahun', now()->year) }}">
</form>
</div>
<!-- CHART -->
<div style="height:260px">
<canvas id="eggChart"></canvas>
</div>
</div>
</div>
</div>
<!-- Ringkasan Keuangan -->
@auth
@if (auth()->user()->isAdmin())
<div class="col-lg-6">
<div class="border-0 shadow-sm card rounded-1 h-100">
<div class="card-body">
<div class="mb-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-0 fw-semibold">Total Keuangan</h6>
<small class="text-muted">Mingguan</small>
</div>
<form method="GET">
<select name="bulan" class="border-0 shadow-sm form-select form-select-sm"
onchange="this.form.submit()">
@for ($i = 1; $i <= 12; $i++)
<option value="{{ $i }}"
{{ request('bulan', now()->month) == $i ? 'selected' : '' }}>
{{ \Carbon\Carbon::create()->month($i)->translatedFormat('F') }}
</option>
@endfor
</select>
</form>
</div>
<!-- CHART -->
<div style="height:260px">
<canvas id="financeChart"></canvas>
</div>
</div>
</div>
</div>
@endif
@endauth
</div>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
/* PRODUKSI TELUR */
new Chart(document.getElementById('eggChart'), {
type: 'line',
data: {
labels: @json($chartProduksiLabels ?? []),
datasets: [{
data: @json($chartProduksiData ?? []),
borderColor: 'rgba(59,130,246,1)',
backgroundColor: 'rgba(59,130,246,0.08)',
borderWidth: 2,
tension: 0.4,
fill: true
}]
},
options: {
responsive: true,
maintainAspectRatio: false
}
});
/* KEUANGAN */
@if (auth()->user()->isAdmin())
new Chart(document.getElementById('financeChart'), {
type: 'line',
data: {
labels: @json($chartFinanceLabels ?? []),
datasets: [{
label: 'Pemasukan',
data: @json($chartFinancePemasukan ?? []),
borderColor: 'rgba(34,197,94,1)',
backgroundColor: 'rgba(34,197,94,0.08)',
borderWidth: 2,
tension: 0.4,
fill: true
},
{
label: 'Pengeluaran',
data: @json($chartFinancePengeluaran ?? []),
borderColor: 'rgba(239,68,68,1)',
backgroundColor: 'rgba(239,68,68,0.08)',
borderWidth: 2,
tension: 0.4,
fill: true
}
]
},
options: {
responsive: true,
maintainAspectRatio: false
}
});
@endif
</script>
@endsection