lab4 kiri

This commit is contained in:
2026-04-03 21:12:02 +07:00
parent 7a53cda294
commit f799085d55
11 changed files with 532 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>{% block title %}Бухгалтерия{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS -->
<link rel="stylesheet" href="{{ url_for('static', filename='main.css') }}">
</head>
<body>
<header class="header">
<div class="container header-inner">
<div class="logo">💼 Бухгалтерия</div>
<nav>
<a href="/">Главная</a>
<a href="/employees">Сотрудники</a>
<a href="/create">Добавить</a>
</nav>
</div>
</header>
<main class="container">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
<div class="error-window">
<div class="error-header">⚠️ Ошибки валидации</div>
<div class="error-list">
{% for category, message in messages %}
<div class="error-item">• {{ message }}</div>
{% endfor %}
</div>
</div>
{% endif %}
{% endwith %}
{% block body %}{% endblock %}
</main>
<footer class="footer">
Flask + SQLite • Лабораторная №4
</footer>
</body>
</html>
+26
View File
@@ -0,0 +1,26 @@
{% extends 'base.html' %}
{% block body %}
<div class="card">
<h1>Добавить сотрудника</h1>
<form method="post" class="form">
<div class="form-group">
<label for="fullname">ФИО (полное имя и фамилия)</label>
<input type="text" id="fullname" name="fullname"
placeholder="Введите ФИО"
value="{{ fullname or '' }}">
<small>Минимум 5 символов, поддерживаются дефисы и апострофы</small>
</div>
<div class="form-group">
<label for="salary">Зарплата (в рублях)</label>
<input type="number" id="salary" name="salary"
placeholder="Введите сумму"
value="{{ salary or '' }}">
<small>От 1 до 10 000 000 рублей</small>
</div>
<button type="submit" class="btn-primary">Добавить сотрудника</button>
</form>
</div>
{% endblock %}
+11
View File
@@ -0,0 +1,11 @@
{% extends 'base.html' %}
{% block body %}
<div class="card">
<h1>{{ emp.fullname }}</h1>
<p>Зарплата: {{ emp.salary }} ₽</p>
<p>Добавлен: {{ emp.created_at.date() }}</p>
<a class="btn" href="/employees/{{ emp.id }}/update">Редактировать</a>
<a class="btn danger" href="/employees/{{ emp.id }}/delete">Удалить</a>
</div>
{% endblock %}
+24
View File
@@ -0,0 +1,24 @@
{% extends 'base.html' %}
{% block body %}
<div class="card">
<h1>Редактирование сотрудника</h1>
<form method="post" class="form">
<div class="form-group">
<label for="fullname">ФИО (полное имя и фамилия)</label>
<input type="text" id="fullname" name="fullname"
value="{{ emp.fullname }}">
<small>Минимум 5 символов, поддерживаются дефисы и апострофы</small>
</div>
<div class="form-group">
<label for="salary">Зарплата (в рублях)</label>
<input type="number" id="salary" name="salary"
value="{{ emp.salary }}">
<small>От 1 до 10 000 000 рублей</small>
</div>
<button type="submit" class="btn-primary">Обновить сотрудника</button>
</form>
</div>
{% endblock %}
+20
View File
@@ -0,0 +1,20 @@
{% extends 'base.html' %}
{% block title %}Сотрудники{% endblock %}
{% block body %}
<h1>Список сотрудников</h1>
<h3>Общий фонд зарплат: {{ total_salary }} ₽</h3>
{% if employees %}
{% for e in employees %}
<div class="card">
<h2>{{ e.fullname }}</h2>
<p>Зарплата: <b>{{ e.salary }} ₽</b></p>
<a class="btn" href="/employees/{{ e.id }}">Подробнее</a>
</div>
{% endfor %}
{% else %}
<p>Сотрудников пока нет</p>
{% endif %}
{% endblock %}
+5
View File
@@ -0,0 +1,5 @@
{% extends 'base.html' %}
{% block body %}
<h1>Ошибка</h1>
<p>{{ msg }}</p>
{% endblock %}
+6
View File
@@ -0,0 +1,6 @@
{% extends 'base.html' %}
{% block body %}
<h1>Добро пожаловать в систему бухгалтерии</h1>
<p>Используйте меню для навигации по приложению.</p>
{% endblock %}