EVOLUTION-NINJA
Edit File: invoice.php
<?php echo view('includes/header');?> <!---<link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/assets/css/multiple-select.css'); ?>" /> <script src="<?php echo base_url('public/assets/js/multiple-select.js'); ?>" type="text/javascript"></script>--> <link rel="stylesheet" href="<?php echo base_url('public/assets/jquery.sumoselect-master/sumoselect.css');?>"> <script src="<?php echo base_url('public/assets/jquery.sumoselect-master/jquery.sumoselect.min.js');?>"></script> <section class="content-header"> <h1> Billing Form</h1> </section> <!--- section 1 --> <section class="content"> <!-- Button trigger modal --> <section class="content"> <div class="col-sm-12 col-md-12"> <form id="land_owner" class="form-inline invoice_form" method="post"> <input type="hidden" class="form-control col-sm-8 invoice_id_pk" name="id" required="required"> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Project</label> <select class="form-control col-sm-8 projects_list" onchange="get_project();" name="project_name" required="required"> <option value="">Select project</option> <?php foreach($project_names as $project_name){?> <option value="<?php echo $project_name->project_id;?>"><?php echo $project_name->project_name;?></option> <?php } ?> </select> </div> </div> <!-- row 1----> <div class="row"> <div id = "jaytab3" style="margin-top:3%;margin-left: -28px;" class="col-sm-12 grid"> <div class="grid_div"></div><table id="list3"></table> <div id="pager3"></div> <div id="dialogSelectRow3" title="Warning" style="display:none"> <p>Please select row</p> </div> <div class="row land_owner_a"> <div class="col-sm-4 col-md-4"></div> <div class="col-sm-4 col-md-4" style="margin-top:2%;"> <button type="button" class="btn btn-primary center-block get_site_grid" style="display:none;width:70%;" onclick="getSelectedRow()" >Submit</button> </div> <div class="col-sm-4 col-md-4"></div> </div> <!-- row 4----> </div> </div> <div class="row show-remaining" style="display:none;"> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4 col-md-4">Bank Holder Name</label> <select class="form-control col-sm-8 holder_name" name="bank_holder_name" id="sel1" required="required"> <option value="">Select</option> <?php foreach($bank_name as $val) { ?> <option value="<?php echo $val->holder_name;?>"><?php echo $val->holder_name;?></option> <?php } ?> </select> </div> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Invoice Type</label> <select class="form-control col-sm-8" id="it" name="invoice_type" onchange="inv_number_generate($(this).val());" required="required"> <option value="">Select</option> <option value="Proforma Invoice">Proforma Invoice</option> <option value="Tax Invoice">Tax Invoice</option> </select> </div> </div> <!-- row 2----> <div class="row land_owner_a"> <input type="hidden" class="form-control col-sm-8 site_list" name="site_list" required="required"> <input type="hidden" class="form-control col-sm-8 site_number" name="site_number" required="required"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Invoice Number</label> <input type="text" class="form-control col-sm-8" id="invoice_number" name="invoice_number" value="<?php //if(!empty($invoice->id)){echo $invoice->id;} else {echo "1";}?>" required="required"> </div> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Date</label> <input type="text" class="form-control col-sm-8 dob date_picker" name="day" max=""> </div> </div> <!-- row 2----> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">To</label> <textarea class="form-control col-sm-8" name="to" required="required" style="width:280px !important;"></textarea> </div> </div> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Total SQFT</label> <input type="text" class="form-control col-sm-8 total_sqft" name="total_sqft" required="required"> </div> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4 col-md-4">Rate/SQFT</label> <input type="text" class="col-sm-8 rate_per_sqft" name="rate_per_sqft" required="required"> </div> </div> <!-- row 2----> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Basic Amount</label> <input type="text" class="form-control col-sm-8 total_amt" name="total_amt" required="required"> </div> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">SGST</label> <input type="text" class="form-control col-sm-8 sgst" name="sgst" required="required"> </div> </div> <!-- row 2----> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">CGST</label> <input type="text" class="form-control col-sm-8 cgst" name="cgst" required="required"> </div> <div class="form-group col-sm-12 col-md-6"> <label class="col-sm-4">Total amount</label> <input type="text" class="form-control col-sm-8 total_withgst_amt" onfocusout="myFunction()" name="total_withgst_amt" required="required"> </div> </div> <!-- row 2----> <div class="row land_owner_a"> <div class="form-group col-sm-4 col-md-4"></div> <div class="col-sm-4 col-md-4"> <button type="submit" class="btn btn-primary center-block submit">Save and Print</button> </div> <div class="col-sm-4 col-md-4"></div> </div> <!-- row 4----> </div> </form> </div> </section> <style type="text/css"> a { color: inherit; } .form-control:focus, input[type="Submit"]:focus, input[type="button"]:focus { border-color: #FF0000; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6); } #FrmGrid_list2 { width: 100% !important; } .ui-jqdialog .ui-jqdialog-titlebar { height: 29px !important; background-color: #001a00; color: white; padding-left: 10px; } .fm-button { height: 21px !important; padding: 1px; margin-right: 10px !important; height: 21px !important; width: 50%; margin-top: -7px !important; } .ui-jqdialog-content td.navButton { padding-top: 12px !important; } .ui-jqgrid .ui-jqgrid-titlebar { height: 27px !important; background:#AF0100 !important; color:white !important; } .ui-jqgrid-bdiv { height: auto !important; } .ui-widget-overlay { z-index:0 !important; } .ui-resizable { z-index:9999 !important; } .ui-widget-header { background: #1e7ad7 !important; } .ui-jqgrid-hdiv ui-state-default { width: 873px !important; cursor: default!important } ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #fed22f; background: #ffe45c; } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { font-weight: bold; color: black; } .ui-jqgrid .ui-jqgrid-bdiv { overflow-y: scroll; //overflow-x: hidden; } .agr_appr { font-weight:bold !important; color:#AF0100; cursor: pointer; } /*.content-wrapper { min-height: 1170px !important; }*/ </style> <!-- This is the Javascript file of jqGrid --> <script type="text/ecmascript" src="<?php echo base_url('public/jqgrid/js/jquery.jqGrid.min.js'); ?>"></script> <!-- This is the localization file of the grid controlling messages, labels, etc. <!-- We support more than 40 localizations --> <script type="text/ecmascript" src="<?php echo base_url('public/jqgrid/js/i18n/grid.locale-en.js'); ?>"></script> <!-- A link to a jQuery UI ThemeRoller theme, more than 22 built-in and many more custom --> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/assets/css/jquery-ui.css'); ?>" /> <!-- The link to the CSS that the grid needs --> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/jqgrid/css/ui.jqgrid.css'); ?>" /> <script src="<?php echo base_url('public/assets/js/jquery-ui.js'); ?>" type="text/javascript"></script> <script type="text/javascript"> function date_picker() { console.log(" button clicked!"); } $('.date_picker').datepicker({ changeMonth:true, changeYear:true, yearRange: "1940:c", // dateFormat: 'yy-mm-dd' dateFormat: 'dd-mm-yy' }); $('.date_picker').datepicker('setDate', 'now'); function fun_delete(rowId) { var id = rowId.closest('tr').attr('id'); swal({ title: "Are you sure?", text: "You will not be able to recover this data!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, delete it!", cancelButtonText: "No, cancel plz!", closeOnConfirm: false, closeOnCancel: false }, function(isConfirm){ if (isConfirm) { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); // test.attr('disabled', 'disabled'); // test.text("Deleting..."); $.ajax({ type : 'post', url : '<?php echo site_url("delete_product_details")?>', data : {id:id}, success:function(response) { //response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { toastr["success"](response.message); $("#list3").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); } } }); } else { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); } }); } $('.invoice_form').submit(function(e){ e.preventDefault(); formdata = new FormData($(this)[0]); $(".submit_button").attr('disabled', 'disabled'); $(".submit_button").text("Submitting..."); $.ajax({ type : 'post', url : '<?php echo site_url("add-invoice-details")?>', data : formdata, contentType: false, processData: false, success:function(response){ // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { //toastr["success"](response.message); setTimeout(function(){ window.location.href = "<?php echo site_url('invoice-print');?>?id="+response.message }, 1500); } else if(response.result == 2) { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } else { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } } }); }); function get_project() { var project_id=$('.projects_list').val(); jQuery("#list3").jqGrid({ url:"<?php echo site_url('get_project_sites')?>?project_id="+project_id, type : "GET", datatype: "json", colNames:['SI','','Project','Site','Dimension','Date','TSV','Status'], colModel:[ {name:'id',index:'id', width:150, hidden:true,editable:false,key:true}, {name:'project_id',index:'project_id',hidden:true, width:150,editable:false}, {name:'project_name',index:'project_name', width:150,editable:false}, {name:'site_number',index:'site_number', width:75, editable:false}, {name:'dimension',index:'dimension', width:75, editable:false}, {name:'registration_date',index:'registration_date', width:100,formatter: 'date', formatoptions: { srcformat: 'Y/m/d', newformat: 'd-m-Y'}, editable:false}, {name:'tsv',index:'tsv', width:75, editable:false}, {name:'booking_status',index:'booking_status', width:100, editable:false}, ], rowNum:20, rowTotal: 2000, rowList : [10,20,30,50,100,500,1000], rownumbers: true, rownumWidth: 40, pager:"#pager3", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, emptyrecords: loctionreload, multiselect: true, // multiboxonly: true, //loadonce:true, caption:" Site Details", }); $('.get_site_grid').show(); $("#list3").jqGrid("setLabel", "rn", "SL"); $("#list3").jqGrid('navGrid','#pager3', {edit:true,add:false,del:false,search:true,refreshstate:"current"}, { }, { }, { }, { sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'], closeOnEscape: true, multipleSearch: true, closeAfterSearch: true } ); } function loctionreload() { toastr["success"]('No data Found for this project'); setTimeout(function(){ location.reload(); }, 1500); } function getSelectedRow() { var id; id = jQuery("#list3").jqGrid('getGridParam','selarrrow'); var row = $("#list3").jqGrid('getGridParam','selrow'); if(row != null ) { var $grid = $("#list3"), selIds = $grid.jqGrid("getGridParam", "selarrrow"), i, n, cellValues1 = []; cellValues2 = []; for (i = 0, n = selIds.length; i < n; i++) { cellValues1.push($grid.jqGrid("getCell", selIds[i], "project_id")); cellValues2.push($grid.jqGrid("getCell", selIds[i], "site_number")); var project_id=cellValues1.join(","); var site_id=cellValues2.join(","); } $.ajax({ type : 'post', url : '<?php echo site_url("get_sites_sqft")?>', data : {'project_id':cellValues1,'site_id':cellValues2}, success:function(response) { // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { $('.total_sqft').val(response.message); $('.site_list').val(response.site_id); $('.site_number').val(response.site_number); //$("#list3").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); } } }); $('#list3'+i).addClass( "ui-state-highlight" ); $('.show-remaining').show(); } else $( "#dialogSelectRow3" ).dialog(); } $(".rate_per_sqft").focusout(function(){ var total_sqft=$('.total_sqft').val(); var rate_per_sqft=$('.rate_per_sqft').val(); var amount=parseFloat(total_sqft) * parseFloat(rate_per_sqft); $('.total_amt').val(amount.toFixed()); }); $(".total_amt").focusout(function(){ var total_sqft=$('.total_sqft').val(); var total_amt=$('.total_amt').val(); var amount=parseFloat(total_amt) / parseFloat(total_sqft); $('.rate_per_sqft').val(amount.toFixed()); }); $(".sgst").focusout(function(){ var total_sqft=$('.total_sqft').val(); var rate_per_sqft=$('.rate_per_sqft').val(); var amount=parseFloat(total_sqft) * parseFloat(rate_per_sqft); var sgst=$('.sgst').val(); var cgst=$('.cgst').val(); var total_sgst=(parseFloat(amount) * parseFloat(sgst))/100; var total_cgst=(parseFloat(amount) * parseFloat(cgst))/100; if(total_cgst > 0) { var tot_amount=parseFloat(amount) + parseFloat(total_sgst) + parseFloat(total_cgst); } else { var tot_amount=parseFloat(amount) + parseFloat(total_sgst); } $('.total_withgst_amt').val(tot_amount.toFixed()); }); $(".cgst").focusout(function(){ var total_sqft=$('.total_sqft').val(); var rate_per_sqft=$('.rate_per_sqft').val(); var amount=parseFloat(total_sqft) * parseFloat(rate_per_sqft); var sgst=$('.sgst').val(); var cgst=$('.cgst').val(); var total_sgst=(parseFloat(amount) * parseFloat(sgst))/100; var total_cgst=(parseFloat(amount) * parseFloat(cgst))/100; if(total_sgst>0) { var tot_amount=parseFloat(amount) + parseFloat(total_sgst) + parseFloat(total_cgst); } else { var tot_amount=parseFloat(amount) + parseFloat(total_cgst); } $('.total_withgst_amt').val(tot_amount.toFixed()); }); function myFunction() { var total_withgst_amt=$('.total_withgst_amt').val(); //alert(total_withgst_amt); var total_sqft=$('.total_sqft').val(); var sgst=$('.sgst').val(); var cgst=$('.cgst').val(); var total_gst = parseFloat(sgst)+parseFloat(cgst); var amount = (parseFloat(total_withgst_amt)-(parseFloat(total_withgst_amt)*(100/(100+parseFloat(total_gst))))); var amount1 = parseFloat(total_withgst_amt)- parseFloat(amount); var rate_per_sqft = parseFloat(amount1)/parseFloat(total_sqft); $('.total_amt').val(amount1.toFixed()); $('.rate_per_sqft').val(rate_per_sqft.toFixed()); } function inv_number_generate(i) { var num=1; var tax=i; var holder=$(".holder_name").val(); $.ajax({ type : 'post', url : '<?php echo site_url("get_invoice_no")?>', data : {type:tax,holder:holder}, success:function(response) { // alert(response); var responsed=jQuery.parseJSON(response); //alert(responsed.invoice_number); if($.isEmptyObject(responsed.invoice_number)) { $("#invoice_number").val(num); } else { var inv=parseInt(responsed.invoice_number)+1; $("#invoice_number").val(inv); } } }); } </script> <?php echo view('includes/footer');?>