198 lines
8.6 KiB
PHP
198 lines
8.6 KiB
PHP
@extends('layouts.master')
|
|
|
|
@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">{{ @$title }}</h5>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
@if ($errors->has('error'))
|
|
<div class="alert alert-danger">
|
|
{{ $errors->first('error') }}
|
|
</div>
|
|
@endif
|
|
|
|
<form method="POST" action="{{ route($route.'.update', $data->id) }}" enctype="multipart/form-data">
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
<div class="form-group">
|
|
<label for="sector">Sector <span class="text-danger">*</span></label>
|
|
<select class="form-control @error('sector') is-invalid @enderror" id="sector" name="sector"
|
|
required>
|
|
<option value=""></option>
|
|
@foreach ($sectors as $sector)
|
|
<option value="{{ $sector->code }}"
|
|
{{ old('sector', $data->sector) == $sector->code ? 'selected' : '' }}>
|
|
{{ $sector->name }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('sector')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div id="subSectorContainer" style="display: none;">
|
|
<div class="form-group">
|
|
<label for="sub_sector">Sub Sector</label>
|
|
<select class="form-control @error('sub_sector') is-invalid @enderror" id="sub_sector"
|
|
name="sub_sector">
|
|
<option value=""></option>
|
|
</select>
|
|
@error('sub_sector')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="inventory_year">Tahun Inventory <span class="text-danger">*</span></label>
|
|
<div class="input-group">
|
|
<select name="inventory_year" id="inventory_year" class="form-control">
|
|
<option value=""></option>
|
|
@for ($year = date('Y'); $year >= 2000; $year--)
|
|
<option value="{{ $year }}"
|
|
{{ old('inventory_year', $data->inventory_year) == $year ? 'selected' : '' }}>
|
|
{{ $year }}
|
|
</option>
|
|
@endfor
|
|
</select>
|
|
@error('inventory_year')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="name">Judul <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('name') is-invalid @enderror" id="name"
|
|
name="name" value="{{ old('name', $data->name) }}" required>
|
|
@error('name')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="description">Deskripsi</label>
|
|
<textarea class="form-control @error('description') is-invalid @enderror" id="description" name="description">{{ old('description', $data->description) }}</textarea>
|
|
@error('description')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="file_document">Lampirkan Dokumen</label>
|
|
<div class="input-group">
|
|
<input type="file" class="form-control @error('file_document') is-invalid @enderror"
|
|
id="file_document" name="file_document">
|
|
@if ($data->file_upload)
|
|
<div class="input-group-append">
|
|
<a href="{{ asset('storage/'.$storagePath . '/' . $data->file_upload) }}"
|
|
class="btn btn-success" download>Download File</a>
|
|
</div>
|
|
@endif
|
|
|
|
@error('file_document')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="alert alert-warning material-shadow" role="alert">
|
|
Maksimum Ukuran File: 2MB. <br />
|
|
{{-- Jenis file yang dibolehkan: pdf, PDF, jpg, JPG, jpeg, JPEG, png, PNG --}}
|
|
</div>
|
|
|
|
<a href="{{ route($route.'.index') }}" class="btn btn-secondary">Kembali</a>
|
|
<button type="submit" class="btn btn-primary">Simpan</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('js')
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('#sector').select2({
|
|
placeholder: 'Pilih Sektor',
|
|
});
|
|
|
|
$('#inventory_year').select2({
|
|
placeholder: 'Pilih Tahun',
|
|
});
|
|
|
|
$('#sub_sector').select2({
|
|
placeholder: 'Pilih Sub-Sektor',
|
|
});
|
|
|
|
// Initialize sub-sector for the existing data
|
|
var selectedSector = '{{ old('sector', $data->sector) }}';
|
|
var selectedSubSector = '{{ old('sub_sector', $data->sub_sector) }}';
|
|
|
|
// Fetch sub-sectors for pre-selected sector (if applicable)
|
|
if (selectedSector) {
|
|
fetchSubSectors(selectedSector, selectedSubSector);
|
|
}
|
|
|
|
// Handle sector change to fetch sub-sectors dynamically
|
|
$('#sector').on('change', function() {
|
|
var sectorCode = $(this).val();
|
|
fetchSubSectors(sectorCode, null); // Clear selected sub-sector on change
|
|
});
|
|
|
|
function fetchSubSectors(sectorCode, selectedSubSector) {
|
|
$('#sub_sector').empty(); // Clear previous options
|
|
$('#subSectorContainer').hide(); // Hide the sub-sector container initially
|
|
|
|
if (sectorCode) {
|
|
$.ajax({
|
|
url: '{{ route('modules.subsectors.fetch') }}',
|
|
method: 'GET',
|
|
data: {
|
|
sector_code: sectorCode
|
|
},
|
|
success: function(data) {
|
|
if (data.length > 0) {
|
|
$('#sub_sector').append(
|
|
'<option value=""></option>'); // Add a blank option
|
|
$.each(data, function(index, subSector) {
|
|
$('#sub_sector').append('<option value="' + subSector.code +
|
|
'">' + subSector.name + '</option>');
|
|
});
|
|
|
|
if (selectedSubSector) {
|
|
$('#sub_sector').val(selectedSubSector).trigger(
|
|
'change'); // Pre-select the sub-sector
|
|
}
|
|
|
|
$('#subSectorContainer').show(); // Show the sub-sector container
|
|
$('#sub_sector').select2({
|
|
placeholder: 'Pilih Sub Sektor',
|
|
});
|
|
} else {
|
|
$('#subSectorContainer').hide(); // Hide the container if no sub-sectors
|
|
}
|
|
},
|
|
error: function() {
|
|
alert('Error fetching sub-sectors.');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
@endsection
|