|
|
|
@extends('layouts.main')
|
|
|
|
@section('title', 'Warehouse')
|
|
|
|
@section('content')
|
|
|
|
|
|
|
|
@include('layouts.components.alert-prompt')
|
|
|
|
|
|
|
|
@if (auth()->user()->role_id == 1)
|
|
|
|
<div class="card shadow mb-4">
|
|
|
|
<nav class="navbar navbar-expand navbar-light bg-light py-3" style="border-bottom: 1px solid #ddd;">
|
|
|
|
<h5 class="m-0 font-weight-bold text-primary mt-2">Data Gudang</h5>
|
|
|
|
<ul class="navbar-nav ml-auto">
|
|
|
|
<li class="nav-item dropdown">
|
|
|
|
<button type="button" class="btn btn-info dropdown-toggle mb-1" id="navbarDropdown"
|
|
|
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
|
Action
|
|
|
|
</button>
|
|
|
|
<div class="dropdown-menu dropdown-menu-right animated--grow-in" aria-labelledby="navbarDropdown">
|
|
|
|
<a class="dropdown-item" data-toggle="modal" data-target="#tambahDataModal"
|
|
|
|
href="#">Tambah Data Gudang</a>
|
|
|
|
<a class="dropdown-item" data-toggle="modal" data-target="#importDataModal"
|
|
|
|
href="#">Import Data Gudang</a>
|
|
|
|
<a class="dropdown-item" href="{{ route('dashboard.ReportWarehouse.export') }}"
|
|
|
|
target="_blank">Export Data Gudang</a>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
<div class="card-body">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-6">
|
|
|
|
<!-- Fitur page -->
|
|
|
|
<form method="GET" action="{{ route('dashboard.warehouse.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="{{ $warehouse->total() }}"
|
|
|
|
{{ request('perPage', 5) == $warehouse->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.warehouse.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: 50px;">No.</th>
|
|
|
|
<th>Nama Gudang</th>
|
|
|
|
<th>Deskripsi</th>
|
|
|
|
<th>Alamat</th>
|
|
|
|
<th class="text-center">Action</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
@forelse ($warehouse as $data)
|
|
|
|
<tr>
|
|
|
|
<td class="text-center" style="width: 50px;">{{ $i++ }}</td>
|
|
|
|
<td>{{ optional($data)->name }}</td>
|
|
|
|
<td>{{ optional($data)->description }}</td>
|
|
|
|
<td>{{ optional($data)->address }}</td>
|
|
|
|
<td class="text-center">
|
|
|
|
<a href="#" data-toggle="modal"
|
|
|
|
data-target="#editDataModal{{ $data['id'] }}">
|
|
|
|
<i class="fa fa-edit" style="font-size: 20px"></i>
|
|
|
|
</a>
|
|
|
|
<form action="{{ route('dashboard.warehouse.destroy', $data->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
|
|
|
|
<tr>
|
|
|
|
<td colspan="5" class="text-center">Data Kosong</td>
|
|
|
|
</tr>
|
|
|
|
@endforelse
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<div class="row mt-3">
|
|
|
|
<div class="col-4">
|
|
|
|
<!-- Tampilkan jumlah data yang ditampilkan -->
|
|
|
|
@if (!$warehouse->isEmpty())
|
|
|
|
<p class="d-inline-block">Showing {{ $warehouse->firstItem() }} to
|
|
|
|
{{ $warehouse->lastItem() }} of
|
|
|
|
{{ $warehouse->total() }} entries</p>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
<div class="col-8 d-flex justify-content-end">
|
|
|
|
@if ($warehouse->total() > $warehouse->perPage())
|
|
|
|
<nav aria-label="Page navigation">
|
|
|
|
<ul class="pagination justify-content-center">
|
|
|
|
<li class="page-item {{ $warehouse->onFirstPage() ? 'disabled' : '' }}">
|
|
|
|
<a class="page-link"
|
|
|
|
href="{{ $warehouse->appends(['perPage' => Request::get('perPage')])->url(1) }}"
|
|
|
|
aria-label="First">
|
|
|
|
<span aria-hidden="true">First</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{ $warehouse->appends(['perPage' => Request::get('perPage')])->links() }}
|
|
|
|
<li class="page-item {{ $warehouse->hasMorePages() ? '' : 'disabled' }}">
|
|
|
|
<a class="page-link"
|
|
|
|
href="{{ $warehouse->appends(['perPage' => Request::get('perPage')])->url($warehouse->lastPage()) }}"
|
|
|
|
aria-label="Last">
|
|
|
|
<span aria-hidden="true">Last</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@elseif(auth()->user()->role_id == 2)
|
|
|
|
@include('pages.user.master_data.warehouse.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 Gudang</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.warehouse.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 Gudang:</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_Warehouse.csv') }}" class="btn btn-primary"
|
|
|
|
download>Unduh Format Gudang</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>
|
|
|
|
|
|
|
|
<!-- Modal Tambah-->
|
|
|
|
<div class="modal fade" id="tambahDataModal" 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">Tambah Data Gudang</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.warehouse.store') }}" method="POST" enctype="multipart/form-data"
|
|
|
|
id="inputanForm">
|
|
|
|
@csrf
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="name" class="col-form-label">Nama Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<input class="form-control" name="name" type="text" id="name"
|
|
|
|
value="{{ old('name') }}" placeholder="Masukan Nama Gudang" required>
|
|
|
|
|
|
|
|
<label for="description" class="col-form-label">Deskripsi Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<textarea class="form-control" name="description" id="description" placeholder="Masukkan Deskripsi Gudang" required>{{ old('description') }}</textarea>
|
|
|
|
|
|
|
|
<label for="address" class="col-form-label">Alamat Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<textarea class="form-control" name="address" id="address" placeholder="Masukkan Alamat Gudang" required>{{ old('address') }}</textarea>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
|
|
|
|
<button type="submit" class="btn btn-primary" id="submitButton">Simpan</button>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Modal Edit Data-->
|
|
|
|
@foreach ($warehouse as $data)
|
|
|
|
<div class="modal fade" id="editDataModal{{ $data['id'] }}" 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">Edit Data Gudang</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.warehouse.update', $data->id) }}" method="POST"
|
|
|
|
enctype="multipart/form-data" id="inputanForm">
|
|
|
|
@csrf
|
|
|
|
@method('PUT')
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="name" class="col-form-label">Nama Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<input class="form-control" name="name" type="text" id="name"
|
|
|
|
value="{{ $data->name }}" placeholder="Masukan Nama Gudang" required>
|
|
|
|
|
|
|
|
<label for="description" class="col-form-label">Deskripsi Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<textarea class="form-control" name="description" id="description" placeholder="Masukkan Deskripsi Gudang" required>{{ $data->description }}</textarea>
|
|
|
|
|
|
|
|
<label for="address" class="col-form-label">Alamat Gudang: <span
|
|
|
|
class="text-danger">*</span></label>
|
|
|
|
<textarea class="form-control" name="address" id="address" placeholder="Masukkan Alamat Gudang" required>{{ $data->address }}</textarea>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
|
|
|
|
<button type="submit" class="btn btn-primary" id="submitButton">Simpan</button>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endforeach
|
|
|
|
|
|
|
|
<script>
|
|
|
|
document.getElementById('inputanForm').addEventListener('submit', function() {
|
|
|
|
document.getElementById('submitButton').setAttribute('disabled', 'true');
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
@endsection
|