Добавлен расчёт и отображение доступного количества комплектов
- Добавлен метод calculate_available_quantity() в модель ProductKit для точного расчёта максимального количества комплектов на основе свободных остатков компонентов - Обновлён метод check_availability() для использования нового расчёта (обратная совместимость) - Удалён устаревший сервис kit_availability.py Исправлено отображение остатков комплектов: - products_list.html: вместо прочерка показывается количество комплектов - catalog.html: добавлено отображение доступного количества комплектов с цветовой индикацией - POS terminal.js: в карточке товара показывается конкретное количество вместо общего 'В наличии' Обновлены представления: - ProductsListView: аннотирует комплекты атрибутом total_free - CatalogView: рассчитывает доступное количество для каждого комплекта - POS get_products(): убран хардкод, используется реальный расчёт по складу
This commit is contained in:
@@ -290,6 +290,14 @@
|
||||
<span class="text-muted">/ {{ item.total_available|floatformat:"-3" }} всего</span>
|
||||
</small>
|
||||
</div>
|
||||
{% elif item.item_type == 'kit' %}
|
||||
{# Информация об остатках для комплектов #}
|
||||
<div class="mt-1">
|
||||
<small class="stock-info {% if item.total_free > 0 %}text-success{% else %}text-danger{% endif %}">
|
||||
<i class="bi bi-box-seam"></i>
|
||||
<strong>{{ item.total_free|floatformat:"0" }}</strong> компл. доступно
|
||||
</small>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mt-1">
|
||||
|
||||
@@ -196,6 +196,8 @@
|
||||
<strong class="{% if item.total_free > 0 %}text-success{% else %}text-danger{% endif %}">{{ item.total_free|floatformat:-2 }}</strong>{% if item.total_reserved > 0 %}<small class="text-muted"> / {{ item.total_available|floatformat:-2 }}</small>
|
||||
<small class="text-warning d-block">{{ item.total_reserved|floatformat:-2 }} в резерве</small>
|
||||
{% endif %}
|
||||
{% elif item.item_type == 'kit' %}
|
||||
<strong class="{% if item.total_free > 0 %}text-success{% else %}text-danger{% endif %}">{{ item.total_free|floatformat:0 }}</strong> <small class="text-muted">компл.</small>
|
||||
{% else %}
|
||||
<span class="text-muted">-</span>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user