Aleksmorshen commited on
Commit
e2876c9
·
verified ·
1 Parent(s): 07ac4d8

Create script.js

Browse files
Files changed (1) hide show
  1. script.js +80 -0
script.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function () {
2
+ const productForm = document.getElementById('productForm');
3
+ const productTable = document.getElementById('productTable').getElementsByTagName('tbody')[0];
4
+
5
+ // Загрузка данных из localStorage при загрузке страницы
6
+ loadProducts();
7
+
8
+ // Обработка добавления товара
9
+ productForm.addEventListener('submit', function (e) {
10
+ e.preventDefault();
11
+
12
+ const productName = document.getElementById('productName').value;
13
+ const purchasePrice = parseFloat(document.getElementById('purchasePrice').value);
14
+ const salePrice = parseFloat(document.getElementById('salePrice').value);
15
+ const quantity = parseInt(document.getElementById('quantity').value);
16
+
17
+ if (productName && !isNaN(purchasePrice) && !isNaN(salePrice) && !isNaN(quantity)) {
18
+ addProduct(productName, purchasePrice, salePrice, quantity);
19
+ productForm.reset(); // Очистка формы после добавления
20
+ } else {
21
+ alert('Пожалуйста, заполните все поля корректно.');
22
+ }
23
+ });
24
+
25
+ // Функция добавления товара
26
+ function addProduct(name, purchasePrice, salePrice, quantity) {
27
+ const product = {
28
+ id: Date.now(), // Уникальный ID на основе времени
29
+ name,
30
+ purchasePrice,
31
+ salePrice,
32
+ quantity
33
+ };
34
+
35
+ // Получаем текущие товары из localStorage
36
+ let products = JSON.parse(localStorage.getItem('products')) || [];
37
+ products.push(product); // Добавляем новый товар
38
+ localStorage.setItem('products', JSON.stringify(products)); // Сохраняем в localStorage
39
+
40
+ // Добавляем товар в таблицу
41
+ addProductToTable(product);
42
+ }
43
+
44
+ // Функция добавления товара в таблицу
45
+ function addProductToTable(product) {
46
+ const row = productTable.insertRow();
47
+ row.setAttribute('data-id', product.id);
48
+
49
+ row.innerHTML = `
50
+ <td>${product.name}</td>
51
+ <td>${product.purchasePrice}</td>
52
+ <td>${product.salePrice}</td>
53
+ <td>${product.quantity}</td>
54
+ <td><button class="sell-btn" onclick="sellProduct(${product.id})">Продать</button></td>
55
+ `;
56
+ }
57
+
58
+ // Функция загрузки товаров из localStorage
59
+ function loadProducts() {
60
+ const products = JSON.parse(localStorage.getItem('products')) || [];
61
+ products.forEach(product => addProductToTable(product));
62
+ }
63
+
64
+ // Функция продажи товара
65
+ window.sellProduct = function (productId) {
66
+ let products = JSON.parse(localStorage.getItem('products')) || [];
67
+ const productIndex = products.findIndex(p => p.id === productId);
68
+
69
+ if (productIndex !== -1 && products[productIndex].quantity > 0) {
70
+ products[productIndex].quantity -= 1; // Уменьшаем количество на 1
71
+ localStorage.setItem('products', JSON.stringify(products)); // Обновляем localStorage
72
+
73
+ // Обновляем таблицу
74
+ productTable.innerHTML = '';
75
+ loadProducts();
76
+ } else {
77
+ alert('Товар закончился на складе.');
78
+ }
79
+ };
80
+ });