Исправлено: quantity обнуляется при смене единицы продажи
- Проблема: при смене единицы продажи с базовой на другую поле quantity визуально показывало 1, но при отправке формы значение терялось - Решение: при смене единицы проверяем quantity и устанавливаем минимальное значение если оно пустое/нулевое - Изменения: - sales-units.js: добавлена проверка и установка min_quantity при смене единицы
This commit is contained in:
@@ -181,10 +181,22 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// При смене единицы - обновить цену и остатки
|
// При смене единицы - обновить цену, остатки и quantity
|
||||||
salesUnitSelect.addEventListener('change', function() {
|
salesUnitSelect.addEventListener('change', function() {
|
||||||
updatePriceOnUnitChange(salesUnitSelect, priceInput, isCustomPriceInput);
|
updatePriceOnUnitChange(salesUnitSelect, priceInput, isCustomPriceInput);
|
||||||
displayAvailableQuantity(salesUnitSelect, availableQtyDisplay);
|
displayAvailableQuantity(salesUnitSelect, availableQtyDisplay);
|
||||||
|
|
||||||
|
// ИСПРАВЛЕНИЕ: При смене единицы сохраняем quantity или ставим минимум
|
||||||
|
if (quantityInput) {
|
||||||
|
const currentQty = parseFloat(quantityInput.value) || 0;
|
||||||
|
const selectedOption = salesUnitSelect.options[salesUnitSelect.selectedIndex];
|
||||||
|
const minQty = selectedOption ? parseFloat(selectedOption.getAttribute('data-min-qty')) || 1 : 1;
|
||||||
|
|
||||||
|
// Если quantity пустое/нулевое - установить минимум
|
||||||
|
if (currentQty === 0) {
|
||||||
|
quantityInput.value = minQty;
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Отследить ручное изменение цены
|
// Отследить ручное изменение цены
|
||||||
|
|||||||
Reference in New Issue
Block a user