Загрузка данных
{% extends "base.html" %}
{% block title %}Мои стажёры{% endblock %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-3">
<h4 class="mb-0">Мои стажёры</h4>
<a class="btn btn-success"
href="{{ url_for('reports.export_excel', date_from=date_from, date_to=date_to) }}">
<i class="bi bi-file-earmark-excel"></i> Выгрузить Excel
</a>
</div>
<div class="row g-3 mb-4">
<div class="col-md-4">
<div class="card stat-card"><div class="card-body">
<div class="text-muted small">Стажёров</div>
<div class="fs-3 fw-bold">{{ overview.interns_count }}</div>
</div></div>
</div>
<div class="col-md-4">
<div class="card stat-card"><div class="card-body">
<div class="text-muted small">Отметок за период</div>
<div class="fs-3 fw-bold">{{ overview.records }}</div>
</div></div>
</div>
<div class="col-md-4">
<div class="card stat-card"><div class="card-body">
<div class="text-muted small">Средняя посещаемость</div>
<div class="fs-3 fw-bold text-primary">{{ overview.rate }}%</div>
</div></div>
</div>
</div>
<form method="get" class="card stat-card mb-3">
<div class="card-body d-flex gap-3 align-items-end flex-wrap">
<div>
<label class="form-label small mb-1">С</label>
<input type="date" name="date_from" class="form-control" value="{{ date_from }}">
</div>
<div>
<label class="form-label small mb-1">По</label>
<input type="date" name="date_to" class="form-control" value="{{ date_to }}">
</div>
<button class="btn btn-primary">Применить</button>
<div class="ms-auto text-muted small">
Быстрая отметка всех на сегодня:
<button formaction="{{ url_for('attendance.bulk') }}" formmethod="post"
name="date" value="{{ date_to }}" class="btn btn-sm btn-outline-success ms-1"
onclick="this.form.querySelector('[name=status]') || (()=>{const i=document.createElement('input');i.type='hidden';i.name='status';i.value='present';this.form.appendChild(i)})()">
✓ Присутствовали
</button>
</div>
</div>
</form>
<div class="card stat-card">
<div class="table-responsive">
<table class="table table-hover mb-0 align-middle">
<thead class="table-light">
<tr>
<th>Стажёр</th>
<th class="text-center">Всего</th>
<th class="text-center text-success">Присут.</th>
<th class="text-center text-warning">Опозд.</th>
<th class="text-center text-danger">Отсут.</th>
<th class="text-center text-info">Уваж.</th>
<th class="text-center">Посещаемость</th>
<th></th>
</tr>
</thead>
<tbody>
{% for row in rows %}
{% set s = row.stats %}
<tr>
<td>
<div class="fw-semibold">{{ row.intern.full_name }}</div>
<small class="text-muted">{{ row.intern.direction or '—' }}</small>
</td>
<td class="text-center">{{ s.total }}</td>
<td class="text-center">{{ s.present }}</td>
<td class="text-center">{{ s.late }}</td>
<td class="text-center">{{ s.absent }}</td>
<td class="text-center">{{ s.excused }}</td>
<td class="text-center" style="min-width:140px">
<div class="progress" style="height:8px">
<div class="progress-bar
{% if s.rate >= 80 %}bg-success{% elif s.rate >= 50 %}bg-warning{% else %}bg-danger{% endif %}"
style="width: {{ s.rate }}%"></div>
</div>
<small class="text-muted">{{ s.rate }}%</small>
</td>
<td class="text-end">
<a class="btn btn-sm btn-primary"
href="{{ url_for('interns.detail', intern_id=row.intern.id) }}">
<i class="bi bi-calendar3"></i> Отметить
</a>
</td>
</tr>
{% else %}
<tr><td colspan="8" class="text-center text-muted py-4">Нет стажёров</td></tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}