{% extends "base.html" %} {% from "partials/_tag_picker.html" import tag_picker %} {% from "partials/_view_toggle.html" import view_toggle %} {% from "partials/_show_all.html" import show_all_bar with context %} {% block title %}گزارشات — {{ APP_NAME }}{% endblock %} {% block content %} {% set can_open_profile = "customer_profile" in allowed_page_keys() %} {# کل query string (همه‌ی شهرها/تگ‌های انتخاب‌شده) به لینک خروجی منتقل می‌شه، نه فقط مقدار اول هر فیلتر #} {% set export_query = ("?" ~ request.query_string.decode()) if request.query_string else "" %}
فیلترها

{% for c in cities %} {% endfor %}
{{ tag_picker(tag_groups, args.getlist('tag_ids'), "reportsTagPicker", title="فیلتر بر اساس تگ") }}
با انتخاب بازه، فقط مشتری‌هایی که در این بازه خرید داشتن نمایش داده می‌شن.
{% set current_sort = {"amount_desc": "weight_desc", "amount_asc": "weight_asc"}.get(args.get('sort', 'weight_desc'), args.get('sort', 'weight_desc')) %}
✕ حذف فیلتر

{{ jalali.to_fa_digits(total) }} مشتری یافت شد

📊 خروجی Excel 📄 خروجی PDF
{{ view_toggle('mainList') }}
{% if has_range %}{% endif %} {% for r in rows %} {% if has_range %}{% endif %} {% else %} {% endfor %}
نامنام خانوادگیشهرشماره تماسوزن خرید (گرم)تعداد خریدخرید در بازه (گرم)رتبه
{{ r.customer.first_name }} {{ r.customer.last_name }} {{ r.customer.city or "-" }} {{ r.customer.mobile_phone or "-" }} {{ r.total_weight|grams }} {{ r.purchase_count }}{{ r.range_weight|grams }}{{ r.customer.rating or "-" }}
مشتری‌ای یافت نشد
{% for r in rows %}
{{ r.customer.first_name }} {{ r.customer.last_name }}
{{ r.customer.city or "بدون شهر" }} · {{ r.customer.mobile_phone or "بدون شماره" }}
{{ r.total_weight|grams }} گرم
{{ r.purchase_count }} خرید{% if has_range %} · در بازه: {{ r.range_weight|grams }} گرم{% endif %}
{% else %}
مشتری‌ای یافت نشد
{% endfor %}
{{ show_all_bar(rows|length, total) }}
{% endblock %}