141 lines
6 KiB
HTML
141 lines
6 KiB
HTML
{% extends "base.html" %}
|
||
|
||
{% block title %}История продаж - {{ partner.name }}{% endblock %}
|
||
|
||
{% block content %}
|
||
<div class="sales-history-container">
|
||
<!-- Заголовок с кнопкой назад -->
|
||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||
<div>
|
||
<a href="{{ url_for('index') }}" class="btn btn-back me-3">
|
||
<i class="fas fa-arrow-left"></i> Назад
|
||
</a>
|
||
<h2 class="page-title">История продаж - {{ partner.name }}</h2>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Информация о партнере -->
|
||
<div class="partner-info-card mb-4">
|
||
<div class="partner-header">
|
||
<div class="partner-name-line">
|
||
<span class="partner-type">
|
||
{% if partner.partner_type_name %}
|
||
{{ partner.partner_type_name }}
|
||
{% else %}
|
||
Тип не указан
|
||
{% endif %}
|
||
</span>
|
||
<span class="divider">|</span>
|
||
<span class="partner-name">{{ partner.name }}</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="partner-details">
|
||
<div class="row">
|
||
<div class="col-md-6">
|
||
<div class="info-item">
|
||
<span class="info-label">Директор:</span>
|
||
<span class="info-value">{{ partner.director or 'Не указан' }}</span>
|
||
</div>
|
||
<div class="info-item">
|
||
<span class="info-label">Телефон:</span>
|
||
<span class="info-value">{{ partner.phone or 'Не указан' }}</span>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-6">
|
||
<div class="info-item">
|
||
<span class="info-label">Email:</span>
|
||
<span class="info-value">{{ partner.email or 'Не указан' }}</span>
|
||
</div>
|
||
<div class="info-item">
|
||
<span class="info-label">ИНН:</span>
|
||
<span class="info-value">{{ partner.inn or 'Не указан' }}</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Общая статистика -->
|
||
<div class="stats-card mb-4">
|
||
<h4 class="stats-title">Общая статистика</h4>
|
||
<div class="row">
|
||
<div class="col-md-3">
|
||
<div class="stat-item">
|
||
<div class="stat-number">{{ total_stats.total_sales or 0 }}</div>
|
||
<div class="stat-label">Всего продаж</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="stat-item">
|
||
<div class="stat-number">{{ total_stats.total_quantity or 0 }}</div>
|
||
<div class="stat-label">Общее количество</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="stat-item">
|
||
<div class="stat-number">{{ "%.2f"|format(total_stats.total_amount or 0) }} руб.</div>
|
||
<div class="stat-label">Общая сумма</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="stat-item">
|
||
<div class="stat-number">{{ "%.2f"|format(total_stats.avg_price or 0) }} руб.</div>
|
||
<div class="stat-label">Средняя цена</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Таблица истории продаж -->
|
||
<div class="sales-table-card">
|
||
<h4 class="table-title">Детализация продаж</h4>
|
||
|
||
{% if sales %}
|
||
<div class="table-responsive">
|
||
<table class="table table-striped">
|
||
<thead>
|
||
<tr>
|
||
<th>Дата продажи</th>
|
||
<th>Товар</th>
|
||
<th>Артикул</th>
|
||
<th>Тип товара</th>
|
||
<th>Количество</th>
|
||
<th>Цена за ед.</th>
|
||
<th>Общая сумма</th>
|
||
<th>Дата создания</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{% for sale in sales %}
|
||
<tr>
|
||
<td>{{ sale.sale_date }}</td>
|
||
<td>{{ sale.product_name or 'Неизвестный товар' }}</td>
|
||
<td>{{ sale.product_article or '-' }}</td>
|
||
<td>{{ sale.product_type_name or '-' }}</td>
|
||
<td>{{ sale.quantity }} ед.</td>
|
||
<td>{{ "%.2f"|format(sale.sale_price) }} руб.</td>
|
||
<td>{{ "%.2f"|format(sale.quantity * sale.sale_price) }} руб.</td>
|
||
<td>{{ sale.created_at[:10] if sale.created_at else '-' }}</td>
|
||
</tr>
|
||
{% endfor %}
|
||
</tbody>
|
||
<tfoot>
|
||
<tr class="table-success">
|
||
<td colspan="4" class="text-end"><strong>Итого:</strong></td>
|
||
<td><strong>{{ total_stats.total_quantity or 0 }} ед.</strong></td>
|
||
<td><strong>{{ "%.2f"|format(total_stats.avg_price or 0) }} руб.</strong></td>
|
||
<td><strong>{{ "%.2f"|format(total_stats.total_amount or 0) }} руб.</strong></td>
|
||
<td></td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
</div>
|
||
{% else %}
|
||
<div class="alert alert-info">
|
||
<i class="fas fa-info-circle"></i> Нет данных о продажах
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
{% endblock %} |