EVOLUTION-NINJA
Edit File: ae_calculator.php
<?php echo view('includes/sidebar'); ?> <script src="<?php echo base_url('public/assets/js/jquery-3.6.0.min.js'); ?>"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <section class="home-section"> <div class="home-content"> <!--<i class='bx bx-menu'></i>--> </div> <div class="container-fluid"> <div class="row"> <div class="col-sm-12"> <h2 class="mb-4">AE Calculator</h2> </div> </div> <form id="ae-calculator-form"> <div class="row"> <!-- Product --> <div class="col-sm-4 mb-3"> <label class="form-label">Select Product</label> <select name="product_id" id="product_id" class="form-control" required> <option value="">Select Product</option> <?php foreach($products as $p): ?> <option value="<?= $p['product_id'] ?>" data-rc="<?= $p['rc_price'] ?>" data-basic="<?= $p['basic_price'] ?>" data-ndp="<?= $p['ndp'] ?>" data-gst="<?= $p['gst_percent'] ?>"> <?= $p['model_name'] ?> </option> <?php endforeach; ?> </select> </div> <!-- RC PRICE --> <div class="col-sm-4 mb-3"> <label class="form-label">RC Price</label> <input type="number" name="rc_price" id="rc_price" class="form-control" readonly> </div> <!-- BASIC PRICE --> <div class="col-sm-4 mb-3"> <label class="form-label">Basic Price</label> <input type="number" name="basic_price" id="basic_price" class="form-control" readonly> </div> </div> <div class="row"> <!-- NDP --> <div class="col-sm-4 mb-3"> <label class="form-label">NDP</label> <input type="number" name="ndp" id="ndp" class="form-control" readonly> </div> <!-- GST % --> <div class="col-sm-4 mb-3"> <label class="form-label">GST %</label> <input type="number" name="gst_percent" id="gst_percent" class="form-control" readonly> </div> <!-- AE Commission % --> <div class="col-sm-4 mb-3"> <label class="form-label">AE Commission %</label> <input type="number" step="0.01" name="ae_commission_percent" id="ae_commission_percent" class="form-control" value="3"> </div> </div> <hr> <div class="row"> <!-- AE COMMISSION --> <div class="col-sm-4 mb-3"> <label class="form-label">AE Commission</label> <input type="number" name="ae_commission" id="ae_commission" class="form-control" readonly> </div> <!-- GST ON AE COMMISSION --> <div class="col-sm-4 mb-3"> <label class="form-label"> GST on AE Commission </label> <input type="number" name="gst_on_ae_commission" id="gst_on_ae_commission" class="form-control" readonly> </div> <!-- BILLING PRICE --> <div class="col-sm-4 mb-3"> <label class="form-label">Billing Price</label> <input type="number" name="billing_price" id="billing_price" class="form-control" readonly> </div> </div> <div class="row"> <!-- GST ON RC PRICE --> <div class="col-sm-4 mb-3"> <label class="form-label"> GST on RC Price </label> <input type="number" name="gst_on_rc_price" id="gst_on_rc_price" class="form-control" readonly> </div> <!-- GST ON NDP --> <div class="col-sm-4 mb-3"> <label class="form-label"> GST on NDP </label> <input type="number" name="gst_on_ndp" id="gst_on_ndp" class="form-control" readonly> </div> <!-- GST DIFFERENCE --> <div class="col-sm-4 mb-3"> <label class="form-label">GST Difference</label> <input type="number" name="gst_difference" id="gst_difference" class="form-control" readonly> </div> </div> <div class="row"> <!-- NDP WITH GST --> <div class="col-sm-4 mb-3"> <label class="form-label">NDP with GST</label> <input type="number" name="ndp_with_gst" id="ndp_with_gst" class="form-control" readonly> </div> <!-- DEALER MARGIN --> <div class="col-sm-4 mb-3"> <label class="form-label">Dealer Margin</label> <input type="number" name="dealer_margin" id="dealer_margin" class="form-control" readonly> </div> </div> <div class="row"> <div class="col-sm-12 text-center"> <button type="button" id="save_calculator" class="btn btn-success"> Save Calculator </button> </div> </div> </form> </div> </section> <script> $(document).ready(function () { // Product Change $('#product_id').change(function () { let selected = $(this).find(':selected'); $('#rc_price').val(selected.data('rc')); $('#basic_price').val(selected.data('basic')); $('#ndp').val(selected.data('ndp')); $('#gst_percent').val(selected.data('gst')); calculateAE(); }); // Recalculate $('#ae_commission_percent, #subsidy_amount').on('keyup change', function () { calculateAE(); }); }); function calculateAE() { let rc_price = parseFloat($('#rc_price').val()) || 0; let basic_price = parseFloat($('#basic_price').val()) || 0; let ndp = parseFloat($('#ndp').val()) || 0; let gst_percent = parseFloat($('#gst_percent').val()) || 0; let ae_percent = parseFloat($('#ae_commission_percent').val()) || 0; // AE COMMISSION let ae_commission = (basic_price * ae_percent) / 100; // GST ON AE COMMISSION let gst_on_ae_commission = (ae_commission * gst_percent) / 100; // NDP WITH GST let ndp_with_gst = ndp + ((ndp * gst_percent) / 100); // GST ON NDP let gst_on_ndp = ndp_with_gst - ndp; // GST ON RC PRICE let gst_on_rc_price =rc_price-basic_price; // (rc_price * gst_percent) / 100; // GST DIFFERENCE let gst_difference = gst_on_rc_price - gst_on_ndp; // BILLING PRICE let billing_price = rc_price - ae_commission - gst_on_ae_commission; // DEALER MARGIN let dealer_margin = rc_price - ndp_with_gst - gst_difference - ae_commission; // SET VALUES $('#ae_commission').val( ae_commission.toFixed(2) ); $('#gst_on_ae_commission').val( gst_on_ae_commission.toFixed(2) ); $('#ndp_with_gst').val( ndp_with_gst.toFixed(2) ); $('#gst_on_ndp').val( gst_on_ndp.toFixed(2) ); $('#gst_on_rc_price').val( gst_on_rc_price.toFixed(2) ); $('#gst_difference').val( gst_difference.toFixed(2) ); $('#billing_price').val( billing_price.toFixed(2) ); $('#dealer_margin').val( dealer_margin.toFixed(2) ); } // SAVE CALCULATOR $(document).ready(function () { $('#save_calculator').on('click', function (e) { e.preventDefault(); let product_id = $('#product_id').val(); if (product_id == '') { alert('Please select product'); return false; } let model_name = $('#product_id option:selected').text(); let formData = { product_id: product_id, model_name: model_name, rc_price: $('#rc_price').val(), basic_price: $('#basic_price').val(), ndp: $('#ndp').val(), gst_percent: $('#gst_percent').val(), ae_commission_percent: $('#ae_commission_percent').val(), ae_commission: $('#ae_commission').val(), gst_on_ae_commission: $('#gst_on_ae_commission').val(), billing_price: $('#billing_price').val(), gst_on_rc_price: $('#gst_on_rc_price').val(), gst_on_ndp: $('#gst_on_ndp').val(), gst_difference: $('#gst_difference').val(), ndp_with_gst: $('#ndp_with_gst').val(), dealer_margin: $('#dealer_margin').val() }; console.log(formData); $.ajax({ url: "<?= base_url('save-ae-calculator') ?>", type: "POST", data: formData, dataType: "json", success: function(response) { console.log(response); if (response.status == 1) { alert(response.message); } else { alert(response.message); } }, error: function(xhr) { console.log(xhr.responseText); alert('Error while saving data'); } }); }); }); </script> <?php echo view('includes/footer'); ?>