add - dashborad ( penyakit, aturan, dan gejala )

This commit is contained in:
FahrezaDaffa93 2024-04-27 20:58:25 +07:00
parent ee59e5a722
commit 3968728dee
27 changed files with 12481 additions and 35 deletions

View File

@ -19,7 +19,7 @@ public function index()
$Penyakit = Penyakit::all();
$gejalas = Gejala::orderBy('id_gejala')->get();
return view("aturan.aturan", compact('aturan','gejalas'));
return view("dashboard.aturan.aturan", compact('aturan','gejalas'));
}
/**
@ -65,8 +65,10 @@ public function update(Request $request, string $id)
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
public function destroy(string $id_aturan)
{
//
$aturan = Aturan::find($id_aturan);
$aturan->delete();
return redirect()->route('aturan');
}
}

View File

@ -53,6 +53,7 @@ protected function validator(array $data)
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'alamat' => ['required', 'string', 'max:255'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
@ -69,6 +70,7 @@ protected function create(array $data)
'email' => $data['email'],
'alamat' => $data['alamat'],
'password' => Hash::make($data['password']),
'role' => 'pengguna',
]);
}
}

View File

@ -12,7 +12,11 @@ class GejalaController extends Controller
public function index()
{
$gejala = Gejala::all();
return view("gejala",compact("gejala"));
if(auth()->user()->role == 'pengguna') {
return view("gejala.gejala", compact("gejala"));
} elseif(auth()->user()->role == 'admin') {
return view("dashboard.gejala.gejala", compact("gejala"));
}
}
/**
@ -28,9 +32,18 @@ public function create()
*/
public function store(Request $request)
{
//
$validatedData = $request->validate([
'kode_gejala' => 'required|string',
'gejala' => 'required|string',
'nilai_densitas' => 'required|string',
]);
Gejala::create($validatedData);
return redirect('gejala')->with('success', 'Data gejala berhasil disimpan.');
}
/**
* Display the specified resource.
*/
@ -58,8 +71,11 @@ public function update(Request $request, string $id)
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
public function destroy(string $id_gejala)
{
//
$gejala = Gejala::find($id_gejala);
$gejala->delete();
return redirect()->route('gejala');
}
}

View File

@ -41,9 +41,9 @@ public function store(Request $request)
/**
* Display the specified resource.
*/
public function showdata($data_diagnosa)
public function showdata($id_hasil)
{
$dataDiagnosa = Hasil::find($data_diagnosa)->toArray();
$dataDiagnosa = Hasil::find($id_hasil)->toArray();
$dataTampilan = [
'navLink' => 'diagnosa',
@ -54,6 +54,20 @@ public function showdata($data_diagnosa)
return view('konsultasi.hasilDiagnosa', $dataTampilan);
}
public function cetakHasil($id_hasil)
{
$dataDiagnosa = Hasil::find($id_hasil)->toArray();
$dataTampilan = [
'navLink' => 'diagnosa',
'dataDiagnosa' => $dataDiagnosa,
'hasilDiagnosa' => json_decode($dataDiagnosa['hasil_diagnosa'])
];
return view('konsultasi.cetak-diagnosa', $dataTampilan);
}
public function hitungKonsultasi(Request $request)
{
$validateReq = $request->validate([
@ -111,11 +125,10 @@ public function hitungKonsultasi(Request $request)
$hasil->save();
$idHasil = $hasil->id_hasil;
if ($idDiagnosa == $idHasil) {
return redirect()->to('diagnosa/' . $idDiagnosa);
} else {
return back()->withInput();
}
return redirect()->to('diagnosa/' . $idHasil);
}
}
}

View File

@ -13,8 +13,13 @@ class PenyakitController extends Controller
public function index()
{
$penyakit = Penyakit::all();
if(auth()->user()->role == 'pengguna') {
return view("penyakit.penyakit", compact("penyakit"));
} elseif(auth()->user()->role == 'admin') {
return view("dashboard.penyakit.penyakit", compact("penyakit"));
}
}
/**
* Show the form for creating a new resource.
@ -59,8 +64,9 @@ public function update(Request $request, string $id)
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
public function destroy(string $id_penyakit)
{
//
}
$penyakit = Penyakit::find($id_penyakit);
$penyakit->delete();
return redirect()->route('penyakit');}
}

View File

@ -8,6 +8,7 @@ class Aturan extends Model
{
use HasFactory;
protected $primaryKey ="id_aturan";
protected $table = 'aturan';
// Relasi ke model Gejala

View File

@ -8,6 +8,10 @@
class Gejala extends Model
{
use HasFactory;
protected $table='gejala';
protected $primaryKey='id_gejala';
protected $fillable = [
'kode_gejala', 'gejala', 'nilai_densitas',
];
}

View File

@ -22,6 +22,7 @@ class User extends Authenticatable
'email',
'password',
'alamat',
'role',
];
/**

View File

@ -13,11 +13,12 @@ public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('nama');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('alamat');
$table->string('role');
$table->rememberToken();
$table->timestamps();
});

View File

@ -15,7 +15,7 @@ public function up()
$table->id('id_hasil');
$table->string('nama');
$table->text('alamat');
$table->string('jenis_sapi');
$table->string('jenis_sapi')->default(null);
$table->longText('hasil_diagnosa');
$table->longText('solusi');
$table->timestamps();

11281
public/css/sb-admin-2.css Normal file

File diff suppressed because it is too large Load Diff

10
public/css/sb-admin-2.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,221 @@
@extends('dashboard.navigasi.master')
@section('content')
{{-- @include('nav.footer') --}}
@include('dashboard.navigasi.navbar')
@auth
<body id="page-top">
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<form class="form-inline">
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
</form>
<!-- Topbar Search -->
<form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i>
</button>
</div>
</div>
</form>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Data Gejala</h6>
</div>
<div class="card-header py-3">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#add-aturan">Tambah Gejala</button>
@include('dashboard.aturan.add-aturan')
{{-- @include('dashboard.produk.add-produk-to-admin') --}}
</div>
<div class="card-body">
<div class="table-responsive" id="tab">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th class="text-center">No</th>
<th>Kode Penyakit</th>
<th>Kode Gejala</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<!-- footer content -->
</tfoot>
<tbody>
@foreach ($aturan as $data)
<tr>
<td class="text-center">{{ $loop->iteration }}</td>
<td>{{ $data->kode_penyakit }}</td>
<td>{{ $data->kode_gejala }}</td>
<td>
{{-- <a href="#" class="edit-button" data-bs-toggle="modal" data-bs-target="#edit-gejala"
data-id_gejala="{{ $data->id_aturan }}" data-kode-gejala="{{ $data->kode_gejala }}"
data-gejala="{{ $data->gejala }}" data-nilai-densitas="{{ $data->nilai_densitas}}">
<i class="fas fa-edit"></i>
</a> --}}
<a href="{{ route('delete-aturan', $data->id_aturan) }}" onclick="return confirm('Apakah Anda yakin ingin menghapus produk ini?')">
<i class="fas fa-trash-alt" style="color: red"></i>
</a>
</td>
</tr>
@endforeach
{{-- @include('dashboard.produk.edit-produk') --}}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('.edit-button').click(function() {
var id_produk = $(this).data('id_produk');
var nama = $(this).data('nama');
var foto = $(this).data('foto');
var harga = $(this).data('harga');
var stok = $(this).data('stok');
$('#edit-produk').find('#edit-id').val(id_produk);
$('#edit-produk').find('#edit-nama').val(nama);
$('#edit-produk').find('#edit-foto').val(foto);
$('#edit-produk').find('#edit-harga').val(harga);
$('#edit-produk').find('#edit-stok').val(stok);
});
});
</script>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- ... (modals and scripts) ... -->
</section>
</div>
<!-- Modal Edit Data -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<!-- Modal Add Data -->
<div class="modal fade" id="add-aturan" tabindex="-1" role="dialog" aria-labelledby="addAturanModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addGejalaModalLabel">Add Aturan</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<!-- Form for adding new user data -->
<form id="add-user-form">
<!-- Add form fields for new user data here -->
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Add User</button>
</div>
</div>
</div>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="login.html">Logout</a>
</div>
</div>
</div>
</div>
@endauth
@guest <!-- Menampilkan pesan jika pengguna belum login -->
<div class="container">
<div class="alert alert-warning" role="alert">
Anda harus login untuk mengakses halaman ini.
</div>
</div>
@endguest
<!-- Bootstrap core JavaScript-->
@endsection

View File

@ -0,0 +1,34 @@
<div class="modal fade" id="add-aturan" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editUserModalLabel">Tambah Aturan</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('add-aturan') }}" class="needs-validation" novalidate="" method="POST" enctype="multipart/form-data">
@csrf
@method('POST')
<div class="form-group">
<label for="edit-name">Kode penyakit</label>
<input type="text" name="kode_penyakit" class="form-control" placeholder="Masukkan Kode penyakit">
</div>
<div class="form-group">
<label for="edit-email">Kode Gejala</label>
<input type="text" name="kode_gejala" class="form-control" placeholder="Masukkan Kode Gejala">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Tambah</button>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<div class="modal fade" id="add-produk" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editUserModalLabel">Tambah Gejala</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('add-gejala') }}" class="needs-validation" novalidate="" method="POST" enctype="multipart/form-data">
@csrf
@method('POST')
<div class="form-group">
<label for="edit-name">Kode Gejala</label>
<input type="text" name="kode_gejala" class="form-control" placeholder="Masukkan Kode Gejala">
</div>
<div class="form-group">
<label for="edit-email">Gejala</label>
<input type="text" name="gejala" class="form-control" placeholder="Masukkan Gejala">
</div>
<div class="form-group">
<label for="edit-area">Nilai Densitas</label>
<input type="text" name="nilai_densitas" class="form-control" placeholder="Masukkan Nilai Densitas">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Tambah</button>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,221 @@
@extends('dashboard.navigasi.master')
@section('content')
{{-- @include('nav.footer') --}}
@include('dashboard.navigasi.navbar')
@auth
<body id="page-top">
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<form class="form-inline">
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
</form>
<!-- Topbar Search -->
<form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i>
</button>
</div>
</div>
</form>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Data Gejala</h6>
</div>
<div class="card-header py-3">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#add-produk">Tambah Gejala</button>
@include('dashboard.gejala.add-gejala')
{{-- @include('dashboard.produk.add-produk-to-admin') --}}
</div>
<div class="card-body">
<div class="table-responsive" id="tab">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th class="text-center">No</th>
<th>Kode Gejala</th>
<th>Gejala</th>
<th>Nilai Densitas</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<!-- footer content -->
</tfoot>
<tbody>
@foreach ($gejala as $data)
<tr>
<td class="text-center">{{ $loop->iteration }}</td>
<td>{{ $data->kode_gejala }}</td>
<td>{{ $data->gejala }}</td>
<td>{{ $data->nilai_densitas }}</td>
<td>
<a href="#" class="edit-button" data-bs-toggle="modal" data-bs-target="#edit-gejala"
data-id_gejala="{{ $data->id_gejala }}" data-kode-gejala="{{ $data->kode_gejala }}"
data-gejala="{{ $data->gejala }}" data-nilai-densitas="{{ $data->nilai_densitas}}">
<i class="fas fa-edit"></i>
</a>
<a href="{{ route('delete-gejala', $data->id_gejala) }}" onclick="return confirm('Apakah Anda yakin ingin menghapus produk ini?')">
<i class="fas fa-trash-alt" style="color: red"></i>
</a>
</td>
</tr>
@endforeach
{{-- @include('dashboard.produk.edit-produk') --}}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('.edit-button').click(function() {
var id_produk = $(this).data('id_produk');
var nama = $(this).data('nama');
var foto = $(this).data('foto');
var harga = $(this).data('harga');
var stok = $(this).data('stok');
$('#edit-produk').find('#edit-id').val(id_produk);
$('#edit-produk').find('#edit-nama').val(nama);
$('#edit-produk').find('#edit-foto').val(foto);
$('#edit-produk').find('#edit-harga').val(harga);
$('#edit-produk').find('#edit-stok').val(stok);
});
});
</script>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- ... (modals and scripts) ... -->
</section>
</div>
<!-- Modal Edit Data -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<!-- Modal Add Data -->
<div class="modal fade" id="add-gejala" tabindex="-1" role="dialog" aria-labelledby="addGejalaModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addGejalaModalLabel">Add Gejala</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<!-- Form for adding new user data -->
<form id="add-user-form">
<!-- Add form fields for new user data here -->
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Add User</button>
</div>
</div>
</div>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="login.html">Logout</a>
</div>
</div>
</div>
</div>
@endauth
@guest <!-- Menampilkan pesan jika pengguna belum login -->
<div class="container">
<div class="alert alert-warning" role="alert">
Anda harus login untuk mengakses halaman ini.
</div>
</div>
@endguest
<!-- Bootstrap core JavaScript-->
@endsection

View File

@ -0,0 +1,80 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=Nunito" rel="stylesheet">
<!-- Scripts -->
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav me-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ms-auto">
<!-- Authentication Links -->
@guest
@if (Route::has('login'))
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@endif
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }}
</a>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
@extends('layouts.master')
<!-- Footer -->
<footer class="sticky-footer bg-white">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2020</span>
</div>
</div>
</footer>

View File

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Sistem Pakar</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="{{ asset('css/sb-admin-2.min.css') }}" rel="stylesheet">
<!-- Font Awesome CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-zx5fGxYDgCk3M1P1M1q2gJh5I5xakEAnbiSwWnjOlzAOkIWZe5DIdgqpPpCPsqos1VwS54fXesLyEa9XMwDSnA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- DataTables CSS -->
<link href="vendor/datatables/dataTables.bootstrap4.min.css" rel="stylesheet">
</head>
<body>
@yield('content')
<!-- Bootstrap JS -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/5.3.2/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- Core plugin JavaScript -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages -->
<script src="js/sb-admin-2.min.js"></script>
<!-- DataTables JavaScript -->
<script src="vendor/datatables/jquery.dataTables.min.js"></script>
<script src="vendor/datatables/dataTables.bootstrap4.min.js"></script>
<!-- Page level custom scripts -->
<script src="js/demo/datatables-demo.js"></script>
</body>
</html>

View File

@ -0,0 +1,64 @@
@extends('dashboard.navigasi.master')
<div id="wrapper">
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html">
<div class="sidebar-brand-icon rotate-n-15">
<i class="fas fa-laugh-wink"></i>
</div>
<div class="sidebar-brand-text mx-3">Dashboard Sistem Pakar</div>
</a>
<!-- Divider -->
<hr class="sidebar-divider my-0">
<li class="nav-item">
<a class="nav-link" href="index.html">
<i class="fas fa-fw fa-tachometer-alt"></i>
<span>Dashboard</span></a>
</li>
<hr class="sidebar-divider">
<!-- Heading -->
<div class="sidebar-heading">
Addons
</div>
<!-- Nav Item - Charts -->
<li class="nav-item">
<a class="nav-link" href="{{'gejala'}}">
<i class="fas fa-fw fa-chart-area"></i>
<span>Gejala</span>
</a>
</li>
<!-- Nav Item - Tables -->
<li class="nav-item">
<a class="nav-link" href="{{ 'penyakit' }}">
<i class="fas fa-fw fa-chart-area"></i>
<span>Penyakit</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ 'aturan' }}">
<i class="fas fa-fw fa-chart-area"></i>
<span>Rules</span>
</a>
</li>
<!-- Divider -->
<hr class="sidebar-divider d-none d-md-block">
<!-- Sidebar Toggler (Sidebar) -->
<div class="text-center d-none d-md-inline">
<button class="rounded-circle border-0" id="sidebarToggle"></button>
</div>
</ul>
<!-- End of Sidebar -->

View File

@ -0,0 +1,41 @@
<div class="modal fade" id="add-penyakit" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editUserModalLabel">Tambah Data Penyakit</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('add-gejala') }}" class="needs-validation" novalidate="" method="POST" enctype="multipart/form-data">
@csrf
@method('POST')
<div class="form-group">
<label for="edit-name">Kode Penyakit</label>
<input type="text" name="kode_penyakit" class="form-control" placeholder="Masukkan Kode Penyakit">
</div>
<div class="form-group">
<label for="edit-email">Nama Penyakit</label>
<input type="text" name="gejala" class="form-control" placeholder="Masukkan Nama Penyakit">
</div>
<div class="form-group">
<label for="edit-area">Deskripsi Penyakit</label>
<input type="text" name="deskripsi_penyakit" class="form-control" placeholder="Masukkan Deskripsi Penyakit">
</div>
<div class="form-group">
<label for="edit-area">Solusi</label>
<input type="text" name="Solusi" class="form-control" placeholder="Masukkan Solusi">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Tambah</button>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,223 @@
@extends('dashboard.navigasi.master')
@section('content')
{{-- @include('nav.footer') --}}
@include('dashboard.navigasi.navbar')
@auth
<body id="page-top">
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<form class="form-inline">
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
</form>
<!-- Topbar Search -->
<form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i>
</button>
</div>
</div>
</form>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Data Penyakit</h6>
</div>
<div class="card-header py-3">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#add-penyakit">Tambah Penyakit</button>
@include('dashboard.penyakit.add-penyakit')
{{-- @include('dashboard.produk.add-produk-to-admin') --}}
</div>
<div class="card-body">
<div class="table-responsive" id="tab">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th class="text-center">No</th>
<th>Kode Penyakit</th>
<th>Nama Penyakit</th>
<th>Deskripsi Penyakit</th>
<th>Solusi</th>
<th>action</th>
</tr>
</thead>
<tfoot>
<!-- footer content -->
</tfoot>
<tbody>
@foreach ($penyakit as $data)
<tr>
<td class="text-center">{{ $loop->iteration }}</td>
<td>{{ $data->kode_penyakit }}</td>
<td>{{ $data->nama_penyakit }}</td>
<td>{{ $data->deskripsi_penyakit }}</td>
<td>{{ $data->solusi }}</td>
<td>
{{-- <a href="#" class="edit-button" data-bs-toggle="modal" data-bs-target="#edit-gejala"
data-id_gejala="{{ $data->id_gejala }}" data-kode-gejala="{{ $data->kode_gejala }}"
data-gejala="{{ $data->gejala }}" data-nilai-densitas="{{ $data->nilai_densitas}}">
<i class="fas fa-edit"></i>
</a> --}}
<a href="{{ route('delete-penyakit', $data->id_penyakit) }}" onclick="return confirm('Apakah Anda yakin ingin menghapus data penyakit ini?')">
<i class="fas fa-trash-alt" style="color: red"></i>
</a>
</td>
</tr>
@endforeach
{{-- @include('dashboard.produk.edit-produk') --}}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('.edit-button').click(function() {
var id_produk = $(this).data('id_produk');
var nama = $(this).data('nama');
var foto = $(this).data('foto');
var harga = $(this).data('harga');
var stok = $(this).data('stok');
$('#edit-produk').find('#edit-id').val(id_produk);
$('#edit-produk').find('#edit-nama').val(nama);
$('#edit-produk').find('#edit-foto').val(foto);
$('#edit-produk').find('#edit-harga').val(harga);
$('#edit-produk').find('#edit-stok').val(stok);
});
});
</script>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- ... (modals and scripts) ... -->
</section>
</div>
<!-- Modal Edit Data -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<!-- Modal Add Data -->
<div class="modal fade" id="add-user" tabindex="-1" role="dialog" aria-labelledby="addUserModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addUserModalLabel">Add Penyakit</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<!-- Form for adding new user data -->
<form id="add-user-form">
<!-- Add form fields for new user data here -->
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Add Penyakit</button>
</div>
</div>
</div>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="login.html">Logout</a>
</div>
</div>
</div>
</div>
@endauth
@guest <!-- Menampilkan pesan jika pengguna belum login -->
<div class="container">
<div class="alert alert-warning" role="alert">
Anda harus login untuk mengakses halaman ini.
</div>
</div>
@endguest
<!-- Bootstrap core JavaScript-->
@endsection

View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Cetak Nota</title>
<link rel="stylesheet" href="{{asset('css/bootstrap.min.css')}}">
<link rel="stylesheet" href="{{asset('css/style.css')}}">
<link rel="stylesheet" href="{{asset('css/animation.css')}}">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap" rel="stylesheet">
<link rel="icon" href="{{asset('img/miniLogo2.png')}}" type="image/x-icon">
<link href="{{ asset('img/favicon.png') }}" rel="icon">
<link href="{{ asset('img/apple-touch-icon.png') }}" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Nunito:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="{{ asset('vendor/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
<link href="{{ asset('vendor/boxicons/css/boxicons.min.css') }}" rel="stylesheet">
<link href="{{ asset('vendor/quill/quill.snow.css') }}" rel="stylesheet">
<link href="{{ asset('vendor/quill/quill.bubble.css') }}" rel="stylesheet">
<link href="{{ asset('vendor/remixicon/remixicon.css') }}" rel="stylesheet">
<link href="{{ asset('vendor/simple-datatables/style.css') }}" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="{{ asset('css/style.css') }}" rel="stylesheet">
<style>
/* CSS tambahan */
body, html {
height: 100%;
}
body {
display: flex;
justify-content: center;
align-items: center;
background-color: #f8f9fa; /* Warna latar belakang */
}
.container {
max-width: 600px;
width: 100%;
padding: 20px;
background-color: #fff; /* Warna latar belakang kontainer */
border: 1px solid #ccc;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
</style>
</head>
<body>
<div class="card shadow-sm mb-3" style="background-color: #fff; border: 1px solid #ccc; font-size: 0.9rem;">
<div class="card-header bg-gradient-primary-to-secondary text-white fw-bold" style="background-color: #f2f2f2; border-bottom: 1px solid #ccc; padding: 8px;">
<h5 class="m-0" @style("text-align:center;")><strong>Hasil Diagnosa</strong></h5>
</div>
<div class="card-body" style="padding: 8px;">
<h6 class="text-custom"><b>1. Pengunjung</b></h6>
<div class="row row-cols-md-2">
<div class="col mb-2">
<strong>Nama:</strong> {{ $dataDiagnosa['nama'] }}
</div>
<div class="col mb-2">
<strong>Alamat:</strong> {{ $dataDiagnosa['alamat'] }}
</div>
</div>
<hr style="margin: 8px 0;">
<h6 class="text-custom"><b>2. Gejala yang Dialami</b></h6>
<div class="list-group">
@foreach ($hasilDiagnosa->Gejala_Penyakit as $gejala)
<a href="#" class="list-group-item list-group-item-action" style="padding: 4px 8px;">{{ $gejala->nama_gejala }}</a>
@endforeach
</div>
<hr style="margin: 8px 0;">
<h6 class="text-custom"><b>3. Penyakit</b></h6>
<ul class="list-group" style="margin-bottom: 8px;">
<li class="list-group-item" style="padding: 4px 8px;"><strong>Nama Penyakit:</strong> {{ $hasilDiagnosa->Nama_Penyakit->nama_penyakit }}</li>
<li class="list-group-item" style="padding: 4px 8px;"><strong>Nilai Kepercayaan:</strong> {!! '<b>' . $hasilDiagnosa->Persentase_Penyakit . '</b>' . ' / (' . $hasilDiagnosa->Nilai_Belief_Penyakit . ')' !!}</li>
</ul>
<hr style="margin: 8px 0;">
<h6 class="text-custom"><b>4. Solusi</b></h6>
<div class="list-group">
@foreach (json_decode($hasilDiagnosa->Solusi_Penyakit->solusi) as $solusi)
<a href="#" class="list-group-item list-group-item-action" style="padding: 4px 8px;">{{ $solusi }}</a>
@endforeach
</div>
</div>
<div class="card-footer"></div>
</div>
<script>
window.print();
</script>
</body>
</html>l

View File

@ -93,7 +93,7 @@
</table>
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
<button class="btn btn-info fw-bold" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i> Hitung</button>
<button class="btn btn-danger fw-bold" type="reset"><i class="fa-solid fa-ban me-1"></i> Cancel</button>
<button class="btn btn-danger fw-bold" href="{{route('home')}}" type="reset"><i class="fa-solid fa-ban me-1"></i> Cancel</button>
</div>
</form>
</div>

View File

@ -9,6 +9,9 @@
<div class="card-body" style="padding: 8px;">
<h6 class="text-custom"><b>1. Pengunjung</b></h6>
<div class="row row-cols-md-2">
<div class="col mb-2" @style("display:none;")>
<strong>id hasil</strong> {{ $dataDiagnosa['id_hasil'] }}
</div>
<div class="col mb-2">
<strong>Nama:</strong> {{ $dataDiagnosa['nama'] }}
</div>
@ -46,5 +49,7 @@
<div class="card-footer"></div>
</div>
<a href="{{ URL::to('diagnosa') }}" class="btn btn-sm btn-info text-white"><i class="fa-solid fa-arrow-left me-1"></i> Diagnosa Ulang</a>
<a href="{{ URL::to('cetakHasil/' . $dataDiagnosa['id_hasil']) }}" class="btn btn-sm btn-info text-white"><i class="fa-solid fa-arrow-left me-1"></i> Cetak</a>
@endsection

View File

@ -20,7 +20,8 @@
Route::get('/', function () {
return view('main');
});
})->name('/');
Route::get('/gejala', function () {
@ -30,7 +31,7 @@
Route::get('/gejala', [GejalaController::class, 'index']);
Route::get('/penyakit', [PenyakitController::class, 'index']);
Route::get('/konsultasi', function () {
return view('konsultasi');
@ -43,14 +44,25 @@
Route::middleware(['auth'])->group(function () {
//Aturan
Route::get('/aturan', [AturanController::class, 'index']);
Route::post('/tambah-aturan', [Atu21ranController::class, 'store'])->name('tambah-aturan');
Route::post('/add-aturan', [AturanController::class, 'store'])->name('add-aturan');
Route::get('/delete-aturan/{id_aturan}',[AturanController::class,'destroy'])->name('delete-aturan');
//Gejala
Route::post('/add-gejala', [GejalaController::class, 'store'])->name("add-gejala");
Route::get('delete-produk/{id_gejala}', [App\Http\Controllers\GejalaController::class,'destroy'])->name('delete-gejala');
//konsultasi
Route::get('diagnosa', [KonsultasiController::class, 'index']);
Route::post('diagnosa', [KonsultasiController::class, 'hitungKonsultasi']);
Route::get('diagnosa/{data_diagnosa}', [KonsultasiController::class, 'showdata']);
Route::get('cetakHasil/{id_hasil}', [KonsultasiController::class, 'cetakHasil']);
Route::get('logoutt', [LoginController::class, 'logout']);
//Penyakit
Route::get('/penyakit', [PenyakitController::class, 'index']);
Route::post('/add-penyakit', [PenyakitController::class, 'store'])->name("add-gejala");
Route::get('delete-penyakit/{id_penyakit}', [App\Http\Controllers\PenyakitController::class,'destroy'])->name('delete-penyakit');
});