feat(inventory): учитывать коэффициент конверсии при резервировании компонентов комплектов
Добавлены поля original_sales_unit и conversion_factor в KitItemSnapshot для хранения единиц продажи и коэффициентов конверсии на момент создания снимка. Обновлена логика резервирования запасов для корректного расчета количества в базовых единицах. Изменения в шаблоне редактирования комплектов для сохранения выбранных единиц продажи при обновлении списка опций. BREAKING CHANGE: Изменена структура данных в KitItemSnapshot, требуется миграция базы данных.
This commit is contained in:
@@ -382,6 +382,8 @@ class ProductKit(BaseProductEntity):
|
||||
product_sku=item.product.sku if item.product else '',
|
||||
product_price=product_price,
|
||||
variant_group_name=item.variant_group.name if item.variant_group else '',
|
||||
original_sales_unit=item.sales_unit,
|
||||
conversion_factor=item.sales_unit.conversion_factor if item.sales_unit else None,
|
||||
quantity=item.quantity or Decimal('1'),
|
||||
)
|
||||
|
||||
|
||||
@@ -725,6 +725,9 @@
|
||||
|
||||
// Функция для обновления списка единиц продажи при выборе товара
|
||||
async function updateSalesUnitsOptions(salesUnitSelect, productValue) {
|
||||
// Сохраняем текущее значение перед очисткой (важно для редактирования)
|
||||
const currentValue = salesUnitSelect.value;
|
||||
|
||||
// Очищаем текущие опции
|
||||
salesUnitSelect.innerHTML = '<option value="">---------</option>';
|
||||
salesUnitSelect.disabled = true;
|
||||
@@ -765,6 +768,13 @@
|
||||
salesUnitSelect.appendChild(option);
|
||||
});
|
||||
salesUnitSelect.disabled = false;
|
||||
|
||||
// Восстанавливаем значение
|
||||
if (currentValue) {
|
||||
salesUnitSelect.value = currentValue;
|
||||
}
|
||||
// Обновляем Select2
|
||||
$(salesUnitSelect).trigger('change');
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -1214,7 +1224,7 @@
|
||||
photoPreview.innerHTML = '';
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
window.removePhoto = function (index) {
|
||||
selectedFiles.splice(index, 1);
|
||||
|
||||
Reference in New Issue
Block a user