38 lines
1.3 KiB
HTML
38 lines
1.3 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
<h1>Панель управления</h1>
|
|
<div style="display: flex; gap: 1rem; flex-wrap: wrap;">
|
|
<div class="card" style="flex:1; min-width:200px;">
|
|
<h3>Активных выдач</h3>
|
|
<p style="font-size:2rem;">{{ active_issues }}</p>
|
|
</div>
|
|
<div class="card" style="flex:1; min-width:200px;">
|
|
<h3>Партнёров</h3>
|
|
<p style="font-size:2rem;">{{ partners_count }}</p>
|
|
</div>
|
|
<div class="card" style="flex:1; min-width:200px;">
|
|
<h3>Ожидаемая сумма</h3>
|
|
<p style="font-size:2rem;">{{ expected_total }} ₽</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2>Последние операции</h2>
|
|
<div style="display: flex; gap: 2rem; flex-wrap: wrap;">
|
|
<div style="flex:1;">
|
|
<h3>Выдачи</h3>
|
|
<ul>
|
|
{% for issue in recent_issues %}
|
|
<li>{{ issue.issue_date.strftime('%d.%m.%Y') }} — {{ issue.partner.name }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
<div style="flex:1;">
|
|
<h3>Возвраты</h3>
|
|
<ul>
|
|
{% for ret in recent_returns %}
|
|
<li>{{ ret.return_date.strftime('%d.%m.%Y') }} — {{ ret.total_amount }} ₽</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |