1434 lines
42 KiB
PHP
1434 lines
42 KiB
PHP
<!DOCTYPE html>
|
||
<html lang="id">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Form Input Pasien Ambulans Emergensi 119 RSSA</title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
|
||
|
||
<style>
|
||
body {
|
||
background-color: #f8f9fa;
|
||
padding: 2rem;
|
||
}
|
||
|
||
.form-label {
|
||
font-weight: 500;
|
||
}
|
||
|
||
#inputTujuanContainer {
|
||
display: none;
|
||
}
|
||
|
||
.perawat-wrapper {
|
||
position: relative;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
.hapus-perawat-btn {
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 8px;
|
||
font-size: 16px;
|
||
color: #dc3545;
|
||
background: none;
|
||
border: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.hapus-perawat-btn:hover {
|
||
color: #a71d2a;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="container py-5">
|
||
<div class="card shadow p-4">
|
||
|
||
<h4 class="mb-4 text-primary">
|
||
🚑 Form Input Pasien Ambulans Emergensi 119 RSSA
|
||
</h4>
|
||
|
||
<?php if (session()->has('errors')): ?>
|
||
<div class="alert alert-danger">
|
||
<strong>Periksa kembali data berikut:</strong>
|
||
<ul class="mb-0">
|
||
<?php foreach (session('errors') as $error): ?>
|
||
<li><?= esc($error) ?></li>
|
||
<?php endforeach; ?>
|
||
</ul>
|
||
</div>
|
||
<?php endif; ?>
|
||
|
||
<!-- FORM START -->
|
||
<form id="formPasien"
|
||
method="post"
|
||
action="<?= base_url('pasien/'.($edit_mode ? 'update/'.$id : 'simpan')) ?>">
|
||
|
||
<?= csrf_field(); ?>
|
||
|
||
<!-- ================= HEADER ================= -->
|
||
<div class="row mb-3">
|
||
|
||
<div class="col-md-3">
|
||
<label class="form-label">Tanggal & Jam</label>
|
||
|
||
<input type="datetime-local"
|
||
name="tanggal"
|
||
class="form-control"
|
||
value="<?= isset($pasien['created_at'])
|
||
? date('Y-m-d\TH:i', strtotime($pasien['created_at']))
|
||
: date('Y-m-d\TH:i') ?>"
|
||
<?= $edit_mode ? 'readonly' : '' ?>>
|
||
</div>
|
||
|
||
<div class="col-md-2">
|
||
<label class="form-label">Register Ambulans</label>
|
||
<input
|
||
type="text"
|
||
class="form-control"
|
||
name="register"
|
||
value="<?= $register ?? '' ?>"
|
||
readonly>
|
||
</div>
|
||
|
||
<div class="col-md-2 position-relative">
|
||
<label class="form-label">No RM</label>
|
||
|
||
<div class="input-group">
|
||
<input
|
||
type="text"
|
||
id="noRM"
|
||
name="rm"
|
||
class="form-control"
|
||
placeholder="Ketik RM"
|
||
pattern="[0-9]*"
|
||
inputmode="numeric"
|
||
value="<?= isset($pasien['rm']) ? esc($pasien['rm']) : '' ?>"
|
||
>
|
||
|
||
<button type="button" class="btn btn-primary" onclick="searchRM()">
|
||
🔍
|
||
</button>
|
||
</div>
|
||
|
||
<div id="rmResult" class="list-group position-absolute w-100 z-3"></div>
|
||
</div>
|
||
|
||
<div class="col-md-3">
|
||
<label class="form-label">
|
||
Nama Penelpon <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<input
|
||
type="text"
|
||
class="form-control <?= session('errors.nama_penelpon') ? 'is-invalid' : '' ?>"
|
||
id="penelpon"
|
||
name="nama_penelpon"
|
||
placeholder="Nama penelpon"
|
||
value="<?= old('nama_penelpon', $pasien['nama_penelpon'] ?? '') ?>">
|
||
|
||
<?php if(session('errors.nama_penelpon')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.nama_penelpon') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="col-md-2">
|
||
<label class="form-label">
|
||
No. Penelpon <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<input
|
||
type="tel"
|
||
class="form-control <?= session('errors.no_penelpon') ? 'is-invalid' : '' ?>"
|
||
id="no_penelpon"
|
||
name="no_penelpon"
|
||
placeholder="08xxxx"
|
||
value="<?= old('no_penelpon', $pasien['no_penelpon'] ?? '') ?>">
|
||
|
||
<?php if(session('errors.no_penelpon')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.no_penelpon') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!-- ================= IDENTITAS ================= -->
|
||
<div class="row mb-3">
|
||
|
||
<div class="col-md-2" style="max-width: 120px;">
|
||
<label class="form-label">Atribut</label>
|
||
<select class="form-select" id="panggilanDepan" name="panggilan_depan">
|
||
<option value="">Pilih</option>
|
||
<?php
|
||
$opsi = ['By.','An.','Sdr.','Nn.','Tn.','Ny.'];
|
||
foreach ($opsi as $o):
|
||
?>
|
||
<option value="<?= $o ?>"
|
||
<?= old('panggilan_depan', $pasien['atribut'] ?? '') == $o ? 'selected' : '' ?>>
|
||
<?= $o ?>
|
||
</option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
</div>
|
||
|
||
<div class="col-md-4">
|
||
<label class="form-label">
|
||
Nama Pasien <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<input type="text"
|
||
class="form-control <?= session('errors.nama') ? 'is-invalid' : '' ?>"
|
||
id="nama"
|
||
name="nama"
|
||
value="<?= old('nama', $pasien['nama'] ?? '') ?>">
|
||
|
||
<?php if(session('errors.nama')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.nama') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="col-md-2">
|
||
<label class="form-label">
|
||
Jenis Kelamin <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<select class="form-select <?= session('errors.gender') ? 'is-invalid' : '' ?>"
|
||
id="gender"
|
||
name="gender">
|
||
|
||
<option value="">...</option>
|
||
|
||
<option value="Laki-laki"
|
||
<?= old('gender', $pasien['gender'] ?? '') == 'Laki-laki' ? 'selected' : '' ?>>
|
||
Laki-laki
|
||
</option>
|
||
|
||
<option value="Perempuan"
|
||
<?= old('gender', $pasien['gender'] ?? '') == 'Perempuan' ? 'selected' : '' ?>>
|
||
Perempuan
|
||
</option>
|
||
|
||
</select>
|
||
|
||
<?php if(session('errors.gender')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.gender') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="col-md-2">
|
||
<label class="form-label">
|
||
Tanggal Lahir <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<input type="date"
|
||
id="tanggalLahir"
|
||
class="form-control <?= session('errors.tanggal_lahir') ? 'is-invalid' : '' ?>"
|
||
name="tanggal_lahir"
|
||
value="<?= old('tanggal_lahir', !empty($pasien['tgl_lahir']) ? date('Y-m-d', strtotime($pasien['tgl_lahir'])) : '') ?>">
|
||
|
||
<?php if(session('errors.tanggal_lahir')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.tanggal_lahir') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="col-md-2">
|
||
<label class="form-label">Umur</label>
|
||
<input type="text" id="umur" class="form-control" readonly>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!-- ================= ALAMAT + POSISI ================= -->
|
||
<div class="row mb-3">
|
||
|
||
<!-- ALAMAT (kiri) -->
|
||
<div class="col-md-6">
|
||
<label class="form-label">
|
||
Alamat <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<textarea id="alamat"
|
||
name="alamat"
|
||
rows="4"
|
||
class="form-control <?= session('errors.alamat') ? 'is-invalid' : '' ?>"><?= old('alamat', $pasien['alamat'] ?? '') ?></textarea>
|
||
|
||
<?php if(session('errors.alamat')): ?>
|
||
<div class="invalid-feedback d-block">
|
||
<?= session('errors.alamat') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<!-- POSISI PASIEN (kanan) -->
|
||
<div class="col-md-6">
|
||
|
||
<?php
|
||
$pos = json_decode($order['posisi'] ?? '{}', true);
|
||
|
||
$posisiPasien = old('posisi_pasien', $pos['lokasi'] ?? '');
|
||
$lantai = old('posisi_lantai', $pos['lantai'] ?? '');
|
||
$lainnya = old('posisi_lainnya', $pos['lainnya'] ?? '');
|
||
?>
|
||
|
||
<!-- HEADER: Judul kiri, Lantai kanan -->
|
||
<div class="d-flex justify-content-between align-items-center mb-2">
|
||
<label class="form-label mb-0">
|
||
Posisi Pasien (Saat Ditemukan)
|
||
</label>
|
||
|
||
<div class="d-flex align-items-center">
|
||
<label for="lantai" class="me-2 mb-0">Lantai</label>
|
||
|
||
<select id="lantai"
|
||
name="posisi_lantai"
|
||
class="form-select form-select-sm">
|
||
|
||
<option value="">Pilih</option>
|
||
|
||
<?php for ($i = 1; $i <= 50; $i++): ?>
|
||
<option value="<?= $i ?>"
|
||
<?= ($lantai == $i) ? 'selected' : '' ?>>
|
||
Lantai <?= $i ?>
|
||
</option>
|
||
<?php endfor; ?>
|
||
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- RADIO BUTTON -->
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
id="tidur"
|
||
name="posisi_pasien"
|
||
value="kamar_tidur"
|
||
<?= $posisiPasien === 'kamar_tidur' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="tidur">
|
||
Di Kamar Tidur
|
||
</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
id="tamu"
|
||
name="posisi_pasien"
|
||
value="ruang_tamu"
|
||
<?= $posisiPasien === 'ruang_tamu' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="tamu">
|
||
Di Ruang Tamu
|
||
</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
id="mandi"
|
||
name="posisi_pasien"
|
||
value="kamar_mandi"
|
||
<?= $posisiPasien === 'kamar_mandi' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="mandi">
|
||
Di Kamar Mandi
|
||
</label>
|
||
</div>
|
||
|
||
<div class="d-flex align-items-center mb-2">
|
||
<input class="form-check-input me-2"
|
||
type="radio"
|
||
id="ruanglain"
|
||
name="posisi_pasien"
|
||
value="lainnya"
|
||
onchange="toggleInputRuangLain()"
|
||
<?= $posisiPasien === 'lainnya' ? 'checked' : '' ?>>
|
||
|
||
<label class="form-check-label me-2" for="ruanglain">
|
||
Di Ruang Lain:
|
||
</label>
|
||
|
||
<input type="text"
|
||
id="inputRuangLain"
|
||
name="posisi_lainnya"
|
||
class="form-control form-control-sm w-50"
|
||
placeholder="Sebutkan..."
|
||
value="<?= esc($lainnya) ?>"
|
||
<?= $posisiPasien === 'lainnya' ? '' : 'disabled' ?>>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="row mb-3">
|
||
|
||
<!-- Keluhan Utama -->
|
||
<div class="col-md-12">
|
||
<label class="form-label">Keluhan Utama</label>
|
||
|
||
<textarea
|
||
class="form-control <?= session('errors.keluhan_utama') ? 'is-invalid' : '' ?>"
|
||
name="keluhan_utama"
|
||
rows="2"
|
||
placeholder="Contoh: sesak napas, nyeri dada, kecelakaan, dll"><?= old('keluhan_utama', $order['keluhan_utama'] ?? '') ?></textarea>
|
||
|
||
<?php if(session('errors.keluhan_utama')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.keluhan_utama') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<!-- 1. Kesadaran -->
|
||
<div class="col-md-4">
|
||
<label class="form-label">
|
||
Kesadaran <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<select
|
||
class="form-select <?= session('errors.kesadaran') ? 'is-invalid' : '' ?>"
|
||
id="kesadaran"
|
||
name="kesadaran">
|
||
|
||
<option value="">...</option>
|
||
|
||
<option value="Sadar"
|
||
<?= old('kesadaran', $order['kesadaran'] ?? '') == 'Sadar' ? 'selected' : '' ?>>
|
||
Sadar
|
||
</option>
|
||
|
||
<option value="Tidak Sadar"
|
||
<?= old('kesadaran', $order['kesadaran'] ?? '') == 'Tidak Sadar' ? 'selected' : '' ?>>
|
||
Tidak Sadar
|
||
</option>
|
||
|
||
<option value="Gelisah"
|
||
<?= old('kesadaran', $order['kesadaran'] ?? '') == 'Gelisah' ? 'selected' : '' ?>>
|
||
Gelisah
|
||
</option>
|
||
|
||
</select>
|
||
|
||
<?php if(session('errors.kesadaran')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.kesadaran') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<!-- 2. Kategori -->
|
||
<div class="col-md-4">
|
||
<label class="form-label">
|
||
Kategori <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<select
|
||
class="form-select <?= session('errors.kategori') ? 'is-invalid' : '' ?>"
|
||
id="kategori"
|
||
name="kategori">
|
||
|
||
<option value="">...</option>
|
||
|
||
<option value="Trauma"
|
||
<?= old('kategori', $order['kategori'] ?? '') == 'Trauma' ? 'selected' : '' ?>>
|
||
Trauma
|
||
</option>
|
||
|
||
<option value="Non Trauma"
|
||
<?= old('kategori', $order['kategori'] ?? '') == 'Non Trauma' ? 'selected' : '' ?>>
|
||
Non Trauma
|
||
</option>
|
||
|
||
</select>
|
||
|
||
<?php if(session('errors.kategori')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.kategori') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
<!-- 3. Order Type -->
|
||
<div class="col-md-4">
|
||
<label class="form-label">
|
||
Order Type <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<select
|
||
class="form-select <?= session('errors.order_type') ? 'is-invalid' : '' ?>"
|
||
id="orderType"
|
||
name="order_type">
|
||
|
||
<option value="Pending Order"
|
||
<?= old('order_type', $order['order_type'] ?? 'Pending Order') == 'Pending Order' ? 'selected' : '' ?>>
|
||
🟢 Pending Order
|
||
</option>
|
||
|
||
<option value="Non Emergency"
|
||
<?= old('order_type', $order['order_type'] ?? '') == 'Non Emergency' ? 'selected' : '' ?>>
|
||
🟡 Non Emergency
|
||
</option>
|
||
|
||
<option value="True Emergency"
|
||
<?= old('order_type', $order['order_type'] ?? '') == 'True Emergency' ? 'selected' : '' ?>>
|
||
🔴 True Emergency
|
||
</option>
|
||
|
||
</select>
|
||
|
||
<?php if(session('errors.order_type')): ?>
|
||
<div class="invalid-feedback">
|
||
<?= session('errors.order_type') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="row g-3">
|
||
|
||
<!-- KIRI: PERNAFASAN -->
|
||
<div class="col-md-3">
|
||
<div class="border rounded p-3 h-100">
|
||
|
||
<?php
|
||
// ✅ WAJIB: decode JSON dulu
|
||
$pernafasan = json_decode($order['pernafasan'] ?? '{}', true);
|
||
|
||
$sesak = old('sesak', $pernafasan['sesak'] ?? '');
|
||
$batuk = old('batuk', $pernafasan['batuk'] ?? '');
|
||
?>
|
||
|
||
<label class="fw-bold">Pernafasan</label>
|
||
|
||
<!-- SESAK -->
|
||
<div class="mt-2">
|
||
<div class="d-flex gap-3">
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="sesak"
|
||
value="ya"
|
||
id="sesakYa"
|
||
<?= $sesak === 'ya' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="sesakYa">
|
||
Sesak
|
||
</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="sesak"
|
||
value="tidak"
|
||
id="sesakTidak"
|
||
<?= $sesak === 'tidak' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="sesakTidak">
|
||
Tidak Sesak
|
||
</label>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<!-- BATUK -->
|
||
<div class="mt-2">
|
||
<div class="d-flex gap-3">
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="batuk"
|
||
value="ya"
|
||
id="batukYa"
|
||
<?= $batuk === 'ya' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="batukYa">
|
||
Batuk
|
||
</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="batuk"
|
||
value="tidak"
|
||
id="batukTidak"
|
||
<?= $batuk === 'tidak' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="batukTidak">
|
||
Tidak Batuk
|
||
</label>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<!-- Suhu -->
|
||
<?php $suhu = old('suhu', $order['suhu'] ?? ''); ?>
|
||
|
||
<label class="fw-bold">
|
||
Suhu Tubuh <span class="text-danger">*</span>
|
||
</label>
|
||
|
||
<div class="d-flex gap-3 mt-2 mb-2">
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input <?= session('errors.suhu') ? 'is-invalid' : '' ?>"
|
||
type="radio"
|
||
id="demam"
|
||
name="suhu"
|
||
value="demam"
|
||
<?= $suhu == 'demam' ? 'checked' : '' ?>>
|
||
|
||
<label class="form-check-label" for="demam">
|
||
Demam
|
||
</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input <?= session('errors.suhu') ? 'is-invalid' : '' ?>"
|
||
type="radio"
|
||
id="tidak_demam"
|
||
name="suhu"
|
||
value="tidak_demam"
|
||
<?= $suhu == 'tidak_demam' ? 'checked' : '' ?>>
|
||
|
||
<label class="form-check-label" for="tidak_demam">
|
||
Tidak Demam
|
||
</label>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<?php if(session('errors.suhu')): ?>
|
||
<div class="text-danger small">
|
||
<?= session('errors.suhu') ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
|
||
|
||
|
||
<?php
|
||
$bahaya = json_decode($order['bahaya'] ?? '{}', true);
|
||
$statusBahaya = $bahaya['status'] ?? '';
|
||
$detailBahaya = $bahaya['detail'] ?? '';
|
||
?>
|
||
<!-- Kondisi Bahaya -->
|
||
<label class="fw-bold">Kondisi Bahaya</label>
|
||
<div class="d-flex gap-3 mt-2">
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="bahaya"
|
||
value="ada"
|
||
id="bahayaAda"
|
||
<?= $statusBahaya === 'ada' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="bahayaAda">
|
||
Ada
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="bahaya"
|
||
value="tidak"
|
||
id="bahayaTidakAda"
|
||
<?= $statusBahaya === 'tidak' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="bahayaTidakAda">
|
||
Tidak
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<!-- Detail Bahaya -->
|
||
<div id="bahayaInputDiv"
|
||
class="mt-2 <?= $statusBahaya === 'ada' ? '' : 'opacity-50' ?>">
|
||
<input type="text"
|
||
class="form-control"
|
||
name="bahaya_detail"
|
||
placeholder="Jenis bahaya..."
|
||
value="<?= esc($detailBahaya) ?>"
|
||
<?= $statusBahaya === 'ada' ? '' : 'disabled' ?>>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="border rounded p-3 h-100">
|
||
<label class="form-label fw-bold">Keterbatasan Gerak</label>
|
||
<div class="d-flex flex-column gap-2 mt-2">
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="gerak"
|
||
id="gerakTangan"
|
||
value="tangan"
|
||
<?= ($order['keterbatasan'] ?? '') === 'tangan' ? 'checked' : '' ?>>
|
||
<label class="form-check-label">Tangan</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="gerak"
|
||
value="kaki"
|
||
<?= ($order['keterbatasan'] ?? '') === 'kaki' ? 'checked' : '' ?>>
|
||
<label class="form-check-label">Kaki</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="gerak"
|
||
value="semua"
|
||
<?= ($order['keterbatasan'] ?? '') === 'semua' ? 'checked' : '' ?>>
|
||
<label class="form-check-label">Semua Anggota Gerak</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="gerak"
|
||
value="normal"
|
||
<?= ($order['keterbatasan'] ?? '') === 'normal' ? 'checked' : '' ?>>
|
||
<label class="form-check-label">Tidak Ada Keterbatasan</label>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<!-- Berat Badan -->
|
||
<label class="fw-bold">Berat Badan</label>
|
||
|
||
<div class="input-group mt-2 mb-3">
|
||
<input type="number"
|
||
class="form-control"
|
||
id="beratBadan"
|
||
name="berat_badan"
|
||
placeholder="BB Pasien"
|
||
value="<?= esc($order['berat_badan'] ?? '') ?>">
|
||
|
||
<span class="input-group-text">Kg</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<?php
|
||
// ✅ decode JSON nyeri
|
||
$nyeri = json_decode($order['nyeri'] ?? '{}', true);
|
||
|
||
$statusNyeri = $nyeri['status'] ?? 'tidak';
|
||
$lokasiNyeri = $nyeri['lokasi'] ?? [];
|
||
$nyeriLain = $nyeri['lain'] ?? '';
|
||
|
||
// pastikan array
|
||
if (!is_array($lokasiNyeri)) {
|
||
$lokasiNyeri = [$lokasiNyeri];
|
||
}
|
||
?>
|
||
|
||
<!-- KANAN: NYERI -->
|
||
<div class="col-md-6">
|
||
<div class="border rounded p-3 h-100">
|
||
<label class="form-label fw-bold">Nyeri / Luka</label>
|
||
|
||
<!-- RADIO -->
|
||
<div class="d-flex gap-3 mt-2 mb-2">
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="status_nyeri"
|
||
id="adaNyeri"
|
||
value="ya"
|
||
<?= $statusNyeri === 'ya' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="adaNyeri">Nyeri</label>
|
||
</div>
|
||
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="status_nyeri"
|
||
id="tidakNyeri"
|
||
value="tidak"
|
||
<?= $statusNyeri === 'tidak' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="tidakNyeri">Tidak Nyeri</label>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- DETAIL -->
|
||
<div id="detailNyeri"
|
||
class="<?= $statusNyeri === 'ya' ? '' : 'opacity-50' ?>">
|
||
|
||
<label class="form-label fw-semibold mb-2">
|
||
Lokasi Nyeri
|
||
</label>
|
||
|
||
<div class="row row-cols-2 row-cols-md-4 g-2">
|
||
<?php
|
||
$lokasiList = [
|
||
'kepala','leher','dada','punggung',
|
||
'perut','panggul','tangan','kaki'
|
||
];
|
||
|
||
foreach ($lokasiList as $l):
|
||
?>
|
||
<div class="col">
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="checkbox"
|
||
name="lokasi_nyeri[]"
|
||
value="<?= $l ?>"
|
||
id="nyeri_<?= $l ?>"
|
||
<?= in_array($l, $lokasiNyeri) ? 'checked' : '' ?>
|
||
<?= $statusNyeri !== 'ya' ? 'disabled' : '' ?>>
|
||
|
||
<label class="form-check-label"
|
||
for="nyeri_<?= $l ?>">
|
||
<?= ucfirst($l) ?>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<?php endforeach; ?>
|
||
</div>
|
||
|
||
<input type="text"
|
||
name="nyeri_lain"
|
||
class="form-control mt-3"
|
||
placeholder="Lain-lain..."
|
||
value="<?= esc($nyeriLain) ?>"
|
||
<?= $statusNyeri !== 'ya' ? 'disabled' : '' ?>>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Informasi Lain -->
|
||
<div class="row mt-3">
|
||
<div class="col-md-12">
|
||
<label class="form-label fw-bold">Informasi Lain</label>
|
||
|
||
<textarea
|
||
class="form-control"
|
||
name="informasi_lain"
|
||
rows="1"
|
||
placeholder="Contoh: alergi obat, kondisi khusus, permintaan khusus, peralatan khusus, dll"><?= esc($order['informasi_lain'] ?? '') ?></textarea>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<!-- ================= TUJUAN ================= -->
|
||
<div class="row mt-3 g-3">
|
||
|
||
<div class="col-md-5">
|
||
<div class="border rounded p-3 h-100 shadow-sm">
|
||
<label for="tujuan" class="form-label fw-bold">
|
||
🎯 Tujuan Transport
|
||
</label>
|
||
|
||
<select class="form-select" id="tujuan" name="tujuan" required>
|
||
<option value="">-- Pilih Tujuan --</option>
|
||
|
||
<option value="RFDK"
|
||
<?= ($order['tujuan'] ?? '') === 'RFDK' ? 'selected' : '' ?>>
|
||
RFDK – Rumah ke Faskes Dalam Kota
|
||
</option>
|
||
|
||
<option value="F-FDK"
|
||
<?= ($order['tujuan'] ?? '') === 'F-FDK' ? 'selected' : '' ?>>
|
||
F-FDK – Fasilitas Umum ke Faskes Dalam Kota
|
||
</option>
|
||
|
||
<option value="AFDK"
|
||
<?= ($order['tujuan'] ?? '') === 'AFDK' ? 'selected' : '' ?>>
|
||
AFDK – Antar Faskes Dalam Kota
|
||
</option>
|
||
|
||
<option value="AFLK"
|
||
<?= ($order['tujuan'] ?? '') === 'AFLK' ? 'selected' : '' ?>>
|
||
AFLK – Antar Faskes Luar Kota
|
||
</option>
|
||
|
||
<option value="PDK"
|
||
<?= ($order['tujuan'] ?? '') === 'PDK' ? 'selected' : '' ?>>
|
||
PDK – Pulang Dalam Kota
|
||
</option>
|
||
|
||
<option value="PLK"
|
||
<?= ($order['tujuan'] ?? '') === 'PLK' ? 'selected' : '' ?>>
|
||
PLK – Pulang Luar Kota
|
||
</option>
|
||
</select>
|
||
|
||
<div class="mt-3">
|
||
<label for="tujuan_detail" class="form-label small fw-semibold">
|
||
Detail Tujuan
|
||
</label>
|
||
|
||
<input
|
||
type="text"
|
||
id="tujuan_detail"
|
||
class="form-control"
|
||
name="tujuan_detail"
|
||
placeholder="Contoh: Nama RS / Alamat / Keterangan Lain"
|
||
value="<?= esc($order['tujuan_detail'] ?? '') ?>">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<?php $persetujuan = $order['persetujuan'] ?? ''; ?>
|
||
|
||
<!-- PERSETUJUAN BIAYA -->
|
||
<div class="col-md-3">
|
||
<div class="border rounded p-3 h-100">
|
||
<label class="form-label fw-bold">Persetujuan Biaya</label>
|
||
|
||
<div class="d-flex flex-column gap-1 mt-2 mb-3">
|
||
|
||
<!-- SETUJU -->
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="persetujuan"
|
||
id="persetujuanSetuju"
|
||
value="setuju"
|
||
<?= $persetujuan === 'setuju' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="persetujuanSetuju">
|
||
Setuju
|
||
</label>
|
||
</div>
|
||
|
||
<!-- TIDAK -->
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="persetujuan"
|
||
id="persetujuanTidak"
|
||
value="tidak"
|
||
<?= $persetujuan === 'tidak' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="persetujuanTidak">
|
||
Tidak Setuju
|
||
</label>
|
||
</div>
|
||
|
||
<!-- MENUNGGU -->
|
||
<div class="form-check">
|
||
<input class="form-check-input"
|
||
type="radio"
|
||
name="persetujuan"
|
||
id="persetujuanMenunggu"
|
||
value="menunggu"
|
||
<?= $persetujuan === 'menunggu' ? 'checked' : '' ?>>
|
||
<label class="form-check-label" for="persetujuanMenunggu">
|
||
Menunggu Persetujuan
|
||
</label>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<label class="form-label small">Nominal Biaya</label>
|
||
|
||
<div class="input-group">
|
||
<span class="input-group-text">Rp</span>
|
||
<input type="number"
|
||
class="form-control"
|
||
name="biaya"
|
||
placeholder="Isi Nominal"
|
||
value="<?= esc($order['biaya'] ?? '') ?>">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- VALIDASI + PETUGAS -->
|
||
<div class="col-md-4">
|
||
<div class="border rounded p-3 h-100">
|
||
<label class="form-label fw-bold">
|
||
Validasi Pelayanan
|
||
</label>
|
||
|
||
<input type="text"
|
||
class="form-control mt-1 mb-3"
|
||
name="validasi"
|
||
placeholder="Valid / Tidak Valid"
|
||
value="<?= esc($order['validasi'] ?? '') ?>">
|
||
|
||
<!-- PETUGAS -->
|
||
<label class="form-label small">
|
||
Petugas Predispatch
|
||
</label>
|
||
|
||
<input type="hidden"
|
||
name="petugas_id_old"
|
||
value="<?= $order['petugas_id'] ?? '' ?>">
|
||
|
||
<select id="petugas"
|
||
name="petugas_id"
|
||
class="form-select"
|
||
style="width:100%">
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<!-- ================= BUTTON ================= -->
|
||
<div class="d-flex justify-content-between mt-4">
|
||
<button type="button"
|
||
class="btn btn-secondary"
|
||
onclick="history.back()">
|
||
Kembali
|
||
</button>
|
||
<button type="submit"
|
||
id="btnSubmit"
|
||
class="btn btn-success">
|
||
Simpan Pasien
|
||
</button>
|
||
</div>
|
||
|
||
</form>
|
||
<!-- FORM END -->
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
|
||
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
|
||
|
||
<script>
|
||
let isSubmitting = false;
|
||
let rmTimeout;
|
||
let currentRegisterId = null;
|
||
|
||
// =====================================================
|
||
// DOM READY
|
||
// =====================================================
|
||
document.addEventListener('DOMContentLoaded', function () {
|
||
|
||
const tglInput = document.getElementById('tanggalLahir');
|
||
const umurInput = document.getElementById('umur');
|
||
|
||
if (!tglInput || !umurInput) return;
|
||
|
||
function hitungUmur() {
|
||
const val = tglInput.value;
|
||
|
||
if (!val) {
|
||
umurInput.value = '';
|
||
return;
|
||
}
|
||
|
||
const lahir = new Date(val);
|
||
const today = new Date();
|
||
|
||
let tahun = today.getFullYear() - lahir.getFullYear();
|
||
let bulan = today.getMonth() - lahir.getMonth();
|
||
let hari = today.getDate() - lahir.getDate();
|
||
|
||
if (hari < 0) {
|
||
bulan--;
|
||
const lastMonth = new Date(today.getFullYear(), today.getMonth(), 0);
|
||
hari += lastMonth.getDate();
|
||
}
|
||
|
||
if (bulan < 0) {
|
||
tahun--;
|
||
bulan += 12;
|
||
}
|
||
|
||
umurInput.value = `${tahun} Th ${bulan} Bln ${hari} Hr`;
|
||
}
|
||
window.hitungUmur = hitungUmur;
|
||
// jalan saat pertama load (edit mode)
|
||
setTimeout(hitungUmur, 100);
|
||
|
||
// jalan saat user ganti tanggal
|
||
tglInput.addEventListener('change', hitungUmur);
|
||
|
||
|
||
// ================= FORM SUBMIT =================
|
||
const form = document.getElementById('formPasien');
|
||
form.addEventListener('keydown', function(e) {
|
||
if (e.key === 'Enter') {
|
||
|
||
const tag = e.target.tagName.toLowerCase();
|
||
|
||
// textarea tetap bisa enter (newline)
|
||
if (tag === 'textarea') return;
|
||
|
||
e.preventDefault();
|
||
|
||
// ambil semua input yang bisa difokus
|
||
const focusable = form.querySelectorAll(
|
||
'input:not([type=hidden]):not([disabled]), select, textarea, button'
|
||
);
|
||
|
||
const index = Array.prototype.indexOf.call(focusable, e.target);
|
||
|
||
if (index > -1 && index < focusable.length - 1) {
|
||
focusable[index + 1].focus();
|
||
}
|
||
}
|
||
});
|
||
if (form) {
|
||
form.addEventListener('submit', function (e) {
|
||
|
||
if (isSubmitting) {
|
||
e.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
if (!confirm('Yakin simpan data pasien?')) {
|
||
e.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
isSubmitting = true;
|
||
|
||
const btn = document.getElementById('btnSubmit');
|
||
if (btn) {
|
||
btn.disabled = true;
|
||
btn.innerHTML = 'Menyimpan...';
|
||
}
|
||
});
|
||
}
|
||
|
||
// ================= SELECT2 PETUGAS =================
|
||
$('#petugas').select2({
|
||
width: '100%',
|
||
placeholder: 'Ketik nama petugas...',
|
||
minimumInputLength: 1,
|
||
ajax: {
|
||
url: '<?= base_url('pegawai/search') ?>',
|
||
dataType: 'json',
|
||
delay: 250,
|
||
data: function (params) {
|
||
return { q: params.term };
|
||
},
|
||
processResults: function (data) {
|
||
return {
|
||
results: data
|
||
};
|
||
}
|
||
}
|
||
});
|
||
|
||
// ✅ inject value saat edit
|
||
<?php if (!empty($order['petugas_id']) && !empty($order['petugas_nama'])): ?>
|
||
var option = new Option(
|
||
"<?= esc($order['petugas_nama']) ?>",
|
||
"<?= $order['petugas_id'] ?>",
|
||
true,
|
||
true
|
||
);
|
||
$('#petugas').append(option).trigger('change');
|
||
<?php endif; ?>
|
||
|
||
// ✅ auto fokus langsung bisa ngetik
|
||
$(document).on('select2:open', function () {
|
||
setTimeout(function () {
|
||
document.querySelector('.select2-search__field')?.focus();
|
||
}, 0);
|
||
});
|
||
|
||
// ================= TOGGLE RADIO =================
|
||
toggleByRadio('status_nyeri', 'detailNyeri', 'ya');
|
||
toggleByRadio('bahaya', 'bahayaInputDiv', 'ada');
|
||
|
||
document.querySelectorAll('input[type="radio"]:checked')
|
||
.forEach(el => el.dispatchEvent(new Event('change')));
|
||
|
||
// ================= SEARCH RM =================
|
||
const noRM = document.getElementById('noRM');
|
||
if (noRM) {
|
||
noRM.addEventListener('input', searchRM);
|
||
}
|
||
|
||
// ================= RUANG LAIN =================
|
||
toggleInputRuangLain();
|
||
});
|
||
|
||
// =====================================================
|
||
// RESET SAAT BACK
|
||
// =====================================================
|
||
window.addEventListener('pageshow', function () {
|
||
isSubmitting = false;
|
||
|
||
const btn = document.getElementById('btnSubmit');
|
||
if (btn) {
|
||
btn.disabled = false;
|
||
btn.innerHTML = 'Simpan Pasien';
|
||
}
|
||
});
|
||
|
||
// =====================================================
|
||
// TOGGLE RADIO
|
||
// =====================================================
|
||
function toggleByRadio(name, targetId, activeValue) {
|
||
const radios = document.querySelectorAll(`input[name="${name}"]`);
|
||
const target = document.getElementById(targetId);
|
||
|
||
if (!target) return;
|
||
|
||
radios.forEach(el => {
|
||
el.addEventListener('change', function () {
|
||
const aktif = this.value === activeValue;
|
||
|
||
target.querySelectorAll('input, select, textarea').forEach(input => {
|
||
input.disabled = !aktif;
|
||
});
|
||
|
||
target.classList.toggle('opacity-50', !aktif);
|
||
});
|
||
});
|
||
}
|
||
|
||
// =====================================================
|
||
// RUANG LAIN
|
||
// =====================================================
|
||
function toggleInputRuangLain() {
|
||
const checkbox = document.getElementById('ruanglain');
|
||
const input = document.getElementById('inputRuangLain');
|
||
|
||
if (!checkbox || !input) return;
|
||
|
||
input.disabled = !checkbox.checked;
|
||
|
||
if (!checkbox.checked) {
|
||
input.value = '';
|
||
}
|
||
}
|
||
|
||
// =====================================================
|
||
// MODAL CEK RM
|
||
// =====================================================
|
||
function openCekRM() {
|
||
currentRegisterId = null;
|
||
new bootstrap.Modal(document.getElementById('modalCekRM')).show();
|
||
}
|
||
|
||
function cekRM() {
|
||
const rm = document.getElementById('inputRM').value;
|
||
|
||
fetch("<?= base_url('rm/cek') ?>", {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/x-www-form-urlencoded'
|
||
},
|
||
body: 'rm=' + encodeURIComponent(rm)
|
||
})
|
||
.then(res => res.json())
|
||
.then(res => {
|
||
const hasil = document.getElementById('hasilRM');
|
||
|
||
if (res.status === 'found') {
|
||
const p = res.data;
|
||
|
||
hasil.innerHTML = `
|
||
<div class="alert alert-success">
|
||
<b>✔ RM Ditemukan</b><br>
|
||
Nama: ${p.nama}<br>
|
||
Gender: ${p.gender ?? '-'}<br>
|
||
Alamat: ${p.alamat ?? '-'}
|
||
</div>
|
||
|
||
<button type="button" class="btn btn-success"
|
||
onclick="linkRM('${rm}')">
|
||
✔ Konfirmasi RM
|
||
</button>
|
||
`;
|
||
} else {
|
||
hasil.innerHTML = `
|
||
<div class="alert alert-danger">
|
||
⚠ RM tidak ditemukan
|
||
</div>
|
||
|
||
<button type="button" class="btn btn-warning"
|
||
onclick="linkRM('${rm}')">
|
||
Tetap Gunakan RM Ini
|
||
</button>
|
||
`;
|
||
}
|
||
});
|
||
}
|
||
|
||
function linkRM(rm) {
|
||
fetch("<?= base_url('rm/link') ?>", {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/x-www-form-urlencoded'
|
||
},
|
||
body: 'register_id=' + currentRegisterId + '&rm=' + encodeURIComponent(rm)
|
||
})
|
||
.then(res => res.json())
|
||
.then(res => {
|
||
if (res.status === 'success') {
|
||
alert('RM berhasil di-update');
|
||
location.reload();
|
||
}
|
||
});
|
||
}
|
||
|
||
// =====================================================
|
||
// SEARCH RM
|
||
// =====================================================
|
||
function searchRM() {
|
||
clearTimeout(rmTimeout);
|
||
|
||
rmTimeout = setTimeout(() => {
|
||
const q = document.getElementById('noRM').value.trim();
|
||
const box = document.getElementById('rmResult');
|
||
|
||
if (!q) {
|
||
box.innerHTML = '';
|
||
return;
|
||
}
|
||
|
||
fetch("<?= base_url('rm/search') ?>", {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/x-www-form-urlencoded'
|
||
},
|
||
body: 'q=' + encodeURIComponent(q)
|
||
})
|
||
.then(res => res.json())
|
||
.then(res => {
|
||
|
||
if (!res.data || res.data.length === 0) {
|
||
box.innerHTML = `
|
||
<div class="list-group-item text-danger">
|
||
❌ RM tidak ditemukan
|
||
</div>
|
||
|
||
<div class="list-group-item">
|
||
<button type="button"
|
||
class="btn btn-warning w-100"
|
||
onclick="useNewRM('${q}')">
|
||
➕ Gunakan RM Ini (Pasien Baru)
|
||
</button>
|
||
</div>
|
||
`;
|
||
return;
|
||
}
|
||
|
||
let html = `
|
||
<div class="list-group-item bg-light">
|
||
<b>⚠ RM ditemukan</b><br>
|
||
Pilih data pasien:
|
||
</div>
|
||
`;
|
||
|
||
res.data.forEach(p => {
|
||
html += `
|
||
<button type="button"
|
||
class="list-group-item list-group-item-action"
|
||
onclick="confirmRM(
|
||
'${p.rm}',
|
||
'${(p.nama ?? '').replace(/'/g, "\\'")}',
|
||
'${(p.alamat ?? '').replace(/'/g, "\\'")}',
|
||
'${p.gender ?? ''}',
|
||
'${p.tanggal_lahir ?? ''}'
|
||
)">
|
||
<b>${p.rm}</b> - ${p.nama}
|
||
<br>
|
||
<small class="text-muted">${p.alamat ?? ''}</small>
|
||
</button>
|
||
`;
|
||
});
|
||
|
||
box.innerHTML = html;
|
||
});
|
||
|
||
}, 300);
|
||
}
|
||
|
||
function confirmRM(rm, nama, alamat, gender, tanggal_lahir) {
|
||
if (!rm) {
|
||
alert('Data RM tidak ditemukan');
|
||
return;
|
||
}
|
||
|
||
if (!confirm(`Gunakan data RM: ${nama}?`)) {
|
||
return;
|
||
}
|
||
|
||
document.getElementById('noRM').value = rm;
|
||
document.getElementById('nama').value = nama ?? '';
|
||
document.getElementById('alamat').value = alamat ?? '';
|
||
document.getElementById('gender').value = gender ?? '';
|
||
document.getElementById('tanggalLahir').value = tanggal_lahir ?? '';
|
||
|
||
hitungUmur();
|
||
|
||
document.getElementById('rmResult').innerHTML = `
|
||
<div class="alert alert-success py-2">
|
||
✔ RM aktif: <b>${rm}</b><br>
|
||
👤 ${nama}
|
||
</div>
|
||
`;
|
||
}
|
||
|
||
function useNewRM(rm) {
|
||
document.getElementById('noRM').value = rm;
|
||
|
||
document.getElementById('rmResult').innerHTML = `
|
||
<div class="alert alert-warning alert-dismissible fade show">
|
||
⚠ RM ${rm} sebagai PASIEN BARU
|
||
<button type="button"
|
||
class="btn-close"
|
||
data-bs-dismiss="alert"></button>
|
||
</div>
|
||
`;
|
||
|
||
setTimeout(() => {
|
||
const el = document.querySelector('.alert-warning');
|
||
if (el) el.remove();
|
||
}, 2000);
|
||
}
|
||
|
||
function fillRM(rm, nama, alamat, gender, tgl) {
|
||
document.getElementById('noRM').value = rm;
|
||
document.getElementById('nama').value = nama ?? '';
|
||
document.getElementById('alamat').value = alamat ?? '';
|
||
document.getElementById('gender').value = gender ?? '';
|
||
document.getElementById('rmResult').innerHTML = '';
|
||
|
||
if (tgl) {
|
||
document.getElementById('tanggalLahir').value = tgl;
|
||
hitungUmur();
|
||
}
|
||
}
|
||
|
||
</script>
|
||
|
||
<!-- ================= Modal RM ================= -->
|
||
<div class="modal fade" id="modalCekRM" tabindex="-1">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title">Cek RM</h5>
|
||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<input type="hidden" id="registerId">
|
||
<label>Masukkan RM</label>
|
||
<input type="text" id="inputRM" class="form-control">
|
||
<button class="btn btn-primary mt-2" onclick="cekRM()">
|
||
🔍 Cek RM
|
||
</button>
|
||
<hr>
|
||
<div id="hasilRM"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
||
</body>
|
||
</html>
|