Интегрирован компонент поиска товаров в документы списания с фильтром по складу
- Добавлен параметр warehouse в API search_products_and_variants - API фильтрует товары по наличию на указанном складе через Stock - Обновлен _apply_product_filters для поддержки warehouse_id - ProductSearchPicker теперь поддерживает data-warehouse-id - Warehouse автоматически передается в AJAX запросы - В WriteOffDocumentDetailView добавлены categories и tags в контекст - Компонент поиска встроен в detail.html с жестким фильтром по складу документа - Single-select режим для выбора одного товара - JS автоматически заполняет select формы при выборе товара - Отображение выбранного товара с фото и артикулом - Автофокус на поле количества после выбора товара - Пользователь видит только товары доступные на складе документа
This commit is contained in:
@@ -64,7 +64,8 @@
|
||||
search: '',
|
||||
category: '',
|
||||
tag: '',
|
||||
inStock: false
|
||||
inStock: false,
|
||||
warehouse: '' // ID склада для фильтрации
|
||||
}
|
||||
};
|
||||
|
||||
@@ -106,6 +107,11 @@
|
||||
this.state.currentView = initialView;
|
||||
this._updateViewButtons();
|
||||
}
|
||||
|
||||
// Инициализация warehouse из data-атрибута
|
||||
if (this.container.dataset.warehouseId) {
|
||||
this.state.filters.warehouse = this.container.dataset.warehouseId;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -278,6 +284,9 @@
|
||||
if (this.state.filters.inStock) {
|
||||
params.append('in_stock', 'true');
|
||||
}
|
||||
if (this.state.filters.warehouse) {
|
||||
params.append('warehouse', this.state.filters.warehouse);
|
||||
}
|
||||
|
||||
fetch(this.options.apiUrl + '?' + params.toString())
|
||||
.then(function(response) {
|
||||
|
||||
Reference in New Issue
Block a user