Files
silaras-rssa/app/Views/tindakan/inputtindakan.php
T

240 lines
5.5 KiB
PHP

<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Input Tindakan Ambulans</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<style>
body { background:#fff; font-family:Segoe UI; }
.card { border-radius:1rem; box-shadow:0 4px 12px rgba(0,0,0,.05); }
/* disembunyikan dulu sampai pasien dipilih */
#formSection { display:none; }
</style>
</head>
<body>
<div class="container my-4">
<!-- ================= PILIH PASIEN ================= -->
<div class="card p-3 mb-3">
<h5>Pilih Pasien Ambulans</h5>
<select id="pilihPasien" class="form-select">
<option value="">-- Pilih Pasien --</option>
</select>
</div>
<!-- ================= INFO PASIEN ================= -->
<div class="card p-3 mb-3" id="infoPasien" style="display:none;">
<h5>Data Pasien</h5>
<b>Nama:</b> <span id="namaPasienText"></span><br>
<b>Register:</b> <span id="registerText"></span>
</div>
<!-- ================= FORM ================= -->
<div class="card p-4" id="formSection">
<form id="formTindakan">
<input type="hidden" id="register_id">
<input type="hidden" id="register">
<input type="hidden" id="namaPasien">
<div class="row mb-3">
<div class="col-md-3">
<input type="date" id="tanggal" class="form-control" required>
</div>
<div class="col-md-3">
<input type="text" id="kuitansi" class="form-control" placeholder="No Kuitansi">
</div>
<div class="col-md-3">
<select id="petugas" class="form-control">
<option>Yahya Citra Winata</option>
<option>Widodo</option>
</select>
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<select id="tindakan" class="form-select"></select>
</div>
<div class="col-md-3">
<input type="number" id="jumlah" class="form-control" value="1">
</div>
<div class="col-md-3">
<button class="btn btn-primary w-100">Tambah</button>
</div>
</div>
</form>
<table class="table table-bordered">
<thead>
<tr>
<th>Kode</th>
<th>Uraian</th>
<th>Qty</th>
<th>Harga</th>
<th>Total</th>
</tr>
</thead>
<tbody id="list"></tbody>
</table>
<button onclick="simpan()" class="btn btn-success w-100">
Simpan Tindakan
</button>
</div>
</div>
<!-- ================= SCRIPT ================= -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<script>
let data = [];
// ================= SELECT2 =================
$('#tindakan').select2();
// ================= LOAD PASIEN =================
fetch("<?= base_url('tindakan/pasien-list') ?>")
.then(r => r.json())
.then(res => {
res.forEach(p => {
$('#pilihPasien').append(`
<option value="${p.id}"
data-nama="${p.nama}"
data-register="${p.register}">
${p.register} - ${p.nama}
</option>
`);
});
});
// ================= PILIH PASIEN =================
$('#pilihPasien').on('change', function () {
let id = $(this).val();
if (!id) return;
let selected = $(this).find(':selected');
let nama = selected.data('nama');
let register = selected.data('register');
// isi hidden
$('#register_id').val(id);
$('#register').val(register);
$('#namaPasien').val(nama);
// tampilkan info
$('#namaPasienText').text(nama);
$('#registerText').text(register);
$('#infoPasien').show();
$('#formSection').show();
});
// ================= LOAD TARIF =================
fetch("<?= base_url('tindakan/tarif') ?>")
.then(r => r.json())
.then(res => {
res.forEach(v => {
$('#tindakan').append(
`<option value="${v.kode}|${v.uraian}|${v.harga}">
${v.kode} - ${v.uraian}
</option>`
);
});
});
// ================= TAMBAH TINDAKAN =================
$('#formTindakan').on('submit', function(e){
e.preventDefault();
let val = $('#tindakan').val();
if (!val) return;
let [kode, uraian, harga] = val.split('|');
data.push({
kode,
uraian,
harga: parseInt(harga),
jumlah: parseInt($('#jumlah').val())
});
render();
});
// ================= RENDER TABLE =================
function render(){
let html = '';
data.forEach(v => {
html += `
<tr>
<td>${v.kode}</td>
<td>${v.uraian}</td>
<td>${v.jumlah}</td>
<td>${v.harga}</td>
<td>${v.jumlah * v.harga}</td>
</tr>`;
});
$('#list').html(html);
}
// ================= SIMPAN =================
function simpan(){
if (!$('#register_id').val()) {
alert('Pilih pasien dulu!');
return;
}
$.post("<?= base_url('tindakan/simpan') ?>", {
data: JSON.stringify({
register_id: $('#register_id').val(),
register: $('#register').val(),
namaPasien: $('#namaPasien').val(),
tanggal: $('#tanggal').val(),
kuitansi: $('#kuitansi').val(),
petugas: $('#petugas').val(),
total: 0,
items: data
})
}, function(){
alert('Berhasil disimpan');
location.reload();
});
}
// ================= TANGGAL AUTO =================
document.addEventListener("DOMContentLoaded", function(){
$('#tanggal').val(new Date().toISOString().split('T')[0]);
});
</script>
</body>
</html>