215 lines
9.4 KiB
PHP
215 lines
9.4 KiB
PHP
@extends('layouts.backapp')
|
|
|
|
@section('styles')
|
|
<style>
|
|
.filter-buttons {
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
.filter-buttons .btn {
|
|
white-space: nowrap;
|
|
}
|
|
.datepicker {
|
|
width: 100% !important;
|
|
max-width: 100%;
|
|
}
|
|
.datepicker-dropdown {
|
|
width: auto !important;
|
|
min-width: 250px;
|
|
max-width: 300px;
|
|
}
|
|
input.datepicker {
|
|
width: 100% !important;
|
|
box-sizing: border-box;
|
|
}
|
|
</style>
|
|
@endsection
|
|
|
|
@section('content')
|
|
<div class="kt-portlet kt-portlet--mobile" id="kt_blockui_datatable">
|
|
<div class="kt-portlet__head kt-portlet__head--lg">
|
|
<div class="kt-portlet__head-label">
|
|
|
|
<h3 class="kt-portlet__head-title">
|
|
Histori Stock
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="kt-portlet__body">
|
|
<!-- Filter Section -->
|
|
<div class="ke-form row">
|
|
<div class="form-group col-md-3">
|
|
<label class="form-label">Filter Dealer</label>
|
|
<select class="form-control select2" id="filter-dealer">
|
|
<option value="">Semua Dealer</option>
|
|
@foreach($dealers as $dealer)
|
|
<option value="{{ $dealer->name }}">{{ $dealer->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-md-3">
|
|
<label class="form-label">Filter Produk</label>
|
|
<select class="form-control select2" id="filter-product">
|
|
<option value="">Semua Produk</option>
|
|
@foreach($products as $product)
|
|
<option value="{{ $product->name }}">{{ $product->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-md-3">
|
|
<label class="form-label">Jenis Perubahan</label>
|
|
<select class="form-control select2" id="filter-change-type">
|
|
<option value="">Semua Jenis</option>
|
|
<option value="increase">Penambahan</option>
|
|
<option value="decrease">Pengurangan</option>
|
|
<option value="no_change">Tidak Ada Perubahan</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-md-3">
|
|
<label class="form-label">Filter Tanggal</label>
|
|
<input type="text" class="form-control datepicker" id="filter-date" placeholder="Pilih tanggal">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Action Buttons Row -->
|
|
<div class="row mb-3">
|
|
<div class="col-md-12">
|
|
<div class="filter-buttons">
|
|
<button type="button" class="btn btn-primary btn-sm" id="apply-filters">
|
|
Filter
|
|
</button>
|
|
<button type="button" class="btn btn-secondary btn-sm" id="reset-filters">
|
|
Reset
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="table-responsive">
|
|
<table id="stock-audit-table" class="table table-striped table-bordered"
|
|
data-route="{{ route('stock-audit.index') }}">
|
|
<thead>
|
|
<tr>
|
|
<th>No</th>
|
|
<th>Produk</th>
|
|
<th>Dealer</th>
|
|
<th>Jenis Perubahan</th>
|
|
<th>Perubahan Qty</th>
|
|
<th>Stock (Sebelum → Sesudah)</th>
|
|
<th>Sumber</th>
|
|
<th>User</th>
|
|
<th>Tanggal</th>
|
|
<th>Aksi</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Detail Modal -->
|
|
<div class="modal fade" id="auditDetailModal" tabindex="-1" role="dialog" aria-labelledby="auditDetailModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="auditDetailModalLabel">Detail Audit Stock</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close" id="modal-close-btn">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body" id="auditDetailContent">
|
|
<!-- Loading State -->
|
|
<div id="modal-loading" class="text-center">
|
|
<div class="spinner-border" role="status">
|
|
<span class="sr-only">Memuat...</span>
|
|
</div>
|
|
<p class="mt-2">Memuat data audit...</p>
|
|
</div>
|
|
|
|
<!-- Error State -->
|
|
<div id="modal-error" class="alert alert-danger" style="display: none;">
|
|
<strong>Error:</strong> <span id="error-message">Gagal memuat detail audit</span>
|
|
</div>
|
|
|
|
<!-- Content Area -->
|
|
<div id="modal-content" style="display: none;">
|
|
<!-- Stock Information -->
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h6 class="font-weight-bold">Informasi Stock</h6>
|
|
<table class="table table-sm">
|
|
<tr>
|
|
<td><strong>Produk:</strong></td>
|
|
<td id="product-name">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Dealer:</strong></td>
|
|
<td id="dealer-name">-</td>
|
|
</tr>
|
|
<tr></tr>
|
|
<td><strong>Stock Sebelum:</strong></td>
|
|
<td id="previous-quantity">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Stock Sesudah:</strong></td>
|
|
<td id="new-quantity">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Perubahan:</strong></td>
|
|
<td id="quantity-change">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Jenis Perubahan:</strong></td>
|
|
<td id="change-type">-</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h6 class="font-weight-bold">Informasi Sistem</h6>
|
|
<table class="table table-sm">
|
|
<tr>
|
|
<td><strong>User:</strong></td>
|
|
<td id="user-name">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Tanggal:</strong></td>
|
|
<td id="created-at">-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Deskripsi:</strong></td>
|
|
<td id="description">-</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Source Detail (will be shown/hidden based on data) -->
|
|
<div id="source-detail" style="display: none;">
|
|
<hr>
|
|
<h6 class="font-weight-bold">Detail Sumber Perubahan</h6>
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h6 class="mb-0" id="source-title">-</h6>
|
|
</div>
|
|
<div class="card-body" id="source-content">
|
|
<!-- Content will be populated by JavaScript -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal" id="modal-close-footer-btn">Tutup</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@endsection
|
|
|
|
@section('javascripts')
|
|
<script src="{{ mix('js/warehouse_management/stock_audit/index.js') }}"></script>
|
|
@endsection
|
|
|
|
|