/
home
/
sjslayjy
/
public_html
/
scm
/
resources
/
views
/
dashboard
/
po
/
Upload File
HOME
@extends('dashboard.layouts.app') @section('title','Order') @section('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> @endsection @section('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="{{ URL('/user/update-purchase-order') }}" role="form" method="post" id="updatePurchaseOrderForm" enctype="multipart/form-data"> {{csrf_field()}} <input type="hidden" id="po_id" name="po_id" value="{{$purchase_orders->id}}" class="form-control"> <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> @foreach($vendors as $vendor) <option value="{{$vendor->id}}" {{($purchase_orders->vendor_id==$vendor->id)?'selected':''}}>{{$vendor->vendor_name}}</option> @endforeach </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> @foreach($circles as $circle) <option value="{{$circle->id}}" {{($purchase_orders->circle==$circle->id)?'selected':''}}>{{$circle->name}}</option> @endforeach </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_bussiness_unit(this)"> <option value="">Select Business Unit</option> @foreach($business_units as $business_unit) <option value="{{$business_unit->id}}" {{($purchase_orders->business_unit==$business_unit->id)?'selected':''}}>{{$business_unit->name}}</option> @endforeach </select> <span class="label label-danger" id="add_buniness_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" value="{{$purchase_orders->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" value="{{$purchase_orders->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" value="{{$purchase_orders->document_type}}" onkeyup="get_documentType(this)" placeholder="Enter Document Type" class="form-control"> </div> </div> </div> <!-- <hr> --> <div class="row grid-margin"> <div class="col-lg-6"> <div class="form-group"> <label>Bill To Address:</label> <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" value="{{$purchase_orders->Bill_to_address}}"> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label>Delivery Address:</label> <input type="text" id="delivery_address" name="delivery_address" onkeyup="get_delivery_address(this)" placeholder="Enter Delivery Address" class="form-control" value="{{$purchase_orders->delivery_address}}"> </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" value="{{$purchase_orders->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" value="{{$purchase_orders->stc}}" onkeyup="get_stc(this)" placeholder="Enter Special Term and Condition " class="form-control"> </div> </div> </div> <!-- <div class="row grid-margin"> <div class="col-lg-12"> <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"> <option>Select Delivery Periods</option> @foreach($delivery_periods as $delivery_period) <option value="{{$delivery_period->id}}" {{($purchase_orders->delivery_periods_id==$delivery_period->id)?'selected':''}}>{{$delivery_period->name}}</option> @endforeach </select> <span class="label label-danger" id="add_delivery_period_unit_error" style="display: none;"></span> </div> </div> </div> --> <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 value=''>Select Delivery Periods</option> @foreach($delivery_periods as $delivery_period) <option value="{{$delivery_period->id}}">{{$delivery_period->name}}</option> @endforeach <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> @foreach($payment_terms as $payment_term) <option value="{{$payment_term->id}}">{{$payment_term->name}}</option> @endforeach <option value="other">other</option> </select> </div> </div> </div> <!-- <div class="row grid-margin"> <div class="col-lg-12"> <div class="form-group"> <label>Payment Terms :</label> <select class="form-control" id="payment_terms " name="payment_terms" onchange="get_paymentTerms(this)"> <option value="">Payment Terms</option> @foreach($payment_terms as $payment_term) <option value="{{$payment_term->id}}" {{($purchase_orders->payment_terms_id==$payment_term->id)?'selected':''}}>{{$payment_term->name}}</option> @endforeach </select> <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" id="dt_textarea" style="display: none;"> <div class="form-group" > <label>For other DT:</label> <textarea class="form-control e1" 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> @foreach($po_types as $po_type) <option value="{{$po_type->id}}" {{($purchase_orders->po_type==$po_type->id)?'selected':''}}>{{$po_type->name}}</option> @endforeach </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="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> </div> <!-- <hr> --> <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> @foreach($purchase_requests as $purchase_request) <option value="{{$purchase_request->pr_number}}">{{$purchase_request->pr_number}}</option> @endforeach </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> 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" value="{{$purchase_orders->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" value="{{$purchase_orders->po_gst_amount}}" 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> @endsection @section('script') {{ Html::script("assets/js/jquery.dataTables.min.js")}} {{ Html::script("assets/js/jquery.dataTables.bootstrap.min.js")}} {{ Html::script("assets/js/dataTables.buttons.min.js")}} {{ Html::script("assets/js/buttons.flash.min.js")}} {{ Html::script("assets/js/buttons.html5.min.js")}} {{ Html::script("assets/js/buttons.print.min.js")}} {{ Html::script("assets/js/buttons.colVis.min.js")}} {{ Html::script("assets/js/dataTables.select.min.js")}} {{ Html::script("assets/js/ace-elements.min.js")}} {{ Html::script("assets/js/ace.min.js")}} <script type="text/javascript"> var poData = {}; poData.items = []; poData.vendor = '{{$purchase_orders->vendor_id}}'; poData.circle='{{$purchase_orders->circle}}'; poData.buyer='{{$purchase_orders->business_unit}}'; poData.contact='{{$purchase_orders->contact}}'; poData.bill_to_address='{{$purchase_orders->bill_to_address}}'; poData.delivery_address='{{$purchase_orders->delivery_address}}'; poData.delivery_periods='{{$purchase_orders->delivery_periods}}'; poData.delivery_period_textarea='{{$purchase_orders->delivery_period_textarea}}'; poData.warranty_terms='{{$purchase_orders->warranty_terms}}'; poData.stc='{{$purchase_orders->stc}}'; poData.payment_terms='{{$purchase_orders->payment_terms}}'; poData.payment_term_textarea=''; poData.document_type='{{$purchase_orders->document_type}}'; poData.reference_no='{{$purchase_orders->reference_no}}'; poData._token = $('meta[name="_token"]').attr('content'); localStorage.setItem('poData', JSON.stringify(poData)); get_item(); function get_item(){ var po_id = "{{$purchase_orders->id}}"; var html = ""; if(prNumber != ""){ var url = window.location.origin+"/get-po-items" var data = {}; data._token = $('meta[name="_token"]').attr('content'); data.po_id = po_id; $('#loaderAction').show(); $.ajax({ type: "POST", url: url, data: data, success:function(res){ console.log(res.items); var poData = JSON.parse(localStorage.getItem('poData')); if( poData.items.length >0 ){ $.each(res.items,function(k,v){ if(!is_added(v.id)){ poData.items.push(v); v['is_deleted'] = 0; localStorage.setItem('poData',JSON.stringify(poData)); show_items(); calculate_total(); } }); }else{ $.each(res.items,function(k,v){ poData.items.push(v); v['is_deleted'] = 0; }); localStorage.setItem('poData',JSON.stringify(poData)); show_items(); calculate_total(); } }, error:function(error){ console.log(error); }, dataType: 'json' }); }else{ swal('Error','Please Enter Item Code !', 'error'); } } 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_bussiness_unit(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.buyer = $(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_deliveryPeriods(t){ // var poData = JSON.parse(localStorage.getItem('poData')); // poData.delivery_periods = $(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(); // 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 get_document(t){ // var poData = JSON.parse(localStorage.getItem('poData')); // console.log("this is poDATa"); // //alert($('#document').val()); // poData.document = $(t).val(); // console.log(poData.document); // 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; data._token = $('meta[name="_token"]').attr('content'); $('#loaderAction').show(); $.ajax({ type: "POST", url: url, data: data, success:function(res){ console.log(res.items); var poData = JSON.parse(localStorage.getItem('poData')); if( poData.items.length >0 ){ $.each(res.items,function(k,v){ if(!is_added(v.id)){ poData.items.push(v); v['is_deleted'] = 0; poData.items['is_deleted'] = 0; localStorage.setItem('poData',JSON.stringify(poData)); show_items(); calculate_total(); } }); }else{ $.each(res.items,function(k,v){ poData.items.push(v); v['is_deleted'] = 0; }); localStorage.setItem('poData',JSON.stringify(poData)); show_items(); calculate_total(); } }, 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){ if(val.id == id){ added = true; return false; } }); if(added == true){ return true; }else{ return false; } } function show_items(){ var poData = JSON.parse(localStorage.getItem('poData')); var items = poData.items; var html =""; $.each(items,function(key,val){ let gstAmount=(val.qty*val.rate)*(val.gst/100); let totalAmount=((val.qty*val.rate)*(val.gst/100))+(val.qty*val.rate); // console.log(val.code); html +=`<tr id="item_`+val.id+`"> <td>`+val.PrN+`</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><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+`</td> <td>`+val.gst+`</td> <td id="gstamount_`+val.id+`">`+parseFloat(gstAmount).toFixed(2)+`</td> <td id="totalamount_`+val.id+`">`+totalAmount+`</td> <td><button type="button" class="btn btn-sm btn-danger" onclick="deleteItem(`+val.id+`)"><i class="fa fa-trash"></i></button></td> </tr>`; val.total = 0; }); localStorage.setItem('poData',JSON.stringify(poData)); $('#tbody').html(html); } function deleteItem(id){ // alert(id); var poData = JSON.parse(localStorage.getItem('poData')); var items = poData.items; $(items).each(function (index){ if(items[index].id == id){ // items.splice(index,1); // This will remove the object that first name equals to Test1 items[index]['is_deleted'] = 1; items[index]['qty'] = 0; // items[index].push("is_deleted"); $('#item_'+id).remove(); return false; // This will stop the execution of jQuery each loop. } }); 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); $('#gstamount_'+id).text(gstAmount); $('#totalamount_'+id).text(totalAmount); 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 getvalue(t,id){ var qty = $(t).val(); console.log(qty); if(qty != "" && qty != null){ var qty = parseInt(qty); addCartValueInKey(id,'qty',qty); calculate(id); }else{ addCartValueInKey(id,'qty',0); calculate(id); } } 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 getrate(rate,id){ var rate = $(rate).val(); console.log(rate); if(rate != "" && rate != null){ var qty = parseInt(rate); addCartValueInKey(id,'rate',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)); } $('#updatePurchaseOrderForm').submit(function(e){ e.preventDefault(); //alert("thisi is alrerret indi===fd fdk"); //console.log("yhjfkfdjgdfkfhjdhjgf"); var poData = JSON.parse(localStorage.getItem('poData')); poData.po_amount = $('#po_amount').val(); poData.po_id = $('#po_id').val(); poData.po_gst_amount = $('#poGstGrandTotalAmount').val(); localStorage.setItem('poData',JSON.stringify(poData)); poData = JSON.parse(localStorage.getItem('poData')); 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 = $('#updatePurchaseOrderForm').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: data.po_number +'Purchase Order Updated Successfully!', type: "success" }, function(){ window.location.href = "https://scm.sjslalganj.com/user/all-purchase-order"; }); } if (data.flag == false) { $.each(data.error, function(key,val) { showError('add_'+key+'_error',val); }); } }, error:function(error){ $('.loading-bg').hide(); console.log(data); } }); } 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> @endsection