fix(pos): использовать изменённые цены товаров при создании витринного комплекта

При создании витринного комплекта из корзины теперь учитываются
изменённые цены товаров вместо оригинальных.
This commit is contained in:
2026-01-19 12:13:05 +03:00
parent b188f5c2df
commit 392471ff06
2 changed files with 24 additions and 6 deletions

View File

@@ -701,7 +701,7 @@ function renderCategories() {
// Кнопка "Витрина" - первая в ряду
const showcaseCol = document.createElement('div');
showcaseCol.className = 'col-6 col-sm-4 col-md-3 col-lg-2';
showcaseCol.className = 'col-6 col-custom-3 col-md-3 col-lg-2';
const showcaseCard = document.createElement('div');
showcaseCard.className = 'card category-card showcase-card' + (isShowcaseView ? ' active' : '');
showcaseCard.style.backgroundColor = '#fff3cd';
@@ -725,7 +725,7 @@ function renderCategories() {
// Кнопка "Все"
const allCol = document.createElement('div');
allCol.className = 'col-6 col-sm-4 col-md-3 col-lg-2';
allCol.className = 'col-6 col-custom-3 col-md-3 col-lg-2';
const allCard = document.createElement('div');
allCard.className = 'card category-card' + (currentCategoryId === null && !isShowcaseView ? ' active' : '');
allCard.onclick = async () => {
@@ -749,7 +749,7 @@ function renderCategories() {
// Категории
CATEGORIES.forEach(cat => {
const col = document.createElement('div');
col.className = 'col-6 col-sm-4 col-md-3 col-lg-custom-5';
col.className = 'col-6 col-custom-3 col-md-3 col-lg-custom-5';
const card = document.createElement('div');
card.className = 'card category-card' + (currentCategoryId === cat.id && !isShowcaseView ? ' active' : '');
@@ -804,7 +804,7 @@ function renderProducts() {
filtered.forEach(item => {
const col = document.createElement('div');
col.className = 'col-6 col-sm-4 col-md-3 col-lg-custom-5';
col.className = 'col-6 col-custom-3 col-md-3 col-lg-custom-5';
const card = document.createElement('div');
card.className = 'card product-card';
@@ -2205,6 +2205,14 @@ document.getElementById('confirmCreateTempKit').onclick = async () => {
// Получаем количество букетов для создания
const showcaseKitQuantity = parseInt(document.getElementById('showcaseKitQuantity').value, 10) || 1;
// Вычисляем итоговую цену комплекта на основе изменённых цен в корзине
let calculatedPrice = 0;
tempCart.forEach((item) => {
if (item.type === 'product') {
calculatedPrice += item.qty * item.price;
}
});
// Формируем FormData для отправки с файлом
const formData = new FormData();
formData.append('kit_name', kitName);
@@ -2216,8 +2224,10 @@ document.getElementById('confirmCreateTempKit').onclick = async () => {
formData.append('items', JSON.stringify(items));
formData.append('price_adjustment_type', priceAdjustmentType);
formData.append('price_adjustment_value', priceAdjustmentValue);
if (useSalePrice && salePrice > 0) {
formData.append('sale_price', salePrice);
// Если пользователь не задал свою цену, используем вычисленную
const finalSalePrice = useSalePrice ? salePrice : calculatedPrice;
if (finalSalePrice > 0) {
formData.append('sale_price', finalSalePrice);
}
// Фото: для редактирования проверяем, удалено ли оно