@extends('layouts.teknisi') @section('title', 'Produksi Saya - Teknisi') @section('content')

Produksi Saya

Kelola semua produksi yang ditugaskan kepada Anda

{{-- Notifikasi Modern --}} @if (session('success') || session('error') || $errors->any()) @php $message = session('success') ?? (session('error') ?? collect($errors->all())->join('
')); $icon = session('success') ? 'success' : 'error'; @endphp @php $flashPayload = [ 'icon' => $icon, 'title' => session('success') ? 'Sukses!' : 'Terjadi Kesalahan!', 'html' => $message, 'timer' => 4000, 'timerProgressBar' => true, 'showConfirmButton' => false, 'position' => 'top-end', ]; @endphp @endif {{-- Quick Stats --}} @php $totalProductions = $productions->total(); $menungguCount = $productions->where('status', 'menunggu')->count(); $dalamProsesCount = $productions->where('status', 'dalam_proses')->count(); $pendingApprovalCount = $productions->where('planning_status', 'pending_approval')->count(); @endphp

Total Produksi

{{ $totalProductions }}

Menunggu

{{ $menungguCount }}

Dalam Proses

{{ $dalamProsesCount }}

Pending Approval

{{ $pendingApprovalCount }}

@if (request('search') || request('status') || request('planning_status'))
Filter Aktif: @if (request('search')) Pencarian: "{{ request('search') }}" @endif @if (request('status')) @php $statusLabels = [ 'menunggu' => 'Menunggu', 'dalam_proses' => 'Dalam Proses' ]; $statusLabel = $statusLabels[request('status')] ?? ucfirst(request('status')); @endphp Status: {{ $statusLabel }} @endif @if (request('planning_status')) @php $planningLabels = [ 'planning' => 'Planning', 'pending_approval' => 'Pending Approval', 'approved' => 'Approved', 'rejected' => 'Rejected' ]; $planningLabel = $planningLabels[request('planning_status')] ?? ucfirst(request('planning_status')); @endphp Planning: {{ $planningLabel }} @endif
@endif

Daftar Produksi

History
@if (request('search')) @endif
@if (request('search') || request('status') || request('planning_status')) @endif
@if($productions->count() > 0)
@foreach($productions as $production) @endforeach
ID Produk Customer Qty Status Planning Bahan/Sparepart Ditugaskan Aksi
#{{ $production->id }} @if($production->has_unread_notification ?? false) @endif
@if($production->has_unread_notification ?? false) @endif
{{ $production->product->product_title ?? 'N/A' }}
@if($production->has_unread_notification ?? false) Baru @endif
@if($production->notes)
{{ Str::limit($production->notes, 40) }}
@endif
{{ $production->order->customer_name ?? 'N/A' }}
@if($production->order->customer_email)
{{ $production->order->customer_email }}
@endif
{{ $production->quantity }} unit @php $statusConfig = [ 'menunggu' => [ 'bg' => 'bg-gray-100 dark:bg-gray-700', 'text' => 'text-gray-700 dark:text-gray-300', 'icon' => 'fa-pause', 'label' => 'Menunggu' ], 'dalam_proses' => [ 'bg' => 'bg-purple-100 dark:bg-purple-900/40', 'text' => 'text-purple-700 dark:text-purple-300', 'icon' => 'fa-cogs', 'label' => 'Proses' ], ]; $config = $statusConfig[$production->status] ?? $statusConfig['menunggu']; @endphp {{ $config['label'] }} @if($production->planning_status === 'planning') Planning @elseif($production->planning_status === 'pending_approval') Pending @elseif($production->planning_status === 'approved') Approved @elseif($production->planning_status === 'rejected') Rejected @endif
@if($production->materials_status === 'received') Bahan @elseif($production->materials_status === 'preparing') Bahan @elseif($production->materials_status === 'pending') Bahan @endif @if($production->spareparts_status === 'received') Sparepart @elseif($production->spareparts_status === 'preparing') Sparepart @elseif($production->spareparts_status === 'pending') Sparepart @endif
{{ $production->assigned_at ? $production->assigned_at->format('d/m/Y') : 'N/A' }}
{{ $production->updated_at->diffForHumans() }}
Kelola
{{ $productions->links() }}
@else

Belum Ada Produksi

@if(request()->anyFilled(['search', 'status', 'planning_status'])) Tidak ada produksi yang sesuai dengan filter Anda. @else Anda belum ditugaskan untuk produksi apapun. Admin akan menugaskan produksi kepada Anda ketika ada order yang memerlukan produksi. @endif

@if(request()->anyFilled(['search', 'status', 'planning_status'])) Reset Filter @endif
@endif @push('scripts') @endpush @endsection