|
|
|
@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">×</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
|