feat(pos): добавить редактирование цены товара в корзине
- Добавить модалку редактирования товара в корзине (edit_cart_item_modal.html) - Создать JS модуль cart-item-editor.js для логики редактирования - При клике на строку товара открывается модалка с возможностью изменения цены и количества - Добавить визуальную индикацию изменённой цены (оранжевый цвет и звёздочка) - Экспортировать корзину в window.cart для доступа из других модулей - Добавить авто-выделение текста при фокусе в полях ввода Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,8 @@ let showcaseKits = JSON.parse(document.getElementById('showcaseKitsData').textCo
|
||||
let currentCategoryId = null;
|
||||
let isShowcaseView = false;
|
||||
const cart = new Map();
|
||||
// Экспорт корзины для использования в других модулях
|
||||
window.cart = cart;
|
||||
|
||||
// Переменные для пагинации
|
||||
let currentPage = 1;
|
||||
@@ -1270,6 +1272,13 @@ function renderCart() {
|
||||
cart.forEach((item, cartKey) => {
|
||||
const row = document.createElement('div');
|
||||
row.className = 'cart-item mb-2';
|
||||
row.style.cursor = 'pointer';
|
||||
row.title = 'Нажмите для редактирования';
|
||||
|
||||
// Индикатор изменённой цены
|
||||
if (item.price_overridden) {
|
||||
row.classList.add('price-overridden');
|
||||
}
|
||||
|
||||
// СПЕЦИАЛЬНАЯ СТИЛИЗАЦИЯ для витринных комплектов
|
||||
const isShowcaseKit = item.type === 'showcase_kit';
|
||||
@@ -1416,7 +1425,21 @@ function renderCart() {
|
||||
row.appendChild(qtyControl);
|
||||
row.appendChild(itemTotal);
|
||||
row.appendChild(deleteBtn);
|
||||
|
||||
|
||||
// Обработчик клика для редактирования товара
|
||||
row.addEventListener('click', function(e) {
|
||||
// Игнорируем клики на кнопки управления количеством и удаления
|
||||
if (e.target.closest('button') || e.target.closest('input')) {
|
||||
return;
|
||||
}
|
||||
console.log('Cart row clicked, cartKey:', cartKey, 'CartItemEditor:', typeof window.CartItemEditor);
|
||||
if (window.CartItemEditor) {
|
||||
window.CartItemEditor.openModal(cartKey);
|
||||
} else {
|
||||
console.error('CartItemEditor not available!');
|
||||
}
|
||||
});
|
||||
|
||||
list.appendChild(row);
|
||||
|
||||
total += item.qty * item.price;
|
||||
|
||||
Reference in New Issue
Block a user