Files
database-pertani-web/resources/views/koperasi/profil/index.blade.php
T
2026-11-06 22:38:45 +07:00

196 lines
13 KiB
PHP

@extends('layout.main')
@section('content')
<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="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="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 Koperasi</h5>
</div>
<div class="card-body border-bottom pt-4">
<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" 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>
<span class="ms-2 text-nowrap">data</span>
</div>
</div>
<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 align-middle koperasi-list-table">
<thead class="border-top">
<tr>
<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($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) }}" 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 ? 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">
{{ $koperasi->links('pagination::bootstrap-5') }}
</div>
</div>
</div>
@endsection
@push('scripts')
<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