313 lines
11 KiB
PHP
313 lines
11 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="id">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Tambah Data Pasien | SIM-RS Anak dan Bunda Harapan Kita</title>
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
|
|
<style>
|
|
:root {
|
|
--primary-color: #0075c9;
|
|
--secondary-color: #64c4ed;
|
|
--accent-color: #ffaa00;
|
|
--light-color: #f8fcff;
|
|
--dark-color: #124467;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Nunito', sans-serif;
|
|
background: linear-gradient(135deg, rgba(18, 68, 103, 0.95), rgba(0, 117, 201, 0.85)),
|
|
url('https://images.unsplash.com/photo-1576091160550-2173dba999ef?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-attachment: fixed;
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.form-container {
|
|
flex: 1;
|
|
padding: 40px 20px;
|
|
}
|
|
|
|
.form-card {
|
|
background-color: rgba(255, 255, 255, 0.95);
|
|
border-radius: 20px;
|
|
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.form-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 8px;
|
|
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
|
|
}
|
|
|
|
.hospital-logo {
|
|
width: 80px;
|
|
height: 80px;
|
|
object-fit: contain;
|
|
padding: 10px;
|
|
background-color: white;
|
|
border-radius: 50%;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.display-title {
|
|
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
font-weight: 800;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.subtitle {
|
|
color: var(--dark-color);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 20px;
|
|
border-bottom: 1px solid rgba(18, 68, 103, 0.1);
|
|
padding-bottom: 10px;
|
|
}
|
|
|
|
.section-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
|
|
color: white;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 15px;
|
|
box-shadow: 0 4px 8px rgba(0, 117, 201, 0.2);
|
|
}
|
|
|
|
.footer {
|
|
background-color: rgba(18, 68, 103, 0.95);
|
|
padding: 15px 0;
|
|
color: white;
|
|
}
|
|
|
|
.footer a {
|
|
color: var(--secondary-color);
|
|
text-decoration: none;
|
|
transition: color 0.3s;
|
|
}
|
|
|
|
.footer a:hover {
|
|
color: var(--accent-color);
|
|
}
|
|
|
|
.back-link {
|
|
color: var(--primary-color);
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.back-link:hover {
|
|
color: var(--secondary-color);
|
|
transform: translateX(-3px);
|
|
}
|
|
|
|
.form-floating > label {
|
|
color: #666;
|
|
padding-left: 1rem;
|
|
}
|
|
|
|
.form-floating > .form-control {
|
|
border-radius: 10px;
|
|
border: 1px solid #dde5ed;
|
|
background-color: #f8fcff;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.form-floating > .form-control:focus {
|
|
box-shadow: 0 0 0 3px rgba(0, 117, 201, 0.2);
|
|
border-color: var(--primary-color);
|
|
}
|
|
|
|
.form-floating > .form-select {
|
|
border-radius: 10px;
|
|
border: 1px solid #dde5ed;
|
|
background-color: #f8fcff;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.form-floating > .form-select:focus {
|
|
box-shadow: 0 0 0 3px rgba(0, 117, 201, 0.2);
|
|
border-color: var(--primary-color);
|
|
}
|
|
|
|
.btn-primary-gradient {
|
|
background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
|
|
border: none;
|
|
color: white;
|
|
font-weight: 600;
|
|
padding: 10px 25px;
|
|
border-radius: 30px;
|
|
box-shadow: 0 4px 10px rgba(0, 117, 201, 0.3);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.btn-primary-gradient:hover {
|
|
transform: translateY(-3px);
|
|
box-shadow: 0 6px 15px rgba(0, 117, 201, 0.4);
|
|
color: white;
|
|
}
|
|
|
|
.btn-outline-secondary {
|
|
border: 2px solid #6c757d;
|
|
color: #6c757d;
|
|
font-weight: 600;
|
|
padding: 10px 25px;
|
|
border-radius: 30px;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.btn-outline-secondary:hover {
|
|
background-color: #6c757d;
|
|
color: white;
|
|
transform: translateY(-3px);
|
|
}
|
|
|
|
/* Form sections highlight on hover */
|
|
.form-section {
|
|
padding: 20px;
|
|
border-radius: 15px;
|
|
transition: all 0.3s ease;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.form-section:hover {
|
|
background-color: rgba(100, 196, 237, 0.05);
|
|
}
|
|
|
|
.form-floating > .form-select,
|
|
.form-floating > .form-control {
|
|
padding-top: 2rem !important;
|
|
padding-bottom: 0px !important;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="form-container container py-4">
|
|
<div class="row justify-content-center">
|
|
<div class="col-lg-10 col-xl-8">
|
|
<div class="text-start mb-3">
|
|
<a href="/" class="back-link">
|
|
<i class="fas fa-arrow-left me-2"></i> Kembali ke Beranda
|
|
</a>
|
|
</div>
|
|
|
|
<div class="form-card p-4 p-md-5 my-2">
|
|
<div class="text-center mb-4">
|
|
<img src="{{ asset('assets/images/logo.png') }}" alt="Logo RS" class="hospital-logo">
|
|
<h2 class="h3 display-title">TAMBAH RUANGAN PELAYANAN</h2>
|
|
<p class="subtitle">Sistem Informasi Manajemen RS Anak dan Bunda Harapan Kita</p>
|
|
</div>
|
|
|
|
<form action="" method="POST">
|
|
@csrf
|
|
|
|
<!-- Ruang Pelayanan -->
|
|
<div class="form-section mb-4">
|
|
<div class="section-title">
|
|
<div class="section-icon">
|
|
<i class="fas fa-procedures"></i>
|
|
</div>
|
|
<h5 class="text-primary fw-bold mb-0">Ruangan Pelayanan</h5>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer -->
|
|
<footer class="footer text-center py-3">
|
|
<div class="container">
|
|
<p class="mb-0">
|
|
© 2025 RS Anak dan Bunda Harapan Kita |
|
|
<a href="#">Kebijakan Privasi</a> |
|
|
<a href="#">Kontak Kami</a>
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
|
<script>
|
|
// Set tanggal lahir maksimal hari ini
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const today = new Date().toISOString().split('T')[0];
|
|
document.getElementById('tanggal_lahir').max = today;
|
|
|
|
// Set nilai default tanggal kunjungan ke waktu sekarang
|
|
const now = new Date();
|
|
now.setMinutes(now.getMinutes() - now.getTimezoneOffset());
|
|
const datetimeLocal = now.toISOString().slice(0, 16);
|
|
document.getElementById('tanggal_kunjungan').value = datetimeLocal;
|
|
|
|
// Toggle nomor asuransi berdasarkan pilihan asuransi
|
|
const asuransiSelect = document.getElementById('id_asuransi');
|
|
const noAsuransiInput = document.getElementById('no_asuransi');
|
|
|
|
function toggleNoAsuransi() {
|
|
if(asuransiSelect.value === "") {
|
|
noAsuransiInput.disabled = true;
|
|
noAsuransiInput.value = "";
|
|
noAsuransiInput.required = false;
|
|
} else {
|
|
noAsuransiInput.disabled = false;
|
|
noAsuransiInput.required = true;
|
|
}
|
|
}
|
|
|
|
toggleNoAsuransi();
|
|
asuransiSelect.addEventListener('change', toggleNoAsuransi);
|
|
|
|
// Validasi form
|
|
document.querySelector('form').addEventListener('submit', function(e) {
|
|
const namaPasien = document.getElementById('nama_pasien').value.trim();
|
|
const noHP = document.getElementById('no_hp').value.trim();
|
|
|
|
if(namaPasien.length < 3) {
|
|
alert('Nama pasien harus minimal 3 karakter');
|
|
e.preventDefault();
|
|
return;
|
|
}
|
|
|
|
if(noHP && !/^[0-9]{10,13}$/.test(noHP)) {
|
|
alert('Nomor HP harus berisi 10-13 digit angka');
|
|
e.preventDefault();
|
|
return;
|
|
}
|
|
|
|
// Validasi asuransi
|
|
if(asuransiSelect.value !== "" && noAsuransiInput.value.trim() === "") {
|
|
alert('Nomor kartu/polis asuransi harus diisi');
|
|
e.preventDefault();
|
|
return;
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |