/
home
/
sjslayjy
/
public_html
/
scm
/
storage
/
framework
/
views
/
Upload File
HOME
<?php $__env->startSection('title','Vendors'); ?> <?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">Invoice</li> </ul> </div> <div class="page-content"> <div class="row"> <div class="col-xs-12"> <h3 class="header smaller lighter blue">Invoices</h3> <div class="clearfix"> <div class="pull-right tableTools-container"> </div> </div> <div class="table-header"> Results for "Latest Punched Invoices" <div class="widget-toolbar no-border"> <a class="btn btn-xs bigger btn-danger dropdown-toggle" data-toggle="modal" href='#addVendorModal'> Punch Invoice <i class="ace-icon fa fa-plus icon-on-right"></i> </a> </div> </div> <!-- div.table-responsive --> <!-- div.dataTables_borderWrap --> <div> <table id="dynamic-table" class="table table-striped table-bordered table-hover"> <thead> <tr> <th>S.No</th> <th>Unique Identification Number</th> <th>Invoice Punching Date</th> <th>Vendor Name</th> <th>Invoice Number</th> <th>Invoice Date</th> <th>Invoice Amount</th> <th>MRN Status</th> <th>Current Status</th> <th>Action</th> </tr> </thead> <tbody> <?php $__currentLoopData = $invoices; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $invoice): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <tr> <td><?php echo e($loop->iteration); ?></td> <td><?php echo e($invoice->unique_no); ?></td> <td><?php echo e($invoice->created_at ? $invoice->created_at->format('d-m-Y H:i') : ''); ?></td> <td><?php echo e($invoice->vendor_name); ?></td> <td><?php echo e($invoice->invoice_number); ?></td> <td><?php echo e($invoice->invoice_date ? \Carbon\Carbon::parse($invoice->invoice_date)->format('d-m-Y') : ''); ?></td> <td><?php echo e(number_format($invoice->total_invoice_amount, 2)); ?></td> <td> <?php $mrnStatus = getInvoiceMRNStatus($invoice->po_number); ?> <?php if($mrnStatus == 1): ?> <span class="badge badge-success" title="Done">Done</span> <?php elseif($mrnStatus == 2): ?> <span class="badge badge-warning" title="Partially Done">Partially Done</span> <?php elseif($mrnStatus == 3): ?> <span class="badge badge-danger" title="Not Done">Not Done</span> <?php endif; ?> </td> <td> <?php if($invoice->current_status == 'Pending with User'): ?> <span class="badge badge-primary"><?php echo e($invoice->current_status); ?></span> <?php elseif($invoice->current_status == 'Submitted to Finance'): ?> <span class="badge badge-success"><?php echo e($invoice->current_status); ?></span> <?php elseif(!empty($invoice->current_status)): ?> <span class="badge badge-info"><?php echo e($invoice->current_status); ?></span> <?php else: ?> <span class="badge badge-warning">Pending with SCM</span> <?php endif; ?> </td> <td> <div class="btn-group"> <a class="btn btn-xs btn-warning" href="<?php echo e(url('user/invoice-details/'.$invoice->id)); ?>"> <i class="ace-icon fa fa-eye bigger-120"></i></a> <button type="button" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#updateStatusModal" data-id="<?php echo e($invoice->id); ?>"> <i class="ace-icon fa fa-refresh"></i> Update Status </button> </div> </td> </tr> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </tbody> </table> </div> </div> </div> </div><!-- /.page-content --> </div> </div><!-- /.main-content --> <div class="modal fade" id="editLocationModal"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Update Vendor</h4> </div> <div class="modal-body" id="EditBodyLocation"> </div> </div> </div> </div> <!-- Add Punch Invoice Modal --> <div class="modal fade" id="addVendorModal"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Punch Invoices</h4> </div> <div class="modal-body"> <form action="<?php echo e(route('save.invoice')); ?>" method="POST" id="addInvoiceForm" enctype="multipart/form-data"> <?php echo csrf_field(); ?> <div class="row"> <div class="col-md-4"> <?php $documents = ['Invoice', 'Debit Note', 'Credit Note']; ?> <div class="form-group"> <label for="doc_type">Document Type</label> <select class="form-control" name="doc_type" id="doc_type"> <option value="">Select Document Type</option> <?php $__currentLoopData = $documents; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $document): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e(strtolower($document)); ?>"><?php echo e($document); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_doc_type_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <?php $invoices = ['Supply', 'Services', 'Rental']; ?> <div class="form-group"> <label for="invoice_type">Invoice Type</label> <select class="form-control" name="invoice_type" id="invoice_type"> <option value="">Select Invoice Type</option> <?php $__currentLoopData = $invoices; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $invoice): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e(strtolower($invoice)); ?>"><?php echo e($invoice); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_invoice_type_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="delivery_place">Place Of Delivery/Services</label> <input type="text" class="form-control" name="delivery_place" id="delivery_place" placeholder="Place Of Delivery"> <span class="label label-danger" id="add_delivery_place_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="invoice_number">Invoice Number</label> <input type="text" class="form-control" name="invoice_number" id="invoice_number" placeholder="Invoice Number"> <span class="label label-danger" id="add_invoice_number_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="invoice_date">Invoice Date</label> <input type="date" class="form-control" name="invoice_date" id="invoice_date" placeholder="Invoice Date"> <span class="label label-danger" id="add_invoice_date_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <?php $vendor_types = ['Registered', 'Unregistered']; ?> <div class="form-group"> <label for="vendor_type">Vendor Type</label> <select class="form-control" name="vendor_type" id="vendor_type"> <option value="">Select Vendor Type</option> <?php $__currentLoopData = $vendor_types; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $vendor_type): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e(strtolower($vendor_type)); ?>"><?php echo e($vendor_type); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_vendor_type_error" style="display: none;"></span> </div> </div> <div class="col-md-4" id="vendor_code_group" style="display:none;"> <div class="form-group"> <label for="vendor_code_dropdown">Vendor Code</label> <select class="form-control" name="vendor_code" id="vendor_code_dropdown"> <option value="">Select Vendor Code</option> <?php if(isset($registered_vendors)): ?> <?php $__currentLoopData = $registered_vendors; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $vendor): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($vendor->vendor_code); ?>"><?php echo e($vendor->vendor_code); ?>-<?php echo e($vendor->vendor_name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> <?php endif; ?> </select> <span class="label label-danger" id="add_vendor_code_error" style="display: none;"></span> </div> </div> <div class="col-md-4" id="vendor_code_text_group"> <div class="form-group"> <label for="vendor_code">Vendor Code</label> <input type="text" class="form-control" name="vendor_code" id="vendor_code_text" placeholder="Vendor Code"> <span class="label label-danger" id="add_vendor_code_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="vendor_name">Vendor Name</label> <input type="text" class="form-control" name="vendor_name" id="vendor_name" placeholder="Vendor Name"> <span class="label label-danger" id="add_vendor_name_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="vendor_bill_address">Vendor Billing Address</label> <input type="text" class="form-control" name="vendor_bill_address" id="vendor_bill_address" placeholder="Vendor Billing Address"> <span class="label label-danger" id="add_vendor_bill_address_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="pan_no">Vendor PAN Number</label> <input class="form-control" name="pan_no" id="pan_no" placeholder="PAN No"> <span class="label label-danger" id="add_pan_no_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="gst_no">Vendor GST Number</label> <input type="text" class="form-control" name="gst_no" id="gst_no" placeholder="GST Number"> <span class="label label-danger" id="add_gst_no_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="margin-bottom: 32px; border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="msme_type">Vendor MSME Type</label> <input type="text" class="form-control" name="msme_type" id="msme_type" placeholder="Vendor MSME Type"> <span class="label label-danger" id="add_msme_type_error" style="display: none;"></span> </div> </div><hr> <div class="container"> <!-- Row 1: PO/WO Number & PR Number --> <div class="form-row"> <div class="form-group col-md-3"> <label for="po_number">PO/WO Number</label> <select class="form-control" name="po_number" id="po_number"> <option value="">Select PO/WO Number</option> <?php $__currentLoopData = $purchase_orders; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $po): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($po->po_number); ?>"><?php echo e($po->po_number); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span class="label label-danger" id="add_po_number_error" style="display: none;"></span> </div> <div class="form-group col-md-3"> <label for="reference_no">PR Number</label> <input type="text" class="form-control" name="reference_no" id="reference_no" placeholder="PR Number" readonly> <span class="label label-danger" id="add_reference_no_error" style="display: none;"></span> </div> </div> </div> <div class="container"> <div class="form-row"> <div class="form-group col-md-3"> <label for="po_date">PO/WO Date</label> <input type="text" class="form-control" name="po_date" id="po_date" placeholder="PO Date" readonly> <span class="label label-danger" id="add_po_date_error" style="display: none;"></span> </div> <div class="form-group col-md-3"> <label for="hindi_name">PR Date</label> <input type="text" class="form-control" name="pr_date" id="pr_date" placeholder="PR Date" readonly> <span class="label label-danger" id="add_pr_date_error" style="display: none;"></span> </div> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="name">Vertical</label> <input type="text" class="form-control" name="verticle" id="verticle" placeholder="Vertical" readonly> <span class="label label-danger" id="add_verticle_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="name">Customer</label> <input type="text" class="form-control" name="customer" id="customer" placeholder="Customer" readonly> <span class="label label-danger" id="add_customer_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="margin-bottom: 16px;"> <div class="form-group"> <label for="circle">Circle</label> <input type="text" class="form-control" name="circle" id="circle" placeholder="Circle" readonly> <span class="label label-danger" id="add_circle_error" style="display: none;"></span> </div> </div> </div> <div class="row" style="margin-top: 32px; border-top: 1px solid #e5e5e5; padding-top:20px;"> <div class="col-md-4"> <div class="form-group"> <label for="bill_to_gst">Bill To GST</label> <input type="text" class="form-control" name="bill_to_gst" id="bill_to_gst" placeholder="Bill To GST"> <span class="label label-danger" id="add_bill_to_gst_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="ship_to_gst">Ship To GST</label> <input type="text" class="form-control" name="ship_to_gst" id="ship_to_gst" placeholder="Ship To GST"> <span class="label label-danger" id="add_ship_to_gst_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="gate_entry_number">Gate Entry Number</label> <input type="text" class="form-control" name="gate_entry_number" id="gate_entry_number" placeholder="Gate Entry Number"> <span class="label label-danger" id="add_gate_entry_number_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="bill_to_address">Bill To Address</label> <input type="text" class="form-control" name="bill_to_address" id="bill_to_address" placeholder="Bill To Address" readonly> <span class="label label-danger" id="add_bill_to_address_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="ship_to_address">Ship To Address</label> <input type="text" class="form-control" name="ship_to_address" id="ship_to_address" placeholder="Ship To Address" readonly> <span class="label label-danger" id="add_ship_to_address_error" style="display: none;"></span> </div> </div> <div class="col-md-4" style="margin-bottom: 48px; border-bottom: 1px solid #e5e5e5;padding-bottom:20px;"> <div class="form-group"> <label for="gate_entry_date">Gate Entry Date/Date Of Delivery</label> <input type="date" class="form-control" name="gate_entry_date" id="gate_entry_date" placeholder="Gate Entry Date/Date Of Delivery"> <span class="label label-danger" id="add_gate_entry_date_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="basic_amount">Basic Amount</label> <input type="text" class="form-control" name="basic_amount" id="basic_amount" placeholder="Basic Amount"> <span class="label label-danger" id="add_basic_amount_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="freight_charges">Freight Charges (If Any)</label> <input type="text" class="form-control" name="freight_charges" id="freight_charges" placeholder="Freight Charges"> <span class="label label-danger" id="add_freight_charges_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="total_basic_amount">Total Basic Amount</label> <input type="text" class="form-control" name="total_basic_amount" id="total_basic_amount" placeholder="Total Basic Amount" readonly> <span class="label label-danger" id="add_total_basic_amount_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="gst_basic_amount">GST on Basic Amount</label> <input type="text" class="form-control" name="gst_basic_amount" id="gst_basic_amount" placeholder="GST on Basic Amount"> <span class="label label-danger" id="add_gst_basic_amount_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="gst_on_freight_charges">GST on Freight Charges</label> <input type="text" class="form-control" name="gst_on_freight_charges" id="gst_on_freight_charges" placeholder="GST on Freight Charges"> <span class="label label-danger" id="add_gst_on_freight_charges_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="total_gst_amount">Total GST Amount</label> <input type="text" class="form-control" name="total_gst_amount" id="total_gst_amount" placeholder="Total GST Amount" readonly> <span class="label label-danger" id="add_total_gst_amount_error" style="display: none;"></span> </div> </div> <div class="col-md-4"> <div class="form-group"> <label for="total_invoice_amount">Total Invoice Amount</label> <input type="text" class="form-control" name="total_invoice_amount" id="total_invoice_amount" placeholder="Total Invoice Amount" readonly> <span class="label label-danger" id="add_total_invoice_amount_error" style="display: none;"></span> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="submit" id="addVendorBtn" class="btn btn-primary">Submit</button> </div> </form> </div> </div> </div> </div> <!-- Add Location Modal --> <!-- Update Status Modal --> <div class="modal fade" id="updateStatusModal" tabindex="-1" role="dialog" aria-labelledby="updateStatusModalLabel"> <div class="modal-dialog" role="document"> <form id="updateStatusForm" enctype="multipart/form-data"> <?php echo csrf_field(); ?> <input type="hidden" name="invoice_id" id="modal_invoice_id"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="updateStatusModalLabel">Update Invoice Status</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="form-group md-3"> <label class="font-weight-bold">Current Status</label> <div class="btn-group-vertical w-100" id="statusOptions"> <div class="btn btn-outline-primary text-left mb-2 py-2 rounded" data-value="Pending with User"> Pending with User </div> <div class="btn btn-outline-primary text-left mb-2 py-2 rounded" data-value="Handover to User for Signoff"> Handover to User for Signoff </div> <div class="btn btn-outline-primary text-left mb-2 py-2 rounded" data-value="Date of the receipt of Invoice from the User"> Date of the receipt of Invoice from the User </div> <div class="btn btn-outline-primary text-left py-2 rounded" data-value="Submitted to Finance"> Submitted to Finance </div> </div> <!-- Hidden input to hold selected status --> <input type="hidden" name="current_status" id="current_status"> </div> <div class="form-group md-3"> <label for="status_name">Name</label> <input type="text" class="form-control" name="status_name" id="status_name" required> </div> <div class="form-group md-3"> <label for="date_of_submission">Date of Submission</label> <input type="date" class="form-control" name="date_of_submission" id="date_of_submission" required> </div> <div class="form-group md-3" id="fileUploadGroup" style="display:none;"> <label for="invoice_file">Attach File</label> <input type="file" class="form-control" name="invoice_file" id="invoice_file"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Update Status</button> </div> </div> </div> </form> </div> </div> <?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")); ?> <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script> <script type="text/javascript"> jQuery(function($) { //initiate dataTables plugin var myTable = $('#dynamic-table').DataTable( { bAutoWidth: false, "aaSorting": [], } ); $.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap'; new $.fn.dataTable.Buttons( myTable, { buttons: [ { "extend": "colvis", "text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>Show/hide columns</span>", "className": "btn btn-white btn-primary btn-bold", columns: ':not(:first):not(:last)' }, { "extend": "copy", "text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>Copy to clipboard</span>", "className": "btn btn-white btn-primary btn-bold" }, { "extend": "csv", "text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>Export to CSV</span>", "className": "btn btn-white btn-primary btn-bold" }, { "extend": "excel", "text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>Export to Excel</span>", "className": "btn btn-white btn-primary btn-bold" }, { "extend": "pdf", "text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>Export to PDF</span>", "className": "btn btn-white btn-primary btn-bold" }, { "extend": "print", "text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>Print</span>", "className": "btn btn-white btn-primary btn-bold", autoPrint: false, message: 'This print was produced using the Print button for DataTables' } ] } ); myTable.buttons().container().appendTo( $('.tableTools-container') ); //style the message box var defaultCopyAction = myTable.button(1).action(); myTable.button(1).action(function (e, dt, button, config) { defaultCopyAction(e, dt, button, config); $('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white'); }); var defaultColvisAction = myTable.button(0).action(); myTable.button(0).action(function (e, dt, button, config) { defaultColvisAction(e, dt, button, config); if($('.dt-button-collection > .dropdown-menu').length == 0) { $('.dt-button-collection') .wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />') .find('a').attr('href', '#').wrap("<li />") } $('.dt-button-collection').appendTo('.tableTools-container .dt-buttons') }); }); </script> <script> $(document).ready(function(){ $("#addInvoiceForm").on('submit', function(e) { e.preventDefault(); $.ajax({ url: $('#addInvoiceForm').attr('action'), method: 'POST', data: new FormData(this), contentType: false, cache: false, processData:false, success: function(data) { if(!data.flag) { // Check if the error is from duplicate GST if (data.error) { // Show GST error directly swal({ title: "Error", text: data.error, type: "error" }); } else { // Handle validation errors $.each(data.errors, function(key, val) { showError('add_'+key+'_error', val); }); } } else { swal({ title: "Success!", text: data.message, type: "success" }, function() { window.location.reload(); }); } } }); }); }); function showError(id,error){ if(typeof(error) === "undefined"){ $('#'+id).hide(); }else{ $('#'+id).show(); $('#'+id).text(error); } } </script> <script> $(document).ready(function() { // Show/hide Vendor Code dropdown or text input based on Vendor Type $('#vendor_type').change(function() { if ($(this).val() === 'registered') { $('#vendor_code_group').show(); $('#vendor_code_dropdown').prop('disabled', false).attr('name', 'vendor_code'); $('#vendor_code_text_group').hide(); $('#vendor_code_text').prop('disabled', true).removeAttr('name'); } else if ($(this).val() === 'unregistered') { $('#vendor_code_group').hide(); $('#vendor_code_dropdown').prop('disabled', true).removeAttr('name'); $('#vendor_code_text_group').show(); $('#vendor_code_text').prop('disabled', false).attr('name', 'vendor_code'); } }); // On Vendor Code dropdown change, fetch and fill details $('#vendor_code_dropdown').change(function() { var code = $(this).val(); if (code) { $.ajax({ url: '/get-vendor-details/' + code, type: 'GET', success: function(data) { $('#vendor_name').val(data.name); $('#vendor_bill_address').val(data.billing_address); $('#pan_no').val(data.pan_no); $('#gst_no').val(data.gst_no); $('#msme_type').val(data.msme_type); }, error: function() { $('#vendor_name').val(''); $('#vendor_bill_address').val(''); $('#pan_no').val(''); $('#gst_no').val(''); $('#msme_type').val('N/A'); } }); } else { $('#vendor_name').val(''); $('#vendor_bill_address').val(''); $('#pan_no').val(''); $('#gst_no').val(''); $('#msme_type').val(''); } }); // On page load, set correct visibility if ($('#vendor_type').val() === 'registered') { $('#vendor_code_group').show(); $('#vendor_code_text_group').hide(); } else { $('#vendor_code_group').hide(); $('#vendor_code_text_group').show(); } }); </script> <script> $(document).ready(function() { // Initialize Select2 for PO dropdown $('#po_number').select2({ width: '100%' }); $('#po_number').change(function() { var po_number = $(this).val(); if (po_number) { $.ajax({ url: '/get-po-details/' + po_number, type: 'GET', success: function(data) { $('#reference_no').val(data.reference_no).prop('readonly', true); $('#po_date').val(data.po_date).prop('readonly', true); $('#pr_date').val(data.pr_date).prop('readonly', true); $('#verticle').val(data.verticle).prop('readonly', true); $('#customer').val(data.customer).prop('readonly', true); $('#circle').val(data.circle).prop('readonly', true); $('#bill_to_address').val(data.bill_to_address).prop('readonly', true); $('#ship_to_address').val(data.ship_to_address).prop('readonly', true); }, error: function() { $('#reference_no, #po_date, #pr_date, #verticle, #customer, #circle, #bill_to_address, #ship_to_address') .val('N/A').prop('readonly', true); } }); } else { $('#reference_no, #po_date, #pr_date, #verticle, #customer, #circle, #bill_to_address, #ship_to_address') .val('').prop('readonly', false); } }); // Vendor Type logic (add to your existing script) $('#vendor_type').change(function() { if ($(this).val() === 'registered') { // ... existing code ... $('#vendor_name, #vendor_bill_address, #pan_no, #gst_no, #msme_type').prop('readonly', true); } else { $('#vendor_name, #vendor_bill_address, #pan_no, #gst_no, #msme_type').prop('readonly', false); } }); $('#vendor_code_dropdown').change(function() { var code = $(this).val(); if (code) { $.ajax({ url: '/get-vendor-details/' + code, type: 'GET', success: function(data) { $('#vendor_name').val(data.name).prop('readonly', true); $('#vendor_bill_address').val(data.billing_address).prop('readonly', true); $('#pan_no').val(data.pan_no).prop('readonly', true); $('#gst_no').val(data.gst_no).prop('readonly', true); $('#msme_type').val(data.msme_type).prop('readonly', true); }, error: function() { $('#vendor_name, #vendor_bill_address, #pan_no, #gst_no, #msme_type') .val('N/A').prop('readonly', true); } }); } else { $('#vendor_name, #vendor_bill_address, #pan_no, #gst_no, #msme_type') .val('').prop('readonly', false); } }); }); </script> <script> $(document).ready(function() { function parseAmount(val) { // Remove commas and parse as float, fallback to 0 return parseFloat(val.replace(/,/g, '')) || 0; } function updateTotalBasicAmount() { var basic = parseAmount($('#basic_amount').val()); var freight = parseAmount($('#freight_charges').val()); var total = basic + freight; $('#total_basic_amount').val(total.toFixed(2)); updateTotalInvoiceAmount(); } function updateTotalGSTAmount() { var gstBasic = parseAmount($('#gst_basic_amount').val()); var gstFreight = parseAmount($('#gst_on_freight_charges').val()); var totalGST = gstBasic + gstFreight; $('#total_gst_amount').val(totalGST.toFixed(2)); updateTotalInvoiceAmount(); } function updateTotalInvoiceAmount() { var totalBasic = parseAmount($('#total_basic_amount').val()); var totalGST = parseAmount($('#total_gst_amount').val()); var invoiceTotal = totalBasic + totalGST; $('#total_invoice_amount').val(invoiceTotal.toFixed(2)); } // Bind events $('#basic_amount, #freight_charges').on('input', updateTotalBasicAmount); $('#gst_basic_amount, #gst_on_freight_charges').on('input', updateTotalGSTAmount); // Optionally, trigger calculation on page load if values are pre-filled updateTotalBasicAmount(); updateTotalGSTAmount(); }); </script> <script> $(document).ready(function() { // Pass invoice id to modal $('#updateStatusModal').on('show.bs.modal', function (event) { var button = $(event.relatedTarget); var invoiceId = button.data('id'); $('#modal_invoice_id').val(invoiceId); $('#updateStatusForm')[0].reset(); }); // Handle form submission $('#updateStatusForm').on('submit', function(e) { e.preventDefault(); var formData = new FormData(this); $.ajax({ url: '<?php echo e(route("invoice.updateStatus")); ?>', type: 'POST', data: formData, contentType: false, processData: false, success: function(data) { if(data.flag) { $('#updateStatusModal').modal('hide'); swal("Success", data.message, "success"); setTimeout(function(){ location.reload(); }, 1000); } else { swal("Error", data.error || "Something went wrong", "error"); } }, error: function(xhr) { swal("Error", "Validation failed or server error", "error"); } }); }); }); </script> <script> document.addEventListener('DOMContentLoaded', function () { const statusDivs = document.querySelectorAll('#statusOptions .btn'); const hiddenInput = document.getElementById('current_status'); const fileUploadGroup = document.getElementById('fileUploadGroup'); const fileInput = document.getElementById('invoice_file'); const updateStatusForm = document.getElementById('updateStatusForm'); statusDivs.forEach(div => { div.addEventListener('click', function () { // Remove active style from all statusDivs.forEach(d => { d.classList.remove('btn-success', 'text-white'); d.classList.add('btn-outline-primary'); }); // Apply selected style this.classList.remove('btn-outline-primary'); this.classList.add('btn-success', 'text-white'); // Set hidden input value const selectedStatus = this.getAttribute('data-value'); hiddenInput.value = selectedStatus; // Toggle file input if (selectedStatus === 'Submitted to Finance') { fileUploadGroup.style.display = 'block'; fileInput.setAttribute('required', 'required'); } else { fileUploadGroup.style.display = 'none'; fileInput.removeAttribute('required'); fileInput.value = ''; } }); }); // Reset form when modal closes $('#updateStatusModal').on('hidden.bs.modal', function () { statusDivs.forEach(d => { d.classList.remove('btn-success', 'text-white'); d.classList.add('btn-outline-primary'); }); hiddenInput.value = ''; fileUploadGroup.style.display = 'none'; fileInput.value = ''; fileInput.removeAttribute('required'); updateStatusForm.reset(); }); }); </script> <?php $__env->stopSection(); ?> <?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/invoice/invoices.blade.php ENDPATH**/ ?>