TIF_NGANJUK_E41220418/resources/views/admin/beranda/index.blade.php

356 lines
20 KiB
PHP
Executable File

@extends('layouts.admin')
@section('title', 'Beranda')
@section('content')
{{-- ALERT SUKSES --}}
@if (session('success'))
<div class="alert alert-success alert-dismissible fade show" role="alert">
{{ session('success') }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
@endif
{{-- ALERT ERROR UMUM (Jika ada error selain validasi modal) --}}
@if (session('error'))
<div class="alert alert-danger alert-dismissible fade show" role="alert">
{{ session('error') }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
@endif
<section class="row gy-3">
<div class="col-12">
<div class="row gx-3">
@if (Auth::user()->role === 'pemilik')
<div class="col-6 col-lg-3 col-md-6">
<div class="card mb-0">
<div class="card-body px-3 py-4">
<div class="stat-header">
<h6 class="stat-label">Pendapatan Bulan Ini</h6>
<i class="bi bi-info-circle menu-dots" data-bs-toggle="tooltip" data-bs-placement="top"
title="Total pendapatan dari pesanan buket dan foto dalam bulan ini"></i>
</div>
<div class="stat-body">
<div class="stat-icon">
<i class="bi bi-bank"></i>
</div>
<div>
<h6 class="stat-count">Rp {{ number_format($stat['pendapatan'], 0, ',', '.') }}</h6>
<span
class="stat-percent {{ $stat['pendapatan_grow'] >= 0 ? 'text-success' : 'text-danger' }} fw-bold">
<i
class="bi {{ $stat['pendapatan_grow'] >= 0 ? 'bi-arrow-up' : 'bi-arrow-down' }}"></i>
{{ abs($stat['pendapatan_grow']) }}%
</span>
<small class="stat-month">dari bulan lalu</small>
</div>
</div>
</div>
</div>
</div>
<div class="col-6 col-lg-3 col-md-6">
<div class="card mb-0">
<div class="card-body px-3 py-4">
<div class="stat-header">
<h6 class="stat-label">Total Pesanan Masuk</h6>
<i class="bi bi-info-circle menu-dots" data-bs-toggle="tooltip" data-bs-placement="top"
title="Total pesanan buket dan foto yang masuk dalam bulan ini"></i>
</div>
<div class="stat-body">
<div class="stat-icon">
<i class="bi bi-cart-fill"></i>
</div>
<div>
<h6 class="stat-count">{{ $stat['masuk_count'] }} Pesanan</h6>
<span
class="stat-percent {{ $stat['masuk_grow'] >= 0 ? 'text-success' : 'text-danger' }} fw-bold">
<i
class="bi {{ $stat['masuk_grow'] >= 0 ? 'bi-arrow-up' : 'bi-arrow-down' }}"></i>
{{ abs($stat['masuk_grow']) }}%
</span>
<small class="stat-month">dari bulan lalu</small>
</div>
</div>
</div>
</div>
</div>
<div class="col-6 col-lg-3 col-md-6">
<div class="card mb-0">
<div class="card-body px-3 py-4">
<div class="stat-header">
<h6 class="stat-label">Pesanan Selesai</h6>
<i class="bi bi-info-circle menu-dots" data-bs-toggle="tooltip" data-bs-placement="top"
title="Total pesanan buket dan foto yang selesai dalam bulan ini"></i>
</div>
<div class="stat-body">
<div class="stat-icon">
<i class="bi bi-cart-check-fill"></i>
</div>
<div>
<h6 class="stat-count">{{ $stat['selesai_count'] }} Pesanan</h6>
<span
class="stat-percent {{ $stat['selesai_grow'] >= 0 ? 'text-success' : 'text-danger' }} fw-bold">
<i
class="bi {{ $stat['selesai_grow'] >= 0 ? 'bi-arrow-up' : 'bi-arrow-down' }}"></i>{{ abs($stat['selesai_grow']) }}%
</span>
<small class="stat-month">dari bulan lalu</small>
</div>
</div>
</div>
</div>
</div>
<div class="col-6 col-lg-3 col-md-6">
<div class="card mb-0">
<div class="card-body px-3 py-4">
<div class="stat-header">
<h6 class="stat-label">Pesanan Ditolak</h6>
<i class="bi bi-info-circle menu-dots" data-bs-toggle="tooltip" data-bs-placement="top"
title="Total pesanan buket dan foto yang ditolak dalam bulan ini"></i>
</div>
<div class="stat-body">
<div class="stat-icon">
<i class="bi bi-cart-x-fill"></i>
</div>
<div>
<h6 class="stat-count">{{ $stat['batal_count'] }} Pesanan</h6>
<span
class="stat-percent {{ $stat['batal_grow'] <= 0 ? 'text-success' : 'text-danger' }} fw-bold">
<i
class="bi {{ $stat['batal_grow'] >= 0 ? 'bi-arrow-up' : 'bi-arrow-down' }}"></i>
{{ abs($stat['batal_grow']) }}%
</span>
<small class="stat-month">dari bulan lalu</small>
</div>
</div>
</div>
</div>
</div>
@endif
</div>
</div>
<div class="col-12">
<div class="row gx-3">
<div class="col-12 col-xl-6">
<div class="card mb-0">
<div class="card-header">
<h4>Buket Diambil Hari Ini</h4>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover table-lg">
<thead>
<tr>
<th>Waktu</th>
<th>Nama Pelanggan</th>
<th>Nama Buket</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse ($buketToday as $p)
<tr>
<td>{{ \Carbon\Carbon::parse($p->tgl_ambil)->format('H:i') }} WIB</td>
<td>{{ $p->pelanggan->nama }}</td>
<td>{{ $p->buket->nama }}</td>
<td class="col-auto">
<a href="#" class="btn icon btn-primary btn-action"
data-bs-toggle="modal"
data-bs-target="#buket{{ $p->id_transaksi }}">
<i class="bi bi-eye"></i>
</a>
</td>
</tr>
@include('admin.pesanan.partials.modal-buket')
@empty
<tr>
<td colspan="4" class="text-center text-muted">Tidak ada buket diambil
hari ini.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="col-12 col-xl-6">
<div class="card mb-0">
<div class="card-header">
<h4>Jadwal Foto Hari Ini</h4>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover table-lg">
<thead>
<tr>
<th>Waktu</th>
<th>Nama Pelanggan</th>
<th>Nama Paket</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse ($fotoToday as $p)
<tr>
<td>{{ \Carbon\Carbon::parse($p->jam_mulai)->format('H:i') }} -
{{ \Carbon\Carbon::parse($p->jam_selesai)->format('H:i') }}</td>
<td>{{ $p->pelanggan->nama }}</td>
<td>{{ $p->paketFoto->nama }}</td>
<td class="col-auto">
<a href="#" class="btn icon btn-primary btn-action"
data-bs-toggle="modal"
data-bs-target="#foto{{ $p->id_booking }}">
<i class="bi bi-eye"></i>
</a>
</td>
</tr>
@include('admin.pesanan.partials.modal-foto')
@empty
<tr>
<td colspan="4" class="text-center text-muted">Tidak ada jadwal foto
hari ini.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 col-xl-12">
<div class="card mb-0">
<div class="card-header">
<h4>Pesanan Pending</h4>
</div>
<div class="card-body">
<div class="nav nav-pills nav-fill mb-4" id="v-pills-tab" role="tablist"
aria-orientation="horizontal">
<a class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" href="#v-pills-home"
role="tab" aria-controls="v-pills-home" aria-selected="true">
Buket
</a>
<a class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" href="#v-pills-profile"
role="tab" aria-controls="v-pills-profile" aria-selected="false">
Foto
</a>
</div>
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-home" role="tabpanel"
aria-labelledby="v-pills-home-tab">
<table class="table table-striped" id="riwayat-buket">
<thead>
<tr>
<th>No. Invoice</th>
<th>Nama Pelanggan</th>
<th>Nama Buket</th>
<th>Tanggal Ambil</th>
<th>Jam Ambil</th>
<th>Total</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse ($pesananBuket as $p)
<tr>
<td>{{ $p->no_invoice }}</td>
<td>{{ $p->pelanggan->nama }}</td>
<td>{{ $p->buket->nama }}</td>
<td>
{{ \Carbon\Carbon::parse($p->tgl_ambil)->locale('id')->translatedFormat('d F Y') }}
</td>
<td>
{{ \Carbon\Carbon::parse($p->tgl_ambil)->format('H:i') }} WIB
</td>
<td>Rp {{ number_format($p->total_bayar, 0, ',', '.') }}</td>
<td>
<span class="badge {{ $p->status_label->class }}">
{{ $p->status_label->text }}
</span>
</td>
<td class="text-center col-auto"><a href="#"
class="btn icon btn-primary btn-action" data-bs-toggle="modal"
data-bs-target="#buket{{ $p->id_transaksi }}">
<i class="bi bi-eye"></i>
</a>
</td>
</tr>
@include('admin.pesanan.partials.modal-buket')
@empty
<tr>
<td colspan="8" class="text-center text-muted">Tidak ada pesanan buket yang
pending.
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
<div class="tab-pane fade" id="v-pills-profile" role="tabpanel"
aria-labelledby="v-pills-profile-tab">
<table class="table table-striped" id="riwayat-foto">
<thead>
<tr>
<th>No. Invoice</th>
<th>Nama Pelanggan</th>
<th>Nama Paket</th>
<th>Tanggal Booking</th>
<th>Waktu</th>
<th>Total</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse ($pesananFoto as $p)
<tr>
<td>{{ $p->no_invoice }}</td>
<td>{{ $p->pelanggan->nama }}</td>
<td>{{ $p->paketFoto->nama }}</td>
<td>
{{ \Carbon\Carbon::parse($p->tgl_booking)->locale('id')->translatedFormat('d F Y') }}
</td>
<td>
{{ \Carbon\Carbon::parse($p->jam_mulai)->format('H:i') }} -
{{ \Carbon\Carbon::parse($p->jam_selesai)->format('H:i') }}
</td>
<td>Rp {{ number_format($p->total_bayar, 0, ',', '.') }}</td>
<td>
<span class="badge {{ $p->status_label->class }}">
{{ $p->status_label->text }}
</span>
</td>
<td class="text-center col-auto"><a href="#"
class="btn icon btn-primary btn-action" data-bs-toggle="modal"
data-bs-target="#foto{{ $p->id_booking }}">
<i class="bi bi-eye"></i>
</a>
</td>
</tr>
@include('admin.pesanan.partials.modal-foto')
@empty
<tr>
<td colspan="8" class="text-center text-muted">Tidak ada pesanan
foto yang pending.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection