Исправлена загрузка товаров из черновика через прямое заполнение скрытых полей

This commit is contained in:
2025-12-08 20:06:31 +03:00
parent 2735d745a1
commit 27b988dda7
2 changed files with 54 additions and 0 deletions

View File

@@ -2256,6 +2256,59 @@ if (!document.getElementById('notification-styles')) {
})(); })();
</script> </script>
<!-- Заполнение скрытых полей для товаров из черновика POS -->
{% if draft_items_json %}
<script>
const draftItemsJson = '{{ draft_items_json|safe }}';
const draftItems = JSON.parse(draftItemsJson);
if (draftItems.length > 0) {
console.log('[Draft Items] 📦 Найдены товары из черновика:', draftItems.length);
console.log('[Draft Items] 📋 Данные товаров:', draftItems);
// Заполняем скрытые поля для каждой формы
draftItems.forEach((item, index) => {
console.log(`[Draft Items] ⚙️ Обработка товара ${index}:`, item);
// Находим форму по индексу
const productField = document.querySelector(`[name="items-${index}-product"]`);
const kitField = document.querySelector(`[name="items-${index}-product_kit"]`);
const quantityField = document.querySelector(`[name="items-${index}-quantity"]`);
const priceField = document.querySelector(`[name="items-${index}-price"]`);
if (!productField || !kitField) {
console.warn(`[Draft Items] ⚠️ Форма ${index} не найдена`);
return;
}
// Устанавливаем значения
if (item.type === 'product') {
productField.value = item.id;
kitField.value = '';
console.log(`[Draft Items] ✅ Установлен product ID: ${item.id}`);
} else if (item.type === 'kit' || item.type === 'showcase_kit') {
kitField.value = item.id;
productField.value = '';
console.log(`[Draft Items] ✅ Установлен kit ID: ${item.id}`);
}
// Устанавливаем количество и цену
if (quantityField) {
quantityField.value = item.quantity;
console.log(`[Draft Items] 🔢 Установлено количество: ${item.quantity}`);
}
if (priceField) {
priceField.value = item.price;
priceField.dataset.originalPrice = item.price;
console.log(`[Draft Items] 💰 Установлена цена: ${item.price}`);
}
});
console.log('[Draft Items] ✅ Все скрытые поля заполнены');
}
</script>
{% endif %}
<!-- Предупреждение о несохраненных данных --> <!-- Предупреждение о несохраненных данных -->
<script> <script>
/** /**

View File

@@ -170,6 +170,7 @@ def order_create(request):
'form': form, 'form': form,
'formset': formset, 'formset': formset,
'preselected_customer': preselected_customer, 'preselected_customer': preselected_customer,
'draft_items_json': json.dumps(draft_items) if draft_items else '[]', # Передаём JSON товары из черновика
'title': 'Создание заказа', 'title': 'Создание заказа',
'button_text': 'Создать заказ', 'button_text': 'Создать заказ',
'is_create_page': True, 'is_create_page': True,