easyappointments/application/views/layouts/home_search_layout.php

220 lines
9.0 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>