fix(pos): использовать изменённые цены товаров при создании витринного комплекта
При создании витринного комплекта из корзины теперь учитываются изменённые цены товаров вместо оригинальных.
This commit is contained in:
@@ -32,6 +32,14 @@ body {
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 3 колонки для товаров и категорий на экранах от 400px */
|
||||||
|
@media (min-width: 400px) {
|
||||||
|
.col-custom-3 {
|
||||||
|
flex: 0 0 33.333%;
|
||||||
|
max-width: 33.333%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* 5 колонок для товаров и категорий на экранах от 1100px */
|
/* 5 колонок для товаров и категорий на экранах от 1100px */
|
||||||
@media (min-width: 1100px) {
|
@media (min-width: 1100px) {
|
||||||
.col-lg-custom-5 {
|
.col-lg-custom-5 {
|
||||||
|
|||||||
@@ -701,7 +701,7 @@ function renderCategories() {
|
|||||||
|
|
||||||
// Кнопка "Витрина" - первая в ряду
|
// Кнопка "Витрина" - первая в ряду
|
||||||
const showcaseCol = document.createElement('div');
|
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');
|
const showcaseCard = document.createElement('div');
|
||||||
showcaseCard.className = 'card category-card showcase-card' + (isShowcaseView ? ' active' : '');
|
showcaseCard.className = 'card category-card showcase-card' + (isShowcaseView ? ' active' : '');
|
||||||
showcaseCard.style.backgroundColor = '#fff3cd';
|
showcaseCard.style.backgroundColor = '#fff3cd';
|
||||||
@@ -725,7 +725,7 @@ function renderCategories() {
|
|||||||
|
|
||||||
// Кнопка "Все"
|
// Кнопка "Все"
|
||||||
const allCol = document.createElement('div');
|
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');
|
const allCard = document.createElement('div');
|
||||||
allCard.className = 'card category-card' + (currentCategoryId === null && !isShowcaseView ? ' active' : '');
|
allCard.className = 'card category-card' + (currentCategoryId === null && !isShowcaseView ? ' active' : '');
|
||||||
allCard.onclick = async () => {
|
allCard.onclick = async () => {
|
||||||
@@ -749,7 +749,7 @@ function renderCategories() {
|
|||||||
// Категории
|
// Категории
|
||||||
CATEGORIES.forEach(cat => {
|
CATEGORIES.forEach(cat => {
|
||||||
const col = document.createElement('div');
|
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');
|
const card = document.createElement('div');
|
||||||
card.className = 'card category-card' + (currentCategoryId === cat.id && !isShowcaseView ? ' active' : '');
|
card.className = 'card category-card' + (currentCategoryId === cat.id && !isShowcaseView ? ' active' : '');
|
||||||
@@ -804,7 +804,7 @@ function renderProducts() {
|
|||||||
|
|
||||||
filtered.forEach(item => {
|
filtered.forEach(item => {
|
||||||
const col = document.createElement('div');
|
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');
|
const card = document.createElement('div');
|
||||||
card.className = 'card product-card';
|
card.className = 'card product-card';
|
||||||
@@ -2205,6 +2205,14 @@ document.getElementById('confirmCreateTempKit').onclick = async () => {
|
|||||||
// Получаем количество букетов для создания
|
// Получаем количество букетов для создания
|
||||||
const showcaseKitQuantity = parseInt(document.getElementById('showcaseKitQuantity').value, 10) || 1;
|
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 для отправки с файлом
|
// Формируем FormData для отправки с файлом
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('kit_name', kitName);
|
formData.append('kit_name', kitName);
|
||||||
@@ -2216,8 +2224,10 @@ document.getElementById('confirmCreateTempKit').onclick = async () => {
|
|||||||
formData.append('items', JSON.stringify(items));
|
formData.append('items', JSON.stringify(items));
|
||||||
formData.append('price_adjustment_type', priceAdjustmentType);
|
formData.append('price_adjustment_type', priceAdjustmentType);
|
||||||
formData.append('price_adjustment_value', priceAdjustmentValue);
|
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