/
home
/
sjslayjy
/
public_html
/
scm
/
storage
/
framework
/
views
/
Upload File
HOME
<?php $__env->startSection('title','Order'); ?> <?php $__env->startSection('style'); ?> <style type="text/css"> span.close-now { background: red; width: 25px; height: 25px; display: block; text-align: center; border-radius: 50%; padding: 3px; color: #fff; margin-top: 30px; } </style> <?php $__env->stopSection(); ?> <?php $__env->startSection('content'); ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="#">Home</a> </li> <li class="active">Purchase Order</li> </ul> </div> <div class="page-content"> <div class="row"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Purchase Order</h3> </div> <div class="panel-body"> <form action="<?php echo e(URL('/user/add-purchase-order')); ?>" role="form" method="post" id="makePurchaseOrderForm" enctype="multipart/form-data"> <?php echo e(csrf_field()); ?> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Vendor :</label> <select class="form-control e1" id="vendor" name="vendor" onchange="get_vendor(this)"> <option value="">Select Vendor</option> <?php $__currentLoopData = $vendors; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $vendor): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($vendor->id); ?>"><?php echo e($vendor->vendor_name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_department_error" style="display: none;"></span> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label for="module_id">Circle :</label> <select class="form-control e1" id="circle" name="circle" onchange="get_circle(this)"> <option value="">Select Circle</option> <?php $__currentLoopData = $circles; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $circle): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($circle->id); ?>"><?php echo e($circle->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_circle_error" style="display: none;"></span> </div> </div> </div> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Business Unit :</label> <select class="form-control e1" id="business_unit" name="business_unit" onchange="get_business_unit(this)"> <option value="">Select Business Unit</option> <?php $__currentLoopData = $business_units; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $business_unit): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($business_unit->id); ?>"><?php echo e($business_unit->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_business_unit_error" style="display: none;"></span> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Contact No:</label> <input type="text" id="contact" name="contact" onkeyup="get_contact(this)" placeholder="Enter Contact" class="form-control"> </div> </div> </div> <!-- <hr> --> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Reference No:</label> <input type="text" id="reference_no" name="reference_no" onkeyup="get_referenceNo(this)" placeholder="Enter Reference No " class="form-control"> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Document Type :</label> <input type="text" id="document_type" name="document_type" onkeyup="get_documentType(this)" placeholder="Enter Document Type" class="form-control"> </div> </div> </div> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Bill To Address:</label> <select class="form-control" id="bill_to_address" name="bill_to_address" onchange="get_bill_to_address(this)"> <option value="">Select Bill To Address</option> </select> <!-- <input type="text" id="bill_to_address" name="bill_to_address" onkeyup="get_bill_to_address(this)" placeholder="Enter Bill To Address" class="form-control"> --> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Delivery Address:</label> <!-- <select class="form-control" id="delivery_address" name="delivery_address" onchange="get_delivery_address(this)"> <option value="">Select Delivery Address</option> </select> --> <input type="text" id="delivery_address" name="delivery_address" onkeyup="get_delivery_address(this)" placeholder="Enter Delivery Address" class="form-control"> </div> </div> </div> <!-- <hr> --> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Warranty Terms :</label> <input type="text" id="warranty_terms" name="warranty_terms" onkeyup="get_warrantyTerms(this)" placeholder="Enter Warranty Terms " class="form-control"> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Special Term and Condition :</label> <input type="text" id="stc" name="stc" onkeyup="get_stc(this)" placeholder="Enter Special Term and Condition " class="form-control"> </div> </div> </div> <!-- <hr> --> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Delivery Periods :</label> <select id="delivery_periods" name="delivery_periods" onchange="get_deliveryPeriods(this)" placeholder="Enter Delivery Periods" class="form-control e1"> <option>Select Delivery Periods</option> <?php $__currentLoopData = $delivery_periods; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $delivery_period): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($delivery_period->id); ?>"><?php echo e($delivery_period->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> <option value="other">other</option> </select> <span class="label label-danger" id="add_delivery_period_unit_error" style="display: none;"></span> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Payment Terms :</label> <select class="form-control e1" id="payment_terms " name="payment_terms" onchange="get_paymentTerms(this)"> <option value="other">Select Payment Terms</option> <?php $__currentLoopData = $payment_terms; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $payment_term): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($payment_term->id); ?>"><?php echo e($payment_term->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> <option value="other">other</option> </select> </div> </div> </div> <div class="row grid-margin"> <div class="col-lg-6" id="dt_textarea" style="display: none;"> <div class="form-group" > <label>For other DT:</label> <textarea class="form-control" name="delivery_period_textarea" id="delivery_period_textarea" onkeyup="get_delivery_period_textarea(this)"></textarea> <span class="label label-danger" id="add_delivery_period_error" style="display: none;"></span> </div> </div> <div class="col-lg-6" id="pt_textarea" style="display: none;"> <div class="form-group" > <label>For other PT:</label> <textarea class="form-control" onkeyup="get_paymentTerms_textarea(this)" id="payment_term_textarea" name="payment_term_textarea"></textarea> <span class="label label-danger" id="add_buniness_unit_error" style="display: none;"></span> </div> </div> </div> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>PO Type :</label> <select class="form-control e1" id="po_type" name="po_type" onchange="get_po_type(this)"> <option value="">Select PO Type </option> <?php $__currentLoopData = $po_types; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $po_type): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($po_type->id); ?>"><?php echo e($po_type->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_po_type_error" style="display: none;"></span> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Delivery Terms</label> <textarea class="form-control" id="delivery_terms" name="delivery_terms"></textarea> <span class="label label-danger" id="add_delivery_terms_error" style="display: none;"></span> </div> </div> </div> <div class="row grid-margin"> <div class="col-md-4"> <div class="form-group"> <label for="name">Document 1 :</label> <input class="form-control" type="file" name="document1" id="document1" onchange="get_document1(this)"> <span class="label label-danger" id="add_document1_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="name">Document 2 :</label> <input class="form-control" type="file" name="document2" id="document2" onchange="get_document2(this)"> <span class="label label-danger" id="add_document2_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="name">Document 3 :</label> <input class="form-control" type="file" name="document3" id="document3" onchange="get_document3(this)"> <span class="label label-danger" id="add_document3_error" style="display: none;"></span> </div> </div> </div> <hr> <hr> <div class="row grid-margin"> <div class="col-lg-4"> <h4 class="card-title">Item List</h4> </div> <div class="col-lg-6"> <!-- <input type="text" id="prNumber" name="prNumber" placeholder="Enter PrNumber Code" class="form-control"> --> <select class="e1" name="prNumber" id="prNumber" class="form-control"> <option value="">Search and Enter PrNumber Code</option> <?php $__currentLoopData = $purchase_requests; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $purchase_request): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($purchase_request->pr_number); ?>"><?php echo e($purchase_request->pr_number); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div> <div class="col-lg-2"> <button type="button" onclick="addselectedPrNumber()" class="btn btn-success btn-sm">Add PrNum</button> </div> </div> <div class="clearfix"> <div class="pull-right tableTools-container"> </div> </div> <!-- <div class="table-header"> Results for "Latest Added Items" </div> --> <!-- div.table-responsive --> <!-- div.dataTables_borderWrap --> <div> <table class="table table-striped table-bordered"> <thead> <tr> <th> Pr Number</th> <th> Item Code</th> <th> Description</th> <th> Specification</th> <th> Make</th> <th> Qty</th> <th> Balance Qty</th> <th> Unit Price </th> <th> Amount </th> <th> GST Tax %age </th> <th> GST Amount </th> <th> Total Amount </th> <th> --- </th> </tr> </thead> <tbody id="tbody"> </tbody> </table> </div> <div class="row"> <div class="col-md-6"> </div> <div class="col-md-3"> <div class="form-group"> <label>Grand Total :</label> <input type="text" id="po_amount" name="po_amount" class="form-control" readonly> </div> </div> <div class="col-md-3"> <div class="form-group"> <label>GST Grand Total :</label> <input type="text" id="poGstGrandTotalAmount" class="form-control" readonly> </div> </div> </div> <div class="row" style="float: right;"> <div class="col-md-6"> <button type="submit" id="generateOrderBtn" class="btn btn-primary float-right">Submit</button> </div> </div> </form> </div> </div> </div> </div><!-- /.page-content --> </div> </div> <?php $__env->stopSection(); ?> <?php $__env->startSection('script'); ?> <?php echo e(Html::script("assets/js/jquery.dataTables.min.js")); ?> <?php echo e(Html::script("assets/js/jquery.dataTables.bootstrap.min.js")); ?> <?php echo e(Html::script("assets/js/dataTables.buttons.min.js")); ?> <?php echo e(Html::script("assets/js/buttons.flash.min.js")); ?> <?php echo e(Html::script("assets/js/buttons.html5.min.js")); ?> <?php echo e(Html::script("assets/js/buttons.print.min.js")); ?> <?php echo e(Html::script("assets/js/buttons.colVis.min.js")); ?> <?php echo e(Html::script("assets/js/dataTables.select.min.js")); ?> <?php echo e(Html::script("assets/js/ace-elements.min.js")); ?> <?php echo e(Html::script("assets/js/ace.min.js")); ?> <script type="text/javascript"> var poData = {}; poData.items = []; poData.vendor = ''; poData.circle=''; poData.business_unit=''; poData.contact=''; poData.bill_to_address=''; poData.delivery_address=''; poData.delivery_periods=''; poData.delivery_period_textarea=''; poData.warranty_terms=''; poData.stc=''; poData.payment_terms=''; poData.payment_term_textarea=''; poData.document_type=''; poData.reference_no=''; poData.po_type=''; poData.document1=''; poData.document2=''; poData.document3=''; poData._token = $('meta[name="_token"]').attr('content'); localStorage.setItem('poData', JSON.stringify(poData)); function get_vendor(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.vendor = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_circle(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.circle = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); var id = $(t).val(); $.ajax({ url: "/user/set-address/"+id, type: 'GET', success:function(data){ $("#bill_to_address").html(''); $.each(data, function(key, value) { if(value.id==id){ $("#bill_to_address").append(`<option value="${value.address1},${value.city},${value.state},${value.pin_code}" selected>${value.address1},${value.city},${value.state},${value.pin_code}</option>`); // $("#delivery_address").append(`<option value="${value.address1},${value.city},${value.state},${value.pin_code}" selected>${value.address1},${value.city},${value.state},${value.pin_code}</option>`); $('#delivery_address').val(`${value.address1},${value.city},${value.state},${value.pin_code}`); }else{ $("#bill_to_address").append(`<option value="${value.address1},${value.city},${value.state},${value.pin_code}">${value.address1},${value.city},${value.state},${value.pin_code}</option>`); // $("#delivery_address").append(`<option value="${value.address1},${value.city},${value.state},${value.pin_code}">${value.address1},${value.city},${value.state},${value.pin_code}</option>`); } //alert(id); // $("#bill_to_address").append(`<option id="billadd_${value.id}" value="${value.id}">${value.address1},${value.city},${value.state},${value.pin_code}</option>`); }); } }); } function get_business_unit(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.business_unit = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_contact(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.contact = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_bill_to_address(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.bill_to_address = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_delivery_address(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.delivery_address = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_deliveryPeriods(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.delivery_periods = $(t).val(); if(poData.delivery_periods=='other'){ $('#dt_textarea').show(); }else{ $('#dt_textarea').hide(); } localStorage.setItem('poData',JSON.stringify(poData)); } function get_delivery_period_textarea(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.delivery_period_textarea = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_warrantyTerms(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.warranty_terms = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_stc(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.stc = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_paymentTerms(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.payment_terms = $(t).val(); if(poData.payment_terms=='other'){ $('#pt_textarea').show(); }else{ $('#pt_textarea').hide(); } localStorage.setItem('poData',JSON.stringify(poData)); } function get_paymentTerms_textarea(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.payment_term_textarea = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_documentType(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.document_type = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_referenceNo(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.reference_no = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_po_type(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.po_type = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_document1(t){ var poData = JSON.parse(localStorage.getItem('poData')); console.log("this is poDATa"); //alert($('#document1').val()); poData.document1 = $(t).val(); console.log(poData.document1); localStorage.setItem('poData',JSON.stringify(poData)); } function get_document2(t){ var poData = JSON.parse(localStorage.getItem('poData')); console.log("this is poDATa"); //alert($('#document2').val()); poData.document2 = $(t).val(); console.log(poData.document2); localStorage.setItem('poData',JSON.stringify(poData)); } function get_document3(t){ var poData = JSON.parse(localStorage.getItem('poData')); console.log("this is poDATa"); //alert($('#document3').val()); poData.document3 = $(t).val(); console.log(poData.document3); localStorage.setItem('poData',JSON.stringify(poData)); } function addselectedPrNumber() { var prNumber = $('#prNumber').val(); var html = ""; if (prNumber != "") { var url = window.location.origin + "/user/get-prNumberItem" var data = {}; data.prNumber = prNumber; $('#loaderAction').show(); $.ajax({ type: "POST", url: url, data: $('#makePurchaseOrderForm').serialize(), success: function(res) { if (res.success == true) { var poData = JSON.parse(localStorage.getItem('poData')); if (poData.items.length > 0) { console.log(res.items); $.each(res.items, function(k, v) { if (!is_added(v.id)) { addItem(v); } }); show_items(); calculate_total(); } else { console.log("result item : " + res.items); $.each(res.items, function(k, v) { v['PrN'] = new Array(v.PrN); console.log("v type of is : " + typeof v); v['pr_rqty'] = []; v['pr_qty'] = []; v['pr_rqty'].push(v.rqty); v['pr_qty'].push(v.qty); poData.items.push(v); }); localStorage.setItem('poData', JSON.stringify(poData)); show_items(); calculate_total(); } } else { swal('Error', 'Entered PR Not Approved or Invalid !', 'error'); } }, error: function(error) { console.log(error); }, dataType: 'json' }); } else { swal('Error', 'Please Enter Item Code !', 'error'); } } function is_added(id){ var poData = JSON.parse(localStorage.getItem('poData')); var added = false; $.each(poData.items,function(key,val){ var item_id = val.id; console.log(item_id); console.log(typeof item_id); if(item_id.toString().indexOf(',') > -1) { var idArr = item_id.split(','); if(idArr.indexOf(id) > -1) { added = true; return false; } } else { if(val.id == id){ added = true; return false; } } }); if(added == true){ return true; }else{ return false; } } function addItem(item) { console.log(item); var poData = JSON.parse(localStorage.getItem('poData')); var flag = false; $.each(poData.items, function(key, val) { if ((parseFloat(item.rate) == parseFloat(val.rate)) && (item.gst == val.gst) && (item.item_code == val.item_code)) { poData.items[key]['qty'] = item.qty + val.qty; poData.items[key]['PrN'].push(item.PrN); poData.items[key]['pr_rqty'].push(item.rqty); poData.items[key]['pr_qty'].push(item.qty); poData.items[key]['id'] = poData.items[key]['id'] + ',' + item.id; poData.items[key]['pr_id'] = poData.items[key]['pr_id'] + ',' + item.pr_id; localStorage.setItem('poData', JSON.stringify(poData)); flag = true; } }); if (flag == false) { console.log("first item details : " + item); item.PrN = [item.PrN]; // Ensure PrN is always an array item.pr_rqty = [item.rqty]; // Ensure pr_rqty is always an array item.pr_qty = [item.qty]; // Ensure pr_qty is always an array poData.items.push(item); localStorage.setItem('poData', JSON.stringify(poData)); } } function show_items() { var poData = JSON.parse(localStorage.getItem('poData')); var items = poData.items; var html = ""; var i = 1; $.each(items, function(key, val) { val.index = i; // Add unique index to each item i += 1; val.id = i; var total_rqty = 0; let gstAmount = ((val.qty * val.rate) * (val.gst / 100)).toFixed(2); let totalAmount = ((val.qty * val.rate) * (val.gst / 100)) + (val.qty * val.rate); var pr_str = ''; console.log("prn length is :" + val.PrN.length); $.each(val.PrN, function(key1, pr) { total_rqty += parseFloat(val.pr_rqty[key1] || 0); // Calculate total rqty for all PRs, handle NaN if (val.PrN.length > 1) { pr_str += "<p>" + pr + "\n" + `<input type="text" id="" value="` + (val.pr_rqty[key1] || 0) + `" name="item_spec[id]" onkeypress="return onlyCurrency(event)" onblur="check_zero(this)" onkeyup="getpoqty(this)" style="width:50px;" /><input type="text" value="` + (val.pr_qty[key1] || 0) + `" style="width:50px;" readonly>` + "</p>"; } else { pr_str += pr + "\n"; } }); html += `<tr id="item_` + val.index + `"> <td>` + pr_str + `</td> <td>` + val.item_code + `</td> <td>` + val.description + `</td> <td><input type="text" id="spec_` + val.id + `" value="` + val.specification + `" data-id="spec_id_` + val.pr_id + `_` + val.id + `" name="item_spec[` + val.id + `]" onkeyup="getspec(this,` + val.id + `)" style="width:100px;" /> </td> <td><input type="text" id="make_` + val.id + `" value="` + val.make + `" data-id="make_id_` + val.pr_id + `_` + val.id + `" name="item_make[` + val.id + `]" onkeyup="getmake(this,` + val.id + `)" style="width:100px;" /> </td> <td><input type="text" id="input_` + val.id + `" value="` + val.qty + `" onkeypress="return onlyCurrency(event)" onblur="check_zero(this)" data-id="id_` + val.pr_id + `_` + val.id + `" name="item_qty[` + val.id + `]" onkeyup="getvalue(this,` + val.id + `)" value="0" style="width:100px;" /> </td> <td>` + total_rqty + `</td> <td><input type="text" id="inputrate_` + val.id + `" value="` + val.rate + `" data-id="idrate_` + val.pr_id + `_` + val.id + `" name="item_rate[` + val.id + `]" onkeyup="getrate(this,` + val.id + `)" value="0" style="width:100px;" /> </td> <td id="itemtotal_` + val.id + `">` + (val.qty * val.rate).toFixed(2) + `</td> <td>` + val.gst + `</td> <td id="gstamount_` + val.id + `">` + gstAmount + `</td> <td id="totalamount_` + val.id + `">` + totalAmount.toFixed(2) + `</td> <td><button type="button" class="btn btn-sm btn-danger" data-ids="` + val.index + `" onclick="deleteItem(` + val.index + `)"><i class="fa fa-trash"></i></button></td> </tr>`; }); localStorage.setItem('poData', JSON.stringify(poData)); $('#tbody').html(html); } function deleteItem(i){ var poData = JSON.parse(localStorage.getItem('poData')); var items = poData.items; // Find the index of the item to be deleted var indexToDelete = -1; $('#item_' + i).remove(); $.each(items, function(index, item) { if (item.index === i) { indexToDelete = index; return false; // break out of the loop } }); if (indexToDelete !== -1) { items.splice(indexToDelete, 1); // Remove the item from the array } poData.items = items; localStorage.setItem('poData', JSON.stringify(poData)); calculate_total(); } function onlyCurrency(event){ if(event.which == 8 || event.which == 0){ return true; } if(event.which < 46 || event.which > 59) { return false; //event.preventDefault(); } // prevent if not number/dot if(event.which == 46 && $(this).val().indexOf('.') != -1) { return false; //event.preventDefault(); } // preven } function calculate_total(){ var poData = JSON.parse(localStorage.getItem('poData')); var sub_total = 0; var grand_total = 0; var sub_gst_amount = 0; var grand_gst_amount = 0; var sub_total_amount = 0; var grand_totalAmount = 0; $.each(poData.items,function(k,val){ let subtotal = parseFloat(val.qty*val.rate); let subTotalGstAmount =parseFloat((val.qty*val.rate)*(val.gst/100)); let subTotalAmount =parseFloat((val.qty*val.rate)+((val.qty*val.rate)*(val.gst/100))); sub_total = sub_total + subtotal; sub_gst_amount = sub_gst_amount + subTotalGstAmount; sub_total_amount = sub_total_amount + subTotalAmount; }); grand_total = sub_total; grand_gst_amount = sub_gst_amount; grand_totalAmount = sub_total_amount; poData.grand_total = parseFloat(grand_total.toFixed(2)); poData.grand_gst_amount = parseFloat(grand_gst_amount.toFixed(2)); poData.grand_totalAmount = parseFloat(grand_totalAmount.toFixed(2)); console.log() $('#po_amount').val(grand_total.toFixed(2)); $('#poGstGrandTotalAmount').val(grand_totalAmount.toFixed(2)); } function calculate(id){ console.log(id); var poData = JSON.parse(localStorage.getItem('poData')); $.each(poData.items,function(key,val){ if(val.id == id){ let qty = parseFloat(val.qty); let rate =parseFloat(val.rate); let gst =parseFloat(val.gst); let total = qty*rate; let gstAmount=total*(gst/100); let totalAmount=total+gstAmount; $('#itemtotal_'+id).text(total.toFixed(2)); $('#gstamount_'+id).text(gstAmount.toFixed(2)); $('#totalamount_'+id).text(totalAmount.toFixed(2)); addCartValueInKey(id,'qty',qty); addCartValueInKey(id,'gstamount',gstAmount.toFixed(2)); addCartValueInKey(id,'totalamount',totalAmount.toFixed(2)); } }); calculate_total(); } function check_zero(t){ var qty = $(t).val(); if(qty == "" || qty == null){ $(t).val(0); } } function getspec(spec, id){ var spec = $(spec).val(); if(spec !="" && spec !=null){ addCartValueInKey(id, 'specification', spec); } else { addCartValueInKey(id, 'specification', ''); } } function getmake(make, id){ var make = $(make).val(); if(make !="" && make !=null){ addCartValueInKey(id, 'make', make); } else { addCartValueInKey(id, 'make', ''); } } function getvalue(t,id){ var qty = $(t).val(); console.log(qty); if(qty != "" && qty != null){ var qty = parseFloat(qty); addCartValueInKey(id,'qty',qty); calculate(id); }else{ addCartValueInKey(id,'qty',0); calculate(id); } } function getrate(rate,id){ var rate = $(rate).val(); console.log(rate); if(rate != "" && rate != null){ var rate = parseFloat(rate); addCartValueInKey(id,'rate',rate); console.log(rate); calculate(id); }else{ addCartValueInKey(id,'rate',0); calculate(id); } } function addCartValueInKey(id,key,value){ var poData = JSON.parse(localStorage.getItem('poData')); $.each(poData.items,function(k,val){ if(parseInt(val.id) == id){ poData.items[k][key] = value; } }); localStorage.setItem('poData',JSON.stringify(poData)); } $('#makePurchaseOrderForm').submit(function(e){ e.preventDefault(); var poData = JSON.parse(localStorage.getItem('poData')); poData.po_amount = $('#po_amount').val(); poData.po_gst_amount = $('#poGstGrandTotalAmount').val(); localStorage.setItem('poData',JSON.stringify(poData)); poData = JSON.parse(localStorage.getItem('poData')); if(poData.vendor == "" || poData.circle == "" || poData.payment_terms == "" || poData.business_unit == "" || poData.po_type == ""){ swal('Error','Please select Vendor, Circle, payment_terms, Business Unit , Po Type !!','error'); }else if(poData.items.length < 1){ swal('Error','Please Added atleast one item !! !!!','error'); }else if(!is_valid()){ swal('Error','Quantity can not be zero. please check!!','error'); }else{ var url = $('#makePurchaseOrderForm').attr('action'); var formData = new FormData(this); formData.append('items', JSON.stringify(poData.items)); $('.loading-bg').show(); $.ajax({ url: url, method: 'POST', data: formData, contentType: false, cache: false, processData:false, dataType:'json', success: function(data){ $('.loading-bg').hide(); if(data.success == true){ swal({ title: "Success", text: "Purchase Order Added Successfully !\nPO Number is : " + data.po_number, type: "success" }, function(){ location.reload(); }); } else if(data.success == false) { swal({ title: "Error", text: 'Purchase Order quantity is greater than PR remaining Quantity.', type: "error" }); } else if(data.flag == false) { $.each(data.error, function(key,val) { showError('add_'+key+'_error',val); }); } // if (data.flag == false) { // if(data.error != '') { // $.each(data.error, function(key,val) { // showError('add_'+key+'_error',val); // }); // } else { // alert('Purchase Order quantity is greater than PR remaining Quantity.'); // } // } }, error:function(error){ console.log("inside error "); } }); } return false; }); function is_valid(){ var poData = JSON.parse(localStorage.getItem('poData')); var check = true; $.each(poData.items,function(key,val){ // if(val.qty < val.dispach_qty || val.dispach_qty == 0 ){ // check = false; // $('#input_'+val.id).css({'border:border': '1px solid #D5D5D5','border-color':'#bf0606'}); // return false; // }else{ // $('#input_'+val.id).css({'border:border': '1px solid #D5D5D5','border-color':'#b5b5b5'}); // } if(val.item_qty == 0 ){ check = false; $('#input_'+val.id).css({'border:border': '1px solid #D5D5D5','border-color':'#bf0606'}); return false; }else{ $('#input_'+val.id).css({'border:border': '1px solid #D5D5D5','border-color':'#b5b5b5'}); } }); if(check == false){ return false }else{ return true; } } function showError(id,error){ if(typeof(error) === "undefined"){ $('#'+id).hide(); }else{ $('#'+id).show(); $('#'+id).text(error); } } </script> <script> $(document).ready(function() { $(".e1").select2(); }); </script> <?php $__env->stopSection(); ?> <?php echo $__env->make('dashboard.layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/sjslayjy/public_html/scm/resources/views/dashboard/po/make-purchase-order.blade.php ENDPATH**/ ?>