kpi-dashboard / templates /admin /audits.html
Admin
Initial HF deploy
04477e7
Raw
History Blame
4.15 kB
{% extends "base.html" %}
{% block title %}Аудиты{% endblock %}
{% block page_title %}Аудиты{% endblock %}
{% block content %}
<div class="d-card" style="padding:0;overflow:hidden;">
<div class="d-card-header d-flex justify-content-between align-items-center" style="padding:16px 20px;border-bottom:1px solid rgba(255,255,255,0.04);">
<span style="font-weight:600;font-size:16px;color:#fff;">Все аудиты и брифчеки</span>
<span style="font-size:13px;color:#A0A5B5;">{{ audits|length }} файлов</span>
</div>
<div style="overflow-x:auto;">
<table class="d-table" style="border:none;">
<thead>
<tr>
<th>Тип</th>
<th>Файл</th>
<th>Сотрудник</th>
<th>Загрузил</th>
<th>Дата</th>
<th>Размер</th>
<th></th>
</tr>
</thead>
<tbody>
{% for a in audits %}
<tr>
<td>
<span style="display:inline-block;padding:2px 10px;border-radius:8px;font-size:11px;font-weight:500;background:{% if a.audit_type == 'audit' %}rgba(0,117,255,0.12){% else %}rgba(1,181,116,0.12){% endif %};color:{% if a.audit_type == 'audit' %}#0075FF{% else %}#01B574{% endif %};">
{{ {'audit':'Аудит','briefcheck':'Брифчек'}.get(a.audit_type, a.audit_type) }}
</span>
</td>
<td>
<div style="display:flex;align-items:center;gap:6px;">
<span style="font-weight:600;color:#fff;">{{ a.original_name }}</span>
<a href="{{ url_for('api.download_file', filename=a.file_name) }}" target="_blank" style="padding:2px 6px;color:#A0A5B5;text-decoration:none;" title="Скачать"></a>
<a href="#" onclick="openPdfViewer('{{ url_for('api.download_file', filename=a.file_name) }}','{{ a.original_name }}');return false;" style="padding:2px 6px;color:#A0A5B5;text-decoration:none;" title="Просмотреть">👁</a>
</div>
</td>
<td style="color:#fff;">{{ users.get(a.user_id, {}).full_name if users.get(a.user_id) else '—' }}</td>
<td style="color:#fff;">{{ a.uploader.full_name if a.uploader else '—' }}</td>
<td style="color:#A0A5B5;font-size:13px;">{{ a.upload_date.strftime('%d.%m.%Y %H:%M') }}</td>
<td style="color:#A0A5B5;font-size:13px;">{% if a.file_size %}{{ (a.file_size / 1024)|round(1) }} КБ{% else %}—{% endif %}</td>
<td>
<a href="{{ url_for('admin.admin_delete_audit', audit_id=a.id) }}" class="btn btn-outline-danger btn-sm" style="padding:4px 8px;font-size:11px;" onclick="return confirm('Удалить файл?')" title="Удалить">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"/></svg>
</a>
</td>
</tr>
{% else %}
<tr>
<td colspan="7" style="text-align:center;padding:40px;color:#A0A5B5;">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" style="display:block;margin:0 auto 8px;"><path d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg>
Нет загруженных аудитов
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}