37133-vm/core/templates/core/sale_create.html
Flatlogic Bot fc22ac9ea6 FINAL
2025-12-23 18:05:13 +00:00

118 lines
4.4 KiB
HTML

{% extends 'base.html' %}
{% load static %}
{% block content %}
<section class="hero-section text-center">
<div class="container">
<h1 class="display-4">Criar Venda</h1>
<p class="lead">Preencha os detalhes para criar uma nova venda.</p>
</div>
</section>
<section class="product-section">
<div class="container">
<form method="post">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="alert alert-danger">
{{ form.non_field_errors }}
</div>
{% endif %}
{% for field in form %}
<div class="form-group mb-3">
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
{{ field }}
{% if field.help_text %}
<small class="form-text text-muted">{{ field.help_text }}</small>
{% endif %}
{% for error in field.errors %}
<div class="alert alert-danger mt-1">{{ error }}</div>
{% endfor %}
</div>
{% endfor %}
<hr>
<h2>Itens da Venda</h2>
{{ formset.management_form }}
{% if formset.non_form_errors %}
<div class="alert alert-danger">
{{ formset.non_form_errors }}
</div>
{% endif %}
<table class="table">
<thead>
<tr>
<th>Produto</th>
<th>Quantidade</th>
<th>Lote</th>
<th>Excluir</th>
</tr>
</thead>
<tbody id="item-forms">
{% for form in formset.forms %}
<tr class="item-form">
{% for field in form.hidden_fields %}{{ field }}{% endfor %}
<td>
{{ form.product }}
{% for error in form.product.errors %}<div class="alert alert-danger mt-1">{{ error }}</div>{% endfor %}
</td>
<td>
{{ form.quantity }}
{% for error in form.quantity.errors %}<div class="alert alert-danger mt-1">{{ error }}</div>{% endfor %}
</td>
<td>
{{ form.lote }}
{% for error in form.lote.errors %}<div class="alert alert-danger mt-1">{{ error }}</div>{% endfor %}
</td>
<td>
{% if form.instance.pk %}{{ form.DELETE }}{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<button type="button" id="add-item" class="btn btn-info">Adicionar Produto</button>
<br><br>
<button type="submit" class="btn btn-primary">Salvar Venda</button>
<a href="{% url 'sale_list' %}" class="btn btn-secondary">Cancelar</a>
</form>
</div>
</section>
<script type="text/template" id="item-form-template">
<tr class="item-form" id="{{ formset.prefix }}-__prefix__">
{% for field in formset.empty_form.hidden_fields %}{{ field }}{% endfor %}
<td>
{{ formset.empty_form.product }}
</td>
<td>
{{ formset.empty_form.quantity }}
</td>
<td>
{{ formset.empty_form.lote }}
</td>
<td>
{{ formset.empty_form.DELETE }}
</td>
</tr>
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const addItemButton = document.getElementById('add-item');
const formsetContainer = document.getElementById('item-forms');
const formTemplate = document.getElementById('item-form-template').innerHTML;
const totalFormsInput = document.querySelector('#id_items-TOTAL_FORMS');
addItemButton.addEventListener('click', function() {
let formNum = parseInt(totalFormsInput.value);
let newForm = formTemplate.replace(/__prefix__/g, formNum);
formsetContainer.insertAdjacentHTML('beforeend', newForm);
totalFormsInput.value = formNum + 1;
});
});
</script>
{% endblock %}