Feature: общая сумма заказа и автор только для отображения в формах заказов
Made-with: Cursor
This commit is contained in:
@@ -36,9 +36,8 @@
|
||||
{% if form.client.errors %}<small class="ws-text-danger">{{ form.client.errors.0 }}</small>{% endif %}
|
||||
</div>
|
||||
<div class="ws-form-group">
|
||||
<label for="{{ form.author.id_for_label }}">{{ form.author.label }}</label>
|
||||
{{ form.author }}
|
||||
{% if form.author.errors %}<small class="ws-text-danger">{{ form.author.errors.0 }}</small>{% endif %}
|
||||
<label>Автор</label>
|
||||
<span class="ws-readonly">{{ author_display|default:"—" }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ws-form-section">
|
||||
@@ -78,6 +77,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="ws-order-total-row"><strong>Общая сумма заказа:</strong> <span id="order-total-sum" class="ws-num">—</span></p>
|
||||
<div class="ws-btn-group" style="margin-top: 0.75rem;">
|
||||
<button type="button" class="btn btn-ws-secondary" id="add-order-row">+ Добавить строку</button>
|
||||
</div>
|
||||
@@ -126,6 +126,17 @@
|
||||
var el = row.querySelector('.row-amount');
|
||||
if (el) el.textContent = formatNum(price * qty);
|
||||
});
|
||||
var totalEl = document.getElementById('order-total-sum');
|
||||
if (totalEl) {
|
||||
var sum = 0;
|
||||
document.querySelectorAll('#order-items .item-row').forEach(function(row) {
|
||||
var priceInput = row.querySelector('input[name$="-price"]');
|
||||
var qty = parseQty(row.querySelector('input[name$="-quantity"]')?.value);
|
||||
var price = parseNum(priceInput?.value);
|
||||
sum += price * qty;
|
||||
});
|
||||
totalEl.textContent = formatNum(sum);
|
||||
}
|
||||
}
|
||||
|
||||
form.addEventListener('input', updateRowAmounts);
|
||||
|
||||
@@ -50,9 +50,8 @@
|
||||
</div>
|
||||
<div class="ws-form-row ws-form-row-2">
|
||||
<div class="ws-form-group">
|
||||
<label for="{{ form.author.id_for_label }}">{{ form.author.label }}</label>
|
||||
{{ form.author }}
|
||||
{% if form.author.errors %}<small class="ws-text-danger">{{ form.author.errors.0 }}</small>{% endif %}
|
||||
<label>Автор</label>
|
||||
<span class="ws-readonly">{{ author_display|default:"—" }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ws-form-section">
|
||||
@@ -92,6 +91,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="ws-order-total-row"><strong>Общая сумма заказа:</strong> <span id="supplier-order-total-sum" class="ws-num">—</span></p>
|
||||
<div class="ws-btn-group" style="margin-top: 0.75rem;">
|
||||
<button type="button" class="btn btn-ws-secondary" id="add-supplier-order-row">+ Добавить строку</button>
|
||||
</div>
|
||||
@@ -138,6 +138,17 @@
|
||||
var el = row.querySelector('.row-amount');
|
||||
if (el) el.textContent = formatNum(price * qty);
|
||||
});
|
||||
var totalEl = document.getElementById('supplier-order-total-sum');
|
||||
if (totalEl) {
|
||||
var sum = 0;
|
||||
document.querySelectorAll('#supplier-order-items .item-row').forEach(function(row) {
|
||||
var priceInput = row.querySelector('input[name$="-price"]');
|
||||
var qty = parseQty(row.querySelector('input[name$="-quantity"]')?.value);
|
||||
var price = parseNum(priceInput?.value);
|
||||
sum += price * qty;
|
||||
});
|
||||
totalEl.textContent = formatNum(sum);
|
||||
}
|
||||
}
|
||||
|
||||
form.addEventListener('input', updateRowAmounts);
|
||||
|
||||
Reference in New Issue
Block a user