Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
themes
/
bvnghean
/
templates
:
template-booking.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /* Template name: Booking */ ?> <?php get_header(); ?> <div class="wrapper booking-page"> <div class="row container"> <div class="col-4"> <div class="px-15"> <h4 class="color-main"><strong>LƯU Ý</strong></h4> <br> <div class="font-h5"> <div class="mb-20 info"> <i class="las la-lightbulb"></i> Chức năng đặt lịch khám áp dụng đối với <span style="color: red">tất cả các đối tượng bệnh nhân</span> </div> <div class="mb-20 info"> <i class="las la-lightbulb"></i> Đối với đối tượng bệnh nhân khám <span style="color: red">Bảo hiểm y tế</span> vui lòng tích vào <span style="color: red">Tôi có thẻ Bảo hiểm y tế</span> sau đó điền <span style="color: red">Mã thẻ Bảo hiểm y tế</span> </div> <div class="mb-20 info"> <i class="las la-lightbulb"></i> <p>Người bệnh đặt lịch khám trước 1 ngày, tối đa trước 10 ngày khám.</p> <p>Nếu đặt lịch <span style="color: red">trước 16 giờ</span> từ thứ 2 đến thứ 6 ngày khám gần nhất là ngày hôm sau.</p> <p>Nếu đặt lịch <span style="color: red">SAU 16 giờ</span> và thứ 7, CN ngày khám gần nhất sẽ là 3 ngày sau.</p> <p><span style="color: red">Sau khi đặt lịch khám thành công.</span> Đến ngày khám bệnh mời quý khách vào <span style="color: red">Ô SỐ 8 - QUẦY 1 CỬA</span> khoa khám bệnh nhận phiếu khám bệnh.</p> </div> <div class="mb-20 info"> <i class="las la-lightbulb"></i> Vui lòng cung cấp thông tin chính xác để được phục vụ tốt nhất. </div> <div class="mb-20 info"> <i class="las la-lightbulb"></i> Trong những trường hợp khẩn cấp hoặc nghi ngờ có các triệu chứng nguy hiểm, quý khách nên ĐẾN TRỰC TIẾP hoặc trung tâm y tế gần nhất để kịp thời xử lý. </div> <div class="mb-20 info"> <i class="las la-lightbulb"></i> Số điện thoại đặt khám: <a href="tel:19008082" style="color: red; font-size: 30px; display: inline-block; vertical-align: middle; font-weight: bold">1900 8082</a> <p>+ Buổi sáng từ 7h - 12h các ngày từ thứ 2 đến thứ 6</p> <p>+ Buổi chiều từ 13h – 16h các ngày từ thứ 2 đến thứ 6</p> </div> </div> </div> </div> <div class="col-8 px-15"> <div class="booking-form style-form p-20"> <h4 class="color-main"><strong>ĐẶT LỊCH KHÁM BỆNH</strong></h4> <!-- Bảo hiểm y tế --> <h5 class="color-second"><strong>Đăng ký khám Bảo hiểm y tế</strong></h5> <h6 style="display: flex; align-items: center;"> <input type="checkbox" id="co-the-bhyt" style="width: 20px; height: 20px;" /> <label for="co-the-bhyt" style="margin-left: 5px;">Tôi có thẻ Bảo hiểm y tế</label> </h6> <div class="input hide" id="bhyt-field"> <span>Mã thẻ Bảo hiểm y tế</span> <input class="data" data="ma_the_bhyt" type="text"> </div> <!-- upload giấy hẹn khám --> <!-- <h6 style="display: flex; align-items: center;"> <input type="checkbox" id="co-henkham" style="width: 20px; height: 20px;" /> <label for="co-henkham" style="margin-left: 5px;">Tôi có giấy hẹn khám</label> </h6> --> <!-- <div class="input required" id="henkham-field"> <div>Tải ảnh giấy hẹn khám</div> <input type="file" name="henkham_image" id="file" multiple="false" value="" accept=".png, .jpg, .jpeg, .gif"/> </div> --> <!-- <form id="booking-form" method="post" enctype="multipart/form-data"> <label for="henkham_image">Giấy hẹn khám</label> <input type="file" name="henkham_image" accept=".jpg,.jpeg,.png,.pdf"> </form> --> <!-- Thông tin bệnh nhân --> <h5 class="color-second"><strong>Thông tin bệnh nhân</strong></h5> <div class="input required"> <span>Họ và tên <label style="color: red">*</label></span> <input class="data" data="ho_ten" type="text"> </div> <div class="input required"> <span>Số Căn cước <label style="color: red">*</label></span> <input class="data" data="so_cc" type="text" placeholder="12 số"> </div> <div class="input required"> <span>Ngày/tháng/năm sinh <label style="color: red">*</label></span> <input class="data" data="ngay_sinh" type="text" placeholder="Vd: 01/01/1991"> </div> <div class="input required"> <span>Giới tính <label style="color: red">*</label></span> <select class="data" data="gioi_tinh"> <option value="">Chọn giới tính</option> <option value="nam">Nam</option> <option value="nu">Nữ</option> </select> </div> <div class="input required"> <span>Địa chỉ <label style="color: red">*</label></span> <input class="data" data="dia_chi" type="text" placeholder="Vui lòng nhập địa chỉ mới 2 cấp (Xã - Tỉnh)"> </div> <div class="input required"> <span>Số điện thoại <label style="color: red">*</label></span> <input class="data" data="dien_thoai" type="text"> </div> <h5 class="color-second"><strong>Thông tin đặt lịch hẹn</strong></h5> <div class="input required"> <span>Ngày khám <label style="color: red">*</label></span> <input type="text" class="data ngay-kham" data="ngay_kham" readonly="readonly"> </div> <div class="input required"> <span>Mô tả triệu chứng <label style="color: red">*</label></span> <textarea class="data" type="text" data="mo_ta"></textarea> </div> <div class="row"> <div class="col-8"> <div class="input required captcha-wrapper"> <span>Mã xác nhận <label style="color: red">*</label></span> <input class="data captcha" data="captcha" type="text"> </div> <img src="<?=get_template_directory_uri()?>/include/captcha.php" alt="CAPTCHA" class="captcha-image"> <i class="la la-redo-alt f5-captcha"></i> </div> <div class="col-4 align-right"> <button class="btn dat-lich inline-block">ĐẶT LỊCH <span class="booking-loading hide">...</span></button> </div> </div> </div> </div> </div> </div> <script> // jQuery(document).ready(function($){ // function isWeekend(date) { // var day = date.getDay(); // return day === 6 || day === 0; // 6 = Thứ 7, 0 = Chủ nhật // } // if (isWeekend(new Date())) { // $(".ngay-kham").datepicker({ // minDate: 3, // maxDate: 10, // dateFormat: 'dd/mm/yy', // beforeShowDay: $.datepicker.noWeekends, firstDay: 1 }); // } else { // <?php if(date('H') < 16){ ?> // $(".ngay-kham").datepicker({ // minDate: 1, // maxDate: 10, // dateFormat: 'dd/mm/yy', // beforeShowDay: $.datepicker.noWeekends, // firstDay: 1 // }); // <?php }else{ ?> // $(".ngay-kham").datepicker({ // minDate: 2, // maxDate: 11, // dateFormat: 'dd/mm/yy', // beforeShowDay: $.datepicker.noWeekends, // firstDay: 1 // }); // <?php } ?> // } jQuery(document).ready(function($){ // THÊM MỚI: Hàm kiểm tra ngày bị chặn (30/4 - 5/5/2025) function isDisabledDate(date) { var disabledDates = [ '30/04/2025', '01/05/2025', '02/05/2025', '03/05/2025', '04/05/2025', '05/05/2025' ]; var day = ("0" + date.getDate()).slice(-2); var month = ("0" + (date.getMonth() + 1)).slice(-2); var year = date.getFullYear(); var formattedDate = day + '/' + month + '/' + year; return disabledDates.indexOf(formattedDate) !== -1; } function getNextTuesday(date) { var day = date.getDay(); var daysToTuesday = (9 - day) % 7; return daysToTuesday; } var today = new Date(); var currentHour = today.getHours(); if (today.getDay() === 6 || today.getDay() === 0 || (today.getDay() === 5 && currentHour >= 16)) { // Nếu là thứ 7, CN hoặc sau 16h thứ 6 var minDays = getNextTuesday(today); $(".ngay-kham").datepicker({ minDate: minDays, maxDate: minDays + 7, dateFormat: 'dd/mm/yy', beforeShowDay: function(date) { var noWeekend = $.datepicker.noWeekends(date); if (!noWeekend[0]) { return [false]; } if (isDisabledDate(date)) { return [false]; } return [true]; }, firstDay: 1 }); } else { <?php if(date('H') < 16){ ?> $(".ngay-kham").datepicker({ minDate: 1, maxDate: 10, dateFormat: 'dd/mm/yy', beforeShowDay: function(date) { var noWeekend = $.datepicker.noWeekends(date); if (!noWeekend[0]) { return [false]; } if (isDisabledDate(date)) { return [false]; } return [true]; }, firstDay: 1 }); <?php } else { ?> $(".ngay-kham").datepicker({ minDate: 2, maxDate: 11, dateFormat: 'dd/mm/yy', beforeShowDay: function(date) { var noWeekend = $.datepicker.noWeekends(date); if (!noWeekend[0]) { return [false]; } if (isDisabledDate(date)) { return [false]; } return [true]; }, firstDay: 1 }); <?php } ?> } function reset(){ $('.data').each(function(){ $(this).val(''); document.querySelector(".captcha-image").src = '<?=get_template_directory_uri()?>/include/captcha.php?' + Date.now(); }); } $("#co-the-bhyt").on("change", function() { if($(this).is(":checked")){ $('#bhyt-field').removeClass("hide"); }else{ $('#bhyt-field').addClass("hide"); $('input[data="ma_the_bhyt"]').val(""); } }) //ảnh giấy hẹn khám // $("#co-henkham").on("change", function() { // if($(this).is(":checked")){ // $('#henkham-field').removeClass("hide"); // }else{ // $('#henkham-field').addClass("hide"); // $('#henkham_image').val(""); // } // }) $('.dat-lich').on('click',function(){ if($('.booking-loading').hasClass('hide')){ var error = false; $('.required').each(function(){ if($(this).children('.data').val() == ''){ error = true; $(this).addClass('error'); }else{ $(this).removeClass('error'); } }); if(error){ Swal.fire({ icon: 'warning', title: 'Thiếu thông tin', text: 'Vui lòng nhập đầy đủ thông tin!' }); // alert('Vui lòng điền đầy đủ thông tin!'); return false; } else{ var value = {}; $('.data').each(function(){ var attr = $(this).attr('data'); value[attr] = $(this).val(); }); //NEW Tạo FormData để gửi file cùng với các trường dữ liệu var formData = new FormData(); formData.append('action', 'booking'); formData.append('value', JSON.stringify(value)); //NEW Kiểm tra nếu có file được chọn var fileInput = $('#file').prop('files'); if (fileInput && fileInput.length > 0) { formData.append('henkham_image', fileInput[0]); } $('.booking-loading').removeClass('hide'); $.ajax({ type: "POST", dataType: 'JSON', url: admin_url, data: { action: 'booking', value: value }, success : function(data){ if(data.status == 'soon'){ Swal.fire({ icon: 'warning', title: 'Ngày khám không hợp lệ!', text: 'Vui lòng chọn lại ngày khám phù hợp.' }); // alert('Ngày khám không hợp lệ!'); }else if(data.status == 'wrong_captcha'){ Swal.fire({ icon: 'error', title: 'Sai mã xác nhận', text: 'Vui lòng nhập lại mã xác nhận.' }); // alert('Sai mã xác nhận'); }else if(data.status == 'upload_error'){ alert('up file thất bại'); }else if(data.status == 'success'){ Swal.fire({ icon: 'success', title: 'Bạn đã đặt khám lịch thành công!', html: ` <p><strong>THÔNG TIN ĐẶT LỊCH</strong></p> <b>Họ tên:</b> ${value['ho_ten']}<br> <b>CCCD:</b> ${value['so_cc']}<br> <b>Ngày sinh:</b> ${value['ngay_sinh']}<br> <b>Giới tính:</b> ${value['gioi_tinh']}<br> <b>Ngày khám:</b> ${value['ngay_kham']}<br> <b>Triệu chứng:</b> ${value['mo_ta']} `, confirmButtonText: 'Đóng' }); // var patientInfo = 'Họ tên: ' + value['ho_ten'] + '\n' + // 'Số CCCD: ' + value['so_cc'] + '\n' + // 'Ngày khám: ' + value['ngay_kham']; // alert('Bạn đã đặt lịch khám thành công!\n' + patientInfo); //alert('Bạn đã đặt lịch khám thành công!'); reset(); } }, error: function(){ alert('Xảy ra lỗi!'); }, complete: function(){ $('.booking-loading').addClass('hide'); } }); } } }); $('.f5-captcha').on('click', function(){ document.querySelector(".captcha-image").src = '<?=get_template_directory_uri()?>/include/captcha.php?' + Date.now(); }); }); </script> <?php get_footer(); ?>