fix beberapa revisi

This commit is contained in:
Jagad R R
2025-01-15 14:50:53 +07:00
parent 1eb6c48276
commit 7abfd74867
26 changed files with 830 additions and 170 deletions
@@ -338,8 +338,32 @@
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
@@ -338,8 +338,32 @@
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
@@ -327,8 +327,32 @@
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
@@ -364,8 +364,32 @@
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
@@ -343,8 +343,32 @@
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
@@ -95,14 +95,36 @@
<script>
$(document).ready(function () {
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: true,
dom: 'Bfrtip',
buttons: [
'excel', 'pdf', 'print'
]
});
}
$('#dataTable').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
});
</script>
@endsection
@@ -87,14 +87,36 @@
<script>
$(document).ready(function () {
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: [
'excel', 'pdf', 'print'
]
});
}
$('#dataTable').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
});
</script>
@endsection
@@ -87,14 +87,36 @@
<script>
$(document).ready(function () {
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: [
'excel', 'pdf', 'print'
]
});
}
$('#dataTable').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
});
</script>
@endsection
@@ -87,14 +87,36 @@
<script>
$(document).ready(function () {
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: true,
dom: 'Bfrtip',
buttons: [
'excel', 'pdf', 'print'
]
});
}
$('#dataTable').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
});
</script>
@endsection
@@ -91,14 +91,36 @@
<script>
$(document).ready(function () {
if ($('#dataTable').length) {
$('#dataTable').DataTable({
responsive: true,
dom: 'Bfrtip',
buttons: [
'excel', 'pdf', 'print'
]
});
}
$('#dataTable').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
});
</script>
@endsection
@@ -98,15 +98,11 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
<div class="col-md-3">
<div class="col-md-2">
<div class="form-group mb-3">
<label for="month">Pilih Periode Bulan</label>
<select name="month" id="month" class="form-control">
@@ -127,7 +123,7 @@
</div>
</div>
<div class="col-md-3">
<div class="col-md-2">
<div class="form-group mb-3">
<label for="year">Pilih Periode Tahun</label>
<select name="year" id="year" class="form-control">
@@ -138,6 +134,19 @@
</select>
</div>
</div>
<div class="col-md-2">
<div class="form-group mb-3">
<label for="status">Status</label>
<select name="status" id="status" class="form-control">
<option value="">Semua Status</option>
<option value="On Progress" {{ request()->status == 'On Progress' ? 'selected' : '' }}>On Progress</option>
<option value="Approved" {{ request()->status == 'Approved' ? 'selected' : '' }}>Approved</option>
<option value="Closed" {{ request()->status == 'Closed' ? 'selected' : '' }}>Closed</option>
<option value="Rejected" {{ request()->status == 'Rejected' ? 'selected' : '' }}>Rejected</option>
</select>
</div>
</div>
</div>
@@ -222,12 +231,60 @@
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 25, 50, -1], [10, 25, 50, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -22,7 +22,7 @@
<div class="col-md-12">
<div class="card">
<div class="card-body">
<form action="{{ route('reports.entertainment') }}" method="GET">
<form action="{{ route('reports.upcountry') }}" method="GET">
<div class="d-flex">
<div class="col-md-3">
<div class="form-group mb-3">
@@ -42,11 +42,7 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
@@ -79,7 +75,7 @@
<div class="col-md-3">
<div class="form-group">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="{{ route('reports.entertainment') }}" class="btn btn-secondary">Reset</a>
<a href="{{ route('reports.upcountry') }}" class="btn btn-secondary">Reset</a>
</div>
</div>
</form>
@@ -173,12 +169,60 @@
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -140,15 +140,36 @@
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'csv', 'pdf', 'print', 'colvis'],
paging: false,
info: false,
pageLength: -1
});
}
</script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
@endsection
@@ -13,20 +13,29 @@
<div class="card-body">
<form action="{{ route('reports.jurnal.generate') }}" method="GET">
<div class="d-flex">
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group mb-3">
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control" required>
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
<label for="region">Pilih Region</label>
<select name="region" id="region" class="form-control" required>
<option value="">Semua Region</option>
@foreach ($regions as $region)
<option value="{{ $region->code }}" {{ request()->region == $region->code ? 'selected' : '' }}>
{{ $region->name }}
</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group mb-3">
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control" required>
<option value="">Semua Cabang</option>
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group mb-3">
<label for="month">Pilih Periode Bulan</label>
<select name="month" id="month" class="form-control" required>
@@ -47,7 +56,7 @@
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group mb-3">
<label for="year">Pilih Periode Tahun</label>
<select name="year" id="year" class="form-control" required>
@@ -77,13 +86,61 @@
@endsection
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -22,7 +22,7 @@
<div class="col-md-12">
<div class="card">
<div class="card-body">
<form action="{{ route('reports.meeting') }}" method="GET">
<form action="{{ route('reports.upcountry') }}" method="GET">
<div class="d-flex">
<div class="col-md-3">
<div class="form-group mb-3">
@@ -42,11 +42,7 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
@@ -79,7 +75,7 @@
<div class="col-md-3">
<div class="form-group">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="{{ route('reports.meeting') }}" class="btn btn-secondary">Reset</a>
<a href="{{ route('reports.upcountry') }}" class="btn btn-secondary">Reset</a>
</div>
</div>
</form>
@@ -162,13 +158,61 @@
@endsection
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -22,7 +22,7 @@
<div class="col-md-12">
<div class="card">
<div class="card-body">
<form action="{{ route('reports.others') }}" method="GET">
<form action="{{ route('reports.upcountry') }}" method="GET">
<div class="d-flex">
<div class="col-md-3">
<div class="form-group mb-3">
@@ -42,11 +42,7 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
@@ -79,7 +75,7 @@
<div class="col-md-3">
<div class="form-group">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="{{ route('reports.others') }}" class="btn btn-secondary">Reset</a>
<a href="{{ route('reports.upcountry') }}" class="btn btn-secondary">Reset</a>
</div>
</div>
</form>
@@ -170,13 +166,61 @@
@endsection
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -42,11 +42,7 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
@@ -169,12 +165,60 @@
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
@@ -22,7 +22,7 @@
<div class="col-md-12">
<div class="card">
<div class="card-body">
<form action="{{ route('reports.vehicle') }}" method="GET">
<form action="{{ route('reports.upcountry') }}" method="GET">
<div class="d-flex">
<div class="col-md-3">
<div class="form-group mb-3">
@@ -42,11 +42,7 @@
<label for="cabang">Pilih Cabang</label>
<select name="cabang" id="cabang" class="form-control">
<option value="">Semua Cabang</option>
@foreach ($cabang as $cabang)
<option value="{{ $cabang->code }}" {{ request()->cabang == $cabang->code ? 'selected' : '' }}>
{{ $cabang->name }}
</option>
@endforeach
<!-- Cabang options will be dynamically populated -->
</select>
</div>
</div>
@@ -79,7 +75,7 @@
<div class="col-md-3">
<div class="form-group">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="{{ route('reports.vehicle') }}" class="btn btn-secondary">Reset</a>
<a href="{{ route('reports.upcountry') }}" class="btn btn-secondary">Reset</a>
</div>
</div>
</form>
@@ -174,13 +170,61 @@
@endsection
@section('scripts')
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
<script>
if ($('#dataTable-table').length) {
$('#dataTable-table').DataTable({
responsive: false,
dom: 'Bfrtip',
buttons: ['excel', 'pdf', 'print', 'colvis'],
dom: 'Blfrtip',
lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown
buttons: [
{
extend: 'excel',
text: 'Excel'
},
{
extend: 'pdf',
text: 'PDF',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
text: 'Print',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
},
'colvis'
]
});
}
</script>
}
</script>
<script>
document.getElementById('region').addEventListener('change', function () {
const regionCode = this.value;
const cabangSelect = document.getElementById('cabang');
// Clear existing options
cabangSelect.innerHTML = '<option value="">Semua Cabang</option>';
if (regionCode) {
fetch(`/api/cabang-by-region/${regionCode}`)
.then(response => response.json())
.then(data => {
data.forEach(cabang => {
const option = document.createElement('option');
option.value = cabang.code;
option.textContent = cabang.name;
cabangSelect.appendChild(option);
});
})
.catch(error => console.error('Error fetching cabang data:', error));
}
});
</script>
@endsection
+40 -11
View File
@@ -22,16 +22,17 @@
</div>
<nav class="main-header navbar navbar-expand navbar-dark bg-primary">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i
class="fas fa-bars"></i></a>
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
</li>
</ul>
<ul class="navbar-nav ml-auto">
<div class="navbar-center text-white m-auto">
<span id="date-time" class="font-weight-bold"></span>
</div>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
<i class="fas fa-expand-arrows-alt"></i>
@@ -40,16 +41,13 @@
<li class="nav-item dropdown" title="Account Profile">
<a class="nav-link" data-toggle="dropdown" href="#">
{{ Auth::guard('admin')->user()->name }} <i class="far fa-user"></i>
{{ Auth::guard('admin')->user()->name }} <i class="far fa-user"></i>
</a>
@include('layouts.partials.logout')
</li>
</ul>
</nav>
<aside class="main-sidebar elevation-1 sidebar-light-danger">
<a href="#" class="brand-link bg-light">
@@ -78,12 +76,18 @@
<a class="d-block font-weight-bold" style="font-size: 11px;">
{{ Auth::guard('admin')->user()->getRoleNames()[0] }}
</a>
@if(auth()->user()->getMyCabangAndRegion()['cabang'] != '-')
@if(auth()->user()->getMyCabangAndRegion()['cabang'] != '-' && Auth::guard('admin')->user()->getRoleNames()[0] == 'Medical Representatif')
<a class="d-block" style="font-size: 14px;">
<span class="badge badge-primary">
{{ auth()->user()->getMyCabangAndRegion()['cabang'] }}
</span>
</a>
@elseif(Auth::guard('admin')->user()->getRoleNames()[0] != 'superadmin')
<a class="d-block" style="font-size: 14px;">
<span class="badge badge-primary">
Head Office
</span>
</a>
@endif
</div>
</div>
@@ -115,5 +119,30 @@
@include('layouts.partials.scripts')
@yield('scripts')
</body>
</html>
<script>
function updateDateTime() {
const dateTimeElement = document.getElementById('date-time');
const now = new Date();
const options = {
timeZone: 'Asia/Jakarta',
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
hour: '2-digit',
minute: '2-digit',
hour12: false // Use 24-hour format
};
dateTimeElement.textContent = new Intl.DateTimeFormat('id-ID', options).format(now);
}
// Update the clock every second
setInterval(updateDateTime, 1000);
// Initialize the clock on page load
updateDateTime();
</script>
@@ -93,5 +93,11 @@
.dt-search {
float: right;
text-align: right;
margin-right: 20px;
}
.dt-length {
float: right;
text-align: right;
}
</style>