// Функция открытия всплывающего окна
function showPopup(popupId) {
document.getElementById(popupId).style.display = "block";
}
// Функция закрытия всплывающего окна
function closePopup(popupId) {
document.getElementById(popupId).style.display = "none";
}
// Обработчик события submit для формы
document.getElementById("loginForm").addEventListener("submit", function(event) {
event.preventDefault(); // Предотвращаем стандартную отправку формы
// Получаем значения из полей формы
const name = document.getElementById("name").value;
const phone = document.getElementById("phone").value;
const email = document.getElementById("email").value;
const date = document.getElementById("date").value;
const time = document.getElementById("time").value;
const comment = document.getElementById("comment").value;
// Проверяем, заполнены ли все поля формы
if (name === "" || phone === "" || email === "" || date === "" || time === "" || comment === "") {
// Если поля не заполнены, показываем ошибку
document.getElementById("errorMessage").textContent = "Пожалуйста, заполните все поля формы.";
showPopup("errorPopup");
return;
}
// Проверяем, не является ли дата и время прошедшими
const currentDate = new Date();
const selectedDate = new Date(date + "T" + time);
if (selectedDate < currentDate) {
// Если дата и время прошедшие, показываем ошибку
document.getElementById("errorMessage").textContent = "Выбрана прошедшая дата и/или время. Пожалуйста, выберите дату и время в будущем.";
showPopup("errorPopup");
return;
}
// Сохраняем данные в localStorage
saveRecordToLocalStorage(name, phone, email, date, time, comment);
// Показываем всплывающее окно с успешным сообщением
showPopup("successPopup");
loginForm.reset(); // Очистка формы
});
// Сохраняем данные в localStorage
function saveRecordToLocalStorage(name, phone, email, date, time, comment) {
let records = localStorage.getItem('priem');
if (!records) {
records = [];
} else {
records = JSON.parse(records);
}
records.push({ name, phone, email, date, time, comment });
localStorage.setItem('priem', JSON.stringify(records));
}
// Функция для скачивания CSV-файла
function tableToCSV() {
const records = JSON.parse(localStorage.getItem('priem'));
if (!records) {
alert('Нет записей для сохранения!');
return;
}
// Создаем объект Blob с типом данных "text/csv" и кодировкой "windows-1251"
const blob = new Blob([
"\uFEFF" + // BOM для корректного отображения кириллицы в Excel
"ФИО,Номер телефона,Email,Дата,Время,Комментарий\n" +
records.map(record => `${record.name},${record.phone},${record.email},${record.date},${record.time},${record.comment}`).join('\n')
], { type: 'text/csv;charset=windows-1251;' });
// Создаем URL-адрес для объекта Blob
const url = window.URL.createObjectURL(blob);
// Создаем ссылку для скачивания файла
const link = document.createElement("a");
link.setAttribute("href", url);
link.setAttribute("download", "прием.csv");
// Добавляем ссылку на страницу, кликаем по ней и удаляем
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
// Чтение данных из csv файла
document.getElementById('csvFileInput').addEventListener('change', function() {
if (this.files && this.files[0]) {
let reader = new FileReader();
reader.onload = function(e) {
let csvData = e.target.result;
createTableFromCSV(csvData);
};
reader.readAsText(this.files[0]);
}
});
function createTableFromCSV(csvData) {
let rows = csvData.split('\n');
let tableContent = '';
// Заголовки таблицы (первая строка CSV)
let headers = rows[0].split(',');
headers.forEach(header => {
tableContent += ` ${header} `;
});
tableContent += '