/
home
/
sjslayjy
/
public_html
/
ccbfsoution
/
storage
/
framework
/
views
/
Upload File
HOME
<?php $__env->startSection('title', 'Tractor Management'); ?> <?php $__env->startSection('content'); ?> <style> .table-responsive { max-height: 500px; /* or any height you want */ overflow-y: auto; } .table thead th { position: sticky; top: 0; background-color: #f8f9fa; /* Light background to stand out */ z-index: 2; } .small-stats-card { background-color: #6b8e23; color: white; padding: 8px 16px; border-radius: 20px; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 2px 8px rgba(107, 142, 35, 0.3); } .small-stats-card i { font-size: 16px; } </style> <div class="containerr mt-4"> <div class="row mb-3"> <div class="col-md-6"> <?php if(Auth::check() && Auth::user()->role != 1): ?> <button class="btn-add" onclick="openModal()">Add Tractor</button> <?php endif; ?> </div> <div class="col-md-6"> <div class="d-flex gap-2 justify-content-end"> <?php if(Auth::check() && Auth::user()->role == 1): ?> <form action="<?php echo e(route('tractors.index')); ?>" method="GET" class="d-flex"> <select name="site_id" class="form-select me-2" onchange="this.form.submit()"> <option value="">All Sites</option> <?php $__currentLoopData = $sites; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $site): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($site->id); ?>" <?php echo e(request('site_id') == $site->id ? 'selected' : ''); ?>> <?php echo e($site->site_name); ?> </option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <?php if(request('query')): ?> <input type="hidden" name="query" value="<?php echo e(request('query')); ?>"> <?php endif; ?> </form> <?php endif; ?> <form action="<?php echo e(route('tractors.search')); ?>" method="GET"> <div class="input-group"> <input type="text" name="query" class="form-control" placeholder="Search by name or model" value="<?php echo e(request('query')); ?>"> <?php if(request('site_id')): ?> <input type="hidden" name="site_id" value="<?php echo e(request('site_id')); ?>"> <?php endif; ?> <button type="submit" class="btn btn-outline-secondary">Search</button> </div> </form> </div> </div> </div> <?php if(session('success')): ?> <div class="alert alert-success alert-dismissible fade show" role="alert"> <?php echo e(session('success')); ?> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> <?php endif; ?> <?php if($errors->any()): ?> <div class="alert alert-danger alert-dismissible fade show" role="alert"> <ul class="mb-0"> <?php $__currentLoopData = $errors->all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <li><?php echo e($error); ?></li> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </ul> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> <?php endif; ?> <div class="table-responsive"> <table class="table table-bordered"> <thead class=""> <tr> <th>Sr. No.</th> <th>Tractor Name</th> <th>Asset No.</th> <th>Tractor Type</th> <th>Brand & Model No.</th> <th>Purchase Date</th> <?php if(Auth::check() && Auth::user()->role == 1): ?> <th>Location</th> <?php endif; ?> <th>Document</th> <th>Status</th> <th>Service Previous / Upcoming</th> <th>Tractor Image</th> <?php if(Auth::check() && Auth::user()->role != 1): ?> <th>Action</th> <?php endif; ?> </tr> </thead> <tbody> <?php $__empty_1 = true; $__currentLoopData = $tractors; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $tractor): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> <tr> <td><?php echo e($index + 1); ?></td> <td><?php echo e($tractor->tractor_name); ?></td> <td><?php echo e($tractor->tractor_no); ?></td> <td><?php echo e($tractor->tractor_type); ?></td> <td><?php echo e($tractor->brand_model); ?></td> <td><?php echo e(date('d-m-Y', strtotime($tractor->purchase_date))); ?></td> <?php if(Auth::check() && Auth::user()->role == 1): ?> <td><?php echo e($tractor->site_name ?? 'N/A'); ?></td> <?php endif; ?> <td> <?php if($tractor->upload_document): ?> <a href="<?php echo e(asset('tractor/documents/' . $tractor->upload_document)); ?>" target="_blank"> <i class="bi bi-file-earmark-text"></i> View </a> <?php else: ?> N/A <?php endif; ?> </td> <td><?php echo e($tractor->machine_status); ?></td> <td> <?php echo e($tractor->service_prev ? date('d-m-Y', strtotime($tractor->service_prev)) : 'N/A'); ?> / <?php echo e($tractor->service_upco ? date('d-m-Y', strtotime($tractor->service_upco)) : 'N/A'); ?> </td> <td> <?php if($tractor->tractor_image): ?> <img src="<?php echo e(asset('tractor/images/' . $tractor->tractor_image)); ?>" alt="Tractor" width="50" height="50" class="img-thumbnail"> <?php else: ?> <span class="text-muted">No Image</span> <?php endif; ?> </td> <?php if(Auth::check() && Auth::user()->role != 1): ?> <td class="text-center"> <div class="d-flex justify-content-center align-items-center gap-1"> <button class="btn btn-sm btn-warning" onclick="editTractor(<?php echo e($tractor->id); ?>)" title="Edit"> <i class="fas fa-edit"></i> </button> <form action="<?php echo e(route('tractors.destroy', $tractor->id)); ?>" method="POST" onsubmit="return confirm('Are you sure you want to delete this tractor?')"> <?php echo csrf_field(); ?> <?php echo method_field('DELETE'); ?> <button class="btn btn-sm btn-danger" type="submit" title="Delete"> <i class="fas fa-trash-alt"></i> </button> </form> </div> </td> <?php endif; ?> </tr> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> <tr> <td colspan="<?php echo e(Auth::check() && Auth::user()->role == 1 ? '11' : '10'); ?>" class="text-center">No tractors found</td> </tr> <?php endif; ?> </tbody> </table> </div> <!--<div class="d-flex justify-content-center mt-4">--> <!-- <div class="small-stats-card">--> <!-- <i class="fas fa-tractor"></i>--> <!-- <span>Total Tractors: <strong><?php echo e($tractors->count()); ?></strong></span>--> <!-- </div>--> <!--</div>--> </div> <!-- Modal Form --> <div class="modal fade" id="tractorModal" tabindex="-1" aria-labelledby="tractorModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="tractorModalLabel">Add / Edit Tractor</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form id="tractorForm" method="POST" action="<?php echo e(route('tractors.store')); ?>" enctype="multipart/form-data"> <?php echo csrf_field(); ?> <input type="hidden" name="tractor_id" id="tractorId"> <div class="mb-3"> <label for="tractorName" class="form-label">Tractor Name With Tractor No</label> <input type="text" class="form-control" name="tractor_name" id="tractorName" placeholder="Please enter tractor name with tractor No." required> </div> <?php $userSite = Auth::user()->site_id; ?> <div class="col-md-6 mb-3"> <label class="form-label">Location <span class="text-danger">*</span></label> <select name="site_id" class="form-select" readonly> <?php $__currentLoopData = $sites; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $site): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <?php if($site->id == $userSite): ?> <option value="<?php echo e($site->id); ?>" selected><?php echo e($site->site_name); ?></option> <?php endif; ?> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div> <div class="mb-3"> <label for="tractorType" class="form-label">Tractor Type</label> <input type="text" class="form-control" name="tractor_type" id="tractorType" placeholder="Enter tractor type"> </div> <div class="mb-3"> <label for="brandModel" class="form-label">Brand & Model No.</label> <input type="text" class="form-control" name="brand_model" id="brandModel" placeholder="Enter brand and model number"> </div> <div class="mb-3"> <label for="purchaseDate" class="form-label">Purchase Date</label> <input type="date" class="form-control" name="purchase_date" id="purchaseDate" placeholder="Select purchase date"> </div> <div class="mb-3"> <label for="uploadDocument" class="form-label">Document (PDF/DOC)</label> <input type="file" class="form-control" name="upload_document" id="uploadDocument" placeholder="Upload tractor document"> <div id="documentPreview" class="mt-2"></div> </div> <div class="mb-3"> <label for="machineStatus" class="form-label">Status</label> <input type="text" class="form-control" name="machine_status" id="machineStatus" placeholder="Enter current status" required> </div> <div class="mb-3"> <label for="servicePrevious" class="form-label">Previous Service Date</label> <input type="date" class="form-control" name="service_prev" id="servicePrevious" placeholder="Select previous service date"> </div> <div class="mb-3"> <label for="serviceUpcoming" class="form-label">Upcoming Service Date</label> <input type="date" class="form-control" name="service_upco" id="serviceUpcoming" placeholder="Select upcoming service date"> </div> <div class="mb-3"> <label for="tractorImage" class="form-label">Tractor Image</label> <input type="file" class="form-control" name="tractor_image" id="tractorImage" placeholder="Upload tractor image"> <div id="imagePreview" class="mt-2"></div> </div> <div class="text-center"> <button type="submit" class="btn btn-success">Save Changes</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> </div> </form> </div> </div> </div> </div> <?php $__env->stopSection(); ?> <?php $__env->startSection('scripts'); ?> <script> // Initialize Bootstrap modal var tractorModal = new bootstrap.Modal(document.getElementById('tractorModal')); // Open modal for adding new tractor function openModal() { // Reset form document.getElementById('tractorForm').reset(); document.getElementById('tractorId').value = ''; document.getElementById('documentPreview').innerHTML = ''; document.getElementById('imagePreview').innerHTML = ''; // Set form action for adding document.getElementById('tractorForm').action = "<?php echo e(route('tractors.store')); ?>"; document.getElementById('tractorModalLabel').textContent = 'Add New Tractor'; // Show modal tractorModal.show(); } // Open modal for editing tractor function editTractor(id) { // Fetch tractor data fetch(`/api/tractors/${id}`) .then(response => response.json()) .then(data => { // Fill form with tractor data document.getElementById('tractorId').value = data.id; document.getElementById('tractorName').value = data.tractor_name; document.getElementById('tractorType').value = data.tractor_type; document.getElementById('brandModel').value = data.brand_model; document.getElementById('purchaseDate').value = data.purchase_date; document.getElementById('machineStatus').value = data.machine_status; document.getElementById('servicePrevious').value = data.service_prev; document.getElementById('serviceUpcoming').value = data.service_upco; // Show document preview if exists if (data.upload_document) { document.getElementById('documentPreview').innerHTML = `<p>Current document: <a href="/tractor/documents/${data.upload_document}" target="_blank">${data.upload_document}</a></p>`; } else { document.getElementById('documentPreview').innerHTML = ''; } // Show image preview if exists if (data.tractor_image) { document.getElementById('imagePreview').innerHTML = `<p>Current image:</p><img src="/tractor/images/${data.tractor_image}" alt="Tractor" width="100" class="img-thumbnail">`; } else { document.getElementById('imagePreview').innerHTML = ''; } // Set form action for updating document.getElementById('tractorForm').action = `/master/tractor/update/${data.id}`; document.getElementById('tractorForm').method = 'POST'; // Add CSRF token and method field if (document.querySelector('input[name="_method"]')) { document.querySelector('input[name="_method"]').value = 'POST'; } else { const methodField = document.createElement('input'); methodField.type = 'hidden'; methodField.name = '_method'; methodField.value = 'POST'; document.getElementById('tractorForm').appendChild(methodField); } document.getElementById('tractorModalLabel').textContent = 'Edit Tractor'; // Show modal tractorModal.show(); }) .catch(error => { console.error('Error fetching tractor data:', error); alert('Failed to load tractor data. Please try again.'); }); } // Confirm delete document.querySelectorAll('.delete-form').forEach(form => { form.addEventListener('submit', function(e) { if (!confirm('Are you sure you want to delete this tractor?')) { e.preventDefault(); } }); }); // Auto-dismiss alerts after 5 seconds setTimeout(function() { const alerts = document.querySelectorAll('.alert'); alerts.forEach(alert => { const bsAlert = new bootstrap.Alert(alert); bsAlert.close(); }); }, 5000); </script> <?php $__env->stopSection(); ?> <?php echo $__env->make('layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home3/pmmsanvp/public_html/ccbfsolution/resources/views/admin/tractor.blade.php ENDPATH**/ ?>