220 lines
9.4 KiB
PHP
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
|