{% extends "_market/_layouts/main" %} {% set title = 'Dashboard'|t('market') %} {% set extendHeader = true %} {% set statusMap = { green: 'bg-green-100 text-green-800', blue: 'bg-blue-100 text-blue-800', pink: 'bg-pink-100 text-pink-800', default: 'bg-gray-100 text-gray-800', } %} {% block content %} {# Basic order query #} {% set ordersQuery = craft.orders .isCompleted(true) .relatedTo({ 'targetElement': currentVendor, 'field': 'vendor' }) %} {# Total orders calc #} {% set thirtyDays = now|date_modify('-30 days')|date('U') %} {% set sixtyDays = now|date_modify('-60 days')|date('U') %} {% set totalOrders = ordersQuery .dateOrdered('>= '~thirtyDays) .count() %} {% set totalOrdersPrev30 = ordersQuery .dateOrdered(['and', '>= '~sixtyDays, '<= '~thirtyDays]) .count() %} {% set totalOrdersDiff = (totalOrders - totalOrdersPrev30) %} {# Total new orders #} {% set totalNewOrders = ordersQuery .orderStatus('new') .dateOrdered(null) .count() %} {# Main orders loop #} {% set recentOrders = ordersQuery .withCustomer(true) .withAddresses(true) .orderStatus(null) .dateOrdered(null) .orderBy('dateOrdered desc') .limit(6) .all() %} {# Total revenue calc #} {% set last30DaysPrices = ordersQuery .limit(null) .dateOrdered('>= '~thirtyDays) .addSelect('commerce_orders.totalPrice') .column() %} {% set prev30DaysPrices = ordersQuery .limit(null) .dateOrdered(['and', '>= '~sixtyDays, '<= '~thirtyDays]) .addSelect('commerce_orders.totalPrice') .column() %} {% set totalRevenue = 0 %} {% for price in last30DaysPrices %} {% set totalRevenue = totalRevenue + price %} {% endfor %} {% set totalRevenuePrev30 = 0 %} {% for price in prev30DaysPrices %} {% set totalRevenuePrev30 = totalRevenuePrev30 + price %} {% endfor %} {% set totalRevenueDiff = (totalRevenue - totalRevenuePrev30) %} {# Header #}
| {{ 'Reference'|t('market') }} | {{ 'Customer'|t('market') }} | {{ 'Status'|t('market') }} | {{ 'Amount'|t('market') }} | {{ 'Date'|t('market') }} |
|---|---|---|---|---|
| {{ order.reference }} |
{% if billingAddress %}
{{ billingAddress.firstName }} {{ billingAddress.lastName }}
{% endif %}
{{ order.email }}
|
{{ order.orderStatus }} | {{ order.storedTotalPrice|currency(order.currency, [], [], true) }} | {{ order.dateOrdered|datetime('short') }} |