220 lines
9.0 KiB
PHP
Executable File
220 lines
9.0 KiB
PHP
Executable File
<!doctype html>
|
||
<html lang="<?= config('language_code') ?>">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||
<meta name="theme-color" content="#35A768">
|
||
<meta name="google" content="notranslate">
|
||
|
||
<meta property="og:title" content="<?= lang('page_title') . ' ' . vars('company_name') ?> | TFE Group"/>
|
||
<meta property="og:url" content="<?= base_url() ?>">
|
||
<meta property="og:image" content="<?= base_url('assets/img/social-card.png') ?>"/>
|
||
<meta property="og:type" content="website">
|
||
|
||
<?php slot('meta'); ?>
|
||
|
||
<title><?= lang('page_title') . ' ' . vars('company_name') ?> | TFE Group</title>
|
||
|
||
<link rel="icon" type="image/x-icon" href="<?= asset_url('assets/img/favicon.ico') ?>">
|
||
<link rel="icon" sizes="192x192" href="<?= asset_url('assets/img/logo.png') ?>">
|
||
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/vendor/cookieconsent/cookieconsent.min.css') ?>">
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/vendor/flatpickr/flatpickr.min.css') ?>">
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/vendor/flatpickr/material_green.min.css') ?>">
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/css/themes/' . vars('theme') . '.css') ?>">
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/css/general.css') ?>">
|
||
<link rel="stylesheet" type="text/css" href="<?= asset_url('assets/css/layouts/booking_layout.css') ?>">
|
||
|
||
<?php component('company_color_style', ['company_color' => vars('company_color')]); ?>
|
||
|
||
<?php slot('styles'); ?>
|
||
|
||
<style>
|
||
.search-container-wrapper {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
flex-direction: column;
|
||
min-height: 44.2vh;
|
||
}
|
||
.search-container-title {
|
||
color: #666666;
|
||
}
|
||
.search-container {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
width: 100%;
|
||
max-width: 400px;
|
||
margin-bottom: 20px;
|
||
}
|
||
.search-container input {
|
||
width: 100%;
|
||
padding: 10px;
|
||
margin-bottom: 10px;
|
||
border-radius: 5px;
|
||
border: 1px solid #ccc;
|
||
}
|
||
.search-container button {
|
||
padding: 10px 20px;
|
||
background-color: #429a82;
|
||
color: white;
|
||
border: none;
|
||
border-radius: 5px;
|
||
cursor: pointer;
|
||
width: 100%;
|
||
}
|
||
.appointments-container {
|
||
display: none;
|
||
width: 100%;
|
||
max-width: 600px;
|
||
margin-top: 20px;
|
||
}
|
||
.no-appointments {
|
||
display: none;
|
||
color: red;
|
||
margin-top: 20px;
|
||
text-align: center;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<div id="main" class="container">
|
||
<div class="row wrapper">
|
||
<div id="book-appointment-wizard" class="col-12 col-lg-10 col-xl-8 col-xxl-7">
|
||
<?php component('home_header', [
|
||
'company_name' => vars('company_name'),
|
||
'company_logo' => vars('company_logo'),
|
||
]); ?>
|
||
<div class="search-container-wrapper">
|
||
<h2 class="search-container-title">查询预约信息</h2>
|
||
<div class="search-container">
|
||
<input type="text" id="phoneNumber" placeholder="请输入手机号">
|
||
<button id="searchButton">查询</button>
|
||
</div>
|
||
<div class="appointments-container" id="appointmentsContainer">
|
||
<h3>预约结果</h3>
|
||
<ul id="appointmentsList"></ul>
|
||
</div>
|
||
<div class="no-appointments" id="noAppointmentsMessage">
|
||
未找到预约信息。
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<?php component('booking_footer', ['display_login_button' => vars('display_login_button')]); ?>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<?php if (vars('display_cookie_notice') === '1'): ?>
|
||
<?php component('cookie_notice_modal', ['cookie_notice_content' => vars('cookie_notice_content')]); ?>
|
||
<?php endif; ?>
|
||
|
||
<?php if (vars('display_terms_and_conditions') === '1'): ?>
|
||
<?php component('terms_and_conditions_modal', [
|
||
'terms_and_conditions_content' => vars('terms_and_conditions_content'),
|
||
]); ?>
|
||
<?php endif; ?>
|
||
|
||
<?php if (vars('display_privacy_policy') === '1'): ?>
|
||
<?php component('privacy_policy_modal', ['privacy_policy_content' => vars('privacy_policy_content')]); ?>
|
||
<?php endif; ?>
|
||
|
||
<script src="<?= asset_url('assets/vendor/jquery/jquery.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/cookieconsent/cookieconsent.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/@popperjs-core/popper.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/bootstrap/bootstrap.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/moment/moment.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/moment-timezone/moment-timezone-with-data.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/@fortawesome-fontawesome-free/fontawesome.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/@fortawesome-fontawesome-free/solid.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/tippy.js/tippy-bundle.umd.min.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/vendor/flatpickr/flatpickr.min.js') ?>"></script>
|
||
|
||
<script src="<?= asset_url('assets/js/app.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/date.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/file.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/http.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/lang.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/message.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/string.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/url.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/utils/validation.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/layouts/booking_layout.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/http/localization_http_client.js') ?>"></script>
|
||
|
||
<script src="<?= asset_url('assets/js/http/customers_search_http_client.js') ?>"></script>
|
||
<script src="<?= asset_url('assets/js/pages/customers.js') ?>"></script>
|
||
|
||
<script>
|
||
document.getElementById('searchButton').addEventListener('click', function() {
|
||
var phoneNumber = document.getElementById('phoneNumber').value;
|
||
|
||
if (phoneNumber.trim() === '') {
|
||
alert('请输入有效的手机号');
|
||
return;
|
||
}
|
||
|
||
// 发送请求前获取CSRF token
|
||
var csrfToken = document.querySelector('meta[name="csrf_token"]').getAttribute('content');
|
||
|
||
fetch('/index.php/appointmentSearch/search_by_phone', {
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json',
|
||
'X-CSRF-TOKEN': csrfToken // 添加CSRF Token到请求头
|
||
},
|
||
body: JSON.stringify({ phone_number: phoneNumber })
|
||
})
|
||
.then(response => response.json())
|
||
.then(data => {
|
||
if (data.success && data.appointments.length > 0) {
|
||
displayAppointments(data.appointments);
|
||
} else {
|
||
showNoAppointmentsMessage();
|
||
}
|
||
})
|
||
.catch(error => {
|
||
console.error('Error fetching appointments:', error);
|
||
showNoAppointmentsMessage();
|
||
});
|
||
});
|
||
|
||
function displayAppointments(appointments) {
|
||
var appointmentsContainer = document.getElementById('appointmentsContainer');
|
||
var appointmentsList = document.getElementById('appointmentsList');
|
||
|
||
appointmentsList.innerHTML = '';
|
||
appointments.forEach(function(appointment) {
|
||
var listItem = document.createElement('li');
|
||
listItem.textContent = `预约时间:${appointment.start_datetime},提供者ID:${appointment.id_users_provider}`;
|
||
appointmentsList.appendChild(listItem);
|
||
});
|
||
|
||
appointmentsContainer.style.display = 'block';
|
||
document.getElementById('noAppointmentsMessage').style.display = 'none';
|
||
}
|
||
|
||
function showNoAppointmentsMessage() {
|
||
document.getElementById('appointmentsContainer').style.display = 'none';
|
||
document.getElementById('noAppointmentsMessage').style.display = 'block';
|
||
}
|
||
</script>
|
||
|
||
<?php component('js_vars_script'); ?>
|
||
<?php component('js_lang_script'); ?>
|
||
|
||
<?php component('google_analytics_script', ['google_analytics_code' => vars('google_analytics_code')]); ?>
|
||
<?php component('matomo_analytics_script', [
|
||
'matomo_analytics_url' => vars('matomo_analytics_url'),
|
||
'matomo_analytics_site_id' => vars('matomo_analytics_site_id'),
|
||
]); ?>
|
||
|
||
<?php slot('scripts'); ?>
|
||
|
||
</body>
|
||
</html>
|