document.addEventListener('DOMContentLoaded', function () { const productForm = document.getElementById('productForm'); const productTable = document.getElementById('productTable').getElementsByTagName('tbody')[0]; const totalSoldElement = document.getElementById('totalSold'); const totalRevenueElement = document.getElementById('totalRevenue'); let totalSold = 0; // Общее количество проданных товаров let totalRevenue = 0; // Общая выручка // Загрузка данных из localStorage при загрузке страницы loadProducts(); loadStats(); // Обработка добавления товара productForm.addEventListener('submit', function (e) { e.preventDefault(); const productName = document.getElementById('productName').value; const purchasePrice = parseFloat(document.getElementById('purchasePrice').value); const salePrice = parseFloat(document.getElementById('salePrice').value); const quantity = parseInt(document.getElementById('quantity').value); if (productName && !isNaN(purchasePrice) && !isNaN(salePrice) && !isNaN(quantity)) { addProduct(productName, purchasePrice, salePrice, quantity); productForm.reset(); // Очистка формы после добавления } else { alert('Пожалуйста, заполните все поля корректно.'); } }); // Функция добавления товара function addProduct(name, purchasePrice, salePrice, quantity) { const product = { id: Date.now(), // Уникальный ID на основе времени name, purchasePrice, salePrice, quantity }; // Получаем текущие товары из localStorage let products = JSON.parse(localStorage.getItem('products')) || []; products.push(product); // Добавляем новый товар localStorage.setItem('products', JSON.stringify(products)); // Сохраняем в localStorage // Добавляем товар в таблицу addProductToTable(product); } // Функция добавления товара в таблицу function addProductToTable(product) { const row = productTable.insertRow(); row.setAttribute('data-id', product.id); row.innerHTML = ` ${product.name} ${product.purchasePrice} ${product.salePrice} ${product.quantity} `; } // Функция загрузки товаров из localStorage function loadProducts() { const products = JSON.parse(localStorage.getItem('products')) || []; products.forEach(product => addProductToTable(product)); } // Функция загрузки статистики из localStorage function loadStats() { const stats = JSON.parse(localStorage.getItem('stats')) || { totalSold: 0, totalRevenue: 0 }; totalSold = stats.totalSold; totalRevenue = stats.totalRevenue; updateStatsDisplay(); } // Функция обновления отображения статистики function updateStatsDisplay() { totalSoldElement.textContent = totalSold; totalRevenueElement.textContent = totalRevenue.toFixed(2); } // Функция продажи товара window.sellProduct = function (productId) { let products = JSON.parse(localStorage.getItem('products')) || []; const productIndex = products.findIndex(p => p.id === productId); if (productIndex !== -1 && products[productIndex].quantity > 0) { products[productIndex].quantity -= 1; // Уменьшаем количество на 1 totalSold += 1; // Увеличиваем общее количество проданных товаров totalRevenue += products[productIndex].salePrice; // Увеличиваем общую выручку // Сохраняем обновленные данные localStorage.setItem('products', JSON.stringify(products)); localStorage.setItem('stats', JSON.stringify({ totalSold, totalRevenue })); // Обновляем таблицу и статистику productTable.innerHTML = ''; loadProducts(); updateStatsDisplay(); } else { alert('Товар закончился на складе.'); } }; });