@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => '']) @php // FIXED: Define $isFinished based on 4 mandatory fields (COA, ROLL, Jumbo, Tanggal COA) $allItemsFilled = true; foreach ($details as $item) { // Only Produksi/ORU/Backup QA items have mandatory fields if (in_array($item->sumber_material, ['Produksi', 'ORU', 'Backup QA/PPIC'])) { if (empty($item->nomor_coa) || empty($item->nomor_roll) || empty($item->nomor_jumbo) || empty($item->tanggal_coa)) { $allItemsFilled = false; break; } } } $isFinished = ($sample->status === 'Finished') && $allItemsFilled; $canEdit = false; // Will be controlled by JavaScript $isAdmin = $is_admin ?? false; // Admins role: bisa edit semua field @endphp
Ongoing Sample - Detail COA & ROLL
@if(!$isFinished || $isAdminMarketing) @endif
@include('components.alert') {{-- Sample Header Info (Read-only) --}}
{{ $sample->id_sample }}
Customer: {{ $sample->customer ?? '-' }} Project: {{ $sample->project ?? '-' }} End User: {{ $sample->end_user ?? '-' }} Sales: {{ $sample->nama_sales ?? '-' }} Classify: {{ $sample->classify_sample ?? '-' }} @if(($sample->classify_sample ?? '') === 'Improved' && !empty($sample->gedung_sample)) Gedung: {{ $sample->gedung_sample }} @endif @if($sample->deadline) Deadline: {{ \Carbon\Carbon::parse($sample->deadline)->format('d/m/Y') }} @endif
{{-- Previous Notes --}} @if (!empty($previous_notes))
@foreach ($previous_notes as $index => $note)
{{ $note['level_label'] ?? $note['level'] }} @if (isset($note['date'])) {{ \Carbon\Carbon::parse($note['date'])->format('d/m/Y H:i') }} @endif

{!! nl2br(e(trim($note['note']))) !!}

@endforeach
@endif
@csrf
Item Sample
@if($details && $details->isNotEmpty()) @foreach($details as $index => $item)
{{-- Item Header --}}
@if($details->count() > 1) Item {{ $index + 1 }}: {{ $item->aplikasi_name ?? '-' }} - {{ $item->item ?? '-' }} @else {{ $item->aplikasi_name ?? '-' }} - {{ $item->item ?? '-' }} @endif
{{-- Item Content --}}
{{-- Action Buttons --}} {{-- Data Item Utama --}}
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
@if($isAdmin) @else @endif
{{-- Detail Produksi - FIXED: Admin/SPV bisa mengisi variabel lain --}}
Detail Produksi & Item
@php $isAdminMarketing = $is_admin_or_marketing ?? false; @endphp
@php $sumberValue = $item->sumber_material ?? ''; $sumberOptions = ['Produksi', 'ORU', 'Backup QA/PPIC']; @endphp
{{-- FIXED: Field Editable: Nomor COA dan Nomor ROLL - SPV bebas mengisi kolom apapun, hilangkan validasi fillable --}}
@if($isFinished) Sudah terisi - tidak dapat diubah (sample selesai) @elseif(!empty($item->nomor_coa)) Sudah terisi - dapat diubah @else Bebas diisi (tidak wajib) @endif
@if($isFinished) Sudah terisi - tidak dapat diubah (sample selesai) @elseif(!empty($item->nomor_roll)) Sudah terisi - dapat diubah @else Bebas diisi (tidak wajib) @endif
{{-- NEW: Nomor Jumbo & Tanggal COA (Always visible, editable for admmrk/admins) --}} @php $canEditExtra = $isAdminMarketing; @endphp
@endforeach {{-- FIXED: Submit Button - Always render if admin, or if not finished --}} @if(!$isFinished || $isAdminMarketing)
@if(!$isFinished)

Jika semua item sudah terisi (COA, ROLL, Jumbo, dan Tanggal COA lengkap), sample akan otomatis pindah ke status Finished.

@else

Mode Admin: Anda dapat mengoreksi data meskipun status sudah Finished.

@endif
@endif @if($isFinished && !$isAdminMarketing)
Sample sudah selesai! Semua item sudah terisi. Data tidak dapat diubah lagi.
@endif @else
Tidak ada data item sample.
@endif
@endsection