@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @push('css') @endpush {{-- section content --}} @section('content') @php $countBelumDiajukan = 0; $countOverdue = 0; $nowCalc = \Carbon\Carbon::now()->startOfDay(); foreach($table_detail as $d) { if(isset($d->can_send) && $d->can_send === true) { $countBelumDiajukan++; } $isExp = false; if (isset($d->deadline) && $d->deadline) { try { $dl = \Carbon\Carbon::parse($d->deadline)->startOfDay(); $isExp = $nowCalc->gt($dl); } catch (\Exception $e) {} } if (($d->status_display ?? $d->status) == 'Pending' && $isExp) { $countOverdue++; } } @endphp @include('layouts.navbars.auth.topnav', ['title' => ''])
|
|
No | {{-- retrieve table header --}} @foreach ($table_header as $header) {{-- FIXED: Hide field classify_sample dan sample_date (list=0 atau tidak perlu tampil) --}} @if ($header->field == 'classify_sample' || $header->field == 'sample_date' || $header->list == '0') @continue @endif{{ $header->alias }} | @endforeachAction | ||||||
|---|---|---|---|---|---|---|---|---|---|
|
@php
// FIXED: Checkbox hanya enabled jika:
// 1. can_send = true (status Entry dan belum ada approval Pending)
// 2. Status bukan Rejected
$canCheck = isset($detail->can_send) && $detail->can_send === true && $detail->status != 'Rejected';
// Get approval text dari controller SAJA (approval_names yang sudah di-batch load)
// PENTING: JANGAN jalankan DB::select lagi, pakai data dari controller!
$idVal = $detail->id_sample ?? null;
$names = $idVal && isset($approval_names[$idVal]) ? $approval_names[$idVal] : [];
$approval_text_for_checkbox = !empty($names) ? implode(', ', $names) : '-';
@endphp
@php
$checkboxValue = $detail->id_sample ?? $detail->$primary;
@endphp
@if ($canCheck)
@else
@endif
|
{{ $vcount }} | @foreach ($table_header as $field) @php $string = $field->field; @endphp {{-- Skip field 'no' karena sudah ada No di header --}} @if ($field->field == 'no') @continue @endif {{-- FIXED: Hide field classify_sample dan sample_date (list=0 atau tidak perlu tampil) --}} @if ($field->field == 'classify_sample' || $field->field == 'sample_date' || $field->list == '0') @continue @endif {{-- Kolom Approval: tampilkan nama approver hasil query controller, implode koma, clean dan cepat --}} @if ($field->type == 'joinmultiple' && $field->field == 'id_sample')@php $idVal = $detail->id_sample ?? null; $names = $idVal && isset($approval_names[$idVal]) ? $approval_names[$idVal] : []; @endphp {{ !empty($names) ? implode(', ', $names) : '-' }} | {{-- ID Sample column: bisa diklik untuk lihat detail item via sublink - pakai link dari sys_table seperti trcrth --}} @elseif ($field->field == 'id_sample' && $field->primary == '1')@if (!empty($field->link)) {{ $detail->$string }} @else {{ $detail->$string }} @endif | {{-- field type enum --}} @elseif ($field->type == 'enum')
@if ($field->link != '')
@if ($field->query != '')
@php
$data_query = DB::select($field->query);
@endphp
@foreach ($data_query as $q)
Warning: Undefined variable $q in /opt/lampp/htdocs/msjsample/resources/views/sample/lstsmp/list.blade.php on line 322 {{ $detail->$string == $sAsArray[0] ? $sAsArray[1] : '' }} @endforeach @endif @else @if ($field->query != '') @php $data_query = DB::select($field->query); @endphp @foreach ($data_query as $q) Warning: Undefined variable $q in /opt/lampp/htdocs/msjsample/resources/views/sample/lstsmp/list.blade.php on line 336 {{ $detail->$string == $sAsArray[0] ? $sAsArray[1] : '' }} @endforeach @endif @endif |
{{-- field type date --}}
@elseif ($field->type == 'date')
{{ $detail->$string }} | {{-- field type number --}} @elseif ($field->type == 'number'){{ $detail->$string }} | {{-- Status: tampilkan status_display jika ada --}} @elseif ($field->field == 'status'){{ $detail->status_display ?? $detail->$string }} | {{-- default field --}} @else@if ($field->link != '') {{ $detail->$string }} @else {{ $detail->$string }} @endif | @endif @endforeach{{-- button view --}} @php // FIXED: Hide button jika sample sudah dikirim (can_send = false) $showSendGmail = isset($detail->can_send) && $detail->can_send === true; @endphp @if ($showSendGmail) @endif {{-- check authorize edit --}} @if ($authorize->edit == '1') {{-- check status active --}} @if ($detail->isactive == 1) {{-- button edit --}} @endif @endif {{-- button delete --}} @if (in_array($detail->status, ['Entry'])) @endif |