sigd/resources/views/modules/reports/worksheet/index.blade.php

168 lines
6.9 KiB
PHP

@php
$isExport = $isExport ?? false;
@endphp
@extends('layouts.master')
@section('title')
{!! $wsData ? 'Worksheet: ' . $wsData->ws_code . ' - ' . $wsData->ws_title : 'Worksheet' !!}
@endsection
@section('content')
<div class="card shadow-sm">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0 font-weight-bold">
{!! $wsData
? 'Worksheet: <span class="text-danger">' .
htmlspecialchars($wsData->ws_code) .
' - ' .
htmlspecialchars($wsData->ws_title) .
'</span>'
: 'Worksheet' !!}
</h5>
</div>
<div class="card-body">
@if ($errors->has('error'))
<div class="alert alert-danger">
{{ $errors->first('error') }}
</div>
@endif
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form id="worksheetForm" method="GET">
@csrf
<div class="row">
<div class="col-md-2 pr-1">
<x-inventory-year-select :selected-year="$inventoryYear" />
</div>
<div class="col-lg-2 pr-1">
<x-activity-year-select :selected-year="$activityYear" :inventory-year="$inventoryYear" />
</div>
</div>
<div class="row">
<div class="col-lg-2 pr-1">
<div class="form-group">
<label for="category">Sektor:</label>
<div class="input-group">
<select name="category" id="category" class="form-control">
<option value="">Sektor</option>
@foreach ($categories as $category)
<option value="{{ $category->code }}"
{{ $sectorCode == $category->code ? 'selected' : '' }}>
{{ $category->name }}
</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="col-lg-4 pr-1">
<div class="form-group">
<label for="worksheet">Worksheet:</label>
<div class="input-group">
<select name="worksheet" id="worksheet" class="form-control">
<option value="">Pilih Worksheet</option>
@foreach ($worksheets as $worksheet)
<option value="{{ $worksheet->ws_code }}"
{{ $wsCode == $worksheet->ws_code ? 'selected' : '' }}>
{{ $worksheet->ws_code }} - {{ $worksheet->ws_title }}
</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="col-lg-4 d-flex align-items-end align-items-center pt-1 pr-1">
<div class="form-group mt-2 mb-0 mr-2">
<button type="submit" class="btn btn-info">Tampilkan</button>
</div>
<div class="form-group mt-2 mb-0">
<a href="{{ route('worksheet.export', [
'inventoryYear' => $inventoryYear,
'activityYear' => $activityYear,
'sectorCode' => $sectorCode,
'wsCode' => $wsCode,
]) }}"
class="btn btn-info">Ekspor Excel</a>
</div>
</div>
</div>
</form>
<br />
@if (\Illuminate\Support\Facades\File::exists(resource_path('views/reports/worksheet/tables/' . ($wsData ? $wsData->ws_code : 'test') . '.blade.php')))
@include('reports.worksheet.tables.' . $wsData->ws_code)
@endif
</div>
</div>
@endsection
@push('styles')
@endsection
@section('js')
<script>
$(document).ready(function() {
$('#inventoryYear').select2({
placeholder: 'Pilih Tahun'
});
$('#activityYear').select2({
placeholder: 'Pilih Tahun'
});
$('#category').select2({
placeholder: 'Pilih Sektor'
});
$('#worksheet').select2({
placeholder: 'Pilih Worksheet'
});
$('#worksheetForm').on('submit', function(event) {
event.preventDefault();
var actionUrl = updateFormAction();
window.location.href = actionUrl;
});
$('#category').change(function() {
var sectorCode = $(this).val();
var options = '<option value="">Pilih Worksheet</option>';
$('#worksheet').html(options).val('');
$.ajax({
url: '{{ route('ws.getWorksheetsBySector') }}',
method: 'GET',
data: {
sector: sectorCode
},
success: function(data) {
$.each(data, function(index, worksheet) {
options +=
`<option value="${worksheet.ws_code}">${worksheet.ws_code} - ${worksheet.ws_title}</option>`;
});
$('#worksheet').html(options).val('').trigger('change');
},
error: function(xhr, status, error) {
console.error('Error fetching worksheets:', error);
}
});
});
});
function updateFormAction() {
var inventoryYear = $('#inventoryYear').val();
var activityYear = $('#activityYear').val() || '';
var sectorCode = $('#category').val() || '';
var worksheetCode = $('#worksheet').val() || '';
var actionUrl = `{{ url('reports/worksheet') }}/${inventoryYear}`;
if (activityYear) actionUrl += `/${activityYear}`;
if (sectorCode) actionUrl += `/${sectorCode}`;
if (worksheetCode) actionUrl += `/${worksheetCode}`;
return actionUrl;
}
</script>
@endsection