Spaces:
Running
Running
Update script.js
Browse files
script.js
CHANGED
@@ -63,4 +63,96 @@ document.addEventListener('DOMContentLoaded', function () {
|
|
63 |
|
64 |
// Функция добавления товара в таблицу
|
65 |
function addProductToTable(product) {
|
66 |
-
const row
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
// Функция добавления товара в таблицу
|
65 |
function addProductToTable(product) {
|
66 |
+
const row = productTable.insertRow();
|
67 |
+
row.setAttribute('data-id', product.id);
|
68 |
+
|
69 |
+
row.innerHTML = `
|
70 |
+
<td>${product.name}</td>
|
71 |
+
<td>${product.purchasePrice}</td>
|
72 |
+
<td>${product.salePrice}</td>
|
73 |
+
<td>${product.quantity}</td>
|
74 |
+
<td class="actions">
|
75 |
+
<button class="sell-btn" onclick="sellProduct(${product.id})">Продать</button>
|
76 |
+
<button class="add-stock-btn" onclick="addStock(${product.id})">Приход</button>
|
77 |
+
<button class="delete-btn" onclick="deleteProduct(${product.id})">Удалить</button>
|
78 |
+
</td>
|
79 |
+
`;
|
80 |
+
}
|
81 |
+
|
82 |
+
// Функция загрузки товаров из localStorage
|
83 |
+
function loadProducts() {
|
84 |
+
const products = JSON.parse(localStorage.getItem('products')) || [];
|
85 |
+
productTable.innerHTML = ''; // Очищаем таблицу перед загрузкой
|
86 |
+
products.forEach(product => addProductToTable(product));
|
87 |
+
}
|
88 |
+
|
89 |
+
// Функция загрузки статистики из localStorage
|
90 |
+
function loadStats() {
|
91 |
+
const stats = JSON.parse(localStorage.getItem('stats')) || { totalSold: 0, totalRevenue: 0 };
|
92 |
+
totalSold = stats.totalSold;
|
93 |
+
totalRevenue = stats.totalRevenue;
|
94 |
+
updateStatsDisplay();
|
95 |
+
}
|
96 |
+
|
97 |
+
// Функция обновления отображения статистики
|
98 |
+
function updateStatsDisplay() {
|
99 |
+
totalSoldElement.textContent = totalSold;
|
100 |
+
totalRevenueElement.textContent = totalRevenue.toFixed(2);
|
101 |
+
}
|
102 |
+
|
103 |
+
// Функция продажи товара
|
104 |
+
window.sellProduct = function (productId) {
|
105 |
+
let products = JSON.parse(localStorage.getItem('products')) || [];
|
106 |
+
const productIndex = products.findIndex(p => p.id === productId);
|
107 |
+
|
108 |
+
if (productIndex !== -1 && products[productIndex].quantity > 0) {
|
109 |
+
products[productIndex].quantity -= 1; // Уменьшаем количество на 1
|
110 |
+
totalSold += 1; // Увеличиваем общее количество проданных товаров
|
111 |
+
totalRevenue += products[productIndex].salePrice; // Увеличиваем общую выручку
|
112 |
+
|
113 |
+
// Сохраняем обновленные данные
|
114 |
+
localStorage.setItem('products', JSON.stringify(products));
|
115 |
+
localStorage.setItem('stats', JSON.stringify({ totalSold, totalRevenue }));
|
116 |
+
|
117 |
+
// Обновляем таблицу и статистику
|
118 |
+
productTable.innerHTML = '';
|
119 |
+
loadProducts();
|
120 |
+
updateStatsDisplay();
|
121 |
+
} else {
|
122 |
+
alert('Товар закончился на складе.');
|
123 |
+
}
|
124 |
+
};
|
125 |
+
|
126 |
+
// Функция добавления остатков
|
127 |
+
window.addStock = function (productId) {
|
128 |
+
const quantityToAdd = prompt('Введите количество для прихода:');
|
129 |
+
if (quantityToAdd && !isNaN(quantityToAdd) && quantityToAdd > 0) {
|
130 |
+
let products = JSON.parse(localStorage.getItem('products')) || [];
|
131 |
+
const productIndex = products.findIndex(p => p.id === productId);
|
132 |
+
|
133 |
+
if (productIndex !== -1) {
|
134 |
+
products[productIndex].quantity += parseInt(quantityToAdd);
|
135 |
+
localStorage.setItem('products', JSON.stringify(products));
|
136 |
+
|
137 |
+
// Обновляем таблицу
|
138 |
+
productTable.innerHTML = '';
|
139 |
+
loadProducts();
|
140 |
+
}
|
141 |
+
} else {
|
142 |
+
alert('Пожалуйста, введите корректное количество.');
|
143 |
+
}
|
144 |
+
};
|
145 |
+
|
146 |
+
// Функция удаления товара
|
147 |
+
window.deleteProduct = function (productId) {
|
148 |
+
if (confirm('Вы уверены, что хотите удалить этот товар?')) {
|
149 |
+
let products = JSON.parse(localStorage.getItem('products')) || [];
|
150 |
+
products = products.filter(p => p.id !== productId);
|
151 |
+
localStorage.setItem('products', JSON.stringify(products));
|
152 |
+
|
153 |
+
// Обновляем таблицу
|
154 |
+
productTable.innerHTML = '';
|
155 |
+
loadProducts();
|
156 |
+
}
|
157 |
+
};
|
158 |
+
});
|