MIF_E31230333/resources/views/admin/konsultasi/show.blade.php

133 lines
6.0 KiB
PHP

{{-- resources/views/admin/konsultasi/show.blade.php
KEGUNAAN: Halaman detail satu sesi konsultasi.
Menampilkan gejala yang dipilih, hasil diagnosa lengkap,
dan log perhitungan CF step-by-step. --}}
@extends('admin.layouts.app')
@section('title', 'Detail Konsultasi')
@section('content')
<div class="page-header">
<div class="page-header-left">
<div class="breadcrumb">Admin / <a href="{{ route('admin.konsultasi.index') }}">Riwayat Konsultasi</a> / Detail</div>
<h1>Detail Konsultasi</h1>
<p style="font-family:monospace;">{{ $konsultasi->kode_konsultasi }}</p>
</div>
<a href="{{ route('admin.konsultasi.index') }}" class="btn"> Kembali</a>
</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem;">
{{-- Info Konsultasi --}}
<div class="card">
<div class="card-header"><div class="card-title">Informasi Konsultasi</div></div>
<div class="card-body">
<table style="font-size:0.83rem;">
<tr><td style="color:var(--text-2); padding:5px 0; width:130px;">Kode</td><td style="font-family:monospace; font-weight:600;">{{ $konsultasi->kode_konsultasi }}</td></tr>
<tr><td style="color:var(--text-2); padding:5px 0;">Pengguna</td><td>{{ $konsultasi->user->name ?? 'Guest' }}</td></tr>
<tr><td style="color:var(--text-2); padding:5px 0;">Tanggal</td><td>{{ \Carbon\Carbon::parse($konsultasi->tanggal)->format('d M Y, H:i') }}</td></tr>
<tr><td style="color:var(--text-2); padding:5px 0;">Status</td>
<td>
@if($konsultasi->status === 'selesai')
<span class="badge badge-success">Selesai</span>
@else
<span class="badge badge-warning">Tidak Terdeteksi</span>
@endif
</td>
</tr>
<tr><td style="color:var(--text-2); padding:5px 0;">Jumlah Gejala</td><td>{{ $konsultasi->gejalaList->count() }} gejala dipilih</td></tr>
</table>
</div>
</div>
{{-- Gejala Dipilih --}}
<div class="card">
<div class="card-header"><div class="card-title">Gejala yang Dipilih</div></div>
<div class="card-body" style="max-height:200px; overflow-y:auto;">
@foreach($konsultasi->gejalaList as $kg)
<div style="display:flex; align-items:center; gap:8px; margin-bottom:6px; font-size:0.82rem;">
<span class="badge badge-mono">{{ $kg->gejala->kode ?? '-' }}</span>
{{ $kg->gejala->nama ?? '-' }}
</div>
@endforeach
</div>
</div>
</div>
{{-- Hasil Diagnosa --}}
<div class="card" style="margin-bottom:1.25rem;">
<div class="card-header"><div class="card-title">Hasil Diagnosa</div></div>
<div class="table-wrap">
<table>
<thead>
<tr><th>Ranking</th><th>Penyakit</th><th>Nilai CF</th><th>Persentase</th><th>Interpretasi</th></tr>
</thead>
<tbody>
@forelse($konsultasi->hasilDiagnosa as $hasil)
<tr>
<td style="text-align:center; font-weight:700; color:{{ $hasil->ranking === 1 ? 'var(--red)' : 'var(--text-2)' }};">#{{ $hasil->ranking }}</td>
<td>
<div style="font-weight:500;">{{ $hasil->penyakit->nama ?? '-' }}</div>
<span class="badge {{ ($hasil->penyakit->jenis ?? '') === 'Hama' ? 'badge-hama' : 'badge-penyakit' }}">{{ $hasil->penyakit->jenis ?? '-' }}</span>
</td>
<td><span class="badge badge-mono">{{ number_format($hasil->nilai_cf_akhir, 4) }}</span></td>
<td>
<div class="cf-bar-wrap">
<div class="cf-bar-bg"><div class="cf-bar-fill" style="width:{{ $hasil->persentase }}%"></div></div>
<span style="font-size:0.82rem; font-weight:600;">{{ number_format($hasil->persentase, 2) }}%</span>
</div>
</td>
<td>
@php
$cf = $hasil->nilai_cf_akhir;
$label = $cf >= 0.81 ? 'Sangat Yakin' : ($cf >= 0.61 ? 'Yakin' : ($cf >= 0.41 ? 'Cukup Yakin' : ($cf >= 0.21 ? 'Mungkin' : 'Tidak Yakin')));
@endphp
<span class="badge badge-success">{{ $label }}</span>
</td>
</tr>
@empty
<tr><td colspan="5" style="text-align:center; padding:1.5rem; color:var(--text-3);">Tidak ada penyakit terdeteksi.</td></tr>
@endforelse
</tbody>
</table>
</div>
</div>
{{-- Log Perhitungan CF --}}
<div class="card">
<div class="card-header">
<div class="card-title">Log Perhitungan CF</div>
</div>
@foreach($hasilInfer['detail_log'] ?? [] as $idP => $logs)
@php
$p = \App\Models\Penyakit::find($idP);
$cfAkhir = $hasilInfer['semua_cf'][$idP] ?? 0;
$terdeteksi = $cfAkhir >= 0.2;
@endphp
<div style="padding:1rem 1.25rem; border-bottom:1px solid var(--border); {{ $terdeteksi ? 'background:#FAFFFE;' : '' }}">
<div style="font-size:0.85rem; font-weight:600; margin-bottom:8px; color:{{ $terdeteksi ? 'var(--green)' : 'var(--text-2)' }};">
{{ $terdeteksi ? '✅' : '❌' }} {{ $p->nama ?? '-' }} CF Akhir: <span style="font-family:monospace;">{{ number_format($cfAkhir, 4) }}</span> ({{ number_format($cfAkhir * 100, 2) }}%)
</div>
<div class="table-wrap">
<table style="font-size:0.78rem;">
<thead>
<tr><th>Step</th><th>Rule</th><th>Gejala</th><th>CF Pakar</th><th>CF Individu</th><th>CF Sesudah</th></tr>
</thead>
<tbody>
@foreach($logs as $log)
<tr>
<td>{{ $log['step'] }}</td>
<td><span class="badge badge-mono">{{ $log['rule'] }}</span></td>
<td><span class="badge badge-mono" style="margin-right:4px;">{{ $log['kode_gejala'] }}</span>{{ \Illuminate\Support\Str::limit($log['nama_gejala'], 30) }}</td>
<td style="text-align:center;">{{ $log['cf_pakar'] }}</td>
<td style="text-align:center; font-family:monospace;">{{ $log['cf_individu'] }}</td>
<td style="text-align:center; font-family:monospace; font-weight:600; color:var(--red);">{{ $log['cf_sesudah'] }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endforeach
</div>
@endsection