ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
wp-content
/
themes
/
bayisihat-jurnal
/
Filename :
tpl-alat-imunisasi.php
back
Copy
<?php /* Template Name: Alat — Jadual Imunisasi */ if (!defined('ABSPATH')) exit; get_header(); ?> <?php echo bs_breadcrumbs_html(); ?> <header class="wrap tool-hero"> <p class="eyebrow">Alat percuma</p> <h1>Penyemak Jadual Imunisasi Bayi</h1> <p>Masukkan tarikh lahir bayi — kami susun jadual vaksin peribadi berdasarkan jadual imunisasi kebangsaan KKM (lahir hingga 18 bulan).</p> </header> <div class="wrap"> <div class="tool-box reveal"> <form class="tool-form" id="imun-form" onsubmit="return false"> <div class="tool-field"> <label for="imun-dob">Tarikh lahir bayi</label> <input type="date" id="imun-dob" required> </div> <button class="btn btn--primary" type="submit">Jana Jadual</button> </form> <div class="tool-result" id="imun-result" aria-live="polite"> <p class="eyebrow" style="margin-bottom:.2rem">Jadual imunisasi peribadi</p> <div class="tool-result__big" id="imun-age">—</div> <div style="overflow-x:auto"> <table class="tool-table" id="imun-table"> <thead><tr><th>Umur</th><th>Anggaran tarikh</th><th>Vaksin</th><th>Status</th></tr></thead> <tbody></tbody> </table> </div> </div> </div> <p class="tool-note"><strong>Penting:</strong> Jadual ini berdasarkan jadual imunisasi kebangsaan KKM secara umum dan adalah <em>anggaran</em> — tarikh sebenar ditetapkan oleh klinik kesihatan anda dan mungkin berbeza sedikit (termasuk tambahan tertentu di Sabah/Sarawak). Rujuk buku rekod kesihatan (buku merah) bayi anda dan klinik untuk jadual muktamad. Baca lanjut: <a href="<?php echo esc_url(home_url('/jadual-imunisasi-bayi-kkm/')); ?>">Jadual imunisasi bayi ikut KKM</a>.</p> </div> <section class="wrap section reveal"><?php echo bs_newsletter_form('Jangan terlepas suntikan penting', 'Langgan & dapatkan jadual imunisasi versi printable (PDF percuma) untuk tampal di peti sejuk.'); ?></section> <script> (function(){ var SCHED = [ {bulan:0, umur:'Lahir', vaksin:'BCG + Hepatitis B (Dos 1)'}, {bulan:2, umur:'2 bulan', vaksin:'6-dalam-1: DTaP-IPV-Hib-Hep B (Dos 1)'}, {bulan:3, umur:'3 bulan', vaksin:'6-dalam-1 (Dos 2)'}, {bulan:4, umur:'4 bulan', vaksin:'Pneumokokal PCV (Dos 1)'}, {bulan:5, umur:'5 bulan', vaksin:'6-dalam-1 (Dos 3)'}, {bulan:6, umur:'6 bulan', vaksin:'Pneumokokal PCV (Dos 2)'}, {bulan:9, umur:'9 bulan', vaksin:'MMR (Dos 1) · Sarawak: + JE (Dos 1)'}, {bulan:12, umur:'12 bulan', vaksin:'MMR (Dos 2)'}, {bulan:15, umur:'15 bulan', vaksin:'Pneumokokal PCV (Booster)'}, {bulan:18, umur:'18 bulan', vaksin:'6-dalam-1 (Booster / Dos 4)'} ]; var BM = ['Jan','Feb','Mac','Apr','Mei','Jun','Jul','Ogo','Sep','Okt','Nov','Dis']; function addMonths(date, m){ var d = new Date(date.getTime()); var day = d.getDate(); d.setMonth(d.getMonth()+m); if (d.getDate() < day) d.setDate(0); return d; } function fmt(d){ return d.getDate() + ' ' + BM[d.getMonth()] + ' ' + d.getFullYear(); } document.getElementById('imun-form').addEventListener('submit', function(){ var v = document.getElementById('imun-dob').value; if (!v) return; var dob = new Date(v + 'T00:00:00'); var today = new Date(); today.setHours(0,0,0,0); if (dob > today) { alert('Tarikh lahir tidak boleh pada masa hadapan.'); return; } var ageDays = Math.floor((today - dob) / 86400000); var ageM = Math.floor(ageDays / 30.44), ageRem = Math.floor(ageDays % 30.44 / 7); document.getElementById('imun-age').textContent = 'Bayi anda: ±' + ageM + ' bulan ' + (ageM < 24 ? '(' + ageDays + ' hari)' : ''); var tb = document.querySelector('#imun-table tbody'); tb.innerHTML = ''; var nextFound = false; SCHED.forEach(function(row){ var due = addMonths(dob, row.bulan); var done = due <= today; var tr = document.createElement('tr'); var badge; if (done) { tr.className = 'is-done'; badge = '<span class="tool-badge tool-badge--done">Sepatutnya selesai</span>'; } else if (!nextFound) { tr.className = 'is-next'; nextFound = true; badge = '<span class="tool-badge tool-badge--next">Seterusnya</span>'; } else { badge = '<span class="tool-badge">Akan datang</span>'; } tr.innerHTML = '<td>' + row.umur + '</td><td>' + fmt(due) + '</td><td>' + row.vaksin + '</td><td>' + badge + '</td>'; tb.appendChild(tr); }); document.getElementById('imun-result').classList.add('show'); }); })(); </script> <?php get_footer(); ?>