/
home
/
sjslayjy
/
public_html
/
scm
/
resources
/
views
/
dashboard
/
pr
/
Upload File
HOME
@extends('dashboard.layouts.app') @section('title','All PR') @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 Requests</li> </ul> </div> <div class="page-content"> <div class="row"> <div class="col-xs-12"> <h3 class="header smaller lighter blue">Purchase Request</h3> <div class="clearfix"> <div class="pull-right tableTools-container"> </div> </div> <div class="table-header"> Results for "Latest Added Purchase Requests" </div> <!-- div.table-responsive --> <!-- div.dataTables_borderWrap --> <div> <div style="display: flex; justify-content: space-between; align-items: center; padding: 0 10px; background-color:#EFF3F8"> <form method="GET" action="{{ url()->current() }}" id="recordsPerPageForm" style="margin-right: auto;"> <label for="perPage">Display</label> <select name="per_page" id="perPage" onchange="document.getElementById('recordsPerPageForm').submit();"> <option value="10" {{ request('per_page') == 10 ? 'selected' : '' }}>10</option> <option value="50" {{ request('per_page') == 50 ? 'selected' : '' }}>50</option> <option value="100" {{ request('per_page') == 100 ? 'selected' : '' }}>100</option> </select> records </form> <label for="perPage">Search</label> <input type="text" id="search-input-pr" class="pr_search" placeholder="Searching..." style="height:29px; width:150px; margin-left: 20px;"> </div> <table id="dynamic-table" class="table table-striped table-bordered table-hover" style="margin-bottom: 0px;"> <thead> <tr> <th>S.No</th> <th>Pr Date</th> <th>Pr Number</th> <th>Creator</th> <th>Business Unit</th> <th>Circle</th> <th>Current Status</th> <th>PR Status</th> <th>Status Action</th> <th>Doc1</th> <th>Doc2</th> <th>Doc3</th> <th>Action</th> </tr> </thead> <tbody> @foreach($purchase_requests as $pr) @php $arr = array(); if(substr_count(getPRIdByPONumber($pr->id), ",") > 0) { $arr = explode(',', getPRIdByPONumber($pr->id)); } else { $arr[] = getPRIdByPONumber($pr->id); } @endphp <tr id="tr_{{$pr->id}}"> <td>{{ $loop->iteration + ($purchase_requests->currentPage() - 1) * $purchase_requests->perPage() }}</td> <td>{{$pr->created_at}}</td> <td>{{$pr->pr_number}}</td> <td>{{$pr->creater}}</td> <td>{{$pr->bu}}</td> <td>{{$pr->circle}}</td> <td> @if ($pr->status == 'requested') <span class="badge badge-info" title="PR Current Status">{{ $pr->status }}</span> @elseif($pr->status == 'reviewed' || $pr->status == 'reviewed(FH)' || $pr->status == 'reviewed(BH)') <span class="badge badge-success" title="PR Current Status">{{$pr->status}}</span> @elseif($pr->status == 'pending_approval') <span class="badge badge-success" title="PR Current Status">{{$pr->status}}</span> @elseif($pr->status == 'Approved' || $pr->status == 'Approved(BH)') <span class="badge badge-success" title="PR Current Status">{{$pr->status}}</span> @elseif($pr->status == 'rejected') <span class="badge badge-danger" title="PR Current Status">{{$pr->status}}</span> @elseif($pr->status == 'ReOpened') <span class="badge badge-info" title="PR Current Status">{{$pr->status}}</span> @endif </td> <td> @if($pr->status == 'rejected') <span class="badge badge-danger" title="PR Current Status">{{$pr->status}}</span> @else <span class="badge badge-warning" title="PR Status">{{getPRCurrentStatus($pr->id)}}</span> @endif </td> <td> @if ($role_id == '1') <button class="btn btn-xs btn-primary" data-toggle="tooltip" title="Set Status" onclick="setStatusModal({{$pr->id}})" > {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} Update Status </button> @endif @if ($role_id == '3' && $pr->status == 'requested') <button class="btn btn-xs btn-primary" data-toggle="tooltip" title="Set Status" onclick="setStatusModal({{$pr->id}})"> {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} Update Status </button> @endif @if ($role_id == '4' && $pr->status == isFunHeadAvailable($pr->prepared_by)) <button class="btn btn-xs btn-primary" data-toggle="tooltip" title="Set Status" onclick="setStatusModal({{$pr->id}})" > {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} Update Status </button> @endif @if ($role_id == '5' && ($pr->status == isFunBusAvailable($pr->prepared_by) || $pr->status == 'Approved(BH)') && $email !== 'rituraj.shukla@aerialtelecom.in') <button class="btn btn-xs btn-primary" data-toggle="tooltip" title="Set Status" onclick="setStatusModal({{$pr->id}})" > {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} Update Status </button> @endif </td> <td style="text-align:center; padding-top:50px;"> @if ($pr->document1 == true) <a href="{{URL::to($pr->document1)}}" target="_blank" title="" class=""><i class="fa fa-file-pdf-o fa-lg" aria-hidden="true"></i></a> @else($pr->document1 == '') <i class="fa fa-file-excel-o" aria-hidden="true"></i> <!-- <p style="color: red;">Document Not Avilable</p> --> @endif </td> <td style="text-align:center; padding-top:50px;"> @if ($pr->document2 == true) <a href="{{URL::to($pr->document2)}}" target="_blank" title="" class=""><i class="fa fa-file-pdf-o fa-lg" aria-hidden="true"></i></a> @else($pr->document2 == '') <i class="fa fa-file-excel-o" aria-hidden="true"></i> <!-- <p style="color: red;">Document Not Avilable</p> --> @endif </td> <td style="text-align:center; padding-top:50px;"> @if ($pr->document3 == true) <a href="{{URL::to($pr->document3)}}" target="_blank" title="" class=""><i class="fa fa-file-pdf-o fa-lg" aria-hidden="true"></i></a> @else($pr->document3 == '') <i class="fa fa-file-excel-o" aria-hidden="true"></i> <!-- <p style="color: red;">Document Not Avilable</p> --> @endif </td> <td> <div class="hidden-sm hidden-xs btn-group"> <a class="btn btn-xs btn-warning" href="{{url('/user/pr-view/'.$pr->id)}}" title="View PR" onclick="viewPr({{$pr->id}})" > {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} <i class="ace-icon fa fa-eye bigger-120"></i> </a> @if($pr->status == 'ReOpened') @if($pr->prepared_by == $id) <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" class="btn btn-xs btn-info" title="Edit PR" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @else @if ($role_id == '1') <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" class="btn btn-xs btn-info" title="Edit PR" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @if ($role_id == '2' && $pr->status == 'requested') <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" title="PR Edit" class="btn btn-xs btn-info" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @if ($role_id == '3' && $pr->status == 'requested') <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" title="PR Edit" class="btn btn-xs btn-info" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @if ($role_id == '5' && $pr->status != 'Approved' && $pr->status != 'rejected' && $email !== 'rituraj.shukla@aerialtelecom.in') <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" title="PR Edit" class="btn btn-xs btn-info" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @if ($role_id == '7' && $pr->status != 'Approved' && $pr->status != 'rejected') <a href="{{url('/user/edit-purchase-request/'.$pr->id)}}" title="PR Edit" class="btn btn-xs btn-info" onclick="getEdit({{$pr->id}})"> <i class="ace-icon fa fa-pencil bigger-120"></i> </a> @endif @endif <a class="btn btn-xs btn-warning" href="{{url('/user/pr-print/'.$pr->id)}}" title="PR Print" onclick="printPr({{$pr->id}})" target="_blank"> <i class="ace-icon fa fa-print bigger-120"></i></a> @if ($role_id == '7' && $pr->status == 'Approved' && getPRCurrentStatus($pr->id) !='completed') <a class="btn btn-xs btn-success" href="{{url('/user/convert_to_po/'.$pr->id)}}" title="PR To PO Convert" > Convert to PO </a> @endif @if ($role_id == '1' && $pr->status == 'Approved' && getPRCurrentStatus($pr->id) !='completed') <a class="btn btn-xs btn-success" href="{{url('/user/convert_to_po/'.$pr->id)}}" title="PR To PO Convert" > Convert to PO </a> @endif @if($role_id == '1' && $pr->status == 'Approved' && getPRCurrentStatus1($pr->id) == true) <button class="btn btn-xs btn-success" data-toggle="tooltip" title="Re-Open PR" onclick="reOpenModal({{$pr->id}})" > <i class="fa fa-folder-open" aria-hidden="true"></i> </button> @endif <button class="btn btn-xs btn-primary" data-toggle="tooltip" title="PR History" onclick="viewHistoryModal({{$pr->id}})" > {{-- <i class="ace-icon fa fa-trash-o bigger-120"></i> --}} <i class="ace-icon fa fa-history bigger-120"></i></a> </button> <!-- <button class="btn btn-xs btn-danger" onclick="deleteLocation({{$pr->id}})" disabled> <i class="ace-icon fa fa-trash-o bigger-120"></i> </button> --> </div> </td> </tr> @endforeach </tbody> </table> <!-- Pagination links with appending the per_page value --> {{ $purchase_requests->appends(['per_page' => request('per_page')])->links('pagination') }} </div> </div> </div> </div><!-- /.page-content --> </div> </div><!-- /.main-content --> <div class="modal fade" id="editItemModal"> <div class="modal-dialog"> <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 Item</h4> </div> <div class="modal-body" id="EditBodyItem"> </div> </div> </div> </div> <div class="modal fade" id="historyModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">History</h4> </div> <div class="modal-body" id="genrateHistory"> </div> </div> </div> </div> @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")}} <!-- Html::script("js/sweetalert2.all.js") --> <script type="text/javascript"> jQuery(function($) { // Initiate DataTables plugin var myTable = $('#dynamic-table').DataTable({ bAutoWidth: false, paging: false, // Custom pagination in use searching: false, // Custom search in use "aaSorting": [], // Disable initial sorting dom: 'Bfrtip', // Enable button functionalities info: false, // Disable the "Showing 1 to X of Y entries" text 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' } ] }); // Append buttons to the container myTable.buttons().container().appendTo($('.tableTools-container')); // Style the copy 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'); }); // Customize the column visibility dropdown 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') }); }); function setStatusModal(id){ if(id == ""){ swal('Error','PR id is missing','warning'); }else{ $.ajax({ url: "/user/set-statuss/"+id, type: 'GET', success:function(data){ // console.log(data); $('#EditBodyItem').html(data); $('#editItemModal').modal('toggle'); // OnLoad(); } }); } } // function viewPr(id){ // if(id == ""){ // swal('Error','PR id is missing','warning'); // }else{ // $('#pr_details_view').modal('toggle'); // // $.ajax({ // // url: "/user/set-status/"+id, // // type: 'GET', // // success:function(data){ // // // console.log(data); // // $('#EditBodyItem').html(data); // // $('#editItemModal').modal('toggle'); // // // OnLoad(); // // } // // }); // } // } function setStaus(id) { alert(id); $id = $('#id_'+id).val(); $status = $('#status_'+id).val(); if ($status != '') { $.ajax({ type: "POST", url: "/user/set-purchase-request-status", data: { "status" : $status, "id" : $id, "_token": "{{ csrf_token() }}", }, success: function (response) { swal('Success','Purchase Request Status Updated Successfully !','success'); window.location.reload(); }, error: function (error) { swal('Warning','Oops something went wrong !', 'warning'); } }); } else { swal('Error','Please Select Status First !', 'error'); } } function updateStatus(){ //console.log($('#editStatusForm').serialize()); $status = $('#status').val(); $remark = $('#remark').val(); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') } }); $.ajax({ url: $('#editStatusForm').attr('action'), method: 'POST', data: $('#editStatusForm').serialize(), success: function(data){ console.log(data); if(!data.flag){ showError('edit_status_error',data.errors.status); }else{ $('#editItemModal').modal('hide'); swal({ title: "Success!", text: data.message, type: "success" }, function() { window.location.reload(); }); } } }); } function viewHistoryModal(id){ if(id == ""){ swal('Error','PR id is missing','warning'); }else{ $.ajax({ url: "/user/view-history/"+id, type: 'GET', success:function(data){ console.log(data); $('#genrateHistory').html(data); $('#historyModal').modal('toggle'); OnLoad(); } }); } } function showError(id,error){ if(typeof(error) === "undefined"){ $('#'+id).hide(); }else{ $('#'+id).show(); $('#'+id).text(error); } } // function reOpenModal(id) // { // Swal.fire({ // title: 'Are you sure?', // text: "You won't be able to revert this!", // icon: 'warning', // showCancelButton: true, // confirmButtonColor: '#3085d6', // cancelButtonColor: '#d33', // confirmButtonText: 'Yes, Re-Open it!' // }).then((result) => { // if (result.isConfirmed) { // $.ajax({ // url: "/user/re-open-pr/"+id, // type: 'GET', // success:function(data){ // if(data == true) { // Swal.fire( // 'Re-Opened!', // 'Purchase Request has been ReOpened.', // 'success' // ) // } else { // Swal.fire( // 'Re-Opened!', // 'Something went wrong.', // 'danger' // ) // } // console.log('inside success !'); // }, // }); // } // }); // } function reOpenModal(id){ swal({ title: "Are you sure ?", text: "You won't be able to revert this!", icon: "warning", showCancelButton:true, showConfirmButton: true, dangerMode: true, },function() { $.ajax({ url: "/user/re-open-pr/"+id, type: 'GET', success:function(data){ if(data == true) { swal({ title: "Re-Opened!", text: 'Purchase Request has been ReOpened.', type: "success" }, function() { window.location.reload(); }); } else { swal({ title: "Re-Opened!", text: 'Something went wrong.', type: "danger" }, function() { window.location.reload(); }); } console.log('inside success !'); }, }); }); } </script> <script> $(document).ready(function() { $('#search-input-pr').on('keyup', function() { var query = $(this).val(); if (query === '') { window.location.href = window.location.href; }else{ $.ajax({ url: '{{ route("searchPr") }}', type: 'GET', data: {'query': query}, success: function(data) { if (data.trim() !== '') { $('tbody').html(data); } else { $('tbody').html('<tr><td colspan="12" class="text-center">No Matching Record Found!</td></tr>'); } } }); } }); }); </script> <script> $(document).ready(function() { $('th').on('click', function() { var table = $(this).parents('table').eq(0); var rows = table.find('tbody > tr').get(); var index = $(this).index(); var isAsc = $(this).hasClass('asc'); // Remove sorting classes from all headers table.find('th').removeClass('asc').removeClass('desc'); table.find('th').find('.fa').removeClass('fa-sort-up fa-sort-down').addClass('fa-sort'); // Toggle sorting direction $(this).toggleClass('asc', !isAsc); $(this).toggleClass('desc', isAsc); // Update the icon based on the sort direction $(this).find('.fa').toggleClass('fa-sort-up', !isAsc); $(this).find('.fa').toggleClass('fa-sort-down', isAsc); rows.sort(function(a, b) { var keyA = $(a).children('td').eq(index).text().toUpperCase(); var keyB = $(b).children('td').eq(index).text().toUpperCase(); if (isAsc) { return (keyA < keyB) ? -1 : (keyA > keyB) ? 1 : 0; } else { return (keyA > keyB) ? -1 : (keyA < keyB) ? 1 : 0; } }); $.each(rows, function(idx, row) { table.children('tbody').append(row); }); }); }); </script> @endsection @endsection