rapikan sidebar & add dashboard

This commit is contained in:
hasrinuryawati 2025-04-27 22:23:31 +07:00
parent 83b76cd7af
commit 4690039de1
9 changed files with 155 additions and 399 deletions

View File

@ -2,12 +2,19 @@
namespace App\Http\Controllers;
use App\Models\Pasien;
use App\Models\Registrasi;
use App\Models\Transaksi;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
public function index()
{
return view('dashboard');
$totalTransaki = Transaksi::sum('total');
$totalPasien = Pasien::count();
$totalRegistrasi = Registrasi::count();
return view('dashboard', compact(['totalTransaki', 'totalPasien', 'totalRegistrasi']));
}
}

View File

@ -39,13 +39,11 @@ class PasienController extends Controller
}
}
public function store(Request $request)
public function detail(Pasien $pasien)
{
$dataPasien = Pasien::find($pasien->id);
$registrasi = Registrasi::where('id_pasien', $pasien->id)->orderByDesc('id')->get();
}
public function update(Request $request, Pasien $pasien)
{
//
return view('module.pasien.detail', compact(['dataPasien', 'registrasi']));
}
}

View File

@ -1,8 +1,55 @@
@extends('layout.main')
@section('content')
<section class="content">
@if(auth('pegawai')->check())
<h1>Selamat Datang, {{ auth('pegawai')->user()->nama }}!</h1>
@endif
<div class="container-fluid">
<!-- Small boxes (Stat box) -->
<div class="row">
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-info">
<div class="inner">
<h3>{{ number_format($totalTransaki) }}</h3>
<p>Total Pendapatan</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="{{ route('transaksi.laporan') }}" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-success">
<div class="inner">
<h3>{{ $totalPasien }}</h3>
<p>Total Pasien</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="{{ route('pasien.index') }}" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-warning">
<div class="inner">
<h3>{{ $totalRegistrasi }}</h3>
<p>Jumlah Registrasi</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
</div>
<a href="{{ route('registrasi.index') }}" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
</div>
<!-- /.row -->
</div>
</section>
@endsection

View File

@ -14,6 +14,8 @@
Ruang Pelayanan
@elseif (Route::currentRouteName() === "tindakan.index")
Tindakan
@elseif (Route::currentRouteName() === "transaksi.laporan")
Laporan
@else
Dashboard
@endif

View File

@ -2,136 +2,9 @@
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
<!-- Left navbar links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="index3.html" class="nav-link">Home</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="#" class="nav-link">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
</li>
</ul>
<!-- Right navbar links -->
<ul class="navbar-nav ml-auto">
<!-- Navbar Search -->
<li class="nav-item">
<a class="nav-link" data-widget="navbar-search" href="#" role="button">
<i class="fas fa-search"></i>
</a>
<div class="navbar-search-block">
<form class="form-inline">
<div class="input-group input-group-sm">
<input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
<div class="input-group-append">
<button class="btn btn-navbar" type="submit">
<i class="fas fa-search"></i>
</button>
<button class="btn btn-navbar" type="button" data-widget="navbar-search">
<i class="fas fa-times"></i>
</button>
</div>
</div>
</form>
</div>
</li>
<!-- Messages Dropdown Menu -->
<li class="nav-item dropdown">
<a class="nav-link" data-toggle="dropdown" href="#">
<i class="far fa-comments"></i>
<span class="badge badge-danger navbar-badge">3</span>
</a>
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
<a href="#" class="dropdown-item">
<!-- Message Start -->
<div class="media">
<img src="{{ asset('dist/img/user1-128x128.jpg') }}" alt="User Avatar" class="img-size-50 mr-3 img-circle">
<div class="media-body">
<h3 class="dropdown-item-title">
Brad Diesel
<span class="float-right text-sm text-danger"><i class="fas fa-star"></i></span>
</h3>
<p class="text-sm">Call me whenever you can...</p>
<p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>
</div>
</div>
<!-- Message End -->
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item">
<!-- Message Start -->
<div class="media">
<img src="{{ asset('dist/img/user8-128x128.jpg') }}" alt="User Avatar" class="img-size-50 img-circle mr-3">
<div class="media-body">
<h3 class="dropdown-item-title">
John Pierce
<span class="float-right text-sm text-muted"><i class="fas fa-star"></i></span>
</h3>
<p class="text-sm">I got your message bro</p>
<p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>
</div>
</div>
<!-- Message End -->
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item">
<!-- Message Start -->
<div class="media">
<img src="{{ asset('dist/img/user3-128x128.jpg') }}" alt="User Avatar" class="img-size-50 img-circle mr-3">
<div class="media-body">
<h3 class="dropdown-item-title">
Nora Silvester
<span class="float-right text-sm text-warning"><i class="fas fa-star"></i></span>
</h3>
<p class="text-sm">The subject goes here</p>
<p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>
</div>
</div>
<!-- Message End -->
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item dropdown-footer">See All Messages</a>
</div>
</li>
<!-- Notifications Dropdown Menu -->
<li class="nav-item dropdown">
<a class="nav-link" data-toggle="dropdown" href="#">
<i class="far fa-bell"></i>
<span class="badge badge-warning navbar-badge">15</span>
</a>
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
<span class="dropdown-item dropdown-header">15 Notifications</span>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item">
<i class="fas fa-envelope mr-2"></i> 4 new messages
<span class="float-right text-muted text-sm">3 mins</span>
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item">
<i class="fas fa-users mr-2"></i> 8 friend requests
<span class="float-right text-muted text-sm">12 hours</span>
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item">
<i class="fas fa-file mr-2"></i> 3 new reports
<span class="float-right text-muted text-sm">2 days</span>
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
<i class="fas fa-expand-arrows-alt"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link" data-widget="control-sidebar" data-controlsidebar-slide="true" href="#" role="button">
<i class="fas fa-th-large"></i>
</a>
</li>
</ul>
</nav>
<!-- /.navbar -->
</nav>
<!-- /.navbar -->

View File

@ -1,20 +1,11 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<!-- Brand Logo -->
<a href="index3.html" class="brand-link">
<img src="{{ asset('dist/img/AdminLTELogo.png') }}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
<span class="brand-text font-weight-light">AdminLTE 3</span>
</a>
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<img src="{{ asset('dist/img/user2-160x160.jpg') }}" class="img-circle elevation-2" alt="User Image">
</div>
<div class="info">
<a href="#" class="d-block">Alexander Pierce</a>
<a href="#" class="d-block">{{ auth('pegawai')->user()->nama }}</a>
</div>
</div>
@ -36,7 +27,7 @@
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item menu-open">
<a href="#" class="nav-link active">
<a href="{{ route('dashboard') }}" class="nav-link {{ request()->is('dashboard') ? 'active' : '' }}">
<i class="nav-icon fas fa-tachometer-alt"></i>
<p>
Dashboard
@ -46,7 +37,7 @@
<li class="nav-item">
<a href="{{ route('registrasi.index') }}" class="nav-link {{ request()->is('registrasi') ? 'active' : '' }}">
<i class="nav-icon fas fa-copy"></i>
<i class="nav-icon fas fa-user-plus"></i>
<p>
Registrasi
</p>
@ -55,7 +46,7 @@
<li class="nav-item">
<a href="{{ route('pasien.index') }}" class="nav-link {{ request()->is('pasien') ? 'active' : '' }}">
<i class="nav-icon fas fa-copy"></i>
<i class="nav-icon fas fa-user"></i>
<p>
Pasien
</p>
@ -64,7 +55,7 @@
<li class="nav-item">
<a href="{{ route('asuransi.index') }}" class="nav-link {{ request()->is('asuransi') ? 'active' : '' }}">
<i class="nav-icon fas fa-copy"></i>
<i class="nav-icon fas fa-shield-alt"></i>
<p>
Asuransi
</p>
@ -73,7 +64,7 @@
<li class="nav-item">
<a href="{{ route('ruang_pelayanan.index') }}" class="nav-link {{ request()->is('ruang_pelayanan') ? 'active' : '' }}">
<i class="nav-icon fas fa-chart-pie"></i>
<i class="nav-icon fas fa-hospital"></i>
<p>
Ruang Pelayanan
</p>
@ -82,7 +73,7 @@
<li class="nav-item">
<a href="{{ route('tindakan.index') }}" class="nav-link {{ request()->is('tindakan') ? 'active' : '' }}">
<i class="nav-icon fas fa-tree"></i>
<i class="nav-icon fas fa-stethoscope"></i>
<p>
Tindakan
</p>
@ -90,8 +81,8 @@
</li>
<li class="nav-item">
<a href="{{ route('transaksi.laporan') }}" class="nav-link {{ request()->is('/transaksi/laporan') ? 'active' : '' }}">
<i class="nav-icon fas fa-tree"></i>
<a href="{{ route('transaksi.laporan') }}" class="nav-link {{ request()->is('transaksi/laporan') ? 'active' : '' }}">
<i class="nav-icon fas fa-file-invoice-dollar"></i>
<p>
Laporan
</p>

View File

@ -0,0 +1,73 @@
@extends('layout.main')
@section('content')
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card card-info p-3 mb-4">
<div class="col-sm-4 invoice-col">
<h5>Informasi Pasien</h5>
<strong>Nama</strong>: {{ $dataPasien->nama }} <br>
<strong>NIK</strong>: {{ $dataPasien->nik }} <br>
<strong>Tanggal Lahir</strong>: {{ $dataPasien->tgl_lahir }} <br>
<strong>Jenis Kelamin</strong>:
@if ($dataPasien->jenis_kelamin === "male")
Laki-laki
@else
Perempuan
@endif
</div>
</div>
<div class="card">
<div class="card-body">
<table id="detail_tb" class="table table-bordered table-striped">
<thead>
<tr>
<th>No</th>
<th>Tgl registrasi</th>
<th>Asuransi</th>
<th>Ruang Pelayanan</th>
</tr>
</thead>
<tbody>
@php
$no = 1;
@endphp
@foreach ($registrasi as $rgs)
<tr>
<td>{{ $no++ }}</td>
<td>{{ $rgs->tgl_registrasi }}</td>
<td>{{ $rgs->asuransi->nama }}</td>
<td>{{ $rgs->ruangPelayanan->nama }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
</div>
</div>
</section>
@push('script')
<script>
$(function () {
$("#detail_tb").DataTable({
"responsive": true,
"lengthChange": false,
"autoWidth": false,
"ordering": false,
});
$('.select2bs4').select2({
theme: 'bootstrap4'
});
});
</script>
@endpush
@endsection

View File

@ -36,144 +36,10 @@
</td>
<td>
<div class="row">
<button type="button" class="btn btn-info btn-sm mr-1 mt-1" title="Detail" data-toggle="modal" data-target="#modal-detail{{ $data->id }}"><i class="fas fa-info-circle"></i></button>
<a href="#" class="btn btn-secondary btn-sm mr-1 mt-1" title="Edit" data-toggle="modal" data-target="#modal-edit"><i class="fas fa-edit"></i></a>
<a href="{{ route('pasien.detail', $data->id) }}" target="BLANK" class="btn btn-info btn-sm mr-1 mt-1" title="Detail"><i class="fas fa-info-circle"></i></a>
</div>
</td>
</tr>
{{-- Modal Detail --}}
<div class="modal fade" id="modal-detail{{ $data->id }}">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Detail Rekam Medis Pasien</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4"><b>Tgl Registrasi</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]['tgl_registrasi'] }}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Kode Registrasi</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]['code'] }}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Nama</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->nama }}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Tgl Lahir</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->tgl_lahir }}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Jenis Kelamin</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">
@if ($data->jenis_kelamin === "male")
Laki-laki
@else
Perempuan
@endif
</div>
</div>
<div class="row">
<div class="col-md-4"><b>Asuransi</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]->asuransi->nama ?? '-' }}</div>
</div>
<div class="row">
<div class="col-md-4"><b>No. Asuransi</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]['no_asuransi'] ?? '-'}}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Ruang Pelayanan</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]->ruangPelayanan->nama}}</div>
</div>
<div class="row">
<div class="col-md-4"><b>Pegawai</b></div>
<div class="col-md-1">:</div>
<div class="col-md-7">{{ $data->registrasi[0]->pegawai->nama ?? '-' }}</div>
</div>
</div>
<div class="modal-footer justify-content-between">
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
{{-- Modal Edit --}}
<div class="modal fade" id="modal-edit">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Edit Data</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form action="#" method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="modal-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="name">Nama</label>
<input class="form-control" type="text" name="name" required>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="tgl_lahir">Tgl Lahir</label>
<input class="form-control" type="date" name="tgl_lahir">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<label for="jenis_kelamin">Jenis Kelamin</label>
<select name="jenis_kelamin" class="form-control" style="width: 100%;">
<option value="male">Laki-laki</option>
<option value="female">Perempuan</option>
</select>
</div>
</div>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-default">Ubah</button>
</div>
</form>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
@endforeach
</tbody>
</table>
@ -181,90 +47,6 @@
<!-- /.card-body -->
</div>
<!-- /.card -->
{{-- Modal Add --}}
<div class="modal fade" id="modal-add">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Register Pasien</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form action="{{ route('pasien.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="modal-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="nama">Nama</label>
<input class="form-control" type="text" name="nama" required>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="tgl_lahir">Tgl Lahir</label>
<input class="form-control" type="date" name="tgl_lahir" required>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin</label>
<select name="jenis_kelamin" class="form-control" style="width: 100%;" required>
<option value="male">Laki-laki</option>
<option value="female">Perempuan</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="ruang_pelayanan">Ruangan Pelayanan</label>
<select name="ruang_pelayanan" class="form-control select2bs4" style="width: 100%;">
@foreach ($ruangPelayanan as $rp)
<option value="{{ $rp->id }}">{{ $rp->nama }}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="asuransi">Asuransi</label>
<input type="checkbox" id="asuransi_checkbox" class="mr-2">
<select name="asuransi" class="form-control select2bs4" style="width: 100%;" id="asuransi_select" disabled>
@foreach ($asuransi as $asr)
<option value="{{ $asr->id }}">{{ $asr->nama }}</option>
@endforeach
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="no_asuransi">No. Asuransi</label>
<input class="form-control" type="text" name="no_asuransi" id="no_asuransi" disabled>
</div>
</div>
</div>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-default">Simpan</button>
</div>
</form>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
</div>
</div>
</div>
@ -285,24 +67,5 @@
});
});
</script>
<script>
document.getElementById('asuransi_checkbox').addEventListener('change', function() {
var asuransiSelect = document.getElementById('asuransi_select');
var noAsuransiInput = document.getElementById('no_asuransi');
if (this.checked) {
asuransiSelect.disabled = false;
noAsuransiInput.disabled = false;
asuransiSelect.setAttribute('required', 'required');
noAsuransiInput.setAttribute('required', 'required');
} else {
asuransiSelect.disabled = true;
noAsuransiInput.disabled = true;
asuransiSelect.removeAttribute('required');
noAsuransiInput.removeAttribute('required');
}
});
</script>
@endpush
@endsection

View File

@ -31,7 +31,7 @@ Route::get('/logout', [AuthController::class, 'logout']);
Route::middleware('auth:pegawai')->group(function () {
// Dashboard
Route::get('/dashboard', [DashboardController::class, 'index']);
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
Route::get('/registrasi', [RegistrasiController::class, 'index'])->name('registrasi.index');
Route::post('/registrasi', [RegistrasiController::class, 'store'])->name('registrasi.store');
@ -41,6 +41,7 @@ Route::middleware('auth:pegawai')->group(function () {
// Pasien
Route::get('/pasien', [PasienController::class, 'index'])->name('pasien.index');
Route::post('/pasien', [PasienController::class, 'store'])->name('pasien.store');
Route::get('/pasien/detail/{pasien}', [PasienController::class, 'detail'])->name('pasien.detail');
Route::get('/pasien/cek_nik', [PasienController::class, 'cekNik'])->name('pasien.cek_nik');
// Asuransi
@ -60,6 +61,7 @@ Route::middleware('auth:pegawai')->group(function () {
Route::post('/tindakan', [TindakanController::class, 'store'])->name('tindakan.store');
Route::put('/tindakan/{tindakan}', [TindakanController::class, 'update'])->name('tindakan.update');
// Transaksi
Route::get('/tansaksi/tindakan/{registrasi}', [TransaksiController::class, 'tindakanForm'])->name('transaksi.tindakan');
Route::post('/transaksi', [TransaksiController::class, 'store'])->name('transaksi.store');
Route::get('/transaksi/laporan', [TransaksiController::class, 'laporan'])->name('transaksi.laporan');