Siopas Inventory PETI for ISTW Website
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

399 lines
24 KiB

@extends('layouts.main')
@section('content')
<style>
.table th {
white-space: nowrap;
}
.table td {
white-space: nowrap;
}
</style>
@include('layouts.components.alert-prompt')
@if (auth()->user()->role_id == 1)
<!-- cara data table buatan sendiri -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<div class="row">
<div class="col-7">
<h5 class="m-0 font-weight-bold text-primary mt-2">Data Peti</h5>
</div>
<div class="col-5 d-flex">
<a href="{{ route('dashboard.peti.create') }}" class="btn btn-success btn-icon-split ml-4">
<span class="text">Tambah Peti</span>
</a>
<div class="mr-2">
<form action="{{ route('dashboard.all-pdf.cetakpdf') }}" method="GET" id="pdfForm"
class="ml-2" target="_blank">
@csrf
<input type="hidden" name="peti_ids" id="peti_ids" value="">
<button type="submit" class="btn btn-primary">Cetak PDF</button>
</form>
</div>
<a href="#" class="btn btn-info btn-icon-split" data-toggle="modal"
data-target="#importDataModal">
<span class="text">Import Customer</span>
</a>
</div>
</div>
</div>
<div class="card-body">
<div class="row mb-3">
<div class="col-6">
<!-- Fitur page -->
<form method="GET" action="{{ route('dashboard.peti.index') }}">
<label for="perPage">Tampilkan:</label>
<select id="perPage" name="perPage" class="form-select" onchange="this.form.submit()">
<option value="5" {{ request('perPage', 5) == '5' ? 'selected' : '' }}>5</option>
<option value="10" {{ request('perPage', 5) == '10' ? 'selected' : '' }}>10</option>
<option value="25" {{ request('perPage', 5) == '25' ? 'selected' : '' }}>25</option>
<option value="50" {{ request('perPage', 5) == '50' ? 'selected' : '' }}>50</option>
<option value="100" {{ request('perPage', 5) == '100' ? 'selected' : '' }}>100</option>
<option value="500" {{ request('perPage', 5) == '500' ? 'selected' : '' }}>500</option>
<option value="1000" {{ request('perPage', 5) == '1000' ? 'selected' : '' }}>1000</option>
<option value="2500" {{ request('perPage', 5) == '2500' ? 'selected' : '' }}>2500
</option>
<option value="5000" {{ request('perPage', 5) == '5000' ? 'selected' : '' }}>5000
</option>
<option value="{{ $peti->total() }}"
{{ request('perPage', 5) == $peti->total() ? 'selected' : '' }}>Semua</option>
</select>
<input type="hidden" name="search" value="{{ $search }}">
<input type="hidden" name="page" value="{{ request('page', 1) }}">
</form>
</div>
<div class="col-6 d-flex justify-content-end mb-3">
<!-- Fitur search -->
<form method="GET" action="{{ route('dashboard.peti.index') }}" class="form-inline">
<input type="text" name="search" class="form-control mr-2" placeholder="Cari..."
value="{{ $search }}">
<input type="hidden" name="page" value="1">
<input type="hidden" name="perPage" value="{{ request('perPage', 5) }}">
<button type="submit" class="btn btn-primary">Cari</button>
</form>
</div>
</div>
<div class="table-responsive">
<table class="table table-bordered" width="100%" cellspacing="0">
<thead>
<tr>
<th class="text-center" style="width: 10px">No</th>
<th><input type="checkbox" class="checkbox " id="selectAll"></th>
<th>Fix Lot</th>
<th>User</th>
<th>Customer</th>
<th>WH</th>
<th>Kode Customer</th>
<th>Tipe Peti</th>
<th>Ukuran Peti</th>
<th>Lot No</th>
<th>Kondisi Peti</th>
<th>Packing No</th>
<th>Status</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
@forelse ($peti as $data_peti)
@if ($search)
@if (stripos($data_peti->fix_lot, $search) !== false ||
stripos($data_peti->created_by, $search) !== false ||
stripos($data_peti->customer->name, $search) !== false ||
stripos($data_peti->warehouse->name, $search) !== false ||
stripos($data_peti->customer->code_customer, $search) !== false ||
stripos($data_peti->tipe_peti->type, $search) !== false ||
stripos($data_peti->tipe_peti->size_peti, $search) !== false ||
stripos($data_peti->customer->lot_no, $search) !== false ||
stripos($data_peti->kondisipeti->nama_kondisi, $search) !== false ||
stripos($data_peti->packing_no, $search) !== false ||
stripos($data_peti->status, $search) !== false)
<!-- Tampilkan data pencarian -->
<tr>
<td>{{ $i++ }}</td>
<td><input type="checkbox" class="checkbox" value="{{ $data_peti->id }}">
</td>
<td>{{ $data_peti->fix_lot }}</td>
<td>{{ $data_peti->created_by }}</td>
<td>{{ $data_peti->customer->name }}</td>
<td>{{ $data_peti->warehouse->name }}</td>
<td>{{ $data_peti->customer->code_customer }}</td>
<td>{{ $data_peti->tipe_peti->type }}</td>
<td>{{ $data_peti->tipe_peti->size_peti }}</td>
<td>{{ $data_peti->customer->lot_no }}</td>
<td>{{ $data_peti->kondisipeti->nama_kondisi }}</td>
<td class="text-right">{{ $data_peti->packing_no }}</td>
<td>{{ $data_peti->status }}</td>
<td class="text-center">
<a href="{{ route('dashboard.peti.show', [$data_peti->id]) }}">
<i class="fa fa-eye mr-2" style="font-size: 20px"></i>
</a>
<a href="{{ route('dashboard.peti.edit', [$data_peti->id]) }}">
<i class="fa fa-edit mr-2" style="font-size: 20px"></i>
</a>
<form action="{{ route('dashboard.peti.destroy', $data_peti->id) }}"
method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit"
onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?')"
style="border: none; background: none; cursor: pointer;">
<i class="fa fa-trash text-danger" style="font-size: 20px"></i>
</button>
</form>
</td>
</tr>
@endif
@else
<!-- Tampilkan semua data jika tidak ada pencarian -->
<tr>
<td>{{ $i++ }}</td>
<td><input type="checkbox" class="checkbox" value="{{ $data_peti->id }}"></td>
<td>{{ $data_peti->fix_lot }}</td>
<td>{{ $data_peti->created_by }}</td>
<td>{{ $data_peti->customer->name }}</td>
<td>{{ $data_peti->warehouse->name }}</td>
<td>{{ $data_peti->customer->code_customer }}</td>
<td>{{ $data_peti->tipe_peti->type }}</td>
<td>{{ $data_peti->tipe_peti->size_peti }}</td>
<td>{{ $data_peti->customer->lot_no }}</td>
<td>{{ $data_peti->kondisipeti->nama_kondisi }}</td>
<td class="text-right">{{ $data_peti->packing_no }}</td>
<td>{{ $data_peti->status }}</td>
<td class="text-center">
<a href="{{ route('dashboard.peti.show', [$data_peti->id]) }}">
<i class="fa fa-eye mr-2" style="font-size: 20px"></i>
</a>
<a href="{{ route('dashboard.peti.edit', [$data_peti->id]) }}">
<i class="fa fa-edit mr-2" style="font-size: 20px"></i>
</a>
<form action="{{ route('dashboard.peti.destroy', $data_peti->id) }}"
method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit"
onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?')"
style="border: none; background: none; cursor: pointer;">
<i class="fa fa-trash text-danger" style="font-size: 20px"></i>
</button>
</form>
</td>
</tr>
@endif
@empty
<tr>
<td colspan="14" class="text-center">Data Kosong</td>
</tr>
@endforelse
</tbody>
</table>
</div>
<div class="row mt-3">
<div class="col-md-6">
<!-- Tampilkan jumlah data yang ditampilkan -->
@if (!$peti->isEmpty())
<p class="mb-0">Showing {{ $peti->firstItem() }} to {{ $peti->lastItem() }} of
{{ $peti->total() }} entries</p>
@endif
</div>
<div class="col-md-6 d-flex justify-content-end">
@if ($peti->total() > $peti->perPage())
<nav aria-label="Page navigation">
<ul class="pagination justify-content-end mb-0">
<li class="page-item {{ $peti->onFirstPage() ? 'disabled' : '' }}">
<a class="page-link"
href="{{ $peti->appends(['perPage' => Request::get('perPage'), 'search' => $search])->url(1) }}"
aria-label="First">
<span aria-hidden="true">First</span>
</a>
</li>
{{ $peti->appends(['perPage' => Request::get('perPage'), 'search' => $search])->links() }}
<li class="page-item {{ $peti->hasMorePages() ? '' : 'disabled' }}">
<a class="page-link"
href="{{ $peti->appends(['perPage' => Request::get('perPage'), 'search' => $search])->url($peti->lastPage()) }}"
aria-label="Last">
<span aria-hidden="true">Last</span>
</a>
</li>
</ul>
</nav>
@endif
</div>
</div>
</div>
</div>
<!-- cara data table bostrap-->
{{-- <div class="card shadow mb-4">
<div class="card-header py-3">
<div class="row">
<div class="col-7">
<h5 class="m-0 font-weight-bold text-primary mt-2">Data Peti</h5>
</div>
<div class="col-5 d-flex">
<a href="{{ route('dashboard.peti.create') }}" class="btn btn-success btn-icon-split ml-4">
<span class="text">Tambah Peti</span>
</a>
<div class="mr-2">
<form action="{{ route('dashboard.all-pdf.cetakpdf') }}" method="GET" id="pdfForm"
class="ml-2" target="_blank">
@csrf
<input type="hidden" name="peti_ids" id="peti_ids" value="">
<button type="submit" class="btn btn-primary">Cetak PDF</button>
</form>
</div>
<a href="#" class="btn btn-info btn-icon-split" data-toggle="modal"
data-target="#importDataModal">
<span class="text">Import Customer</span>
</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="tablePeti" width="100%" cellspacing="0">
<thead>
<tr>
<th class="text-center" style="width: 10px">No</th>
<th><input type="checkbox" class="checkbox " id="selectAll"></th>
<th>Fix Lot</th>
<th>User</th>
<th>Customer</th>
<th>WH</th>
<th>Kode Customer</th>
<th>Tipe Peti</th>
<th>Ukuran Peti</th>
<th>Lot No</th>
<th>Kondisi Peti</th>
<th>Packing No</th>
<th>Status</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@forelse ($peti as $data_peti)
<tr>
<td>{{ $i++ }}</td>
<td><input type="checkbox" class="checkbox" value="{{ $data_peti->id }}"></td>
<td>{{ $data_peti->fix_lot }}</td>
<td>{{ $data_peti->created_by }}</td>
<td>{{ $data_peti->customer->name }}</td>
<td>{{ $data_peti->warehouse->name }}</td>
<td>{{ $data_peti->customer->code_customer }}</td>
<td>{{ $data_peti->tipe_peti->type }}</td>
<td>{{ $data_peti->tipe_peti->size_peti }}</td>
<td>{{ $data_peti->customer->lot_no }}</td>
<td>{{ $data_peti->kondisipeti->nama_kondisi }}</td>
<td class="text-right">{{ $data_peti->packing_no }}</td>
<td>{{ $data_peti->status }}</td>
<td class="text-center">
<a href="{{ route('dashboard.peti.show', [$data_peti->id]) }}">
<i class="fa fa-eye mr-2" style="font-size: 20px"></i>
</a>
<a href="{{ route('dashboard.peti.edit', [$data_peti->id]) }}">
<i class="fa fa-edit mr-2" style="font-size: 20px"></i>
</a>
<form action="{{ route('dashboard.peti.destroy', $data_peti->id) }}" method="POST"
style="display: inline;">
@csrf
@method('DELETE')
<button type="submit"
onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?')"
style="border: none; background: none; cursor: pointer;">
<i class="fa fa-trash text-danger" style="font-size: 20px"></i>
</button>
</form>
</td>
</tr>
@empty
@endforelse
</tbody>
</table>
</div>
</div>
</div> --}}
@elseif (auth()->user()->role_id == 2)
@include('pages.user.Master_Data.Manajemen_Peti.Peti.index')
@endif
<!-- Import Data Modal-->
<div class="modal fade" id="importDataModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Import Data Peti</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('dashboard.peti.import') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group">
<div class="form-group">
<label for="name" class="col-form-label">File Import Peti:</label>
<input type="file" name="file" class="form-control" accept=".xlsx, .xls, .csv"
required>
<small class="text-muted">Pilih file Excel (.xlsx, .xls) atau CSV (.csv) untuk
diimpor.</small>
</div>
<!-- Tombol untuk mengunduh file -->
<div class="form-group">
<a href="{{ asset('assets/file/Format_Import_Peti.csv') }}" class="btn btn-primary"
download>Unduh Format Peti</a>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
<button type="submit" class="btn btn-success">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// Ketika checkbox "Select All" di-klik
$('#selectAll').click(function() {
$('.checkbox').prop('checked', this.checked);
});
// Ketika salah satu checkbox di-klik
$('.checkbox').click(function() {
if ($('.checkbox:checked').length == $('.checkbox').length) {
$('#selectAll').prop('checked', true);
} else {
$('#selectAll').prop('checked', false);
}
});
// Ketika tombol cetak PDF di-klik
$('#pdfForm').submit(function() {
var selectedIds = [];
$('.checkbox:checked').each(function() {
var id = $(this).val();
if (id !== 'on') {
selectedIds.push(id);
}
});
if (selectedIds.length > 0) {
$('#peti_ids').val(selectedIds.join(','));
} else {
alert('Pilih setidaknya satu ID untuk mencetak PDF.');
return false;
}
});
});
</script>
@endsection