/
home
/
sjslayjy
/
public_html
/
mosaram
/
app
/
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/add-purchase-order') }}" role="form" method="post" id="makePurchaseOrderForm"> {{csrf_field()}} <div class="row grid-margin"> <div class="col-lg-3"> <div class="form-group"> <label>Customer Name :</label> <input type="text" id="cus_name" name="cus_name" onkeyup="get_cus_name(this)" placeholder="Enter Customer Name" class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Circle :</label> <input type="text" id="circle" name="circle" onkeyup="get_circle(this)" placeholder="Enter Circle Name" class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Description :</label> <input type="text" id="description" name="description" onkeyup="get_description(this)" placeholder="Enter Description" class="form-control"> </div> </div> <div class="col-lg-3"> <div class="form-group"> <label>Project :</label> <input type="text" id="project" name="project" placeholder="Enter Project" onkeyup="get_project(this)" class="form-control"> </div> </div> </div> <!-- <hr> --> <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>Source Name :</label> <input type="text" id="source" name="source" onkeyup="get_source(this)" placeholder="Enter Source Name" class="form-control"> </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>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> <!-- <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>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 class="col-lg-3"> <div class="form-group"> <label>Vertical :</label> <input type="text" id="vertical" name="vertical" onkeyup="get_vertical(this)" placeholder="Enter Vertical " class="form-control"> </div> </div> <!-- <div class="col-lg-3"> <span>Supplier Name :</span> <input type="text" id="cus_name" name="cus_name" placeholder="Enter Customer Name" class="form-control"> </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"> </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> Qty</th> <th> Unit Price </th> <th> Total </th> <th> --- </th> </tr> </thead> <tbody id="tbody"> </tbody> </table> </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 poData = {}; poData.items = []; poData.cus_name = ''; poData.circle=''; poData.description=''; poData.project=''; poData.requested_by=''; poData.source=''; poData.delivery_location=''; poData.supplier_contact=''; poData.site_name=''; poData.vertical=''; poData._token = $('meta[name="_token"]').attr('content'); localStorage.setItem('poData', JSON.stringify(poData)); function get_cus_name(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.cus_name = $(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)); } function get_description(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.description = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_project(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.project = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_requested_by(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.requested_by = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_source(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.source = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_delivery_location(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.delivery_location = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_supplier_name(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.supplier_name = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_supplier_contact(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.supplier_contact = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_site_name(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.site_name = $(t).val(); localStorage.setItem('poData',JSON.stringify(poData)); } function get_vertical(t){ var poData = JSON.parse(localStorage.getItem('poData')); poData.vertical = $(t).val(); 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){ 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); localStorage.setItem('poData',JSON.stringify(poData)); show_items(); } }); }else{ $.each(res.items,function(k,v){ poData.items.push(v); }); localStorage.setItem('poData',JSON.stringify(poData)); show_items(); } }, 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){ // 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="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></td> <td><button type="button" class="btn btn-sm btn-danger" onclick="deleteItem(`+val.id+`)"><i class="fa fa-trash"></i></button></td> </tr>`; ; }); 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 $('#item_'+id).remove(); return false; // This will stop the execution of jQuery each loop. } }); poData.items = items; localStorage.setItem('poData',JSON.stringify(poData)); } 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 getvalue(t,id){ var item_qty = $(t).val(); if(item_qty != "" && item_qty != null){ var item_qty = parseInt(item_qty); addCartValueInKey(id,'item_qty',item_qty); }else{ addCartValueInKey(id,'item_qty',0); } } 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(){ var 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 = $('#makePurchaseOrderForm').attr('action'); $.ajax({ url: url, method: 'POST', data: poData, dataType:'json', success: function(data){ if(data.success == true){ swal('Success','Purchase Order Added Successfully !','success'); window.location.reload(); } }, error:function(error){ 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; } } </script> @endsection