104 lines
4.4 KiB
PHP
104 lines
4.4 KiB
PHP
{{-- resources/views/admin/rule/index.blade.php --}}
|
||
@extends('admin.layouts.app')
|
||
@section('title', 'Rule & Nilai CF')
|
||
@section('content')
|
||
|
||
<div class="page-header">
|
||
<div class="page-header-left">
|
||
<div class="breadcrumb">Admin / Rule & Nilai CF</div>
|
||
<h1>Rule & Nilai CF</h1>
|
||
<p>Kelola relasi penyakit–gejala dan nilai Certainty Factor pakar.</p>
|
||
</div>
|
||
<a href="{{ route('admin.rule.create') }}" class="btn btn-primary">+ Tambah Rule</a>
|
||
</div>
|
||
|
||
{{-- Filter --}}
|
||
<div class="card" style="padding:0.85rem 1.25rem; margin-bottom:1rem;">
|
||
<form method="GET" style="display:flex; gap:12px; align-items:center; flex-wrap:wrap;">
|
||
<select name="penyakit_id" onchange="this.form.submit()" style="width:220px;">
|
||
<option value="">— Semua Penyakit —</option>
|
||
@foreach($semuaPenyakit as $p)
|
||
<option value="{{ $p->id }}" {{ request('penyakit_id') == $p->id ? 'selected' : '' }}>
|
||
{{ $p->kode }} — {{ $p->nama }}
|
||
</option>
|
||
@endforeach
|
||
</select>
|
||
<div class="search-box">
|
||
<svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" style="color:var(--text-3)"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/></svg>
|
||
<input type="text" name="search" placeholder="Cari kode rule..." value="{{ request('search') }}">
|
||
</div>
|
||
@if(request('penyakit_id') || request('search'))
|
||
<a href="{{ route('admin.rule.index') }}" class="btn btn-sm">Reset</a>
|
||
@endif
|
||
</form>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="card-header">
|
||
<div class="card-title">Daftar Rule ({{ $rules->total() }})</div>
|
||
</div>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Kode Rule</th>
|
||
<th>Penyakit</th>
|
||
<th>Gejala</th>
|
||
<th style="text-align:center">Nilai Pakar</th>
|
||
<th style="text-align:center">MB</th>
|
||
<th style="text-align:center">MD</th>
|
||
<th>Nilai CF</th>
|
||
<th>Aksi</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
@forelse($rules as $rule)
|
||
<tr>
|
||
<td><span class="badge badge-mono">{{ $rule->kode_rule }}</span></td>
|
||
<td>
|
||
<div style="font-weight:500; font-size:0.82rem;">{{ $rule->penyakit->nama ?? '-' }}</div>
|
||
<span class="badge {{ ($rule->penyakit->jenis ?? '') === 'Hama' ? 'badge-hama' : 'badge-penyakit' }}">{{ $rule->penyakit->jenis ?? '-' }}</span>
|
||
</td>
|
||
<td>
|
||
<span class="badge badge-mono" style="margin-right:6px;">{{ $rule->gejala->kode ?? '-' }}</span>
|
||
<span style="font-size:0.82rem;">{{ $rule->gejala->nama ?? '-' }}</span>
|
||
</td>
|
||
<td style="text-align:center;">
|
||
<span style="font-size:1rem; font-weight:600;">{{ $rule->nilai_pakar }}</span>
|
||
<span style="font-size:0.72rem; color:var(--text-3);">/5</span>
|
||
</td>
|
||
<td style="text-align:center;">
|
||
<span style="font-size:0.85rem; font-weight:600; color:var(--green, #2d7a4f);">{{ number_format($rule->nilai_mb, 2) }}</span>
|
||
</td>
|
||
<td style="text-align:center;">
|
||
<span style="font-size:0.85rem; font-weight:600; color:var(--red);">{{ number_format($rule->nilai_md, 2) }}</span>
|
||
</td>
|
||
<td>
|
||
<div class="cf-bar-wrap">
|
||
<div class="cf-bar-bg"><div class="cf-bar-fill" style="width:{{ $rule->nilai_cf * 100 }}%"></div></div>
|
||
<span class="badge badge-mono">{{ number_format($rule->nilai_cf, 1) }}</span>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<div style="display:flex; gap:6px;">
|
||
<a href="{{ route('admin.rule.edit', $rule->id) }}" class="btn btn-sm">Edit</a>
|
||
<form method="POST" action="{{ route('admin.rule.destroy', $rule->id) }}" onsubmit="return confirm('Hapus rule {{ $rule->kode_rule }}?')">
|
||
@csrf @method('DELETE')
|
||
<button type="submit" class="btn btn-sm btn-danger">Hapus</button>
|
||
</form>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
@empty
|
||
<tr><td colspan="8" style="text-align:center; padding:2rem; color:var(--text-3);">Tidak ada rule.</td></tr>
|
||
@endforelse
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="pagination-wrap">
|
||
<div class="pagination-info">Menampilkan {{ $rules->firstItem() }}–{{ $rules->lastItem() }} dari {{ $rules->total() }} rule</div>
|
||
{{ $rules->appends(request()->query())->links() }}
|
||
</div>
|
||
</div>
|
||
@endsection
|