feat(pos): глобальный поиск товаров независимо от категории

- При поиске (3+ символа) ищет по всем товарам и комплектам, игнорируя выбранную категорию
- Добавлена визуальная индикация: кнопка "Все товары" подсвечивается при активном поиске
- При очистке поиска возвращается к товарам выбранной категории
- Витринные комплекты не участвуют в глобальном поиске

Изменения:
- terminal.js: loadItems(), updateSearchIndicator(), обработчики поиска
- views.py: get_items_api() - игнорирование category_id при search_query
This commit is contained in:
2026-01-27 15:15:27 +03:00
parent c80e2a5eca
commit 7b6a86bdf2
2 changed files with 55 additions and 12 deletions

View File

@@ -839,8 +839,9 @@ def get_items_api(request):
'sales_units' # Загружаем единицы продажи для POS
)
# Фильтруем по категории, если указана
if category_id:
# Фильтруем по категории, если указана И нет поискового запроса
# При поиске игнорируем категорию - ищем по всем товарам
if category_id and not search_query:
products_qs = products_qs.filter(categories__id=category_id)
# Фильтруем по поисковому запросу (name или sku) - разбиваем на токены
@@ -931,8 +932,9 @@ def get_items_api(request):
first_kit_photo
)
# Фильтруем комплекты по категории, если указана
if category_id:
# Фильтруем комплекты по категории, если указана И нет поискового запроса
# При поиске игнорируем категорию - ищем по всем комплектам
if category_id and not search_query:
kits_qs = kits_qs.filter(categories__id=category_id)
# Фильтруем комплекты по поисковому запросу (name или sku) - разбиваем на токены