@extends('layouts.teknisi') @section('title', 'Stock Sparepart - Teknisi') @section('content')
Daftar sparepart yang tersedia untuk produksi
Total Sparepart
{{ $spareparts->total() }}
Stok Aman
{{ $spareparts->getCollection()->filter(fn($s)=>($s->stock ?? 0) > 20)->count() }}
Stok Rendah
{{ $spareparts->getCollection()->filter(fn($s)=>($s->stock ?? 0) <= 5)->count() }}
Nilai Persediaan
Rp {{ number_format($spareparts->getCollection()->sum(fn($s)=>($s->stock ?? 0) * ($s->price ?? 0)), 0, ',', '.') }}
| No | Gambar | Kode | Nama | Brand | No Part | Stock | Unit | Harga | Supplier | Status | Diupdate |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ $spareparts->firstItem() + $loop->index }} |
@php
$imgPath = null;
if ($sparepart->image) {
$imgPath = asset('uploads/spareparts/' . $sparepart->image);
} else {
$imgPath = asset('images/no-image.png');
}
@endphp
|
{{ $sparepart->part_code ?? '-' }} | {{ $sparepart->name }} | {{ $sparepart->brand ?? '-' }} | {{ $sparepart->part_number ?? '-' }} | {{ $sparepart->stock }} | {{ $sparepart->unit }} | Rp {{ number_format($sparepart->price, 0, ',', '.') }} | {{ $sparepart->supplier ?? '-' }} | @php $badge = match(true){ $sparepart->stock <= 5 => 'bg-rose-100 text-rose-800 dark:bg-rose-900/40 dark:text-rose-200', $sparepart->stock <= 20 => 'bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-200', default => 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-200' }; $label = $sparepart->stock <= 5 ? 'Rendah' : ($sparepart->stock <= 20 ? 'Sedang' : 'Aman'); @endphp {{ $label }} | {{ $sparepart->updated_at?->format('d/m/Y H:i') ?? '-' }} |
|
Belum ada sparepart yang tersedia |
|||||||||||