fix(pos): использовать изменённые цены товаров при создании витринного комплекта
При создании витринного комплекта из корзины теперь учитываются изменённые цены товаров вместо оригинальных.
This commit is contained in:
@@ -32,6 +32,14 @@ body {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
/* 3 колонки для товаров и категорий на экранах от 400px */
|
||||
@media (min-width: 400px) {
|
||||
.col-custom-3 {
|
||||
flex: 0 0 33.333%;
|
||||
max-width: 33.333%;
|
||||
}
|
||||
}
|
||||
|
||||
/* 5 колонок для товаров и категорий на экранах от 1100px */
|
||||
@media (min-width: 1100px) {
|
||||
.col-lg-custom-5 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
// Фото: для редактирования проверяем, удалено ли оно
|
||||
|
||||
Reference in New Issue
Block a user