Реализация с vuex:
https://arslanoov.github.io/count-data-test/#/with-vuex
Реализация без vuex:
https://arslanoov.github.io/count-data-test/#/without-vuex
![2222](https://private-user-images.githubusercontent.com/51407990/270155282-0f664534-2138-4187-a4ef-31b3cf42d54f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxNDE3MDEsIm5iZiI6MTcxOTE0MTQwMSwicGF0aCI6Ii81MTQwNzk5MC8yNzAxNTUyODItMGY2NjQ1MzQtMjEzOC00MTg3LWE0ZWYtMzFiM2NmNDJkNTRmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDExMTY0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3YmIxOWEyMmQ0OGM4N2NkOTIyYWQ0MDlkNzRkODQ5NDY3MjZlOTE4NGI5ZTQ0YzJhMmU2MzA3NzRjMDBkNzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LdSQQ7zQCt1AvFlu68Lf-a15DptQ-JcIoTDiJkqYZtk)
Ввести отрицательное кол-во или не числовое значение ни в один input нельзя
-
Если меняется цена, то пересчитывается общая сумма (сумма = цена * кол-во)
-
Если меняется кол-во, то пересчитывается общая сумма (сумма = цена * кол-во)
-
Если меняется общая сумма:
- Если при изменении общей суммы и цена и кол-во равно 0 - общую сумма меняется на 0
- Если цена = 0 (а кол-во != 0), цена меняется на: новая сумма / кол-во
- Иначе: Считаем предполагаемое кол-во (новая сумма / цена), если получилось целое число - меняем кол-во
- Если не целое, то кол-во округляется в меньшую сторону
- Если округленное кол-во = 0 - меняется кол-во и общая сумма на 0
- Кол-во != 0: кол-во меняется на округленное значение, считается новая цена (новая сумма / округленное кол-во)
Если сумма получилась нечетной, при отправке на "сервер" (session storage) возвращается success: false с сообщением об ошибке
События сортируются по времени, есть тип события, когда оно было создано и payload
Задержка (для имитации сервера) - 1с