Add status filters to asset transactions (movement, disposal, maintenance)
This commit is contained in:
@@ -17,10 +17,15 @@ class AssetMaintenanceController extends Controller
|
||||
|
||||
public function index(): View
|
||||
{
|
||||
$maintenances = AssetMaintenance::with('asset')->latest()->paginate(config('system.ui.table_page_size', 20));
|
||||
$status = request('status');
|
||||
$maintenances = AssetMaintenance::with('asset')
|
||||
->when($status, fn($q) => $q->where('status', $status))
|
||||
->latest()
|
||||
->paginate(config('system.ui.table_page_size', 20))
|
||||
->withQueryString();
|
||||
$assets = Asset::orderBy('code')->get();
|
||||
|
||||
return view('assets.maintenances', compact('maintenances', 'assets'));
|
||||
return view('assets.maintenances', compact('maintenances', 'assets', 'status'));
|
||||
}
|
||||
|
||||
public function store(Request $request): RedirectResponse
|
||||
|
||||
@@ -11,20 +11,26 @@ class AssetTransactionPageController extends Controller
|
||||
{
|
||||
public function movements(): View
|
||||
{
|
||||
$status = request('status');
|
||||
$items = AssetMovement::with(['asset', 'fromLocation', 'toLocation', 'fromDepartment', 'toDepartment', 'fromUser', 'toUser'])
|
||||
->when($status, fn($q) => $q->where('status', $status))
|
||||
->latest()
|
||||
->paginate(config('system.ui.table_page_size', 20));
|
||||
->paginate(config('system.ui.table_page_size', 20))
|
||||
->withQueryString();
|
||||
|
||||
return view('assets.movements', compact('items'));
|
||||
return view('assets.movements', compact('items', 'status'));
|
||||
}
|
||||
|
||||
public function disposals(): View
|
||||
{
|
||||
$status = request('status');
|
||||
$items = AssetDisposal::with(['asset', 'previousStatus', 'previousLocation', 'previousDepartment'])
|
||||
->when($status, fn($q) => $q->where('status', $status))
|
||||
->latest()
|
||||
->paginate(config('system.ui.table_page_size', 20));
|
||||
->paginate(config('system.ui.table_page_size', 20))
|
||||
->withQueryString();
|
||||
|
||||
return view('assets.disposals', compact('items'));
|
||||
return view('assets.disposals', compact('items', 'status'));
|
||||
}
|
||||
|
||||
public function audits(): View
|
||||
|
||||
@@ -12,6 +12,21 @@
|
||||
<div class="card-title mb-0">Disposal</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="row g-2 mb-3" method="GET">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label">Status</label>
|
||||
<select name="status" class="form-select" onchange="this.form.submit()">
|
||||
<option value="">Semua</option>
|
||||
<option value="pending" @selected(($status ?? '')==='pending')>Pending</option>
|
||||
<option value="approved" @selected(($status ?? '')==='approved')>Approved</option>
|
||||
<option value="rejected" @selected(($status ?? '')==='rejected')>Rejected</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 align-self-end">
|
||||
<button class="btn btn-outline-secondary">Filter</button>
|
||||
<a href="{{ route('asset-disposals.index') }}" class="btn btn-link">Reset</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered text-nowrap align-middle">
|
||||
<thead class="table-light">
|
||||
@@ -19,6 +34,7 @@
|
||||
<th>Waktu</th>
|
||||
<th>Aset</th>
|
||||
<th>Alasan</th>
|
||||
<th>Status</th>
|
||||
<th>Catatan</th>
|
||||
<th>Status Reverse</th>
|
||||
</tr>
|
||||
@@ -29,6 +45,7 @@
|
||||
<td>{{ optional($item->disposed_at)->format('d/m/Y H:i') ?: '-' }}</td>
|
||||
<td>{{ $item->asset?->code }} - {{ $item->asset?->name }}</td>
|
||||
<td>{{ $item->reason ?: '-' }}</td>
|
||||
<td><span class="badge bg-info-transparent text-info text-uppercase">{{ $item->status }}</span></td>
|
||||
<td>{{ $item->notes ?: '-' }}</td>
|
||||
<td>
|
||||
@if($item->reversed_at)
|
||||
@@ -40,7 +57,7 @@
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center text-muted">Belum ada disposal.</td>
|
||||
<td colspan="6" class="text-center text-muted">Belum ada disposal.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
|
||||
@@ -33,6 +33,23 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form class="row g-2 mb-3" method="GET">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label">Status</label>
|
||||
<select name="status" class="form-select" onchange="this.form.submit()">
|
||||
<option value="">Semua</option>
|
||||
<option value="pending" @selected(($status ?? '')==='pending')>Pending</option>
|
||||
<option value="approved" @selected(($status ?? '')==='approved')>Approved</option>
|
||||
<option value="rejected" @selected(($status ?? '')==='rejected')>Rejected</option>
|
||||
<option value="completed" @selected(($status ?? '')==='completed')>Completed</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 align-self-end">
|
||||
<button class="btn btn-outline-secondary">Filter</button>
|
||||
<a href="{{ route('asset-maintenances.index') }}" class="btn btn-link">Reset</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered text-nowrap align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
|
||||
@@ -12,6 +12,21 @@
|
||||
<div class="card-title mb-0">Movement</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="row g-2 mb-3" method="GET">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label">Status</label>
|
||||
<select name="status" class="form-select" onchange="this.form.submit()">
|
||||
<option value="">Semua</option>
|
||||
<option value="pending" @selected(($status ?? '')==='pending')>Pending</option>
|
||||
<option value="approved" @selected(($status ?? '')==='approved')>Approved</option>
|
||||
<option value="rejected" @selected(($status ?? '')==='rejected')>Rejected</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 align-self-end">
|
||||
<button class="btn btn-outline-secondary">Filter</button>
|
||||
<a href="{{ route('asset-movements.index') }}" class="btn btn-link">Reset</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered text-nowrap align-middle">
|
||||
<thead class="table-light">
|
||||
@@ -20,6 +35,7 @@
|
||||
<th>Aset</th>
|
||||
<th>Dari</th>
|
||||
<th>Ke</th>
|
||||
<th>Status</th>
|
||||
<th>Catatan</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -30,11 +46,12 @@
|
||||
<td>{{ $item->asset?->code }} - {{ $item->asset?->name }}</td>
|
||||
<td>{{ $item->fromLocation?->name ?: '-' }} / {{ $item->fromDepartment?->name ?: '-' }} / {{ $item->fromUser?->name ?: '-' }}</td>
|
||||
<td>{{ $item->toLocation?->name ?: '-' }} / {{ $item->toDepartment?->name ?: '-' }} / {{ $item->toUser?->name ?: '-' }}</td>
|
||||
<td><span class="badge bg-info-transparent text-info text-uppercase">{{ $item->status }}</span></td>
|
||||
<td>{{ $item->notes ?: '-' }}</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center text-muted">Belum ada movement.</td>
|
||||
<td colspan="6" class="text-center text-muted">Belum ada movement.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user