2 Commits

Author SHA1 Message Date
person-programmer
269ded5178 halaman list kunjungan pasien 2025-12-02 13:37:51 +07:00
person-programmer
1430a21ef5 Test Front End Fandi Ahmad Joansyah 2025-12-02 13:21:26 +07:00
6 changed files with 385 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Order;
use App\Models\Product;
use App\Models\Customer;
class PasienController extends Controller
{
public function store(Request $request){
$data=new Order;
$data->email= $request->email;
$data->product_code = $request->code;
$data->product_name = $request->name;
$data->quantity = $request->quantity;
$data->order_status = 0;
$data->save();
return Redirect()->route('all.orders');
}
public function newStore(Request $request){
$data=new Order;
$data->email= $request->email;
$data->product_code = $request->code;
$data->product_name = $request->name;
$data->quantity = $request->quantity;
$data->order_status = 0;
$data->save();
//customer_track
$customer = Customer::where('email', '=', $request->email)->first();
if($customer === null){
$data3=new Customer;
$data3->name= $request->name;
$data3->email= $request->email;
$data3->company = $request->company;
$data3->address = $request->address;
$data3->phone = $request->phone;
$data3->save();
}
return Redirect()->route('all.orders');
}
public function newformData(){
$products = Product::all();
$customers = Customer::get();
return view('Admin.new_order',compact('products','customers'));
}
public function ordersData(){
$orders = Order::all();
return view('Admin.all_orders',compact('orders'));
}
public function pendingOrders(){
$orders = Order::where('order_status','=','0')->get();
return view('Admin.pending_orders',compact('orders'));
}
public function deliveredOrders(){
$orders = Order::where('order_status','!=','0')->get();
return view('Admin.delivered_orders',compact('orders'));
}
public function daftarPasienBaru(){
return view('manajemen_pasien.pendaftaran_pasien');
}
public function lihatListKunjunganPasien(){
$json = json_decode(file_get_contents('http://10.10.123.135:8081/api/v1/visit'), true);
$dataVisit = $json['data'];
return view('manajemen_pasien.list_kunjungan_pasien', compact('dataVisit'));
}
public function berhasilDaftarPasienBaru(){
$arrResult = [
"status"=> "201",
"message"=> "Berhasil menambah data pasien baru",
"data" => [
"nama_pasien"=>$_POST{'nama_pasien'},
"alamat_pasien"=>$_POST{'alamat_pasien'},
"no_telp"=>$_POST{'no_telp'},
"penjamin"=>$_POST{'penjamin'},
"no_bpjs"=>$_POST{'nomor_kartu_bpjs'},
"poliklinik"=>$_POST{'poliklinik'},
"dokter"=>$_POST{'dokter'}]
];
return view('manajemen_pasien.berhasil_daftar_pasien', compact('arrResult'));
}
}
@@ -111,6 +111,8 @@ Products<!DOCTYPE html>
Customers
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="collapseAuthentication" aria-labelledby="headingOne" data-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="{{ route('add.customer') }}">New Customer</a>
@@ -122,6 +124,25 @@ Products<!DOCTYPE html>
</nav>
</div>
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePasien" aria-expanded="false" aria-controls="collapseAuthentication">
<div class="sb-nav-link-icon"><i class="fas fa-columns"></i></div>
Pasien
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="collapsePasien" aria-labelledby="headingOne" data-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="{{ route('new.pasien') }}">Tambah Pasien Baru</a>
</nav>
</div>
<div class="collapse" id="collapsePasien" aria-labelledby="headingOne" data-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="{{ route('show.pasien') }}">List Kunjungan Pasien</a>
</nav>
</div>
</div>
@@ -0,0 +1,3 @@
<?php
echo json_encode($arrResult);
?>
@@ -0,0 +1,73 @@
@extends('layouts.admin_master')
@section('content')
<div class="card mb-4">
<div class="card-header">
List Kunjungan Pasien
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>Barcode</th>
<th>Registration Date</th>
<th>Service Date</th>
<th>Check In</th>
<th>Active</th>
<th>ID Dokter</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach($dataVisit as $row)
<tr>
<td>{{ $row['barcode'] }}</td>
<td>{{ $row['registration_date'] }}</td>
<td>{{ $row['service_date'] }}</td>
@if(isset($row['check_in']))
<td>{{ $row['check_in'] }}</td>
@endif
@if(isset($row['check_in_date']))
<td>{{ $row['check_in_date'] }}</td>
@endif
<td>{{ $row['active'] }}</td>
@if(isset($row['fk_ms_doctor_id']))
<td>{{ $row['fk_ms_doctor_id'] }}</td>
@else
<td></td>
@endif
<td>
<a href="#" class="btn btn-sm btn-info">Edit</a>
<a href="#" class="btn btn-sm btn-danger">Delete</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
@section('script')
<link href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css" rel="stylesheet" crossorigin="anonymous" />
<script>
$('#dataTable').DataTable({
columnDefs: [
{bSortable: false, targets: [6]}
],
dom: 'lBfrtip',
});
</script>
@endsection
@@ -0,0 +1,169 @@
@extends('layouts.admin_master')
@section('content')
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-7">
<div class="card shadow-lg border-0 rounded-lg mt-5">
<div class="card-header"><h3 class="text-center font-weight-light my-4">Tambah Pasien Baru</h3></div>
<div class="card-body">
<form method="POST" action="{{ route('success-new.pasien') }}" >
@csrf
<div class="form-row">
<div class="col-md-12">
<div class="form-group">
<label class="small mb-1" for="">Cari Nomor Rekam Medis:</label>
<input class="form-control py-4" id="cari_nomor_rekam_medis" name="cari_nomor_rekam_medis" type="text" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="">Tipe Pasien</label>
<br>
<input type="radio" id="pasien_baru" name="tipe_pasien" value="Pasien Baru">
<label for="pasien_baru">Pasien Baru</label><br>
<input type="radio" id="pasien_lama" name="tipe_pasien" value="Pasien lama">
<label for="pasien_lama">Pasien Lama</label><br>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="">Nama Pasien:</label>
<input class="form-control py-4" type="text" id="nama_pasien" name="nama_pasien" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">Alamat Pasien</label>
<input class="form-control py-4" type="text" id="alamat_pasien" name="alamat_pasien" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">No Telp</label>
<input class="form-control py-4" type="number" id="no_telp" name="no_telp" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">Penjamin</label>
<input class="form-control py-4" type="text" id="penjamin" name="penjamin" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">No kartu BPJS</label>
<input class="form-control py-4" type="number" id="nomor_kartu_bpjs" name="nomor_kartu_bpjs" placeholder="" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">Poliklinik</label>
<select name="poliklinik" id="poliklinik">
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">Dokter</label>
<select name="dokter" id="dokter">
</select>
</div>
</div>
<!-- <div class="col-md-6">
<div class="form-group">
<label class="small mb-1" for="inputLastName">Gallery</label>
<input name="photo" type="file" />
</div>
</div> -->
</div>
<div class="form-group mt-4 mb-0"><input type="submit" class="btn btn-primary btn-block" value="Tambah Pasien"/></div>
</form>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
async function fetchPoli() {
const response = await fetch('http://10.10.123.135:8081/api/v1/healthcare');
const poli = await response.json();
const dataPoli = poli.data;
for (var i = 0; i < dataPoli.length; i++) {
if(dataPoli[i].active){
var select = document.getElementById("poliklinik");
var option = document.createElement("option");
option.text = dataPoli[i].name;
option.value = dataPoli[i].id;
select.add(option);
}
}
$('#poliklinik').on('change', function(e, data){
const idPoli = $('#poliklinik').val();
fetchDokter(idPoli);
});
}
async function fetchDokter(idPoli) {
const response = await fetch(`http://10.10.123.135:8081/api/v1/doctor?poli=${idPoli}`);
const dokter = await response.json();
const dataDokter = dokter.data;
$('#dokter')
.empty();
if(!dataDokter){
var select = document.getElementById("dokter");
var option = document.createElement("option");
option.text = "belum ada dokter untuk poli ini";
option.value = "belum ada dokter untuk poli ini";
select.add(option);
}
for (var i = 0; i < dataDokter.length; i++) {
var select = document.getElementById("dokter");
var option = document.createElement("option");
option.text = dataDokter[i].name;
option.value = dataDokter[i].name;
select.add(option);
}
}
fetchPoli();
fetchDokter(1);
</script>
@endsection
+16
View File
@@ -4,6 +4,7 @@ use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProductController;
use App\Http\Controllers\InvoiceController;
use App\Http\Controllers\OrderController;
use App\Http\Controllers\PasienController;
use App\Http\Controllers\CustomerController;
use Illuminate\Http\Request;
@@ -85,4 +86,19 @@ Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
//start route test fandy FE
Route::get('/test', function () {
return view('');
});
Route::get('/pendaftaran-pasien', [PasienController::class,'daftarPasienBaru'])->middleware(['auth'])->name('new.pasien');
Route::post('/pendaftaran-pasien-success', [PasienController::class,'berhasilDaftarPasienBaru'])->middleware(['auth'])->name('success-new.pasien');
Route::get('/list-pendaftaran-pasien', [PasienController::class,'lihatListKunjunganPasien'])->middleware(['auth'])->name('show.pasien');
//end route test fandy FE
require __DIR__.'/auth.php';