page no auth for register
This commit is contained in:
parent
7966b1f95d
commit
5dbe3438ef
386
app/Http/Controllers/RegistrasiNoAuthController.php
Normal file
386
app/Http/Controllers/RegistrasiNoAuthController.php
Normal file
@ -0,0 +1,386 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Asuransi;
|
||||
use App\Models\Pasien;
|
||||
use App\Models\Pegawai;
|
||||
use App\Models\Registrasi;
|
||||
use App\Models\Ruang_pelayanan;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Yajra\DataTables\Facades\DataTables;
|
||||
|
||||
class RegistrasiNoAuthController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$data['title'] = 'GUEST';
|
||||
return view('registrasi_no_auth.index', $data);
|
||||
}
|
||||
public function create_pasien()
|
||||
{
|
||||
//
|
||||
$data['title'] = 'PASIEN FORM';
|
||||
$data['asuransi'] = Asuransi::all();
|
||||
$data['pegawai'] = Pegawai::all();
|
||||
return view('registrasi_no_auth.create_pasien', $data);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
$data['title'] = 'REGISTRASI FORM';
|
||||
$data['asuransi'] = Asuransi::all();
|
||||
$data['pegawai'] = Pegawai::all();
|
||||
return view('registrasi_no_auth.create', $data);
|
||||
}
|
||||
|
||||
public function get_ruang_pelayanan_by_pegawai(Request $request)
|
||||
{
|
||||
$id = $request->ruang_id;
|
||||
$get_ruang_pelayanan = Ruang_pelayanan::findorFail($id);
|
||||
|
||||
if ($get_ruang_pelayanan) {
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => $get_ruang_pelayanan,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} else {
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'Data Not Found!'
|
||||
];
|
||||
return response()->json($data_return, 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function get_data_by_nik(Request $request)
|
||||
{
|
||||
$nik = $request->nik;
|
||||
$get_data = Pasien::where('pasien_nik', $nik)->first();
|
||||
|
||||
if ($get_data) {
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => $get_data,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} else {
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'Data Not Found!'
|
||||
];
|
||||
return response()->json($data_return, 404);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store_pasien(Request $request)
|
||||
{
|
||||
//
|
||||
$nik = $request->nik;
|
||||
$name = $request->name;
|
||||
$tanggal_lahir = $request->tanggal_lahir;
|
||||
$jenis_kelamin = $request->jenis_kelamin;
|
||||
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$insert = Pasien::create([
|
||||
'pasien_nik' => $nik,
|
||||
'pasien_name' => $name,
|
||||
'tanggal_lahir' => $tanggal_lahir,
|
||||
'jenis_kelamin' => $jenis_kelamin
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => null,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
// Handle the exception or log the error
|
||||
dd($e);
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'something wrong!!'
|
||||
];
|
||||
return response()->json($data_return, 500);
|
||||
}
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$tanggal_berobat = $request->tanggal_berobat;
|
||||
$no_urut = 'RSHK'. Registrasi::where('registrasi_tanggal', $tanggal_berobat)->count() + 1;
|
||||
$pasien_id = $request->pasien_id;
|
||||
$asuransi_id = $request->asuransi_id;
|
||||
$asuransi_no = $request->asuransi_no ?? "";
|
||||
$pegawai_id = $request->pegawai_id;
|
||||
$ruang_pelayanan_id = $request->ruang_pelayanan_id;
|
||||
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$insert = Registrasi::create([
|
||||
'nomor_urut' => $no_urut,
|
||||
'registrasi_tanggal' => $tanggal_berobat,
|
||||
'pasien_id' => $pasien_id,
|
||||
'asuransi_id' => $asuransi_id,
|
||||
'asuransi_no' => $asuransi_no,
|
||||
'pegawai_id' => $pegawai_id,
|
||||
'ruang_pelayanan_id' => $ruang_pelayanan_id,
|
||||
'status' => 0
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => $insert->id,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
// Handle the exception or log the error
|
||||
dd($e);
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'something wrong!!'
|
||||
];
|
||||
return response()->json($data_return, 500);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function detail(string $id)
|
||||
{
|
||||
//
|
||||
$registrasi = Registrasi::select([
|
||||
'registrasis.id',
|
||||
'registrasis.nomor_urut',
|
||||
'registrasis.registrasi_tanggal',
|
||||
'pasiens.pasien_name',
|
||||
'asuransis.asuransi_name',
|
||||
'registrasis.asuransi_no',
|
||||
'pegawais.pegawai_name',
|
||||
'ruang_pelayanans.ruang_pelayanan_name',
|
||||
'registrasis.status'
|
||||
])
|
||||
->leftJoin('pasiens', 'pasiens.id', '=', 'registrasis.pasien_id')
|
||||
->leftJoin('asuransis', 'asuransis.id', '=', 'registrasis.asuransi_id')
|
||||
->leftJoin('pegawais', 'pegawais.id', '=', 'registrasis.pegawai_id')
|
||||
->leftJoin('ruang_pelayanans', 'ruang_pelayanans.id', '=', 'registrasis.ruang_pelayanan_id')
|
||||
->where('registrasis.id', $id)
|
||||
->first();
|
||||
|
||||
if($registrasi){
|
||||
$data['title'] = 'DETAIL REGISTRASI';
|
||||
$data['registrasi'] = $registrasi;
|
||||
|
||||
return view('registrasi_no_auth.detail', $data);
|
||||
} else {
|
||||
abort(404);
|
||||
}
|
||||
}
|
||||
|
||||
public function download_pdf($id)
|
||||
{
|
||||
$registrasi = Registrasi::select([
|
||||
'registrasis.id',
|
||||
'registrasis.nomor_urut',
|
||||
'registrasis.registrasi_tanggal',
|
||||
'pasiens.pasien_name',
|
||||
'asuransis.asuransi_name',
|
||||
'registrasis.asuransi_no',
|
||||
'pegawais.pegawai_name',
|
||||
'ruang_pelayanans.ruang_pelayanan_name',
|
||||
'registrasis.status'
|
||||
])
|
||||
->leftJoin('pasiens', 'pasiens.id', '=', 'registrasis.pasien_id')
|
||||
->leftJoin('asuransis', 'asuransis.id', '=', 'registrasis.asuransi_id')
|
||||
->leftJoin('pegawais', 'pegawais.id', '=', 'registrasis.pegawai_id')
|
||||
->leftJoin('ruang_pelayanans', 'ruang_pelayanans.id', '=', 'registrasis.ruang_pelayanan_id')
|
||||
->where('registrasis.id', $id)
|
||||
->first();
|
||||
|
||||
if($registrasi){
|
||||
$registrasi_update = Registrasi::findorFail($id);
|
||||
$registrasi_update->update([
|
||||
'status' => 1
|
||||
]);
|
||||
|
||||
$data['registrasi'] = $registrasi;
|
||||
// Render view to PDF
|
||||
$pdf = Pdf::loadView('registrasi_no_auth.pdf', $data);
|
||||
return $pdf->stream('registrasi_no_auth.pdf');
|
||||
} else {
|
||||
abort(404);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(string $id)
|
||||
{
|
||||
//
|
||||
$registrasi = Registrasi::select([
|
||||
'registrasis.id',
|
||||
'registrasis.nomor_urut',
|
||||
'registrasis.registrasi_tanggal',
|
||||
'registrasis.pasien_id',
|
||||
'pasiens.pasien_nik',
|
||||
'pasiens.pasien_name',
|
||||
'pasiens.tanggal_lahir',
|
||||
'pasiens.jenis_kelamin',
|
||||
'registrasis.asuransi_id',
|
||||
'asuransis.asuransi_name',
|
||||
'registrasis.asuransi_no',
|
||||
'registrasis.pegawai_id',
|
||||
'pegawais.pegawai_name',
|
||||
'registrasis.ruang_pelayanan_id',
|
||||
'ruang_pelayanans.ruang_pelayanan_name'
|
||||
])
|
||||
->leftJoin('pasiens', 'pasiens.id', '=', 'registrasis.pasien_id')
|
||||
->leftJoin('asuransis', 'asuransis.id', '=', 'registrasis.asuransi_id')
|
||||
->leftJoin('pegawais', 'pegawais.id', '=', 'registrasis.pegawai_id')
|
||||
->leftJoin('ruang_pelayanans', 'ruang_pelayanans.id', '=', 'registrasis.ruang_pelayanan_id')
|
||||
->where('registrasis.id', $id)
|
||||
->first();
|
||||
|
||||
if($registrasi){
|
||||
$data['title'] = 'EDIT REGISTRASI';
|
||||
$data['asuransi'] = Asuransi::all();
|
||||
$data['pegawai'] = Pegawai::all();
|
||||
$data['registrasi'] = $registrasi;
|
||||
|
||||
return view('registrasi_no_auth.edit', $data);
|
||||
} else {
|
||||
abort(404);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request)
|
||||
{
|
||||
//
|
||||
$id = $request->registrasi_id;
|
||||
$tanggal_berobat = $request->tanggal_berobat;
|
||||
$pasien_id = $request->pasien_id;
|
||||
$asuransi_id = $request->asuransi_id;
|
||||
$asuransi_no = $request->asuransi_no ?? "";
|
||||
$pegawai_id = $request->pegawai_id;
|
||||
$ruang_pelayanan_id = $request->ruang_pelayanan_id;
|
||||
|
||||
$registrasi = Registrasi::findorFail($id);
|
||||
|
||||
if (!$registrasi) {
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'Data Not Found!'
|
||||
];
|
||||
return response()->json($data_return, 404);
|
||||
}
|
||||
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$registrasi->update([
|
||||
'registrasi_tanggal' => $tanggal_berobat,
|
||||
'pasien_id' => $pasien_id,
|
||||
'asuransi_id' => $asuransi_id,
|
||||
'asuransi_no' => $asuransi_no,
|
||||
'pegawai_id' => $pegawai_id,
|
||||
'ruang_pelayanan_id' => $ruang_pelayanan_id
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => null,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} catch (Exception $e) {
|
||||
//throw $th;
|
||||
DB::rollBack();
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'something wrong!!',
|
||||
'msg_for_dev' => $e->getMessage()
|
||||
];
|
||||
return response()->json($data_return, 500);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(Request $request)
|
||||
{
|
||||
|
||||
//
|
||||
$id = $request->id;
|
||||
|
||||
$registrasi = Registrasi::findorFail($id);
|
||||
|
||||
if (!$registrasi) {
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'Data Not Found!'
|
||||
];
|
||||
return response()->json($data_return, 404);
|
||||
}
|
||||
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$registrasi->update(['status' => 4]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$data_return = [
|
||||
'status' => true,
|
||||
'data' => null,
|
||||
'msg' => null
|
||||
];
|
||||
return response()->json($data_return, 200);
|
||||
} catch (Exception $e) {
|
||||
//throw $th;
|
||||
DB::rollBack();
|
||||
$data_return = [
|
||||
'status' => false,
|
||||
'data' => null,
|
||||
'msg' => 'something wrong!!',
|
||||
'msg_for_dev' => $e->getMessage()
|
||||
];
|
||||
return response()->json($data_return, 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
319
resources/views/registrasi_no_auth/create.blade.php
Normal file
319
resources/views/registrasi_no_auth/create.blade.php
Normal file
@ -0,0 +1,319 @@
|
||||
@extends('template.template_no_auth')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">REGISTRASI FORM</h3>
|
||||
<div class="card-toolbar gap-2">
|
||||
<a href="{{ url('/registrasi') }}" class="btn btn-danger">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row d-flex justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<form action="" id="form">
|
||||
<div class="fv-row mb-10">
|
||||
<label for="nik" class="required form-label">NIK</label>
|
||||
<input type="text" name="nik" id="nik" class="form-control" placeholder="NIK"
|
||||
oninput="numericOnly(this)" onfocus="numericOnly(this)" maxlength="16" />
|
||||
<span id="status_nik"></span>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="name" class="required form-label">Nama Pasien</label>
|
||||
<input type="text" name="pasien_name" id="pasien_name" class="form-control"
|
||||
placeholder="Nama Pasien" readonly />
|
||||
<input type="hidden" name="pasien_id" id="pasien_id" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_lahir" class="required form-label">Tanggal Lahir Pasien</label>
|
||||
<input type="date" name="tanggal_lahir" id="tanggal_lahir" class="form-control"
|
||||
placeholder="Tanggal Lahir Pasien" readonly />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="jenis_kelamin" class="required form-label">Jenis Kelamin</label>
|
||||
<input type="text" name="jenis_kelamin" id="jenis_kelamin" class="form-control"
|
||||
placeholder="Jenis Kelamin Pasien" readonly />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_berobat" class="required form-label">Tanggal Berobat</label>
|
||||
<input type="date" name="tanggal_berobat" id="tanggal_berobat" class="form-control"
|
||||
placeholder="Tanggal Berobat" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="asuransi_id" class="form-label">Asuransi</label>
|
||||
<select name="asuransi_id" id="asuransi_id" class="form-select" data-control="select2"
|
||||
data-placeholder="Select an option">
|
||||
<option value="-1" selected>Tidak Asuransi</option>
|
||||
@foreach ($asuransi as $item)
|
||||
<option value="{{ $item->id }}">{{ $item->asuransi_name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="asuransi_no" class="form-label">Nomor Asuransi</label>
|
||||
<input type="text" name="asuransi_no" id="asuransi_no" class="form-control"
|
||||
placeholder="Asuransi Nomor" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="pegawai_id" class="required form-label">Dokter</label>
|
||||
<select name="pegawai_id" id="pegawai_id" class="form-select" data-control="select2"
|
||||
data-placeholder="Select an option">
|
||||
<option value="" disabled selected>Pilih Dokter</option>
|
||||
@foreach ($pegawai as $item)
|
||||
<option value="{{ $item->id }}" data-ruang="{{ $item->ruang_pelayanan_id }}">
|
||||
{{ $item->pegawai_name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="ruang_pelayanan_name" class="required form-label">Ruang Pelayanan</label>
|
||||
<input type="text" name="ruang_pelayanan_name" id="ruang_pelayanan_name" class="form-control"
|
||||
placeholder="Ruang Pelayanan" readonly />
|
||||
<input type="hidden" name="ruang_pelayanan_id" id="ruang_pelayanan_id" />
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="submit" class="btn btn-success">
|
||||
<span class="indicator-label">
|
||||
Submit
|
||||
</span>
|
||||
<span class="indicator-progress">
|
||||
Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('custom_js')
|
||||
<script>
|
||||
let validator = null;
|
||||
|
||||
$(document).ready(function() {
|
||||
const form = document.getElementById('form');
|
||||
|
||||
validator = FormValidation.formValidation(
|
||||
form, {
|
||||
fields: {
|
||||
'nik': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'NIK Name is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'pasien_name': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Pasien Name is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'tanggal_berobat': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Tanggal Berobat is required'
|
||||
},
|
||||
callback: {
|
||||
message: 'Tanggal tidak boleh ke tanggal sebelumnya',
|
||||
callback: function(input) {
|
||||
if (input.value === '') {
|
||||
return true; // biar validasi kosong ditangani notEmpty
|
||||
}
|
||||
|
||||
var selectedDate = new Date(input.value);
|
||||
var today = new Date();
|
||||
|
||||
// Bikin hari ini jam 00:00 biar adil bandinginnya
|
||||
today.setHours(0, 0, 0, 0);
|
||||
|
||||
return selectedDate >= today;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'asuransi_no': {
|
||||
validators: {
|
||||
callback: {
|
||||
message: 'Asuransi Nomor is required',
|
||||
callback: function(input) {
|
||||
const selectedValue = $('#asuransi_id').val();
|
||||
if (selectedValue != -1) {
|
||||
return input.value !== '';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'pegawai_id': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Dokter is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'ruang_pelayanan_name': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Ruang Pelayanan is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
plugins: {
|
||||
trigger: new FormValidation.plugins.Trigger(),
|
||||
bootstrap: new FormValidation.plugins.Bootstrap5({
|
||||
rowSelector: '.fv-row',
|
||||
eleInvalidClass: '',
|
||||
eleValidClass: ''
|
||||
})
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
var today = new Date().toISOString().split('T')[0];
|
||||
|
||||
// Set atribut min ke input tanggal
|
||||
$('#tanggal_berobat').attr('min', today);
|
||||
|
||||
$('#nik').change(function() {
|
||||
get_data_by_nik();
|
||||
});
|
||||
|
||||
$('#pegawai_id').change(function() {
|
||||
get_ruang_pelayanan_by_pegawai();
|
||||
});
|
||||
|
||||
$('#submit').click(function(e) {
|
||||
e.preventDefault();
|
||||
submit();
|
||||
});
|
||||
});
|
||||
|
||||
function numericOnly(el) {
|
||||
el.value = el.value.replace(/[^0-9]/g, "");
|
||||
}
|
||||
|
||||
function get_data_by_nik() {
|
||||
const nik = $('#nik').val();
|
||||
$('#status_nik').removeClass(['text-danger', 'text-success']);
|
||||
$('#status_nik').html(
|
||||
`<div class="spinner-border spinner-border-sm" role="status"><span class="visually-hidden">Loading...</span></div> cek nip`
|
||||
);
|
||||
|
||||
$.ajax({
|
||||
url: "{{ url('/guest/registrasi/get_by_nik') }}",
|
||||
type: "POST",
|
||||
data: {
|
||||
nik: nik,
|
||||
_token: "{{ csrf_token() }}"
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
$('#status_nik').html(``);
|
||||
const data = response.data;
|
||||
$('#pasien_id').val(data.id);
|
||||
$('#pasien_name').val(data.pasien_name);
|
||||
$('#tanggal_lahir').val(data.tanggal_lahir);
|
||||
$('#jenis_kelamin').val(data.jenis_kelamin);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
$('#status_nik').addClass('text-danger');
|
||||
$('#status_nik').html(`NIK Tidak Terdaftar`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function get_ruang_pelayanan_by_pegawai() {
|
||||
const ruang_id = $('#pegawai_id option:selected').data('ruang');
|
||||
$.ajax({
|
||||
url: "{{ url('/guest/registrasi/get_ruang_pelayanan_by_pegawai') }}",
|
||||
type: "POST",
|
||||
data: {
|
||||
ruang_id: ruang_id,
|
||||
_token: "{{ csrf_token() }}"
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
const data = response.data;
|
||||
$('#ruang_pelayanan_id').val(data.id);
|
||||
$('#ruang_pelayanan_name').val(data.ruang_pelayanan_name);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
console.log(xhr);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function submit() {
|
||||
if (validator) {
|
||||
validator.validate().then(function(status) {
|
||||
if (status == 'Valid') {
|
||||
$('#submit').attr("data-kt-indicator", "on");
|
||||
$('#submit').attr("disabled", "true");
|
||||
|
||||
var data = {_token: "{{ csrf_token() }}"};
|
||||
|
||||
$.each($('#form').serializeArray(), function(_, field) {
|
||||
data[field.name] = field.value;
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "{{ url('/guest/registrasi/store') }}",
|
||||
type: "POST",
|
||||
data: data,
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
Swal.fire({
|
||||
icon: "success",
|
||||
text: "Data Berhasil Disimpan",
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
}).then(() => {
|
||||
const id = response.data;
|
||||
window.open(`{{ url('/guest/registrasi/download/') }}/${id}`, '_blank');
|
||||
window.location.href = `{{ url('/guest/registrasi') }}`;
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
var errorMessage = xhr.responseJSON ? xhr.responseJSON.msg :
|
||||
"Terjadi kesalahan!";
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
text: errorMessage,
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "Close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
});
|
||||
},
|
||||
complete: function() {
|
||||
$('#submit').removeAttr("data-kt-indicator");
|
||||
$('#submit').removeAttr("disabled");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
219
resources/views/registrasi_no_auth/create_pasien.blade.php
Normal file
219
resources/views/registrasi_no_auth/create_pasien.blade.php
Normal file
@ -0,0 +1,219 @@
|
||||
|
||||
@extends('template.template_no_auth')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">TAMBAH PASIEN</h3>
|
||||
<div class="card-toolbar gap-2">
|
||||
<a href="{{ url('/guest/registrasi') }}" class="btn btn-danger">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row d-flex justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<form action="" id="form">
|
||||
<div class="fv-row mb-10">
|
||||
<label for="nik" class="required form-label">NIK</label>
|
||||
<input type="text" name="nik" id="nik" class="form-control"
|
||||
placeholder="Nama Pasien" oninput="numericOnly(this)" onfocus="numericOnly(this)" maxlength="16" />
|
||||
<span id="status_nik"></span>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="name" class="required form-label">Nama</label>
|
||||
<input type="text" name="name" id="name" class="form-control"
|
||||
placeholder="Nama Pasien" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_lahir" class="required form-label">Tanggal Lahir</label>
|
||||
<input type="date" name="tanggal_lahir" id="tanggal_lahir" class="form-control"
|
||||
placeholder="Tanggal Lahir Pasien" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_lahir" class="required form-label">Jenis Kelamin</label>
|
||||
<select name="jenis_kelamin" id="jenis_kelamin" class="form-select" data-control="select2" data-placeholder="Select an option">
|
||||
<option value="" disabled selected>Pilih Jenis Kelamin</option>
|
||||
<option value="laki-laki">Laki-laki</option>
|
||||
<option value="perempuan">Perempuan</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="submit" class="btn btn-success">
|
||||
<span class="indicator-label">
|
||||
Submit
|
||||
</span>
|
||||
<span class="indicator-progress">
|
||||
Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('custom_js')
|
||||
<script>
|
||||
let validator = null;
|
||||
|
||||
$(document).ready(function() {
|
||||
const form = document.getElementById('form');
|
||||
|
||||
validator = FormValidation.formValidation(
|
||||
form, {
|
||||
fields: {
|
||||
'nik': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'NIK is required'
|
||||
},
|
||||
stringLength: {
|
||||
min: 16,
|
||||
max: 16,
|
||||
message: 'The NIK must be more 16 characters'
|
||||
},
|
||||
}
|
||||
},
|
||||
'name': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Name is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'tanggal_lahir': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Tanggal Lahir is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'jenis_kelamin': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Jenis Kelamin is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
plugins: {
|
||||
trigger: new FormValidation.plugins.Trigger(),
|
||||
bootstrap: new FormValidation.plugins.Bootstrap5({
|
||||
rowSelector: '.fv-row',
|
||||
eleInvalidClass: '',
|
||||
eleValidClass: ''
|
||||
})
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$('#nik').change(function() {
|
||||
get_data_by_nik();
|
||||
});
|
||||
|
||||
$('#submit').click(function(e) {
|
||||
e.preventDefault();
|
||||
submit();
|
||||
});
|
||||
});
|
||||
|
||||
function get_data_by_nik() {
|
||||
const nik = $('#nik').val();
|
||||
$('#status_nik').removeClass(['text-danger', 'text-success']);
|
||||
$('#status_nik').html(
|
||||
`<div class="spinner-border spinner-border-sm" role="status"><span class="visually-hidden">Loading...</span></div> cek nip`
|
||||
);
|
||||
|
||||
$.ajax({
|
||||
url: "{{ url('/guest/registrasi/get_by_nik') }}",
|
||||
type: "POST",
|
||||
data: {
|
||||
nik: nik,
|
||||
_token: "{{ csrf_token() }}"
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
$('#status_nik').addClass('text-danger');
|
||||
$('#status_nik').html(`NIP Telah digunakan, Silahkan ganti!`);
|
||||
$('#nik').val('');
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
$('#status_nik').addClass('text-success');
|
||||
$('#status_nik').html(`NIK Bisa Digunakan`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function numericOnly(el){
|
||||
el.value = el.value.replace(/[^0-9]/g, "");
|
||||
}
|
||||
|
||||
function submit() {
|
||||
if (validator) {
|
||||
validator.validate().then(function(status) {
|
||||
if (status == 'Valid') {
|
||||
$('#submit').attr("data-kt-indicator", "on");
|
||||
$('#submit').attr("disabled", "true");
|
||||
|
||||
const nik = $('#nik').val();
|
||||
const name = $('#name').val();
|
||||
const tanggalLahir = $('#tanggal_lahir').val();
|
||||
const jenisKelamin = $('#jenis_kelamin').val();
|
||||
|
||||
const data = {
|
||||
nik: nik,
|
||||
name : name,
|
||||
tanggal_lahir: tanggalLahir,
|
||||
jenis_kelamin: jenisKelamin,
|
||||
_token: "{{ csrf_token() }}"
|
||||
}
|
||||
$.ajax({
|
||||
url: "{{ url('/guest/registrasi/store_pasien') }}",
|
||||
type: "POST",
|
||||
data: data,
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
Swal.fire({
|
||||
icon: "success",
|
||||
text: "Data Berhasil Disimpan",
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
}).then(() => {
|
||||
window.location.href = "{{ url('/guest/registrasi/') }}";
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
var errorMessage = xhr.responseJSON ? xhr.responseJSON.msg : "Terjadi kesalahan!";
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
text: errorMessage,
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "Close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
});
|
||||
},
|
||||
complete: function() {
|
||||
$('#submit').removeAttr("data-kt-indicator");
|
||||
$('#submit').removeAttr("disabled");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
87
resources/views/registrasi_no_auth/detail.blade.php
Normal file
87
resources/views/registrasi_no_auth/detail.blade.php
Normal file
@ -0,0 +1,87 @@
|
||||
@extends('template.template')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">DETAIL REGISTRASI FORM</h3>
|
||||
<div class="card-toolbar gap-2">
|
||||
<a href="{{ url('/registrasi/download/' . $registrasi->id) }}" class="btn btn-primary" target="_blank"
|
||||
id="download_btn">Download</a>
|
||||
<a href="{{ url('/registrasi') }}" class="btn btn-danger">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h1 class="text-center fs-1 fw-bolder">{{ $registrasi->nomor_urut }}</h1>
|
||||
<div class="row mt-10">
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">PASIEN</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->pasien_name }}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">TANGGAL REGISTRASI</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->registrasi_tanggal }}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">ASURANSI</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->asuransi_name }}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">NOMOR ASURANSI</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->asuransi_no }}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">DOKTER</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->pegawai_name }}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label class="fs-4" for="">RUANG PELAYANAN</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<label class="fs-4" for="">: {{ $registrasi->ruang_pelayanan_name }}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('custom_js')
|
||||
<script>
|
||||
let validator = null;
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#download_btn').click(function() {
|
||||
setTimeout(function() {
|
||||
window.location.href = "{{ url('/registrasi') }}";
|
||||
}, 2000);
|
||||
})
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
331
resources/views/registrasi_no_auth/edit.blade.php
Normal file
331
resources/views/registrasi_no_auth/edit.blade.php
Normal file
@ -0,0 +1,331 @@
|
||||
@extends('template.template')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">REGISTRASI FORM</h3>
|
||||
<div class="card-toolbar gap-2">
|
||||
<a href="{{ url('/registrasi') }}" class="btn btn-danger">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row d-flex justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<form action="" id="form">
|
||||
<div class="fv-row mb-10">
|
||||
<label for="nik" class="required form-label">NIK</label>
|
||||
<input type="hidden" name="registrasi_id" id="registrasi_id" value="{{$registrasi->id}}">
|
||||
<input type="text" name="nik" id="nik" class="form-control" placeholder="NIK"
|
||||
oninput="numericOnly(this)" onfocus="numericOnly(this)" maxlength="16" value="{{ $registrasi->pasien_nik }}" />
|
||||
<span id="status_nik"></span>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="name" class="required form-label">Nama Pasien</label>
|
||||
<input type="text" name="pasien_name" id="pasien_name" class="form-control"
|
||||
placeholder="Nama Pasien" readonly value="{{ $registrasi->pasien_name }}" />
|
||||
<input type="hidden" name="pasien_id" id="pasien_id" value="{{ $registrasi->pasien_id }}" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_lahir" class="required form-label">Tanggal Lahir Pasien</label>
|
||||
<input type="date" name="tanggal_lahir" id="tanggal_lahir" class="form-control"
|
||||
placeholder="Tanggal Lahir Pasien" readonly value="{{ $registrasi->tanggal_lahir }}" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="jenis_kelamin" class="required form-label">Jenis Kelamin</label>
|
||||
<input type="text" name="jenis_kelamin" id="jenis_kelamin" class="form-control"
|
||||
placeholder="Jenis Kelamin Pasien" readonly value="{{ $registrasi->jenis_kelamin }}" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="tanggal_berobat" class="required form-label">Tanggal Berobat</label>
|
||||
<input type="date" name="tanggal_berobat" id="tanggal_berobat" class="form-control"
|
||||
placeholder="Tanggal Berobat" value="{{ $registrasi->registrasi_tanggal }}" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="asuransi_id" class="form-label">Asuransi</label>
|
||||
<select name="asuransi_id" id="asuransi_id" class="form-select" data-control="select2"
|
||||
data-placeholder="Select an option">
|
||||
<option value="-1" {{ $registrasi->asuransi_id == -1 ? 'selected' : '' }}>Tidak Asuransi</option>
|
||||
@foreach ($asuransi as $item)
|
||||
@php
|
||||
$selected = '';
|
||||
if($item->id == $registrasi->asuransi_id){
|
||||
$selected = 'selected';
|
||||
}
|
||||
@endphp
|
||||
<option value="{{ $item->id }}" {{$selected}}>{{ $item->asuransi_name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="asuransi_no" class="form-label">Nomor Asuransi</label>
|
||||
<input type="text" name="asuransi_no" id="asuransi_no" class="form-control"
|
||||
placeholder="Asuransi Nomor" value="{{ $registrasi->asuransi_no }}" />
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="pegawai_id" class="required form-label">Dokter</label>
|
||||
<select name="pegawai_id" id="pegawai_id" class="form-select" data-control="select2"
|
||||
data-placeholder="Select an option">
|
||||
<option value="" disabled selected>Pilih Dokter</option>
|
||||
@foreach ($pegawai as $item)
|
||||
@php
|
||||
$selected = '';
|
||||
if($item->id == $registrasi->pegawai_id){
|
||||
$selected = 'selected';
|
||||
}
|
||||
@endphp
|
||||
|
||||
<option value="{{ $item->id }}" data-ruang="{{ $item->ruang_pelayanan_id }}" {{$selected}}>
|
||||
{{ $item->pegawai_name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="fv-row mb-10">
|
||||
<label for="ruang_pelayanan_name" class="required form-label">Ruang Pelayanan</label>
|
||||
<input type="text" name="ruang_pelayanan_name" id="ruang_pelayanan_name" class="form-control"
|
||||
placeholder="Ruang Pelayanan" readonly value="{{ $registrasi->ruang_pelayanan_name }}" />
|
||||
<input type="hidden" name="ruang_pelayanan_id" id="ruang_pelayanan_id" value="{{ $registrasi->ruang_pelayanan_id }}" />
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="submit" class="btn btn-success">
|
||||
<span class="indicator-label">
|
||||
Submit
|
||||
</span>
|
||||
<span class="indicator-progress">
|
||||
Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('custom_js')
|
||||
<script>
|
||||
let validator = null;
|
||||
|
||||
$(document).ready(function() {
|
||||
const form = document.getElementById('form');
|
||||
|
||||
validator = FormValidation.formValidation(
|
||||
form, {
|
||||
fields: {
|
||||
'nik': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'NIK Name is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'pasien_name': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Pasien Name is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'tanggal_berobat': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Tanggal Berobat is required'
|
||||
},
|
||||
callback: {
|
||||
message: 'Tanggal tidak boleh ke tanggal sebelumnya',
|
||||
callback: function(input) {
|
||||
if (input.value === '') {
|
||||
return true; // biar validasi kosong ditangani notEmpty
|
||||
}
|
||||
|
||||
var selectedDate = new Date(input.value);
|
||||
var today = new Date();
|
||||
|
||||
// Bikin hari ini jam 00:00 biar adil bandinginnya
|
||||
today.setHours(0, 0, 0, 0);
|
||||
|
||||
return selectedDate >= today;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'asuransi_no': {
|
||||
validators: {
|
||||
callback: {
|
||||
message: 'Asuransi Nomor is required',
|
||||
callback: function(input) {
|
||||
const selectedValue = $('#asuransi_id').val();
|
||||
if (selectedValue != -1) {
|
||||
return input.value !== '';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'pegawai_id': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Dokter is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
'ruang_pelayanan_name': {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Ruang Pelayanan is required'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
plugins: {
|
||||
trigger: new FormValidation.plugins.Trigger(),
|
||||
bootstrap: new FormValidation.plugins.Bootstrap5({
|
||||
rowSelector: '.fv-row',
|
||||
eleInvalidClass: '',
|
||||
eleValidClass: ''
|
||||
})
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
var today = new Date().toISOString().split('T')[0];
|
||||
|
||||
// Set atribut min ke input tanggal
|
||||
$('#tanggal_berobat').attr('min', today);
|
||||
|
||||
$('#nik').change(function() {
|
||||
get_data_by_nik();
|
||||
});
|
||||
|
||||
$('#pegawai_id').change(function() {
|
||||
get_ruang_pelayanan_by_pegawai();
|
||||
});
|
||||
|
||||
$('#submit').click(function(e) {
|
||||
e.preventDefault();
|
||||
submit();
|
||||
});
|
||||
});
|
||||
|
||||
function numericOnly(el) {
|
||||
el.value = el.value.replace(/[^0-9]/g, "");
|
||||
}
|
||||
|
||||
function get_data_by_nik() {
|
||||
const nik = $('#nik').val();
|
||||
$('#status_nik').removeClass(['text-danger', 'text-success']);
|
||||
$('#status_nik').html(
|
||||
`<div class="spinner-border spinner-border-sm" role="status"><span class="visually-hidden">Loading...</span></div> cek nip`
|
||||
);
|
||||
|
||||
$.ajax({
|
||||
url: "{{ url('/pasien/get_by_nik') }}",
|
||||
type: "POST",
|
||||
data: {
|
||||
nik: nik,
|
||||
_token: "{{ csrf_token() }}"
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
$('#status_nik').html(``);
|
||||
const data = response.data;
|
||||
$('#pasien_id').val(data.id);
|
||||
$('#pasien_name').val(data.pasien_name);
|
||||
$('#tanggal_lahir').val(data.tanggal_lahir);
|
||||
$('#jenis_kelamin').val(data.jenis_kelamin);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
$('#status_nik').addClass('text-danger');
|
||||
$('#status_nik').html(`NIK Tidak Terdaftar`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function get_ruang_pelayanan_by_pegawai() {
|
||||
const ruang_id = $('#pegawai_id option:selected').data('ruang');
|
||||
$.ajax({
|
||||
url: "{{ url('/registrasi/get_ruang_pelayanan_by_pegawai') }}",
|
||||
type: "POST",
|
||||
data: {
|
||||
ruang_id: ruang_id,
|
||||
_token: "{{ csrf_token() }}"
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
const data = response.data;
|
||||
$('#ruang_pelayanan_id').val(data.id);
|
||||
$('#ruang_pelayanan_name').val(data.ruang_pelayanan_name);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
console.log(xhr);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function submit() {
|
||||
if (validator) {
|
||||
validator.validate().then(function(status) {
|
||||
if (status == 'Valid') {
|
||||
$('#submit').attr("data-kt-indicator", "on");
|
||||
$('#submit').attr("disabled", "true");
|
||||
|
||||
var data = {_token: "{{ csrf_token() }}"};
|
||||
|
||||
$.each($('#form').serializeArray(), function(_, field) {
|
||||
data[field.name] = field.value;
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "{{ url('/registrasi/update') }}",
|
||||
type: "POST",
|
||||
data: data,
|
||||
dataType: 'JSON',
|
||||
success: function(response) {
|
||||
if (response.status) {
|
||||
Swal.fire({
|
||||
icon: "success",
|
||||
text: "Data Berhasil Diupdate",
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
}).then(() => {
|
||||
window.location.href = "{{ url('/registrasi') }}";
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
var errorMessage = xhr.responseJSON ? xhr.responseJSON.msg :
|
||||
"Terjadi kesalahan!";
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
text: errorMessage,
|
||||
buttonsStyling: false,
|
||||
confirmButtonText: "Close",
|
||||
customClass: {
|
||||
confirmButton: "btn btn-danger"
|
||||
}
|
||||
});
|
||||
},
|
||||
complete: function() {
|
||||
$('#submit').removeAttr("data-kt-indicator");
|
||||
$('#submit').removeAttr("disabled");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
13
resources/views/registrasi_no_auth/index.blade.php
Normal file
13
resources/views/registrasi_no_auth/index.blade.php
Normal file
@ -0,0 +1,13 @@
|
||||
@extends('template.template_no_auth')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-center align-items-center gap-3 vh-100">
|
||||
<a href="{{url('/guest/registrasi/create_pasien')}}" class="btn btn-primary btn-lg">DAFTAR PASIEN BARU</a>
|
||||
<a href="{{url('/guest/registrasi/create')}}" class="btn btn-primary btn-lg">REGISTRASI BEROBAT</a>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('custom_js')
|
||||
@endsection
|
||||
52
resources/views/registrasi_no_auth/pdf.blade.php
Normal file
52
resources/views/registrasi_no_auth/pdf.blade.php
Normal file
@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Struk Belanja</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
.header, .footer {
|
||||
text-align: center;
|
||||
}
|
||||
.items {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
border-top: 1px solid #000;
|
||||
border-bottom: 1px solid #000;
|
||||
}
|
||||
.items th, .items td {
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
}
|
||||
.total {
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<h2>{{$registrasi->nomor_urut}}</h2>
|
||||
<p>{{ $registrasi->registrasi_tanggal }}</p>
|
||||
</div>
|
||||
|
||||
<table class="items">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>DOKTER</td>
|
||||
<td>{{ $registrasi->pegawai_name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RUANG PELAYANAN</td>
|
||||
<td>{{ $registrasi->ruang_pelayanan_name }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
118
resources/views/template/template_no_auth.blade.php
Normal file
118
resources/views/template/template_no_auth.blade.php
Normal file
@ -0,0 +1,118 @@
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Author: Keenthemes
|
||||
Product Name: Metronic
|
||||
Product Version: 8.2.0
|
||||
Purchase: https://1.envato.market/EA4JP
|
||||
Website: http://www.keenthemes.com
|
||||
Contact: support@keenthemes.com
|
||||
Follow: www.twitter.com/keenthemes
|
||||
Dribbble: www.dribbble.com/keenthemes
|
||||
Like: www.facebook.com/keenthemes
|
||||
License: For each use you must have a valid license purchased only from above link in order to legally use the theme for your project.
|
||||
-->
|
||||
<html lang="en">
|
||||
<!--begin::Head-->
|
||||
|
||||
<head>
|
||||
<base href="" />
|
||||
<title>{{ $title ?? 'SIM RS' }}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="SIM RS" />
|
||||
<meta name="keywords" content="SIM RS" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta property="og:locale" content="en_US" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="SIM RS" />
|
||||
<meta property="og:url" content="" />
|
||||
<meta property="og:site_name" content="Keenthemes | Metronic" />
|
||||
<link rel="canonical" href="" />
|
||||
<link rel="shortcut icon" href="assets/media/logos/favicon.ico" />
|
||||
<!--begin::Fonts(mandatory for all pages)-->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700" />
|
||||
<!--end::Fonts-->
|
||||
<!--begin::Vendor Stylesheets(used for this page only)-->
|
||||
<link href="{{ asset('metronic/assets/plugins/custom/fullcalendar/fullcalendar.bundle.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<link href="{{ asset('metronic/assets/plugins/custom/datatables/datatables.bundle.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<!--end::Vendor Stylesheets-->
|
||||
<!--begin::Global Stylesheets Bundle(mandatory for all pages)-->
|
||||
<link href="{{ asset('metronic/assets/plugins/global/plugins.bundle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('metronic/assets/css/style.bundle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<!--end::Global Stylesheets Bundle-->
|
||||
<script>
|
||||
// Frame-busting to prevent site from being loaded within a frame without permission (click-jacking) if (window.top != window.self) { window.top.location.replace(window.self.location.href); }
|
||||
</script>
|
||||
</head>
|
||||
<style>
|
||||
</style>
|
||||
<!--end::Head-->
|
||||
<!--begin::Body-->
|
||||
|
||||
<body id="kt_app_body" data-kt-app-header-fixed="true" data-kt-app-header-fixed-mobile="true"
|
||||
data-kt-app-sidebar-enabled="true" data-kt-app-sidebar-fixed="true" data-kt-app-sidebar-push-toolbar="true"
|
||||
data-kt-app-sidebar-push-footer="true" data-kt-app-sidebar-stacked="true"
|
||||
data-kt-app-sidebar-secondary-enabled="true" class="app-default bg-dark">
|
||||
<!--begin::Theme mode setup on page load-->
|
||||
<script>
|
||||
var defaultThemeMode = "light";
|
||||
var themeMode;
|
||||
if (document.documentElement) {
|
||||
if (document.documentElement.hasAttribute("data-bs-theme-mode")) {
|
||||
themeMode = document.documentElement.getAttribute("data-bs-theme-mode");
|
||||
} else {
|
||||
if (localStorage.getItem("data-bs-theme") !== null) {
|
||||
themeMode = localStorage.getItem("data-bs-theme");
|
||||
} else {
|
||||
themeMode = defaultThemeMode;
|
||||
}
|
||||
}
|
||||
if (themeMode === "system") {
|
||||
themeMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
||||
}
|
||||
document.documentElement.setAttribute("data-bs-theme", themeMode);
|
||||
}
|
||||
</script>
|
||||
<!--end::Theme mode setup on page load-->
|
||||
<!--begin::App-->
|
||||
<div class="d-flex flex-column flex-root app-root" id="kt_app_root">
|
||||
<div class="container-fluid">
|
||||
<div class="mt-5">
|
||||
@yield('content')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--end::App-->
|
||||
<!--begin::Javascript-->
|
||||
<script>
|
||||
var hostUrl = "assets/";
|
||||
</script>
|
||||
<!--begin::Global Javascript Bundle(mandatory for all pages)-->
|
||||
<script src="{{ asset('metronic/assets/plugins/global/plugins.bundle.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/scripts.bundle.js') }}"></script>
|
||||
<!--end::Global Javascript Bundle-->
|
||||
<!--begin::Vendors Javascript(used for this page only)-->
|
||||
<script src="{{ asset('metronic/assets/plugins/custom/fullcalendar/fullcalendar.bundle.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/plugins/custom/datatables/datatables.bundle.js') }}"></script>
|
||||
<!--end::Vendors Javascript-->
|
||||
<!--begin::Custom Javascript(used for this page only)-->
|
||||
<script src="{{ asset('metronic/assets/js/widgets.bundle.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/widgets.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/apps/chat/chat.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/utilities/modals/upgrade-plan.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/utilities/modals/new-target.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/utilities/modals/new-address.js') }}"></script>
|
||||
<script src="{{ asset('metronic/assets/js/custom/utilities/modals/users-search.js') }}"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
});
|
||||
</script>
|
||||
|
||||
@yield('custom_js')
|
||||
<!--end::Custom Javascript-->
|
||||
<!--end::Javascript-->
|
||||
</body>
|
||||
<!--end::Body-->
|
||||
|
||||
</html>
|
||||
@ -7,6 +7,7 @@ use App\Http\Controllers\DokterController;
|
||||
use App\Http\Controllers\PasienController;
|
||||
use App\Http\Controllers\PegawaiController;
|
||||
use App\Http\Controllers\RegistrasiController;
|
||||
use App\Http\Controllers\RegistrasiNoAuthController;
|
||||
use App\Http\Controllers\RuangPelayananController;
|
||||
use App\Http\Controllers\TindakanController;
|
||||
use App\Http\Controllers\TransaksiController;
|
||||
@ -94,6 +95,20 @@ Route::middleware([CheckSession::class])->group(function () {
|
||||
|
||||
});
|
||||
|
||||
//registrasi_no_auth
|
||||
Route::get('/guest/registrasi/', [RegistrasiNoAuthController::class, 'index']);
|
||||
Route::post('/guest/registrasi/get_by_nik', [RegistrasiNoAuthController::class, 'get_data_by_nik']);
|
||||
Route::get('/guest/registrasi/create_pasien', [RegistrasiNoAuthController::class, 'create_pasien']);
|
||||
Route::get('/guest/registrasi/create', [RegistrasiNoAuthController::class, 'create']);
|
||||
Route::post('/guest/registrasi/get_ruang_pelayanan_by_pegawai', [RegistrasiNoAuthController::class, 'get_ruang_pelayanan_by_pegawai']);
|
||||
Route::post('/guest/registrasi/store_pasien', [RegistrasiNoAuthController::class, 'store_pasien']);
|
||||
Route::post('/guest/registrasi/store', [RegistrasiNoAuthController::class, 'store']);
|
||||
Route::get('/guest/registrasi/detail/{id}', [RegistrasiNoAuthController::class, 'detail']);
|
||||
Route::get('/guest/registrasi/download/{id}', [RegistrasiNoAuthController::class, 'download_pdf']);
|
||||
Route::get('/guest/registrasi/edit/{id}', [RegistrasiNoAuthController::class, 'edit']);
|
||||
Route::post('/guest/registrasi/update', [RegistrasiNoAuthController::class, 'update']);
|
||||
Route::post('/guest/registrasi/void', [RegistrasiNoAuthController::class, 'destroy']);
|
||||
|
||||
Route::get('/login', [AuthController::class, 'login']);
|
||||
Route::post('/do_login', [AuthController::class, 'do_login']);
|
||||
Route::get('/logout', [AuthController::class, 'logout']);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user