22 - python & all web labs

This commit is contained in:
2026-05-02 20:27:02 +05:00
parent ef77f101fa
commit 19af922baf
5781 changed files with 770492 additions and 96 deletions

317
labWeb/lab4-6/schedule.html Normal file
View File

@@ -0,0 +1,317 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Расписание специалистов | МедСэйв</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body { font-family: 'Inter', sans-serif; }
.gradient-bg { background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); }
.medical-pattern { background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.15) 1px, transparent 0); background-size: 20px 20px; }
.schedule-table {
width: 100%;
border-collapse: collapse;
border-radius: 12px;
overflow: hidden;
}
.schedule-table th {
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
color: white;
padding: 1rem;
text-align: left;
font-weight: 600;
}
.schedule-table td {
padding: 1rem;
border-bottom: 1px solid #e2e8f0;
}
.schedule-table tr:hover td {
background-color: #f8fafc;
}
.schedule-table tr:nth-child(even) {
background-color: #f1f5f9;
}
.cell-merged {
background-color: #e0f2fe;
font-weight: 600;
color: #0369a1;
text-align: center;
vertical-align: middle;
}
.time-slot {
font-family: monospace;
color: #64748b;
}
</style>
</head>
<body class="bg-slate-50 text-slate-800">
<header class="bg-sky-100 medical-pattern text-sky-900 shadow-lg sticky top-0 z-50">
<div class="container mx-auto px-4 py-4">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-3">
<div class="bg-sky-200 p-2 rounded-xl">
<i data-lucide="heart-pulse" class="w-8 h-8 text-sky-700"></i>
</div>
<div>
<h1 class="text-2xl font-bold tracking-tight">МедСэйв</h1>
<p class="text-sky-600 text-sm">Медицинский центр</p>
</div>
</div>
<nav class="hidden md:flex items-center space-x-1">
<a href="index.html" class="px-4 py-2 rounded-lg hover:bg-sky-200 transition text-sky-900">Новости</a>
<a href="doctors.html" class="px-4 py-2 rounded-lg hover:bg-sky-200 transition text-sky-900">Наши врачи</a>
<a href="prices.html" class="px-4 py-2 rounded-lg hover:bg-sky-200 transition text-sky-900">Цены</a>
<a href="schedule.html" class="px-4 py-2 rounded-lg bg-sky-200 font-medium transition hover:bg-sky-300 text-sky-900">Расписание</a>
<a href="contacts.html" class="px-4 py-2 rounded-lg hover:bg-sky-200 transition text-sky-900">Контакты</a>
</nav>
<button onclick="toggleMobileMenu()" class="md:hidden p-2 rounded-lg bg-sky-200 hover:bg-sky-300 transition text-sky-900">
<i data-lucide="menu" class="w-6 h-6"></i>
</button>
</div>
<div id="mobileMenu" class="hidden md:hidden mt-4 pb-4 space-y-2 border-t border-sky-300 pt-4">
<a href="index.html" class="block px-4 py-2 rounded-lg hover:bg-sky-200 text-sky-900">Новости</a>
<a href="doctors.html" class="block px-4 py-2 rounded-lg hover:bg-sky-200 text-sky-900">Наши врачи</a>
<a href="prices.html" class="block px-4 py-2 rounded-lg hover:bg-sky-200 text-sky-900">Цены</a>
<a href="schedule.html" class="block px-4 py-2 rounded-lg bg-sky-200 font-medium text-sky-900">Расписание</a>
<a href="contacts.html" class="block px-4 py-2 rounded-lg hover:bg-sky-200 text-sky-900">Контакты</a>
</div>
</div>
</header>
<main class="container mx-auto px-4 py-8 max-w-6xl">
<div class="mb-8">
<h2 class="text-3xl font-bold text-slate-800 mb-2">Расписание приема специалистов</h2>
<p class="text-slate-600">График работы врачей на текущую неделю</p>
</div>
<div class="bg-white rounded-2xl shadow-lg overflow-hidden border border-slate-100">
<div class="overflow-x-auto">
<table class="schedule-table">
<thead>
<tr>
<th class="rounded-tl-2xl">Специальность</th>
<th>Врач</th>
<th>Понедельник</th>
<th>Вторник</th>
<th>Среда</th>
<th>Четверг</th>
<th>Пятница</th>
<th class="rounded-tr-2xl">Выходные</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" class="cell-merged border-r-2 border-sky-200">Терапевты</td>
<td class="font-medium">Иванов И.И.</td>
<td class="time-slot">09:00-13:00</td>
<td class="time-slot">14:00-18:00</td>
<td class="time-slot">09:00-13:00</td>
<td class="time-slot">14:00-18:00</td>
<td class="time-slot">09:00-13:00</td>
<td rowspan="6" class="cell-merged text-center">
<div class="flex flex-col items-center gap-2">
<i data-lucide="calendar-x" class="w-8 h-8 text-sky-400"></i>
<span>Приема нет</span>
<span class="text-xs font-normal text-slate-500">(только экстренные случаи)</span>
</div>
</td>
</tr>
<tr>
<td class="font-medium">Сидорова Е.Л.</td>
<td class="time-slot">14:00-18:00</td>
<td class="time-slot">09:00-13:00</td>
<td class="time-slot">14:00-18:00</td>
<td class="time-slot">09:00-13:00</td>
<td class="time-slot">14:00-18:00</td>
</tr>
<tr>
<td rowspan="2" class="cell-merged border-r-2 border-sky-200">Неврологи</td>
<td class="font-medium">Петрова Л.Д.</td>
<td class="time-slot">10:00-16:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">10:00-16:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">10:00-16:00</td>
</tr>
<tr>
<td class="font-medium">Орлова Г.Д.</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">10:00-16:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">10:00-16:00</td>
<td class="time-slot text-slate-400">—</td>
</tr>
<tr>
<td rowspan="2" class="cell-merged border-r-2 border-sky-200">УЗИ</td>
<td class="font-medium">Гордеев О.Т</td>
<td colspan="2" class="text-center text-emerald-600 font-medium bg-emerald-50">
<i data-lucide="check-circle" class="w-4 h-4 inline mr-1"></i>
08:00-14:00
</td>
<td class="time-slot text-slate-400">—</td>
<td colspan="2" class="text-center text-emerald-600 font-medium bg-emerald-50">
<i data-lucide="check-circle" class="w-4 h-4 inline mr-1"></i>
08:00-14:00
</td>
</tr>
<tr>
<td class="font-medium">Арбатова Е.К.</td>
<td class="time-slot text-slate-400">—</td>
<td colspan="2" class="text-center text-emerald-600 font-medium bg-emerald-50">
<i data-lucide="check-circle" class="w-4 h-4 inline mr-1"></i>
12:00-18:00
</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">12:00-16:00</td>
</tr>
<tr>
<td class="cell-merged border-r-2 border-sky-200">Кардиологи</td>
<td class="font-medium">Смирнов А.В.</td>
<td class="time-slot">09:00-15:00</td>
<td class="time-slot">09:00-15:00</td>
<td class="time-slot">09:00-15:00</td>
<td class="time-slot">09:00-15:00</td>
<td class="time-slot">09:00-15:00</td>
<td class="cell-merged text-center text-slate-400">
<i data-lucide="x-circle" class="w-5 h-5 inline"></i>
</td>
</tr>
<tr>
<td rowspan="2" class="cell-merged border-r-2 border-sky-200 rounded-bl-2xl">Эндокринологи</td>
<td class="font-medium">Морозов П.С.</td>
<td class="time-slot">11:00-17:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">11:00-17:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">11:00-17:00</td>
<td rowspan="2" class="cell-merged text-center rounded-br-2xl text-slate-400">
<i data-lucide="x-circle" class="w-5 h-5 inline"></i>
</td>
</tr>
<tr>
<td class="font-medium">Васильева Т.А.</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">11:00-17:00</td>
<td class="time-slot text-slate-400">—</td>
<td class="time-slot">11:00-17:00</td>
<td class="time-slot text-slate-400">—</td>
</tr>
</tbody>
</table>
</div>
<div class="p-6 bg-slate-50 border-t border-slate-200">
<div class="flex flex-wrap gap-6 text-sm text-slate-600">
<div class="flex items-center gap-2">
<div class="w-4 h-4 bg-emerald-50 border border-emerald-200 rounded"></div>
<span>Усиленный прием</span>
</div>
<div class="flex items-center gap-2">
<div class="w-4 h-4 bg-sky-100 border border-sky-200 rounded"></div>
<span>Специальность (объединение строк)</span>
</div>
<div class="flex items-center gap-2">
<span class="text-slate-400">—</span>
<span>Выходной день врача</span>
</div>
</div>
</div>
</div>
<div class="mt-8 grid md:grid-cols-3 gap-6">
<div class="bg-white rounded-xl shadow p-6 border border-slate-100 flex items-start gap-4">
<div class="w-12 h-12 bg-amber-100 rounded-lg flex items-center justify-center flex-shrink-0">
<i data-lucide="alert-circle" class="w-6 h-6 text-amber-600"></i>
</div>
<div>
<h4 class="font-semibold text-slate-800 mb-1">Важно</h4>
<p class="text-sm text-slate-600">Расписание может меняться. Уточняйте актуальное время по телефону.</p>
</div>
</div>
<div class="bg-white rounded-xl shadow p-6 border border-slate-100 flex items-start gap-4">
<div class="w-12 h-12 bg-sky-100 rounded-lg flex items-center justify-center flex-shrink-0">
<i data-lucide="phone" class="w-6 h-6 text-sky-600"></i>
</div>
<div>
<h4 class="font-semibold text-slate-800 mb-1">Запись по телефону</h4>
<p class="text-sm text-slate-600">+7 (495) 123-45-67 (круглосуточно)</p>
</div>
</div>
<div class="bg-white rounded-xl shadow p-6 border border-slate-100 flex items-start gap-4">
<div class="w-12 h-12 bg-emerald-100 rounded-lg flex items-center justify-center flex-shrink-0">
<i data-lucide="globe" class="w-6 h-6 text-emerald-600"></i>
</div>
<div>
<h4 class="font-semibold text-slate-800 mb-1">Онлайн-запись</h4>
<p class="text-sm text-slate-600">Доступна через сайт и мобильное приложение</p>
</div>
</div>
</div>
</main>
<footer class="bg-slate-900 text-slate-300 mt-16">
<div class="container mx-auto px-4 py-8">
<div class="flex flex-col md:flex-row items-center justify-between gap-4">
<div class="flex items-center space-x-3">
<i data-lucide="heart-pulse" class="w-6 h-6 text-sky-400"></i>
<span class="font-semibold text-white">МедСэйв</span>
</div>
<div class="flex items-center gap-2 text-slate-300 mb-2 md:mb-0">
<i data-lucide="phone" class="w-4 h-4 text-sky-400"></i>
<span class="font-medium text-white">+7 (123) 123-12-31</span>
</div>
<div class="flex items-center space-x-4">
<span class="text-sm">Мы в социальных сетях:</span>
<div class="flex space-x-3">
<a href="#" class="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center hover:bg-sky-500 hover:text-white transition" title="Telegram">
<i data-lucide="send" class="w-5 h-5"></i>
</a>
<a href="#" class="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center hover:bg-green-500 hover:text-white transition" title="WhatsApp">
<i data-lucide="message-circle" class="w-5 h-5"></i>
</a>
<a href="#" class="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center hover:bg-purple-600 hover:text-white transition" title="Viber">
<i data-lucide="phone-call" class="w-5 h-5"></i>
</a>
</div>
</div>
<p class="text-sm text-slate-500">© 2024 МедСэйв. Все права защищены.</p>
</div>
</div>
</footer>
<script>
lucide.createIcons();
function toggleMobileMenu() {
document.getElementById('mobileMenu').classList.toggle('hidden');
}
</script>
</body>
</html>