Update Koperasi
This commit is contained in:
@@ -1,149 +1,175 @@
|
||||
<h6 class="fw-bold mb-3">Data Pribadi Responden</h6>
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Nama Lengkap <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama_lengkap') is-invalid @enderror" name="nama_lengkap" value="{{ old('nama_lengkap', $pengurus->nama_lengkap ?? '') }}" placeholder="Contoh: Budi Santoso" required>
|
||||
@error('nama_lengkap')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
@php
|
||||
$currentJenis = old('jenis_koperasi', $pengurus->jenis_koperasi);
|
||||
$lainnyaValue = \App\Enums\Koperasi\JenisKoperasi::LAINNYA->value;
|
||||
$isLainnya = filled($currentJenis) && (\App\Enums\Koperasi\JenisKoperasi::tryFrom($currentJenis) === null || $currentJenis === $lainnyaValue);
|
||||
$jenisLainnya = old('jenis_koperasi_lainnya', $isLainnya && $currentJenis !== $lainnyaValue ? $currentJenis : '');
|
||||
$currentFokus = old('fokus_komoditas', $pengurus->fokus_komoditas?->value);
|
||||
$fokusYa = $currentFokus === \App\Enums\Koperasi\FokusKomoditasKoperasi::YA->value;
|
||||
@endphp
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4">Data Responden</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-nama-lengkap">Nama Responden <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama_lengkap') is-invalid @enderror" id="koperasi-nama-lengkap" name="nama_lengkap" value="{{ old('nama_lengkap', $pengurus->nama_lengkap ?? '') }}" placeholder="Contoh: Budi Santoso" required>
|
||||
@error('nama_lengkap')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Posisi dalam Koperasi <span class="text-danger">*</span></label>
|
||||
<select class="form-select @error('posisi_dalam_koperasi') is-invalid @enderror" name="posisi_dalam_koperasi" required>
|
||||
<option value="" disabled {{ !isset($pengurus) ? 'selected' : '' }}>Pilih Posisi</option>
|
||||
<option value="Pengurus koperasi" {{ old('posisi_dalam_koperasi', $pengurus->posisi_dalam_koperasi ?? '') == 'Pengurus koperasi' ? 'selected' : '' }}>Pengurus koperasi</option>
|
||||
<option value="Anggota koperasi" {{ old('posisi_dalam_koperasi', $pengurus->posisi_dalam_koperasi ?? '') == 'Anggota koperasi' ? 'selected' : '' }}>Anggota koperasi</option>
|
||||
<option value="Pendamping koperasi" {{ old('posisi_dalam_koperasi', $pengurus->posisi_dalam_koperasi ?? '') == 'Pendamping koperasi' ? 'selected' : '' }}>Pendamping koperasi</option>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-posisi">Posisi dalam Koperasi <span class="text-danger">*</span></label>
|
||||
<select class="form-select @error('posisi_dalam_koperasi') is-invalid @enderror" id="koperasi-posisi" name="posisi_dalam_koperasi" required>
|
||||
<option value="">Pilih Posisi</option>
|
||||
@foreach(\App\Enums\Koperasi\PosisiKoperasi::cases() as $posisi)
|
||||
<option value="{{ $posisi->value }}" @selected(old('posisi_dalam_koperasi', $pengurus->posisi_dalam_koperasi?->value) === $posisi->value)>{{ $posisi->value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('posisi_dalam_koperasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
@error('posisi_dalam_koperasi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Tahun Bergabung Koperasi</label>
|
||||
<input type="number" class="form-control @error('tahun_bergabung') is-invalid @enderror" name="tahun_bergabung" value="{{ old('tahun_bergabung', $pengurus->tahun_bergabung ?? '') }}" placeholder="Contoh: 2020" min="1900" max="{{ date('Y') }}">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-tahun-bergabung">Tahun Bergabung Koperasi</label>
|
||||
<input type="number" class="form-control @error('tahun_bergabung') is-invalid @enderror" id="koperasi-tahun-bergabung" name="tahun_bergabung" value="{{ old('tahun_bergabung', $pengurus->tahun_bergabung ?? '') }}" placeholder="Contoh: 2020" min="1900" max="{{ date('Y') }}">
|
||||
@error('tahun_bergabung')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">No. Handphone</label>
|
||||
<input type="text" class="form-control @error('no_hp') is-invalid @enderror" name="no_hp" value="{{ old('no_hp', $pengurus->no_hp ?? '') }}" placeholder="Contoh: 08123456789">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-no-hp">Nomor HP</label>
|
||||
<input type="text" class="form-control @error('no_hp') is-invalid @enderror" id="koperasi-no-hp" name="no_hp" value="{{ old('no_hp', $pengurus->no_hp ?? '') }}" placeholder="Contoh: 08123456789">
|
||||
@error('no_hp')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<label class="form-label">Alamat Tinggal</label>
|
||||
<textarea class="form-control @error('alamat_tinggal') is-invalid @enderror" name="alamat_tinggal" rows="2" placeholder="Masukkan alamat domisili lengkap">{{ old('alamat_tinggal', $pengurus->alamat_tinggal ?? '') }}</textarea>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-alamat-tinggal">Alamat Tinggal</label>
|
||||
<textarea class="form-control @error('alamat_tinggal') is-invalid @enderror" id="koperasi-alamat-tinggal" name="alamat_tinggal" rows="2" placeholder="Masukkan alamat domisili lengkap">{{ old('alamat_tinggal', $pengurus->alamat_tinggal ?? '') }}</textarea>
|
||||
@error('alamat_tinggal')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6 class="fw-bold mb-3 pt-3 border-top">Profil Koperasi</h6>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Nama Koperasi <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama_koperasi') is-invalid @enderror" name="nama_koperasi" value="{{ old('nama_koperasi', $pengurus->nama_koperasi ?? '') }}" placeholder="Contoh: Koperasi Tani Makmur" required>
|
||||
@error('nama_koperasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label d-block">Jenis Koperasi <span class="text-danger">*</span></label>
|
||||
<div class="row g-2">
|
||||
@foreach(['Koperasi Produksi', 'Koperasi Simpan Pinjam', 'Koperasi Pemasaran', 'Koperasi Desa'] as $jenis)
|
||||
<div class="col-md-3">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="jenis_koperasi" id="jenis_{{ $loop->index }}" value="{{ $jenis }}" {{ old('jenis_koperasi', $pengurus->jenis_koperasi ?? '') == $jenis ? 'checked' : '' }} required>
|
||||
<label class="form-check-label" for="jenis_{{ $loop->index }}">{{ $jenis }}</label>
|
||||
</div>
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Identitas Koperasi</h5>
|
||||
@if($wilayahTersedia)
|
||||
<div class="row" data-koperasi-wilayah data-kabupaten-url="{{ route('kabupatenkota.byprovinsi', ':id') }}"
|
||||
data-kecamatan-url="{{ route('kecamatan.bykabupatenkota', ':id') }}" data-desa-url="{{ route('desakelurahan.bykecamatan', ':id') }}">
|
||||
@foreach([
|
||||
'provinsi_id' => ['Provinsi', 'provinsiOptions', 'provinsi', null],
|
||||
'kabupaten_kota_id' => ['Kabupaten/Kota', 'kabupatenOptions', 'kabupaten', 'provinsi_id'],
|
||||
'kecamatan_id' => ['Kecamatan', 'kecamatanOptions', 'kecamatan', 'kabupaten_kota_id'],
|
||||
'desa_kelurahan_id' => ['Desa/Kelurahan', 'desaOptions', 'desa', 'kecamatan_id'],
|
||||
] as $field => [$label, $options, $selector, $parent])
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-{{ $field }}">{{ $label }}</label>
|
||||
<select name="{{ $field }}" id="koperasi-{{ $field }}" class="form-select @error($field) is-invalid @enderror"
|
||||
data-wilayah-{{ $selector }} @disabled($parent && empty($selectedWilayah[$parent]))>
|
||||
<option value="">Pilih {{ $label }}</option>
|
||||
@foreach(${$options} as $option)
|
||||
<option value="{{ $option->id }}" @selected((string) $selectedWilayah[$field] === (string) $option->id)>{{ $option->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error($field)<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="mt-2 d-flex align-items-center">
|
||||
@php
|
||||
$isLainnya = isset($pengurus) && !in_array($pengurus->jenis_koperasi, ['Koperasi Produksi', 'Koperasi Simpan Pinjam', 'Koperasi Pemasaran', 'Koperasi Desa']) && $pengurus->jenis_koperasi != null;
|
||||
@endphp
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" type="radio" name="jenis_koperasi" id="jenis_lainnya" value="Lainnya" {{ old('jenis_koperasi') == 'Lainnya' || $isLainnya ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="jenis_lainnya">Lainnya, sebutkan:</label>
|
||||
</div>
|
||||
<input type="text" class="form-control form-control-sm w-50" name="jenis_koperasi_lainnya" value="{{ old('jenis_koperasi_lainnya', $isLainnya ? $pengurus->jenis_koperasi : '') }}" placeholder="Sebutkan jenis koperasi...">
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-nama">Nama Koperasi <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama_koperasi') is-invalid @enderror" id="koperasi-nama" name="nama_koperasi" value="{{ old('nama_koperasi', $pengurus->nama_koperasi ?? '') }}" placeholder="Contoh: Koperasi Tani Makmur" required>
|
||||
@error('nama_koperasi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Alamat Koperasi</label>
|
||||
<textarea class="form-control @error('alamat_koperasi') is-invalid @enderror" name="alamat_koperasi" rows="2" placeholder="Masukkan alamat lengkap koperasi">{{ old('alamat_koperasi', $pengurus->alamat_koperasi ?? '') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label d-block">Skala Operasi Koperasi <span class="text-danger">*</span></label>
|
||||
<div class="row g-2">
|
||||
@foreach(['Level Dusun', 'Lintas Dusun', 'Level Desa', 'Lintas Desa', 'Level Kecamatan', 'Lintas Kecamatan', 'Level Kabupaten', 'Lintas Kabupaten'] as $skala)
|
||||
<div class="col-md-3">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="skala_operasi" id="skala_{{ $loop->index }}" value="{{ $skala }}" {{ old('skala_operasi', $pengurus->skala_operasi ?? '') == $skala ? 'checked' : '' }} required>
|
||||
<label class="form-check-label" for="skala_{{ $loop->index }}">{{ $skala }}</label>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-tahun-berdiri">Tahun Berdiri</label>
|
||||
<input type="number" class="form-control @error('tahun_berdiri') is-invalid @enderror" id="koperasi-tahun-berdiri" name="tahun_berdiri" value="{{ old('tahun_berdiri', $pengurus->tahun_berdiri ?? '') }}" placeholder="Contoh: 2015" min="1900" max="{{ date('Y') }}">
|
||||
@error('tahun_berdiri')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Tahun Berdiri</label>
|
||||
<input type="number" class="form-control" name="tahun_berdiri" value="{{ old('tahun_berdiri', $pengurus->tahun_berdiri ?? '') }}" placeholder="Contoh: 2015" min="1900" max="{{ date('Y') }}">
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Jumlah Anggota Awal Berdiri</label>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-jumlah-anggota-awal">Jumlah Anggota Awal Berdiri</label>
|
||||
<div class="input-group">
|
||||
<input type="number" class="form-control" name="jumlah_anggota_awal" value="{{ old('jumlah_anggota_awal', $pengurus->jumlah_anggota_awal ?? '') }}" placeholder="0" min="0">
|
||||
<input type="number" class="form-control @error('jumlah_anggota_awal') is-invalid @enderror" id="koperasi-jumlah-anggota-awal" name="jumlah_anggota_awal" value="{{ old('jumlah_anggota_awal', $pengurus->jumlah_anggota_awal ?? '') }}" placeholder="0" min="0">
|
||||
<span class="input-group-text">orang</span>
|
||||
@error('jumlah_anggota_awal')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Jumlah Anggota (per Desember 2025)</label>
|
||||
<div class="row g-2">
|
||||
<div class="col-6">
|
||||
<div class="input-group">
|
||||
<input type="number" class="form-control" name="jumlah_anggota_dewasa" value="{{ old('jumlah_anggota_dewasa', $pengurus->jumlah_anggota_dewasa ?? '') }}" placeholder="Dewasa" min="0">
|
||||
<span class="input-group-text">dewasa</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="input-group">
|
||||
<input type="number" class="form-control" name="jumlah_anggota_anak" value="{{ old('jumlah_anggota_anak', $pengurus->jumlah_anggota_anak ?? '') }}" placeholder="Anak-anak" min="0">
|
||||
<span class="input-group-text">anak-anak</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-jenis">Jenis Koperasi <span class="text-danger">*</span></label>
|
||||
<select class="form-select @error('jenis_koperasi') is-invalid @enderror" id="koperasi-jenis" name="jenis_koperasi" required>
|
||||
<option value="">Pilih Jenis Koperasi</option>
|
||||
@foreach(\App\Enums\Koperasi\JenisKoperasi::cases() as $jenis)
|
||||
<option value="{{ $jenis->value }}" @selected(($isLainnya ? $lainnyaValue : $currentJenis) === $jenis->value)>{{ $jenis->value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('jenis_koperasi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<label class="form-label">Jumlah Pengurus Sekarang</label>
|
||||
<div class="input-group">
|
||||
<input type="number" class="form-control" name="jumlah_pengurus" value="{{ old('jumlah_pengurus', $pengurus->jumlah_pengurus ?? '') }}" placeholder="0" min="0">
|
||||
<span class="input-group-text">orang</span>
|
||||
</div>
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-skala-operasi">Skala Operasi Koperasi <span class="text-danger">*</span></label>
|
||||
<select class="form-select @error('skala_operasi') is-invalid @enderror" id="koperasi-skala-operasi" name="skala_operasi" required>
|
||||
<option value="">Pilih Skala Operasi</option>
|
||||
@foreach(\App\Enums\Koperasi\SkalaOperasiKoperasi::cases() as $skala)
|
||||
<option value="{{ $skala->value }}" @selected(old('skala_operasi', $pengurus->skala_operasi?->value) === $skala->value)>{{ $skala->value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('skala_operasi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<label class="form-label d-block fw-semibold">Jumlah Sisa Hasil Usaha (SHU)</label>
|
||||
<div class="row g-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label small text-muted">2025:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">Rp.</span>
|
||||
<input type="number" class="form-control" name="shu_2025" value="{{ old('shu_2025', $pengurus->shu_2025 ?? '') }}" placeholder="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label small text-muted">2024:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">Rp.</span>
|
||||
<input type="number" class="form-control" name="shu_2024" value="{{ old('shu_2024', $pengurus->shu_2024 ?? '') }}" placeholder="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label small text-muted">2023:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">Rp.</span>
|
||||
<input type="number" class="form-control" name="shu_2023" value="{{ old('shu_2023', $pengurus->shu_2023 ?? '') }}" placeholder="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row {{ $isLainnya ? '' : 'd-none' }}" id="koperasi-jenis-lainnya-wrapper">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-jenis-lainnya">Sebutkan Jenis Koperasi</label>
|
||||
<input type="text" class="form-control @error('jenis_koperasi_lainnya') is-invalid @enderror" id="koperasi-jenis-lainnya" name="jenis_koperasi_lainnya" value="{{ $jenisLainnya }}" placeholder="Sebutkan jenis koperasi..." @disabled(!$isLainnya)>
|
||||
@error('jenis_koperasi_lainnya')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-alamat">Alamat Koperasi</label>
|
||||
<textarea class="form-control @error('alamat_koperasi') is-invalid @enderror" id="koperasi-alamat" name="alamat_koperasi" rows="2" placeholder="Masukkan alamat lengkap koperasi">{{ old('alamat_koperasi', $pengurus->alamat_koperasi ?? '') }}</textarea>
|
||||
@error('alamat_koperasi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-sejarah">Sejarah dan Tujuan Pendirian</label>
|
||||
<textarea class="form-control @error('sejarah_lembaga') is-invalid @enderror" id="koperasi-sejarah" name="sejarah_lembaga" rows="3" placeholder="Tuliskan sejarah singkat dan tujuan pendirian koperasi">{{ old('sejarah_lembaga', $pengurus->sejarah_lembaga) }}</textarea>
|
||||
@error('sejarah_lembaga')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-fokus-komoditas">Fokus Komoditas Pertanian</label>
|
||||
<select class="form-select @error('fokus_komoditas') is-invalid @enderror" id="koperasi-fokus-komoditas" name="fokus_komoditas" data-fokus-ya="{{ \App\Enums\Koperasi\FokusKomoditasKoperasi::YA->value }}">
|
||||
<option value="">Pilih Fokus Komoditas</option>
|
||||
@foreach(\App\Enums\Koperasi\FokusKomoditasKoperasi::cases() as $fokus)
|
||||
<option value="{{ $fokus->value }}" @selected($currentFokus === $fokus->value)>{{ $fokus->value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('fokus_komoditas')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-12 mb-4 form-control-validation {{ $fokusYa ? '' : 'd-none' }}" id="koperasi-detail-fokus-wrapper">
|
||||
<label class="form-label" for="koperasi-detail-fokus">Komoditas yang Dikembangkan</label>
|
||||
<input type="text" class="form-control @error('detail_fokus_komoditas') is-invalid @enderror" id="koperasi-detail-fokus" name="detail_fokus_komoditas" value="{{ old('detail_fokus_komoditas', $pengurus->detail_fokus_komoditas) }}" placeholder="Contoh: Kopi, Vanili" @disabled(!$fokusYa)>
|
||||
@error('detail_fokus_komoditas')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@foreach([
|
||||
'jumlah_anggota_dewasa' => 'Jumlah Anggota Dewasa (per Desember 2025)',
|
||||
'jumlah_anggota_anak' => 'Jumlah Anggota Anak (per Desember 2025)',
|
||||
'jumlah_pengurus' => 'Jumlah Pengurus Sekarang',
|
||||
] as $field => $label)
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-{{ $field }}">{{ $label }}</label>
|
||||
<div class="input-group">
|
||||
<input type="number" class="form-control @error($field) is-invalid @enderror" id="koperasi-{{ $field }}" name="{{ $field }}" value="{{ old($field, $pengurus?->{$field} ?? '') }}" placeholder="0" min="0">
|
||||
<span class="input-group-text">orang</span>
|
||||
@error($field)<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="row">
|
||||
@foreach([2025, 2024, 2023] as $tahun)
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="koperasi-shu-{{ $tahun }}">Sisa Hasil Usaha (SHU) {{ $tahun }}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">Rp.</span>
|
||||
<x-koperasi-rupiah :name="'shu_' . $tahun" :value="old('shu_' . $tahun, $pengurus?->{'shu_' . $tahun})" id="koperasi-shu-{{ $tahun }}" placeholder="0" />
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('koperasi.profil.header', ['pengurus' => null])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-header border-bottom">
|
||||
<h5 class="card-title mb-0">Tambah Profil Dasar Koperasi</h5>
|
||||
</div>
|
||||
<div class="card-body pt-6">
|
||||
<form action="{{ route('koperasi.pengurus.store') }}" method="POST">
|
||||
@csrf
|
||||
|
||||
@include('koperasi.profil._form', ['pengurus' => null])
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<a href="{{ route('koperasi.pengurus.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Batal / Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Profil</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,19 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y koperasi-profile-page">
|
||||
@include('koperasi.profil.header', ['pengurus' => null])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-6">
|
||||
<form data-koperasi-profile data-jenis-lainnya="{{ \App\Enums\Koperasi\JenisKoperasi::LAINNYA->value }}" action="{{ route('koperasi.pengurus.store') }}" method="POST">
|
||||
@csrf
|
||||
|
||||
@include('koperasi.profil._form', ['pengurus' => $pengurus])
|
||||
|
||||
<x-koperasi-form-actions />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -1,38 +1,23 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y koperasi-profile-page">
|
||||
@include('koperasi.profil.header', ['pengurus' => $pengurus])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-header border-bottom">
|
||||
<h5 class="card-title mb-0">Edit Profil Dasar Koperasi</h5>
|
||||
<h5 class="card-title mb-0">Edit Profil Koperasi</h5>
|
||||
</div>
|
||||
<div class="card-body pt-6">
|
||||
<form action="{{ route('koperasi.pengurus.update', $pengurus->id) }}" method="POST">
|
||||
<form data-koperasi-profile data-jenis-lainnya="{{ \App\Enums\Koperasi\JenisKoperasi::LAINNYA->value }}" action="{{ route('koperasi.pengurus.update', $pengurus->id) }}" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
|
||||
@include('koperasi.profil._form', ['pengurus' => $pengurus])
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<a href="{{ route('koperasi.pengurus.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Batal / Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">
|
||||
<i class="ti tabler-device-floppy me-2"></i> Simpan Perubahan
|
||||
</button>
|
||||
</div>
|
||||
<x-koperasi-form-actions />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
@@ -1,191 +1,37 @@
|
||||
<style>
|
||||
@media (min-width: 768px) {
|
||||
.nav-pills-custom-spacing {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
gap: 0.5rem;
|
||||
flex-wrap: nowrap !important;
|
||||
overflow-x: auto;
|
||||
}
|
||||
.nav-pills-custom-spacing::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.nav-pills-custom-spacing .nav-item {
|
||||
margin-right: 0 !important;
|
||||
flex: 1;
|
||||
}
|
||||
.nav-pills-custom-spacing .nav-link {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding-left: 0.5rem !important;
|
||||
padding-right: 0.5rem !important;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
font-size: 0.9375rem !important;
|
||||
}
|
||||
.nav-pills-custom-spacing .nav-link i {
|
||||
margin-right: 0.4rem !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<x-koperasi-notifications />
|
||||
|
||||
@php
|
||||
$namaLengkap = isset($pengurus) ? $pengurus->nama_lengkap : 'Tambah Profil Baru';
|
||||
$namaKoperasi = isset($pengurus) ? $pengurus->nama_koperasi : 'Nama Koperasi';
|
||||
$jabatanLabel = isset($pengurus) ? $pengurus->posisi_dalam_koperasi : 'Posisi/Jabatan';
|
||||
$noHp = isset($pengurus) ? $pengurus->no_hp : 'Belum terisi';
|
||||
$domisili = isset($pengurus) ? $pengurus->alamat_tinggal : 'Alamat Domisili Pengurus';
|
||||
@endphp
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-4 mb-2 mb-md-0">
|
||||
<div class="card h-100">
|
||||
<div class="card-body p-3">
|
||||
<h6 class="card-title mb-2">Profil Pengurus Koperasi</h6>
|
||||
<div class="d-flex justify-content-start align-items-center mb-3">
|
||||
<div class="avatar me-2">
|
||||
<span class="avatar-initial rounded bg-label-primary">
|
||||
<i class="icon-base ti tabler-user-check icon-22px"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0" style="font-size: 0.9rem;">{{ $namaLengkap }}</h6>
|
||||
<span class="text-muted" style="font-size: 0.75rem;">{{ $namaKoperasi }}</span>
|
||||
<span class="text-muted" style="font-size: 0.75rem;">Jabatan: {{ $jabatanLabel }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-2">
|
||||
<h6 class="mb-1" style="font-size: 0.85rem;">Kontak & Domisili</h6>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">No. HP: {{ $noHp }}</p>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem; line-height: 1.3;">{{ $domisili }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8 d-flex flex-column">
|
||||
<div class="card mb-2 flex-grow-1">
|
||||
<div class="card-widget-separator-wrapper h-100">
|
||||
<div class="card-body card-widget-separator py-2 h-100 d-flex flex-column justify-content-center">
|
||||
<div class="row gy-2">
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Koperasi</p>
|
||||
<h5 class="mb-0 text-truncate" style="max-width: 120px;" title="{{ $namaKoperasi }}">{{ $namaKoperasi }}</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">{{ isset($pengurus) ? $pengurus->jenis_koperasi : 'Belum terisi' }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-building-store icon-22px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Posisi</p>
|
||||
<h5 class="mb-0">{{ $jabatanLabel }}</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">Thn Gabung: {{ isset($pengurus) ? ($pengurus->tahun_bergabung ?: '-') : '-' }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-briefcase icon-22px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Skala Operasi</p>
|
||||
<h5 class="mb-0">{{ isset($pengurus) ? $pengurus->skala_operasi : '-' }}</h5>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-map-pin icon-22px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card flex-grow-1">
|
||||
<div class="card-body py-3 d-flex align-items-center">
|
||||
<div class="w-100">
|
||||
<p class="mb-1 text-muted" style="font-size: 0.75rem;">Alamat Koperasi</p>
|
||||
<h6 class="mb-0">{{ isset($pengurus) ? ($pengurus->alamat_koperasi ?: '-') : '-' }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<x-koperasi-profile-summary :summary="$ringkasanProfil" />
|
||||
|
||||
<div class="nav-align-top">
|
||||
<ul class="nav nav-pills flex-column flex-md-row mb-6 row-gap-2 nav-pills-custom-spacing" id="main-tab-nav">
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('koperasi.pengurus.create') || request()->routeIs('koperasi.pengurus.edit') ? 'active' : '' }}" href="{{ isset($pengurus) ? route('koperasi.pengurus.edit', $pengurus->id) : route('koperasi.pengurus.create') }}">
|
||||
<i class="icon-base ti tabler-user-check icon-sm"></i>Profil Dasar
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Profil
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@php
|
||||
$currentStep = request()->query('step', 1);
|
||||
$isSurvey = request()->routeIs('koperasi.pengurus.survey');
|
||||
|
||||
$disabledAttr = !isset($pengurus) ? 'disabled data-bs-toggle="tooltip" data-bs-placement="top" title="Simpan profil dasar terlebih dahulu"' : '';
|
||||
$profilLengkap = $pengurus?->profilLengkap() ?? false;
|
||||
@endphp
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ ($isSurvey && $currentStep == 1) ? 'active bg-primary text-white' : 'text-muted' }}"
|
||||
href="{{ isset($pengurus) ? route('koperasi.pengurus.survey', [$pengurus->id, 'step' => 1]) : '#' }}" {!! $disabledAttr !!}>
|
||||
<i class="icon-base ti tabler-building-bank icon-sm"></i>Kelembagaan-Aktor Sistem
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ ($isSurvey && $currentStep == 2) ? 'active bg-primary text-white' : 'text-muted' }}"
|
||||
href="{{ isset($pengurus) ? route('koperasi.pengurus.survey', [$pengurus->id, 'step' => 2]) : '#' }}" {!! $disabledAttr !!}>
|
||||
<i class="icon-base ti tabler-truck-delivery icon-sm"></i>Rantai Nilai-Akses Pasar
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ ($isSurvey && $currentStep == 3) ? 'active bg-primary text-white' : 'text-muted' }}"
|
||||
href="{{ isset($pengurus) ? route('koperasi.pengurus.survey', [$pengurus->id, 'step' => 3]) : '#' }}" {!! $disabledAttr !!}>
|
||||
<i class="icon-base ti tabler-users icon-sm"></i>Sosial Ekonomi
|
||||
</a>
|
||||
</li>
|
||||
@foreach(\App\Enums\Koperasi\TabKoperasi::cases() as $tab)
|
||||
<li class="nav-item">
|
||||
@if($profilLengkap)
|
||||
<a class="nav-link {{ request()->routeIs($tab->routePrefix().'.*') ? 'active' : '' }}" href="{{ route($tab->routePrefix().'.index', $pengurus->id) }}">
|
||||
<i class="icon-base ti tabler-{{ $tab->icon() }} me-1_5 icon-sm"></i>{{ $tab->label() }}
|
||||
</a>
|
||||
@else
|
||||
<a class="nav-link" href="#" data-koperasi-locked-tab aria-disabled="true" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-original-title="Simpan Profil terlebih dahulu">
|
||||
<i class="icon-base ti tabler-{{ $tab->icon() }} me-1_5 icon-sm"></i>{{ $tab->label() }}
|
||||
</a>
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
function jumpToStep(step) {
|
||||
$('.step-content').addClass('d-none');
|
||||
$('#step-' + step).removeClass('d-none');
|
||||
|
||||
$('.survey-tab-link').removeClass('active');
|
||||
$('#tab-step-' + step).addClass('active');
|
||||
|
||||
if (history.pushState) {
|
||||
window.history.replaceState(null, null, '#step-' + step);
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
let hash = window.location.hash;
|
||||
if (hash && hash.startsWith('#step-')) {
|
||||
let stepNum = parseInt(hash.replace('#step-', ''));
|
||||
if (stepNum >= 1 && stepNum <= 4) {
|
||||
jumpToStep(stepNum);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@push('scripts')
|
||||
<script src="{{ asset('assets/js/koperasi.js') }}?v={{ filemtime(public_path('assets/js/koperasi.js')) }}"></script>
|
||||
<script src="{{ asset('assets/js/koperasi-wilayah.js') }}?v={{ filemtime(public_path('assets/js/koperasi-wilayah.js')) }}"></script>
|
||||
@endpush
|
||||
|
||||
@@ -1,160 +1,195 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
|
||||
<div class="d-flex flex-row gap-3 mb-4">
|
||||
<div class="w-25">
|
||||
<x-summary-card
|
||||
title="Pengurus Koperasi"
|
||||
count="{{ $totalPengurus ?? 0 }}"
|
||||
subtitle="Total responden terdata"
|
||||
icon="user-check"
|
||||
color="primary"
|
||||
/>
|
||||
<div class="container-fluid flex-grow-1 container-p-y koperasi-list-page">
|
||||
<x-koperasi-notifications />
|
||||
|
||||
<div class="row g-3 mb-4" aria-label="Ringkasan data koperasi">
|
||||
<div class="col-12 col-md-4">
|
||||
<x-summary-card title="Total Koperasi" :count="number_format($totalKoperasi, 0, ',', '.')" subtitle="Total koperasi terdata" icon="building-store" color="primary" />
|
||||
</div>
|
||||
<div class="w-25">
|
||||
<x-summary-card
|
||||
title="Koperasi Terdata"
|
||||
count="{{ $totalKoperasi ?? 0 }}"
|
||||
subtitle="Unit Koperasi yang terdata"
|
||||
icon="map-pin"
|
||||
color="success"
|
||||
/>
|
||||
<div class="col-12 col-md-4">
|
||||
<x-summary-card title="Jenis Koperasi" :count="number_format($totalJenisKoperasi, 0, ',', '.')" subtitle="Jenis koperasi yang terdata" icon="category" color="info" />
|
||||
</div>
|
||||
<div class="w-25">
|
||||
<x-summary-card
|
||||
title="Jabatan/Peran"
|
||||
count="{{ $totalJabatan ?? 0 }}"
|
||||
subtitle="Jenis jabatan/peran terdata"
|
||||
icon="briefcase"
|
||||
color="info"
|
||||
/>
|
||||
<div class="col-12 col-md-4">
|
||||
<x-summary-card title="Koperasi dengan Dokumen Lengkap" :count="number_format($totalDokumenLengkap, 0, ',', '.')" subtitle="AD/ART tersedia dan lengkap" icon="file-check" color="success" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-6 koperasi-filter-row">
|
||||
<div class="col-12">
|
||||
<div class="card card-border-shadow-primary">
|
||||
<div class="card-body py-3">
|
||||
<form method="GET" action="{{ route('koperasi.pengurus.index') }}" id="koperasi-filter-form" aria-label="Filter data koperasi"
|
||||
data-kecamatan-url="{{ route('kecamatan.bykabupatenkota', ':id') }}" data-desa-url="{{ route('desakelurahan.bykecamatan', ':id') }}">
|
||||
<input type="hidden" name="per_page" value="{{ $koperasi->perPage() }}">
|
||||
<div class="koperasi-filter-line">
|
||||
<div class="koperasi-filter-label">
|
||||
<i class="icon-base ti tabler-map-2 me-2"></i><span>Wilayah</span>
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="kabupaten_kota_id" value="{{ $filters['kabupaten_kota_id'] }}" data-wilayah-kabupaten>
|
||||
<div class="koperasi-filter-static" aria-label="Kabupaten/Kota" role="text">
|
||||
{{ preg_replace('/^(kabupaten|kota)\s+/i', '', $selectedKabupaten?->nama ?? 'Semua Kabupaten/Kota') }}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<select name="kecamatan_id" class="form-select form-select-sm" aria-label="Filter Kecamatan" data-wilayah-kecamatan @disabled(!$wilayahTersedia || empty($filters['kabupaten_kota_id']))>
|
||||
<option value="">Semua Kecamatan</option>
|
||||
@foreach($kecamatanOptions as $option)
|
||||
<option value="{{ $option->id }}" @selected((string) $filters['kecamatan_id'] === (string) $option->id)>{{ $option->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<select name="desa_kelurahan_id" class="form-select form-select-sm" aria-label="Filter Desa/Kelurahan" data-wilayah-desa @disabled(!$wilayahTersedia || empty($filters['kecamatan_id']))>
|
||||
<option value="">Semua Desa</option>
|
||||
@foreach($desaOptions as $option)
|
||||
<option value="{{ $option->id }}" @selected((string) $filters['desa_kelurahan_id'] === (string) $option->id)>{{ $option->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="my-3">
|
||||
<div class="row g-2 align-items-center">
|
||||
<div class="col-md-auto d-flex align-items-center fw-medium me-md-2">
|
||||
<i class="icon-base ti tabler-adjustments-horizontal me-2"></i><span>Data</span>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<select name="jenis_koperasi" class="form-select form-select-sm" aria-label="Filter Jenis Koperasi">
|
||||
<option value="">Semua Jenis Koperasi</option>
|
||||
@foreach($jenisKoperasiOptions as $jenis)
|
||||
<option value="{{ $jenis }}" @selected($filters['jenis_koperasi'] === $jenis)>{{ $jenis }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<select name="layanan" class="form-select form-select-sm" aria-label="Filter Layanan Utama">
|
||||
<option value="">Semua Layanan</option>
|
||||
@foreach(\App\Enums\Koperasi\LayananKoperasi::cases() as $layanan)
|
||||
<option value="{{ $layanan->value }}" @selected($filters['layanan'] === $layanan->value)>{{ $layanan->label() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<select name="ad_art" class="form-select form-select-sm" aria-label="Filter Dokumen Kelembagaan">
|
||||
<option value="">Semua Dokumen Kelembagaan</option>
|
||||
@foreach(\App\Enums\Koperasi\StatusAdArtKoperasi::cases() as $status)
|
||||
<option value="{{ $status->value }}" @selected($filters['ad_art'] === $status->value)>{{ $status->label() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<select name="sort_by" class="form-select form-select-sm" aria-label="Urutkan Data Koperasi">
|
||||
@foreach(\App\Enums\Koperasi\UrutanKoperasi::cases() as $urutan)
|
||||
<option value="{{ $urutan->value }}" @selected($filters['sort_by'] === $urutan->value)>{{ $urutan->label() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex flex-column flex-md-row gap-2 mt-3">
|
||||
<div class="input-group input-group-sm flex-grow-1">
|
||||
<input type="text" name="search" class="form-control" placeholder="Cari koperasi / alamat / jenis / responden..." value="{{ $filters['search'] }}" aria-label="Cari nama koperasi, alamat, jenis koperasi, atau responden">
|
||||
<button type="submit" class="btn btn-outline-secondary" aria-label="Cari data koperasi"><i class="icon-base ti tabler-search"></i></button>
|
||||
</div>
|
||||
<div class="d-flex gap-2 flex-shrink-0">
|
||||
<button type="submit" class="btn btn-outline-secondary btn-sm flex-fill"><i class="icon-base ti tabler-filter me-1"></i>Filter</button>
|
||||
<a href="{{ route('koperasi.pengurus.index') }}" class="btn btn-outline-secondary btn-sm flex-fill"><i class="icon-base ti tabler-refresh me-1"></i>Reset</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom">
|
||||
<h5 class="card-title mb-0">Data Pengurus Koperasi</h5>
|
||||
<h5 class="card-title mb-0">Data Koperasi</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-body border-bottom pt-4">
|
||||
<form method="GET" action="{{ route('koperasi.pengurus.index') }}" class="d-flex justify-content-between align-items-center row gap-3 gap-md-0">
|
||||
<form method="GET" action="{{ route('koperasi.pengurus.index') }}" class="row g-3 align-items-end" id="koperasi-pagination-form">
|
||||
@foreach($filters as $field => $value)
|
||||
<input type="hidden" name="{{ $field }}" value="{{ $value }}">
|
||||
@endforeach
|
||||
<div class="col-md-auto">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="me-2 text-nowrap">Show</label>
|
||||
<select name="per_page" class="form-select form-select-sm w-auto" onchange="this.form.submit()">
|
||||
<option value="10" {{ request('per_page') == 10 ? 'selected' : '' }}>10</option>
|
||||
<option value="25" {{ request('per_page') == 25 ? 'selected' : '' }}>25</option>
|
||||
<label class="me-2 text-nowrap" for="koperasi-per-page">Tampilkan</label>
|
||||
<select name="per_page" id="koperasi-per-page" class="form-select form-select-sm w-auto">
|
||||
<option value="10" @selected($koperasi->perPage() === 10)>10</option>
|
||||
<option value="25" @selected($koperasi->perPage() === 25)>25</option>
|
||||
</select>
|
||||
<label class="ms-2 text-nowrap">entries</label>
|
||||
<span class="ms-2 text-nowrap">data</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-auto d-flex gap-2">
|
||||
<div class="input-group input-group-sm w-auto">
|
||||
<input type="text" name="search" class="form-control" placeholder="Cari Nama..." value="{{ request('search') }}">
|
||||
<button type="submit" class="btn btn-outline-primary"><i class="ti tabler-search"></i></button>
|
||||
</div>
|
||||
<a href="{{ route('koperasi.pengurus.create') }}" class="btn btn-sm btn-primary">
|
||||
<i class="ti tabler-plus me-1"></i> Tambah
|
||||
</a>
|
||||
<div class="col-md-auto ms-md-auto">
|
||||
<a href="{{ route('koperasi.pengurus.create') }}" class="btn btn-sm btn-primary"><i class="ti tabler-plus me-1"></i>Tambah</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive text-nowrap">
|
||||
<table class="table table-hover">
|
||||
<table class="table table-hover align-middle koperasi-list-table">
|
||||
<thead class="border-top">
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>Nama Pengurus</th>
|
||||
<th>Posisi</th>
|
||||
<th>Nama Koperasi</th>
|
||||
<th>Jenis Koperasi</th>
|
||||
<th>Skala Operasi</th>
|
||||
@if($showEnumerator ?? true)
|
||||
<th>Nama Enumerator</th>
|
||||
@endif
|
||||
<th>Aksi</th>
|
||||
<th scope="col">No</th>
|
||||
<th scope="col">Koperasi</th>
|
||||
<th scope="col">Jenis Koperasi</th>
|
||||
<th scope="col">Layanan Utama</th>
|
||||
<th scope="col">Dokumen Kelembagaan</th>
|
||||
<th scope="col">Nama Responden</th>
|
||||
@if($showEnumerator)<th scope="col">Nama Enumerator</th>@endif
|
||||
<th scope="col">Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($pengurus ?? [] as $item)
|
||||
<tr>
|
||||
<td>{{ (($pengurus->firstItem() ?? 1) - 1) + $loop->iteration }}</td>
|
||||
<td><span class="text-heading">{{ $item->nama_lengkap }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->posisi_dalam_koperasi }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->nama_koperasi }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->jenis_koperasi }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->skala_operasi }}</span></td>
|
||||
|
||||
@if($showEnumerator ?? true)
|
||||
<td><span class="text-muted">{{ $item->creator?->name ?? '-' }}</span></td>
|
||||
@endif
|
||||
|
||||
@forelse($koperasi as $item)
|
||||
@php($ringkasan = $ringkasanKoperasi[$item->id])
|
||||
<tr data-koperasi-row>
|
||||
<td>{{ $koperasi->firstItem() + $loop->index }}</td>
|
||||
<td class="text-wrap koperasi-list-identity">
|
||||
<a href="{{ route('koperasi.pengurus.edit', $item) }}" class="text-heading d-block fw-medium">{{ $ringkasan['judul'] }}</a>
|
||||
<div class="small text-muted">{{ $ringkasan['alamat'] }}</div>
|
||||
@if(!$item->desa_kelurahan_id)<div class="small text-muted">Wilayah belum terisi</div>@endif
|
||||
</td>
|
||||
<td class="text-wrap koperasi-list-type"><span class="text-muted">{{ $ringkasan['jenis'] }}</span></td>
|
||||
<td class="text-wrap koperasi-list-services">
|
||||
@if(count($ringkasan['layanan']))
|
||||
<div class="small text-muted" title="{{ implode(', ', $ringkasan['layanan']) }}">{{ implode(', ', array_slice($ringkasan['layanan'], 0, 2)) }}</div>
|
||||
@if(count($ringkasan['layanan']) > 2)<span class="small text-muted">+{{ count($ringkasan['layanan']) - 2 }} lainnya</span>@endif
|
||||
@else
|
||||
<span class="small text-muted">Belum terisi</span>
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-wrap koperasi-list-documents"><span class="text-muted">{{ $item->ad_art?->label() ?? 'Belum terisi' }}</span></td>
|
||||
<td class="text-wrap"><span class="text-muted">{{ $ringkasan['responden'] }}</span></td>
|
||||
@if($showEnumerator)<td class="text-wrap"><span class="text-muted">{{ $item->creator?->name ?? 'Belum terdata' }}</span></td>@endif
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<a href="{{ route('koperasi.pengurus.edit', $item->id) }}" class="btn btn-icon btn-text-secondary rounded-pill edit-record">
|
||||
<i class="ti tabler-edit ti-md"></i>
|
||||
</a>
|
||||
<a href="javascript:;" class="btn btn-icon btn-text-secondary rounded-pill delete-record" data-id="{{ $item->id }}" data-nama="{{ $item->nama_lengkap }}">
|
||||
<i class="ti tabler-trash ti-md"></i>
|
||||
</a>
|
||||
<a href="{{ route('koperasi.pengurus.edit', $item) }}" class="btn btn-icon btn-text-secondary rounded-pill edit-record" aria-label="Ubah {{ $ringkasan['judul'] }}"><i class="ti tabler-edit ti-md"></i></a>
|
||||
<form method="POST" action="{{ route('koperasi.pengurus.destroy', $item) }}" data-koperasi-delete data-nama="{{ $ringkasan['judul'] }}">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-icon btn-text-secondary rounded-pill" aria-label="Hapus {{ $ringkasan['judul'] }}"><i class="ti tabler-trash ti-md"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="{{ ($showEnumerator ?? true) ? 8 : 7 }}" class="text-center py-4">Tidak ada data ditemukan.</td>
|
||||
</tr>
|
||||
<tr><td colspan="{{ $showEnumerator ? 8 : 7 }}" class="text-center py-4">Tidak ada data ditemukan.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-center justify-content-md-end border-top">
|
||||
@if(isset($pengurus) && $pengurus instanceof \Illuminate\Pagination\LengthAwarePaginator && $pengurus->hasPages())
|
||||
{{ $pengurus->appends(request()->query())->links('pagination::bootstrap-5') }}
|
||||
@endif
|
||||
{{ $koperasi->links('pagination::bootstrap-5') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
const csrfToken = "{{ csrf_token() }}";
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).on('click', '.delete-record', function () {
|
||||
const id = $(this).data('id');
|
||||
const name = $(this).data('nama');
|
||||
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: `Profil "${name}" akan dihapus secara permanen!`,
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Ya, Hapus!',
|
||||
cancelButtonText: 'Batal',
|
||||
customClass: { confirmButton: 'btn btn-primary me-3', cancelButton: 'btn btn-label-secondary' },
|
||||
buttonsStyling: false
|
||||
}).then(function (result) {
|
||||
if (result.value) {
|
||||
$.ajax({
|
||||
url: '{{ route('koperasi.pengurus.destroy', ':id') }}'.replace(':id', id),
|
||||
type: 'DELETE' ,
|
||||
headers: { 'X-CSRF-TOKEN': csrfToken },
|
||||
success: function (res) {
|
||||
Swal.fire({ icon: 'success', title: 'Terhapus!', text: res.message, showConfirmButton: false, timer: 1500 })
|
||||
.then(() => window.location.reload());
|
||||
},
|
||||
error: () => Swal.fire({ icon: 'error', title: 'Gagal!', text: 'Terjadi kesalahan sistem.' })
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
<script src="{{ asset('assets/js/koperasi-wilayah.js') }}?v={{ filemtime(public_path('assets/js/koperasi-wilayah.js')) }}"></script>
|
||||
<script src="{{ asset('assets/js/koperasi-list.js') }}?v={{ filemtime(public_path('assets/js/koperasi-list.js')) }}"></script>
|
||||
@endpush
|
||||
|
||||
Reference in New Issue
Block a user