184 lines
10 KiB
PHP
184 lines
10 KiB
PHP
<div>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card border-0 shadow-sm">
|
|
<div class="card-body">
|
|
<form wire:submit="generateReport">
|
|
<div class="form-row">
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Month <span class="text-danger">*</span></label>
|
|
<select wire:model="month" class="form-control" name="month">
|
|
<option value="">Select Month</option>
|
|
<option value="1">January</option>
|
|
<option value="2">February</option>
|
|
<option value="3">March</option>
|
|
<option value="4">April</option>
|
|
<option value="5">May</option>
|
|
<option value="6">June</option>
|
|
<option value="7">July</option>
|
|
<option value="8">August</option>
|
|
<option value="9">September</option>
|
|
<option value="10">October</option>
|
|
<option value="11">November</option>
|
|
<option value="12">December</option>
|
|
</select>
|
|
@error('month')
|
|
<span class="text-danger mt-1">{{ $message }}</span>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Year <span class="text-danger">*</span></label>
|
|
<select wire:model="year" class="form-control" name="year">
|
|
<option value="">Select Year</option>
|
|
@for($year = now()->year; $year >= 2025; $year--)
|
|
<option value="{{ $year }}">{{ $year }}</option>
|
|
@endfor
|
|
</select>
|
|
@error('year')
|
|
<span class="text-danger mt-1">{{ $message }}</span>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Customer Type</label>
|
|
<select wire:model="customer_type" class="form-control" name="customer_type">
|
|
<option value="">Select Customer Type</option>
|
|
<option value="walk_in">Walk-in Customer</option>
|
|
<option value="member">Member</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-row">
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Customer</label>
|
|
<select wire:model="customer_id" class="form-control" name="customer_id">
|
|
<option value="">Select Customer</option>
|
|
@foreach($customers as $customer)
|
|
<option value="{{ $customer->id }}">{{ $customer->customer_name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Status</label>
|
|
<select wire:model="sale_status" class="form-control" name="sale_status">
|
|
<option value="">Select Status</option>
|
|
<option value="Pending">Pending</option>
|
|
<option value="Shipped">Shipped</option>
|
|
<option value="Completed">Completed</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<div class="form-group">
|
|
<label>Payment Status</label>
|
|
<select wire:model="payment_status" class="form-control" name="payment_status">
|
|
<option value="">Select Payment Status</option>
|
|
<option value="Paid">Paid</option>
|
|
<option value="Unpaid">Unpaid</option>
|
|
<option value="Partial">Partial</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group mb-0">
|
|
<button type="submit" class="btn btn-primary">
|
|
<span wire:target="generateReport" wire:loading class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
|
<i wire:target="generateReport" wire:loading.remove class="bi bi-shuffle"></i>
|
|
Filter Report
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card border-0 shadow-sm">
|
|
<div class="card-body">
|
|
<table class="table table-bordered table-striped text-center mb-0">
|
|
<div wire:loading.flex class="col-12 position-absolute justify-content-center align-items-center" style="top:0;right:0;left:0;bottom:0;background-color: rgba(255,255,255,0.5);z-index: 99;">
|
|
<div class="spinner-border text-primary" role="status">
|
|
<span class="sr-only">Loading...</span>
|
|
</div>
|
|
</div>
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Reference</th>
|
|
<th>Customer</th>
|
|
<th>Status</th>
|
|
<th>Total</th>
|
|
<th>Paid</th>
|
|
<th>Due</th>
|
|
<th>Payment Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@forelse($sales as $sale)
|
|
<tr>
|
|
<td>{{ \Carbon\Carbon::parse($sale->date)->format('d M, Y') }}</td>
|
|
<td>{{ $sale->reference }}</td>
|
|
<td>{{ $sale->customer_name }}</td>
|
|
<td>
|
|
@if ($sale->status == 'Pending')
|
|
<span class="badge badge-info">
|
|
{{ $sale->status }}
|
|
</span>
|
|
@elseif ($sale->status == 'Shipped')
|
|
<span class="badge badge-primary">
|
|
{{ $sale->status }}
|
|
</span>
|
|
@else
|
|
<span class="badge badge-success">
|
|
{{ $sale->status }}
|
|
</span>
|
|
@endif
|
|
</td>
|
|
<td>{{ format_currency($sale->total_amount) }}</td>
|
|
<td>{{ format_currency($sale->paid_amount) }}</td>
|
|
<td>{{ format_currency($sale->due_amount) }}</td>
|
|
<td>
|
|
@if ($sale->payment_status == 'Partial')
|
|
<span class="badge badge-warning">
|
|
{{ $sale->payment_status }}
|
|
</span>
|
|
@elseif ($sale->payment_status == 'Paid')
|
|
<span class="badge badge-success">
|
|
{{ $sale->payment_status }}
|
|
</span>
|
|
@else
|
|
<span class="badge badge-danger">
|
|
{{ $sale->payment_status }}
|
|
</span>
|
|
@endif
|
|
|
|
</td>
|
|
</tr>
|
|
@empty
|
|
<tr>
|
|
<td colspan="8">
|
|
<span class="text-danger">No Sales Data Available!</span>
|
|
</td>
|
|
</tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
<div @class(['mt-3' => $sales->hasPages()])>
|
|
{{ $sales->links() }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|