Реализован функционал создания временных комплектов на витрину из POS
- Добавлен API endpoint для создания временного комплекта из корзины - Реализован endpoint получения списка активных витрин - Создано модальное окно для настройки комплекта и выбора витрины - JavaScript логика: валидация корзины, отправка данных, очистка после успеха - Автоматическая генерация названия комплекта с датой и временем - Агрегация дубликатов товаров в корзине перед созданием - Резервирование компонентов на витрину через ShowcaseManager - Расчёт и отображение итоговой цены комплекта
This commit is contained in:
@@ -104,6 +104,55 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal: Создание временного комплекта на витрину -->
|
||||
<div class="modal fade" id="createTempKitModal" tabindex="-1" aria-labelledby="createTempKitModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="createTempKitModalLabel">
|
||||
<i class="bi bi-flower1"></i> Создать временный комплект на витрину
|
||||
</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Название комплекта -->
|
||||
<div class="mb-3">
|
||||
<label for="tempKitName" class="form-label">Название комплекта *</label>
|
||||
<input type="text" class="form-control" id="tempKitName" placeholder="Введите название" required>
|
||||
</div>
|
||||
|
||||
<!-- Выбор витрины -->
|
||||
<div class="mb-3">
|
||||
<label for="showcaseSelect" class="form-label">Витрина *</label>
|
||||
<select class="form-select" id="showcaseSelect" required>
|
||||
<option value="">Загрузка...</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Список товаров в корзине -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Товары в комплекте</label>
|
||||
<div class="border rounded p-3" id="tempKitItemsList" style="max-height: 300px; overflow-y: auto;">
|
||||
<!-- Динамически заполняется через JS -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Итоговая цена (расчётная) -->
|
||||
<div class="alert alert-info mb-0">
|
||||
<strong>Расчётная цена:</strong> <span id="tempKitEstimatedPrice">0.00</span> руб.
|
||||
<small class="d-block text-muted">Цена будет пересчитана автоматически после создания</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
|
||||
<button type="button" class="btn btn-primary" id="confirmCreateTempKit">
|
||||
<i class="bi bi-check-circle"></i> Создать и зарезервировать
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_js %}
|
||||
|
||||
Reference in New Issue
Block a user