/
home
/
sjslayjy
/
public_html
/
tabson_test
/
storage
/
framework
/
views
/
Upload File
HOME
<?php $__env->startSection('title','Assign Spare To Department'); ?> <?php $__env->startPush('styles'); ?> <?php $__env->stopPush(); ?> <?php $__env->startSection('content'); ?> <div class="main-content"> <div class="main-content-inner"> <!-- Breadcrumbs --> <div class="breadcrumbs ace-save-state mb-3" id="breadcrumbs" style="margin-bottom: 30px;"> <ul class="breadcrumb"> <li><i class="ace-icon fa fa-home home-icon"></i><a href="#">Home</a></li> <li class="active">Assign Stock To Job Workers</li> </ul> </div> <p style=" text-align: center; color: #5a3e00; font-size: 15px; font-weight: 500; background: linear-gradient(135deg, #fff8e1, #ffe0b2); border: 1px solid #ffc107; padding: 5px 8px; border-radius: 12px; box-shadow: 0 6px 14px rgba(0,0,0,0.1); max-width: 900px; margin: 20px auto; font-family: 'Segoe UI', sans-serif; "> ⚠️ <strong>Heads up!</strong> This section is currently under development. Please avoid using it until we officially notify you. <br>We appreciate your patience and understanding. </p> <!-- Assign Section --> <div class="page-content" style="margin-bottom: 30px;"> <div class="row align-items-end mb-3"> <div class="col-md-6"> <h3 class="card-title">Assign Stock To Job Workers</h3> </div> <div class="col-md-3"> <label for="datepicker">Assign Date</label> <input type="date" class="form-control" name="assign_date" onchange="get_assign_date(this)" id="assign_date"> </div> <div class="col-md-3"> <label for="warehouse">From Warehouse</label> <select class="form-control mr select2" id="warehouse"> <option value=""> -- Select Warehouse --</option> <?php $__currentLoopData = $warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($warehouse); ?>"><?php echo e($warehouse); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div> </div> </div> <!-- Spare Parts Section --> <div class="page-content" style="margin-bottom: 30px;"> <div class="row align-items-end mb-3"> <div class="col-md-4"> <h4 class="card-title">Spare Parts List</h4> </div> <div class="col-md-6"> <input type="text" class="form-control" id="spareCode" placeholder="Enter Spare Code"> </div> <div class="col-md-2"> <button type="button" class="btn btn-success w-100" onclick="addselectedItem()">Add Spare</button> </div> </div> <!-- Table --> <div class="table-responsive"> <table class="table table-striped table-bordered"> <thead> <tr> <th>Spare Code</th> <th>Description</th> <th>UOM</th> <th>Category</th> <th>Fresh Qty</th> <th>---</th> </tr> </thead> <tbody id="tbody"> </tbody> </table> <div id="loaderAction"> <div class="loader"></div> </div> </div> </div> <!-- Purpose & Department Assignment --> <div class="page-content" style="margin-bottom: 30px;"> <div class="row align-items-end mb-3"> <div class="col-md-6"> <label for="purpose">Purpose</label> <textarea class="form-control" id="purpose" onchange="get_purpose(this)"></textarea> </div> <div class="col-md-3"> <label for="department">Job Worker Inventory</label> <select class="form-control" onchange="getDepartment(this)" id="department"> <option value="">-- Select Job Worker Warehouse --</option> <?php $__currentLoopData = $job_worker_warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $job_worker_warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($job_worker_warehouse->warehouse_code); ?>"><?php echo e($job_worker_warehouse->warehouse_code); ?> - <?php echo e($job_worker_warehouse->warehouse_name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div> <div class="col-md-3"> <label class="invisible">Assign Stock Now</label> <button type="button" id="assignBtn" onclick="assign_now()" class="btn btn-warning w-100">Assign Stock Now</button> </div> </div> </div> </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")); ?> <script type="text/javascript"> jQuery(function($) { var myTable = $('.myTable').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')); 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') }); }); function get_spare_of_warehouse(t) { var warehouse = $(t).val(); console.log('Warehouse is', warehouse); var url = window.location.origin+'/user/store-stock/?circle='+warehouse; window.location.replace(url); } </script> <script> $( function() { $( "#datepicker" ).datepicker({ minDate: -5, maxDate: "+7D" }); }); </script> <script type="text/javascript"> // Global variable to track current warehouse var currentWarehouse = ''; function init_cart(){ var assignedSpare = {}; assignedSpare.items = []; assignedSpare.job_worker_id = ''; assignedSpare.assign_date = ''; assignedSpare.warehouse = ''; assignedSpare.transaction_id = Date.now(); localStorage.setItem('assignedSpare', JSON.stringify(assignedSpare)); currentWarehouse = ''; } $(document).ready(function() { if(localStorage.getItem('assignedSpare') != null){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); currentWarehouse = assignedSpare.warehouse || ''; if(assignedSpare.job_worker_id != ""){ $('#department').val(assignedSpare.job_worker_id); } if(assignedSpare.assign_date != ""){ $('#assign_date').val(assignedSpare.assign_date); } if(assignedSpare.warehouse != ""){ $('#warehouse').val(assignedSpare.warehouse); } showSelectedItems(); } else { init_cart(); } }); function removeItem(id){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); var items = assignedSpare.items; $(items).each(function (index){ if(items[index].id == id){ items.splice(index,1); return false; } }); assignedSpare.items = items; localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); showSelectedItems(); } function addselectedItem(){ var code = $('#spareCode').val(); var warehouse = $('#warehouse').val(); if(code != "" && warehouse != ""){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); if(currentWarehouse !== warehouse) { console.log("Warehouse changed during add operation from " + currentWarehouse + " to " + warehouse); assignedSpare = {}; assignedSpare.items = []; assignedSpare.job_worker_id = ''; assignedSpare.assign_date = $('#assign_date').val() || ''; assignedSpare.warehouse = warehouse; assignedSpare.transaction_id = Date.now(); currentWarehouse = warehouse; } var url = window.location.origin+"/circle-store/get-spare-part-from-circle-stock"; var data = {}; data.code = code; data._token = "<?php echo e(csrf_token()); ?>"; data.warehouse = warehouse; $('#loaderAction').show(); $.ajax({ type: "POST", url: url, data: data, success:function(res){ if(res.success == true){ $('#warehouse').attr('disabled',true); var spare_part = res.spare_part; var is_added = false; $.each(assignedSpare.items,function(key,val){ if(parseInt(val.id) == spare_part.id){ is_added = true; } }); if(is_added == false){ var sparts = spare_part; sparts.qty = spare_part.fresh_qty; assignedSpare.items.push(spare_part); } localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); showSelectedItems(); $('#spareCode').val(''); } else { swal(res.msg, { icon: "error", }); } $('#loaderAction').hide(); }, error:function(error){ console.log(error); $('#loaderAction').hide(); }, dataType: 'json' }); } else { swal("Please Enter Spare Code in Textbox and Select warehouse !", { icon: "error", }); } } function showSelectedItems(){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); var html = ''; $.each(assignedSpare.items,function(key,spare_part){ html +=`<tr class="row_`+spare_part.id+`"> <td class="font-weight-medium">`+spare_part.code+`</td> <td>`+spare_part.description+`</td> <td>`+spare_part.uom+`</td> <td>`+spare_part.category+`</td> <td><input type="text" name="qty" value="`+spare_part.fresh_qty+`" onkeypress="return onlyCurrency(event)" onblur="check_zero(this)" onkeyup="calculate(this,`+spare_part.id+`)" style="width: 80px;"/></td> <td><a href="#" onclick="removeItem(`+spare_part.id+`)"><i class="mdi mdi-delete-forever"></i></a></td> </tr>`; }); $('#tbody').html(html); } function onlyNumber(evt){ var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)){ return false; } return true; } function onlyCurrency(event){ if(event.which == 8 || event.which == 0){ return true; } if(event.which < 46 || event.which > 59) { return false; } if(event.which == 46 && $(this).val().indexOf('.') != -1) { return false; } } function calculate(t,id){ var qty = $(t).val(); if(qty != "" && qty != null){ addCartValueInKey(id,'qty',qty); } else { addCartValueInKey(id,'qty',0); } } function check_zero(t){ var qty = $(t).val(); if(qty == "" || qty == null){ $(t).val(0); } } function addCartValueInKey(id,key,value){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); $.each(assignedSpare.items,function(k,val){ if(parseInt(val.id) == id){ assignedSpare.items[k][key] = value; } }); localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); } function getDepartment(t){ var dpt_id = $(t).val(); if(dpt_id != ""){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); assignedSpare.job_worker_id = dpt_id; localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); } else { swal('Please Select Department !!', { icon: "error", }); } } function get_assign_date(t){ var assign_date = $(t).val(); if(assign_date != ""){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); assignedSpare.assign_date = assign_date; localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); } else { swal('Please Select Assign Date !!', { icon: "error", }); } } function get_purpose(t){ var purpose = $(t).val(); if(purpose != ""){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); assignedSpare.purpose = purpose; localStorage.setItem('assignedSpare',JSON.stringify(assignedSpare)); } } function is_valid(){ var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); var check = true; $.each(assignedSpare.items,function(key,val){ if(val.qty == 0){ check = false; return false; } }); return check; } function assign_now(){ var dpt_id = $('#department').val(); console.log('My Department Data is',dpt_id); var warehouse = $('#warehouse').val(); console.log('My warehouse Data is',warehouse); var assign_date = $('#assign_date').val(); console.log('My Assign Date is',assign_date); var purpose = $('#purpose').val(); console.log('My Purpose Data is',purpose); var assignedSpare = JSON.parse(localStorage.getItem('assignedSpare')); if(dpt_id != "" && assignedSpare.items.length > 0 && warehouse != "" && assign_date != ""){ if(is_valid()){ swal({ title: "Is Your Spare Parts Verified ?", text: "if you verified your items then press 'Ok',otherwise press 'Cancel' and check again.", icon: "warning", buttons: true, dangerMode: true, }); var url = window.location.origin+"/user/assign-spare-to-job-worker"; assignedSpare._token = "<?php echo e(csrf_token()); ?>"; assignedSpare.warehouse = warehouse; assignedSpare.assign_date = assign_date; assignedSpare.purpose = purpose; $('#loaderAction').show(); var requestTimeout; var ajaxRequest = $.ajax({ type: "POST", url: url, data: assignedSpare, timeout: 20000, success:function(res){ clearTimeout(requestTimeout); if(res.success == true){ swal(res.msg, { icon: "success", }); init_cart(); showSelectedItems(); $('#warehouse').attr('disabled', false); assignBtn.disabled = false; assignBtn.innerHTML = 'Assign Now'; } else { swal(res.msg, { icon: "error", }); } $('#loaderAction').hide(); }, error:function(xhr, status, error){ console.log(error); $('#loaderAction').hide(); swal("Process has been cancelled due to exceeding the execution time!", { icon: "error" }); assignBtn.disabled = false; assignBtn.innerHTML = 'Assign Now'; }, dataType: 'json' }); requestTimeout = setTimeout(function() { ajaxRequest.abort(); $('#loaderAction').hide(); swal("Process has been cancelled due to exceeding the execution time!", { icon: "error" }); assignBtn.disabled = false; assignBtn.innerHTML = 'Assign Now'; }, 20000); } else { swal('Both fresh and repaired qty of spare can not be zero !!', { icon: "error", }); } } else { swal('Please Select Department, warehouse, assign date and add at least 1 spare !!', { icon: "error", }); } } </script> <script> $(document).ready(function() { $('.select2').select2({ placeholder: 'Search Warehouses', allowClear: false, language: { noResults: function() { return '<span class="no-results">No results found!</span>'; } }, escapeMarkup: function (markup) { return markup; } }); }); </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/tabson/resources/views/dashboard/stock/spare-assigned-to-job-worker.blade.php ENDPATH**/ ?>