Загрузка данных


{% 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', mentor_id=selected_mentor, date_from=date_from, date_to=date_to) }}">
    <i class="bi bi-file-earmark-excel"></i> Скачать Excel
  </a>
</div>

<form method="get" class="card stat-card mb-3">
  <div class="card-body d-flex gap-3 align-items-end flex-wrap">
    {% if current_user.is_admin %}
    <div style="min-width:220px">
      <label class="form-label small mb-1">Наставник</label>
      <select name="mentor_id" class="form-select">
        <option value="">Все наставники</option>
        {% for m in mentors %}
          <option value="{{ m.id }}" {% if selected_mentor == m.id %}selected{% endif %}>{{ m.full_name }}</option>
        {% endfor %}
      </select>
    </div>
    {% endif %}
    <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>
</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>Наставник</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>
        </tr>
      </thead>
      <tbody>
        {% for row in rows %}
        {% set s = row.stats %}
        <tr>
          <td class="fw-semibold">{{ row.intern.full_name }}</td>
          <td>{{ row.intern.mentor.full_name if row.intern.mentor else '—' }}</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 fw-bold">{{ s.rate }}%</td>
        </tr>
        {% else %}
        <tr><td colspan="8" class="text-center text-muted py-4">Нет данных</td></tr>
        {% endfor %}
      </tbody>
    </table>
  </div>
</div>
{% endblock %}