133 lines
6.0 KiB
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
|