/
home
/
sjslayjy
/
public_html
/
scm
/
resources
/
views
/
dashboard
/
pr
/
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 Request</li> </ul> </div> <div class="page-content"> <div class="row"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Purchase Request</h3> </div> <div class="panel-body"> <form action="{{ URL('/user/add-purchase-request') }}" role="form" method="post" id="makePurchaseRequestForm" enctype="multipart/form-data" > {{csrf_field()}} <div class="row grid-margin"> <div class="col-lg-3"> <div class="form-group"> <label>Requestor Name :</label> <input type="text" id="requested_by" name="requested_by" onkeyup="get_requested_by(this)" placeholder="Enter Requestor Name" class="form-control"> </div> </div> <div class="col-lg-3"> <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}}">{{$circle->name}}</option> @endforeach </select> <span class="label label-danger" id="add_circle_error" style="display: none;"></span> </div> </div> <div class="col-lg-3"> <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> @foreach($business_units as $business_unit) <option value="{{$business_unit->id}}">{{$business_unit->name}}</option> @endforeach </select> <span class="label label-danger" id="add_business_unit_error" style="display: none;"></span> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Function :</label> <input type="text" id="vertical" name="vertical" onkeyup="get_vertical(this)" placeholder="Enter Function " class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Vertical :</label> <select class="form-control e1" id="department" name="department" onchange="get_department(this)"> <option value="">Select Vertical</option> @foreach($departments as $department) <option value="{{$department->id}}">{{$department->name}}</option> @endforeach </select> <span class="label label-danger" id="add_department_error" style="display: none;"></span> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Project :</label> <select class="form-control e1" id="project" name="project" onchange="get_project(this)"> <option value="">Select Project</option> @foreach($projects as $project) <option value="{{$project->id}}">{{$project->name}}</option> @endforeach </select> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Delivery Location :</label> <input type="text" id="delivery_location" name="delivery_location" onkeyup="get_delivery_location(this)" placeholder="Enter Delivery Location" class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Site Name :</label> <input type="text" id="site_name" name="site_name" onkeyup="get_site_name(this)" placeholder="Enter Site Name" class="form-control"> </div> </div> </div> <!-- <hr> --> <div class="row grid-margin"> <div class="col-lg-3"> <div class="form-group"> <label>Customer Name :</label> <select class="form-control e1" id="cus_name" name="cus_name" onchange="get_cus_name(this)"> <option value="">Select Customer</option> @foreach($customers as $customer) <option value="{{$customer->id}}">{{$customer->name}}</option> @endforeach </select> <span class="label label-danger" id="add_customer_error" style="display: none;"></span> </div> </div> <!-- <div class="col-lg-3"> <div class="form-group"> <label>Supplier Name :</label> <input type="text" id="suppler_name" name="supplier_name" onkeyup="get_supplier_name(this)" placeholder="Enter Customer Name" class="form-control"> </div> </div> --> <div class="col-md-3"> <div class="form-group"> <label for="name">Document :</label> <input class="form-control" type="file" name="document" id="document" > <!-- onchange="getFile(this)" --> <span class="label label-danger" id="add_document_error" style="display: none;"></span> </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="Code" name="code" placeholder="Enter Item Code" class="form-control"> --> <select class="e1" name="code" id="Code" class="form-control"> <option value="">Search and Inter Item Code</option> @foreach($items as $item) <option value="{{$item->code}}">{{$item->code}}</option> @endforeach </select> </div> <div class="col-lg-2"> <button type="button" onclick="addselectedItem()" class="btn btn-success btn-sm">Add Item</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> Item Code</th> <th> Description</th> <th>Make</th> <th>UOM</th> <th>Specification</th> <th> Qty</th> <th> Unit Price </th> <th> Total </th> <th> --- </th> </tr> </thead> <tbody id="tbody"> </tbody> </table> </div> <!-- <hr> --> <div class="row grid-margin"> <!-- <div class="col-lg-3"> <div class="form-group"> <label>Supplier Contact :</label> <input type="text" id="supplier_contact" name="supplier_contact" onkeyup="get_supplier_contact(this)" placeholder="Enter Supplier Contact" class="form-control"> </div> </div> --> <div class="col-lg-3"> <div class="form-group"> <label>Recomended Source if any :</label> <input type="text" id="source" name="source" onkeyup="get_source(this)" placeholder="Enter Recomended Source if any" class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Remarks :</label> <input type="text" id="description" name="description" onkeyup="get_description(this)" placeholder="Enter Remarks" class="form-control"> </div> </div> </div> <button type="submit" id="generateOrderBtn" class="btn btn-primary float-right">Submit</button> </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 prData = {}; prData.items = []; prData.cus_name = ''; prData.circle=''; prData.description=''; prData.project=''; prData.requested_by=''; prData.source=''; prData.delivery_location=''; // prData.supplier_name=''; prData.supplier_contact=''; prData.site_name=''; prData.vertical=''; prData.business_unit=''; prData.department=''; prData._token = $('meta[name="_token"]').attr('content'); localStorage.setItem('prData',JSON.stringify(prData)); function get_cus_name(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.cus_name = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_circle(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.circle = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_description(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.description = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_project(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.project = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_requested_by(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.requested_by = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_source(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.source = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_delivery_location(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.delivery_location = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } // function get_supplier_name(t){ // var prData = JSON.parse(localStorage.getItem('prData')); // prData.supplier_name = $(t).val(); // localStorage.setItem('prData',JSON.stringify(prData)); // } function get_supplier_contact(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.supplier_contact = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_site_name(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.site_name = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_vertical(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.vertical = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_business_unit(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.business_unit = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function get_department(t){ var prData = JSON.parse(localStorage.getItem('prData')); prData.department = $(t).val(); localStorage.setItem('prData',JSON.stringify(prData)); } function getFile(t){ // console.log("this is t :"+t.files[0]); //var fileSelect = document.getElementById('document'); // var prData = JSON.parse(localStorage.getItem('prData')); //var file =fileSelect.files[0]; prData.file=t.files; //prData.file=file; localStorage.setItem('prData',JSON.stringify(prData)); // var prData = JSON.parse(localStorage.getItem('prData')); // prData.file = $(t).val(); // localStorage.setItem('prData',JSON.stringify(prData)); } // localStorage.setItem('prData', JSON.stringify(prData)); function addselectedItem(){ var code = $('#Code').val(); var html = ""; if(code != ""){ var url = window.location.origin+"/user/get-item"; var data = {}; data.code = code; $('#loaderAction').show(); $.ajax({ type: "POST", url: url, data: $('#makePurchaseRequestForm').serialize(), success:function(res){ var prData = JSON.parse(localStorage.getItem('prData')); console.log(prData); var is_added = false; $.each(prData.items,function(key,val){ if(val.code == code){ is_added = true; } }); if(is_added == false){ $.each(res.item,function(key,val){ html +=`<tr id="item_`+val.id+`"> <td>`+val.code+`</td> <td>`+val.description+`</td> <td>`+val.make+`</td> <td>`+val.uom+`</td> <td>`+val.specification+`</td> <td><input type="text" id="input_`+val.id+`" 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>`+val.rate+`</td> <td id="itemtotal_`+val.id+`"></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.qty = 0; val.total = 0; prData.items.push(val); }); localStorage.setItem('prData',JSON.stringify(prData)); $('#tbody').append(html); }else{ swal('Error','Selected Item Alredy added !! !!!','warning'); } }, error:function(error){ console.log(error); }, dataType: 'json' }); }else{ swal('Error','Please Enter Item Code !', 'error'); } } function deleteItem(id){ // alert(id); var prData = JSON.parse(localStorage.getItem('prData')); var items = prData.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 $('#item_'+id).remove(); return false; // This will stop the execution of jQuery each loop. } }); prData.items = items; localStorage.setItem('prData',JSON.stringify(prData)); } 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 check_zero(t){ var qty = $(t).val(); if(qty == "" || qty == null){ $(t).val(0); } } function calculate_total(){ var prData = JSON.parse(localStorage.getItem('prData')); var sub_total = 0; var gst_total = 0; var grand_total = 0; $.each(prData.Items,function(k,val){ let subtotal = parseFloat(val.TotAmt); sub_total = sub_total + subtotal; }); grand_total = sub_total; prData.grand_total = parseFloat(grand_total.toFixed(2)); prData.ValDtls.CesVal = 0.00; prData.ValDtls.TotInvVal = parseFloat(grand_total.toFixed(2)); $('#sub_total').text(sub_total.toFixed(2)); if(csl != ssl){ $('#igst_total').text(gst_total.toFixed(2)); $('#gst_total').text('0.00'); prData.ValDtls.IgstVal = gst_total; prData.ValDtls.CgstVal = 0.00; prData.ValDtls.SgstVal = 0.00; }else{ $('#gst_total').text(gst_total.toFixed(2)); $('#igst_total').text('0.00'); prData.ValDtls.CgstVal = parseFloat((gst_total/2).toFixed(2)); prData.ValDtls.SgstVal = parseFloat((gst_total/2).toFixed(2)); prData.ValDtls.IgstVal = 0.00; } $('#grand_total').text(grand_total.toFixed(2)); $('#loaderAction').hide(); localStorage.setItem('generateInvoice',JSON.stringify(prData)); } function calculate(id){ var prData = JSON.parse(localStorage.getItem('prData')); $.each(prData.items,function(key,val){ if(val.id == id){ let qty = parseFloat(val.qty); let rate =parseFloat(val.rate); let total = qty*rate; $('#itemtotal_'+id).text(total); addCartValueInKey(id,'qty',qty); addCartValueInKey(id,'total',total.toFixed(2)); } }); calculate_total(); } function getvalue(t,id){ var item_qty = $(t).val(); if(item_qty != "" && item_qty != null){ var item_qty = parseFloat(item_qty); addCartValueInKey(id,'qty',item_qty); calculate(id); }else{ addCartValueInKey(id,'qty',0); calculate(id); } } function addCartValueInKey(id,key,value){ var prData = JSON.parse(localStorage.getItem('prData')); $.each(prData.items,function(k,val){ if(parseInt(val.id) == id){ prData.items[k][key] = value; } }); localStorage.setItem('prData',JSON.stringify(prData)); } $('#makePurchaseRequestForm').submit(function(){ // var file = $("#document").val(); // console.log("file :"+file ); var prData = JSON.parse(localStorage.getItem('prData')); if(prData.circle == "" || prData.customer == "" || prData.project == "" || prData.business_unit == "" || prData.department == ""){ swal('Error','Please select Circle, Customer, Project, Business Unit, Department!! !!!','error'); }else if(prData.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 = $('#makePurchaseRequestForm').attr('action'); var token = "{{ csrf_token() }}"; $.ajax({ url: url, method: 'POST', data: $('#makePurchaseRequestForm').serialize(), dataType:'json', success: function(data){ //alert(data); if(data.success == true){ // swal('Success',data.pr_number +'Purchase Request Added Successfully !','success'); // window.setTimeout(function(){ // location.reload(); // } ,3000); swal({ title: "Success", text: data.pr_number +'Purchase Request Added Successfully!', type: "success" }, function(){ location.reload(); } ); } }, error:function(error){ console.log(data); } }); } return false; }); function is_valid(){ var prData = JSON.parse(localStorage.getItem('prData')); var check = true; $.each(prData.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; } } </script> <script> $(document).ready(function() { $(".e1").select2(); }); </script> @endsection