Update job order form to include invoice changes and warranty class
This commit is contained in:
parent
9e7e937835
commit
908a79a909
1 changed files with 54 additions and 38 deletions
|
|
@ -159,6 +159,16 @@
|
|||
</select>
|
||||
<div class="form-control-feedback hide" data-field="service_type"></div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<label data-field="warranty_class">Warranty Class</label>
|
||||
<select class="form-control m-input" id="warranty-class" name="warranty_class">
|
||||
<!--<option value=""></option>-->
|
||||
{% for key, class in warranty_classes %}
|
||||
<option value="{{ key }}"{{ obj.getWarrantyClass == key ? ' selected' }}>{{ class }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<div class="form-control-feedback hide" data-field="warranty_class"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-form__group row">
|
||||
<div class="col-lg-6">
|
||||
|
|
@ -252,21 +262,29 @@
|
|||
</h3>
|
||||
</div>
|
||||
<div class="form-group m-form__group row">
|
||||
<div class="col-lg-3">
|
||||
<label>Amount</label>
|
||||
<input type="text" id="invoice-amount" class="form-control m-input text-right" value="0.00" disabled>
|
||||
<div class="col-lg-2">
|
||||
<label>Price</label>
|
||||
<input type="text" id="invoice-price" class="form-control m-input text-right" value="0.00" disabled>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<label>Tax</label>
|
||||
<input type="text" id="invoice-tax" class="form-control m-input text-right" value="0.00" disabled>
|
||||
<div class="col-lg-2">
|
||||
<label>VAT</label>
|
||||
<input type="text" id="invoice-vat" class="form-control m-input text-right" value="0.00" disabled>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<label>Discount</label>
|
||||
<input type="text" id="invoice-discount" class="form-control m-input text-right" value="0.00" disabled>
|
||||
<div class="col-lg-2">
|
||||
<label>Promo Discount</label>
|
||||
<input type="text" id="invoice-promo-discount" class="form-control m-input text-right" value="0.00" disabled>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<label>Final Amount</label>
|
||||
<input type="text" id="invoice-final-amount" class="form-control m-input text-right" value="0.00" disabled>
|
||||
<div class="col-lg-2">
|
||||
<label>Discount Type</label>
|
||||
<input type="text" id="invoice-discount-type" class="form-control m-input" value="PVC" disabled>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<label>Trade In</label>
|
||||
<input type="text" id="invoice-trade-in" class="form-control m-input text-right" value="0.00" disabled>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<label>Total Amount</label>
|
||||
<input type="text" id="invoice-total-amount" class="form-control m-input text-right" value="0.00" disabled>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group m-form__group row">
|
||||
|
|
@ -276,23 +294,16 @@
|
|||
<tr>
|
||||
<th>Item</th>
|
||||
<th class="text-right">Quantity</th>
|
||||
<th>Price Level</th>
|
||||
<th class="text-right">Res Price<br>(w/ Tax)</th>
|
||||
<th class="text-right">Total Price Adj.</th>
|
||||
<th>Final Amount</th>
|
||||
<th>No Trade-in Item?</th>
|
||||
<th>Battery Class</th>
|
||||
<th>Discount Item</th>
|
||||
<th>Percentage</th>
|
||||
<th>Converted Rate<br>(in Decimal)</th>
|
||||
<th class="text-right">Discount Amount</th>
|
||||
<th>Warranty Class</th>
|
||||
<th>Warranty</th>
|
||||
<th>Date of Purchase</th>
|
||||
<th>Warranty Until</th>
|
||||
<th style="width: 50px;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="placeholder-row">
|
||||
<td colspan="14">
|
||||
<td colspan="7">
|
||||
No items to display.
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -828,7 +839,8 @@ $(function() {
|
|||
var unitPrice = 1000;
|
||||
|
||||
$.each(response.data, function(index, battery) {
|
||||
html += '<option value="' + battery.id + '" data-index="' + index + '" data-unit-price="' + unitPrice + '">' + battery.model_name + ' ' + battery.size_name + ' (' + battery.prod_code + ')</option>';
|
||||
console.log(battery);
|
||||
html += '<option value="' + battery.id + '" data-index="' + index + '" data-unit-price="' + battery.sell_price + '" data-warr-private="' + battery.warr_private + '" data-warr-commercial="' + battery.warr_commercial + '">' + battery.model_name + ' ' + battery.size_name + '</option>';
|
||||
});
|
||||
|
||||
field.html(html).prop('disabled', false);
|
||||
|
|
@ -856,6 +868,8 @@ $(function() {
|
|||
var qty = $("#invoice-quantity");
|
||||
var tbody = $("#invoice-table tbody");
|
||||
var unitPrice = parseFloat(battery.find('option:selected').data('unit-price'));
|
||||
var warrPrivate = parseInt(battery.find('option:selected').data('warr-private'));
|
||||
var warrCommercial = parseInt(battery.find('option:selected').data('warr-commercial'));
|
||||
|
||||
if (!bmfg.val() || !battery.val() || !qty.val()) {
|
||||
swal({
|
||||
|
|
@ -889,22 +903,24 @@ $(function() {
|
|||
'subtotal': subtotal
|
||||
});
|
||||
|
||||
var warrantyClasses = {
|
||||
{% for key, class in warranty_classes %}
|
||||
"{{ key }}": "{{ class }}",
|
||||
{% endfor %}
|
||||
};
|
||||
|
||||
var warrantyClass = $("#warranty-class").val();
|
||||
var warrantyLength = warrantyClass == warrantyClasses["private"] ? warrPrivate : warrCommercial;
|
||||
|
||||
// build row html
|
||||
// TODO: Fill with actual data for the rest of the columns
|
||||
var html = '<tr>' +
|
||||
'<td>' + battery.find('option:selected').text() + '</td>' +
|
||||
'<td class="text-right col-quantity">' + qty.val() + '</td>' +
|
||||
'<td>Base Price</td>' + // TODO: static for now
|
||||
'<td class="col-unit-price">' + (Math.round(unitPrice * 100) / 100).toFixed(2) + '</td>' + // TODO: not sure if this is correct since it says w/ tax
|
||||
'<td>0.00</td>' + // TODO: static for now
|
||||
'<td>' + (Math.round(subtotal * 100) / 100).toFixed(2) + '</td>' + // TODO: I assumed this is unit price * qty
|
||||
'<td><span class="m-badge m-badge--success m-badge--wide">Yes</span></td>' + // TODO: static for now
|
||||
'<td>Regular</td>' +
|
||||
'<td></td>' +
|
||||
'<td></td>' +
|
||||
'<td></td>' +
|
||||
'<td class="col-discount"></td>' +
|
||||
'<td></td>' +
|
||||
'<td>' + warrantyClasses[warrantyClass] + '</td>' +
|
||||
'<td>' + warrantyLength + ' month' + (warrantyLength > 1 ? 's' : '') + '</td>' +
|
||||
'<td></td>' + // TODO: Date of Purchase, blank for now
|
||||
'<td></td>' + // TODO: Warranty until, blank for now
|
||||
'<td><button type="button" class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill btn-invoice-delete" title="Delete"><i class="la la-trash"></i></button></td>' +
|
||||
'</tr>';
|
||||
|
||||
|
|
@ -918,10 +934,10 @@ $(function() {
|
|||
});
|
||||
|
||||
function updateInvoiceFigures() {
|
||||
var amountField = $("#invoice-amount");
|
||||
var taxField = $("#invoice-tax");
|
||||
var amountField = $("#invoice-price");
|
||||
var taxField = $("#invoice-vat");
|
||||
var discountField = $("#invoice-discount");
|
||||
var finalAmountField = $("#invoice-final-amount");
|
||||
var finalAmountField = $("#invoice-total-amount");
|
||||
var finalAmount = invoiceTotal + invoiceTax - invoiceDiscount;
|
||||
|
||||
amountField.val(parseFloat(Math.round(invoiceTotal * 100) / 100).toFixed(2));
|
||||
|
|
|
|||
Loading…
Reference in a new issue