sim_rs/resources/views/registrasi_no_auth/create_pasien.blade.php
2025-04-27 21:50:05 +07:00

220 lines
9.4 KiB
PHP

@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