đŸ—ƒī¸
{{ $stats['total_racks'] }}
Total Racks
đŸ“Ļ
{{ number_format($stats['total_stock']) }}
Total Stock
📊
{{ $stats['total_products'] }}
Products
💰
₹{{ number_format($stats['stock_value'], 0) }}
Stock Value
Location
Address {{ $warehouse->address ?: '-' }}
City {{ $warehouse->city ?: '-' }}
State {{ $warehouse->state ?: '-' }}
Country {{ $warehouse->country ?: 'India' }}
Contact
@if($warehouse->contactStaff)
👤
{{ $warehouse->contact_name }}
{{ $warehouse->contactStaff->employee_code }}
@if($warehouse->contactStaff->designation)
{{ $warehouse->contactStaff->designation }}
@endif
@else
Contact Person {{ $warehouse->contact_person ?: '-' }}
Phone {{ $warehouse->phone ?: '-' }}
@endif
Created {{ $warehouse->created_at->format('d M Y') }}
Last Updated {{ $warehouse->updated_at->diffForHumans() }}

Racks ({{ $warehouse->racks->count() }})

View Layout
@if($warehouse->racks->count() > 0)
@foreach($warehouse->racks as $rack) @php $current = $rack->current_stock ?? 0; $max = $rack->max_capacity ?? 0; $percent = $max > 0 ? min(100, round(($current / $max) * 100)) : 0; $fillClass = 'empty'; if ($percent >= 90) $fillClass = 'full'; elseif ($percent >= 70) $fillClass = 'high'; elseif ($percent >= 40) $fillClass = 'medium'; elseif ($percent > 0) $fillClass = 'low'; $storageTypes = \Modules\Inventory\Models\Rack::STORAGE_TYPES; $typeInfo = $storageTypes[$rack->storage_type ?? 'SHELF'] ?? $storageTypes['SHELF']; @endphp
{{ $rack->code }} {{ $typeInfo['icon'] }}
{{ $rack->name ?: 'Unnamed' }}
@if($rack->zone || $rack->aisle || $rack->level)
{{ collect([$rack->zone, $rack->aisle ? 'Aisle '.$rack->aisle : null, $rack->level ? 'Level '.$rack->level : null])->filter()->implode(' â€ē ') }}
@endif
{{ $percent }}% {{ number_format($current) }} / {{ $max > 0 ? number_format($max) : '∞' }}
@endforeach
@else

No racks in this warehouse yet

Add First Rack
@endif
Recent Movements
View All
@forelse($recentMovements as $movement) @php $iconClass = match($movement->type) { 'IN', 'RETURN' => 'in', 'OUT' => 'out', 'TRANSFER_IN', 'TRANSFER_OUT' => 'transfer', default => 'adjust' }; $icon = match($movement->type) { 'IN' => 'đŸ“Ĩ', 'OUT' => '📤', 'RETURN' => 'â†Šī¸', 'TRANSFER_IN' => 'âžĄī¸', 'TRANSFER_OUT' => 'âŦ…ī¸', 'ADJUSTMENT' => 'âš–ī¸', default => 'đŸ“Ļ' }; $qtyClass = in_array($movement->type, ['IN', 'RETURN', 'TRANSFER_IN', 'ADJUSTMENT']) && $movement->qty > 0 ? 'in' : 'out'; $qtySign = $qtyClass === 'in' ? '+' : '-'; @endphp
{{ $icon }}
{{ $movement->product->name ?? 'Unknown' }}
{{ $movement->type }} â€ĸ {{ $movement->user->name ?? 'System' }}
{{ $qtySign }}{{ number_format(abs($movement->qty)) }}
{{ $movement->created_at->diffForHumans() }}
@empty
No movements recorded yet