diff --git a/app/Http/Controllers/DiagnosaController.php b/app/Http/Controllers/DiagnosaController.php index e66f9d2..e76f361 100644 --- a/app/Http/Controllers/DiagnosaController.php +++ b/app/Http/Controllers/DiagnosaController.php @@ -86,7 +86,7 @@ public function process(Request $request) $riwayat = RiwayatDiagnosa::create([ 'id_user' => Auth::user()->id, 'id_penyakit' => $terbesar['penyakit']->id, - 'nilai' => round($terbesar['nilai'] * 100, 2) . '%', + 'nilai' => ($terbesar['nilai'] * 100) . '%', 'tanggal' => now(), ]); diff --git a/app/Http/Controllers/HistoryController.php b/app/Http/Controllers/HistoryController.php index 9ac26da..0e7c5f1 100644 --- a/app/Http/Controllers/HistoryController.php +++ b/app/Http/Controllers/HistoryController.php @@ -30,6 +30,7 @@ public function index() public function detail($id) { + $role = auth()->user()->role; // Ambil data RiwayatDiagnosa berdasarkan ID $riwayat = RiwayatDiagnosa::with('penyakit', 'user')->findOrFail($id); @@ -39,13 +40,16 @@ public function detail($id) } // Kirim data ke tampilan - return view('layouts.diagnosa.hasildiagnosa', compact('riwayat')); + return view('layouts.diagnosa.hasildiagnosa', compact('riwayat', 'role')); } public function print($id) { $riwayat = \App\Models\RiwayatDiagnosa::with('penyakit', 'user')->findOrFail($id); - return view('layouts.diagnosa.print', compact('riwayat')); + $role = auth()->user()->role; + + // Kirim data riwayat dan role ke tampilan + return view('layouts.diagnosa.print', compact('riwayat', 'role')); } } diff --git a/app/Http/Controllers/PenyakitController.php b/app/Http/Controllers/PenyakitController.php index fbb807d..a6da5f8 100644 --- a/app/Http/Controllers/PenyakitController.php +++ b/app/Http/Controllers/PenyakitController.php @@ -4,19 +4,27 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use App\Models\Penyakit; // Pastikan model Penyakit ada +use App\Models\Penyakit; +use App\Models\Gejala; // Import model Gejala class PenyakitController extends Controller { public function index() { - $penyakit = DB::table('penyakit')->get(); + $penyakit = DB::table('penyakit')->get(); return view('layouts.diagnosa.detailpenyakit', compact('penyakit')); } public function show($id) { - $penyakit = Penyakit::findOrFail($id); // Hanya ambil satu penyakit berdasarkan ID - return view('layouts.diagnosa.rinciandetailpenyakit', compact('penyakit')); + $penyakit = Penyakit::findOrFail($id); // Ambil data penyakit berdasarkan ID + + // Ambil ID gejala yang terkait dengan penyakit ini + $gejala_ids = explode(',', $penyakit->gejala); + + // Ambil nama gejala berdasarkan ID + $gejala_list = Gejala::whereIn('id', $gejala_ids)->pluck('nama_gejala'); + + return view('layouts.diagnosa.rinciandetailpenyakit', compact('penyakit', 'gejala_list')); } } diff --git a/app/Http/Controllers/admin/DaftarPenyakitController.php b/app/Http/Controllers/admin/DaftarPenyakitController.php index ba88122..1c293f3 100644 --- a/app/Http/Controllers/admin/DaftarPenyakitController.php +++ b/app/Http/Controllers/admin/DaftarPenyakitController.php @@ -3,19 +3,65 @@ namespace App\Http\Controllers\admin; use App\Models\Penyakit; +use App\Models\Gejala; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Facades\Log; class DaftarPenyakitController extends Controller { - // + public function index() + { + $penyakit_list = DB::table('penyakit')->get(); + $gejala = Gejala::all(); // Ambil semua gejala + return view('layouts.admin.daftarpenyakit', compact('penyakit_list', 'gejala')); + } + + public function store(Request $request) + { + // Validasi form + $request->validate([ + 'kode_penyakit' => 'required|string|max:10|unique:penyakit', + 'nama_penyakit' => 'required|string|max:100', + 'subjudul' => 'required|string|max:150', + 'deskripsi' => 'required|string', + 'penanganan' => 'required|string', + 'gambar' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048', + 'gejala' => 'required|array', // Memastikan gejala yang dipilih adalah array + 'gejala.*' => 'exists:gejala,id', // Memastikan ID gejala ada di tabel gejala + ]); + + // Upload gambar + $gambar = $request->file('gambar'); + $namaGambar = time() . '_' . $gambar->getClientOriginalName(); + $gambar->move(public_path('assets/images'), $namaGambar); + + // Mengambil ID gejala yang dipilih dan mengubahnya menjadi string + $gejalaIds = implode(',', $request->gejala); + + // Simpan data penyakit ke database + Penyakit::create([ + 'kode_penyakit' => $request->kode_penyakit, + 'nama_penyakit' => $request->nama_penyakit, + 'subjudul' => $request->subjudul, + 'deskripsi' => $request->deskripsi, + 'penanganan' => $request->penanganan, + 'gambar' => $namaGambar, + 'gejala' => $gejalaIds, // Simpan ID gejala dalam bentuk string + ]); + + return redirect()->back()->with('success', 'Data penyakit berhasil ditambahkan!'); + } + public function update(Request $request, $id) { + // HAPUS ini: dd($request->all()); // <-- Hapus baris ini + $penyakit = Penyakit::findOrFail($id); - + $request->validate([ 'kode_penyakit' => 'required|string|max:10|unique:penyakit,kode_penyakit,' . $penyakit->id, 'nama_penyakit' => 'required|string|max:100', @@ -23,21 +69,25 @@ public function update(Request $request, $id) 'deskripsi' => 'required|string', 'penanganan' => 'required|string', 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', + 'gejala' => 'required|array', // Validasi gejala yang dipilih + 'gejala.*' => 'exists:gejala,id', ]); - // Update field + // Menyimpan log dengan memeriksa apakah gejala ada + Log::info('Gejala yang diterima: ', ['gejala' => $request->gejala]); // Menyimpan data dalam array + + // Update data penyakit $penyakit->kode_penyakit = $request->kode_penyakit; $penyakit->nama_penyakit = $request->nama_penyakit; $penyakit->subjudul = $request->subjudul; $penyakit->deskripsi = $request->deskripsi; $penyakit->penanganan = $request->penanganan; - // Kalau upload gambar baru + // Jika ada gambar baru, upload dan ganti gambar if ($request->hasFile('gambar')) { - // Hapus gambar lama $gambarPath = public_path('assets/images/' . $penyakit->gambar); if (file_exists($gambarPath)) { - unlink($gambarPath); + unlink($gambarPath); // Hapus gambar lama } // Upload gambar baru @@ -48,21 +98,21 @@ public function update(Request $request, $id) $penyakit->gambar = $namaGambar; } + // Menyinkronkan gejala yang dipilih + if ($request->has('gejala')) { + $penyakit->gejala = implode(',', $request->gejala); // Simpan ID yang dipilih dalam format string + Log::info('Gejala yang dipilih disimpan: ', ['gejala' => $penyakit->gejala]); // Menampilkan gejala yang disimpan + } else { + $penyakit->gejala = ''; // Jika tidak ada gejala yang dipilih + } + + // Simpan perubahan penyakit $penyakit->save(); return redirect()->back()->with('success', 'Data penyakit berhasil diperbarui!'); } - public function daftarpenyakit() - { - return view('layouts.admin.daftarpenyakit'); - } - public function index() - { - $penyakit_list = DB::table('penyakit')->get(); - return view('layouts.admin.daftarpenyakit')->with('penyakit_list', $penyakit_list); - } public function destroy($id) { $penyakit = Penyakit::findOrFail($id); @@ -78,34 +128,4 @@ public function destroy($id) return redirect()->back()->with('success', 'Data penyakit berhasil dihapus beserta gambarnya.'); } - - - public function store(Request $request) - { - $request->validate([ - 'kode_penyakit' => 'required|string|max:10|unique:penyakit', - 'nama_penyakit' => 'required|string|max:100', - 'subjudul' => 'required|string|max:150', - 'deskripsi' => 'required|string', - 'penanganan' => 'required|string', - 'gambar' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048', - ]); - - // Upload gambar - $gambar = $request->file('gambar'); - $namaGambar = time() . '_' . $gambar->getClientOriginalName(); - $gambar->move(public_path('assets/images'), $namaGambar); - - // Simpan data ke database - Penyakit::create([ - 'kode_penyakit' => $request->kode_penyakit, - 'nama_penyakit' => $request->nama_penyakit, - 'subjudul' => $request->subjudul, - 'deskripsi' => $request->deskripsi, - 'penanganan' => $request->penanganan, - 'gambar' => $namaGambar, - ]); - - return redirect()->back()->with('success', 'Data penyakit berhasil ditambahkan!'); - } -} +} \ No newline at end of file diff --git a/app/Http/Controllers/admin/DashboardController.php b/app/Http/Controllers/admin/DashboardController.php index 9a83713..6f05dfe 100644 --- a/app/Http/Controllers/admin/DashboardController.php +++ b/app/Http/Controllers/admin/DashboardController.php @@ -45,6 +45,11 @@ public function dashboard() return $item->count; // Jumlah pendaftar per bulan }); + $riwayatDiagnosa = RiwayatDiagnosa::with(['user', 'penyakit']) + ->orderBy('tanggal', 'desc') + ->take(10) // ambil 10 data terbaru, bisa diubah sesuai kebutuhan + ->get(); + return view('layouts.admin.dashboard', compact( 'labelsDiagnosa', 'dataDiagnosa', @@ -53,7 +58,8 @@ public function dashboard() 'totalUser', 'totalDiagnosa', 'totalPenyakit', - 'totalGejala' + 'totalGejala', + 'riwayatDiagnosa' )); } } diff --git a/app/Models/Penyakit.php b/app/Models/Penyakit.php index 450168f..819a0f9 100644 --- a/app/Models/Penyakit.php +++ b/app/Models/Penyakit.php @@ -20,6 +20,7 @@ class Penyakit extends Model 'deskripsi', 'penanganan', 'gambar', + 'gejala', ]; // Relasi ke tabel 'rules' diff --git a/public/assets/css/rinciandetailpenyakit.css b/public/assets/css/rinciandetailpenyakit.css index 32bcade..c54a2cc 100644 --- a/public/assets/css/rinciandetailpenyakit.css +++ b/public/assets/css/rinciandetailpenyakit.css @@ -225,9 +225,9 @@ .section-container h2{ } .section-container p{ - color: #03a4ed; + color: #cb2d3e; font-weight: 600; - font-size: 16px; + font-size: 15px; } @@ -257,6 +257,7 @@ @media (min-width: 768px) { .section-text { font-size: inherit; line-height: 1.6; + font-size: 15px; } diff --git a/public/assets/images/1746365051_bawang 1.png b/public/assets/images/1746365051_bawang 1.png new file mode 100644 index 0000000..99bac2c Binary files /dev/null and b/public/assets/images/1746365051_bawang 1.png differ diff --git a/public/assets/images/1746365080_bawang 1.png b/public/assets/images/1746365080_bawang 1.png new file mode 100644 index 0000000..99bac2c Binary files /dev/null and b/public/assets/images/1746365080_bawang 1.png differ diff --git a/resources/views/layouts/admin/daftarpenyakit.blade.php b/resources/views/layouts/admin/daftarpenyakit.blade.php index c19c3e0..bb3e646 100644 --- a/resources/views/layouts/admin/daftarpenyakit.blade.php +++ b/resources/views/layouts/admin/daftarpenyakit.blade.php @@ -36,6 +36,7 @@