Update Koperasi
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
<div class="mt-4 text-end">
|
||||
<div class="d-inline-flex flex-wrap justify-content-end gap-2">
|
||||
<a href="{{ route('koperasi.pengurus.index') }}" class="btn btn-secondary wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">
|
||||
<i class="icon-base ti tabler-check me-1_5 icon-sm" aria-hidden="true"></i> Simpan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success" role="status">{{ session('success') }}</div>
|
||||
@endif
|
||||
@if($errors->any())
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<ul class="mb-0">
|
||||
@foreach($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@@ -0,0 +1,99 @@
|
||||
@props(['summary'])
|
||||
|
||||
<section class="card koperasi-profile-summary mb-4" id="koperasi-profile-summary" aria-label="Ringkasan profil koperasi">
|
||||
<div class="card-body p-3 p-lg-4">
|
||||
<div class="row g-3 align-items-start">
|
||||
<div class="col-12 col-lg-5">
|
||||
<div class="d-flex align-items-start gap-3">
|
||||
<span class="avatar flex-shrink-0" aria-hidden="true">
|
||||
<span class="avatar-initial rounded bg-label-primary">
|
||||
<i class="icon-base ti tabler-building-store icon-22px"></i>
|
||||
</span>
|
||||
</span>
|
||||
<div class="koperasi-summary-content">
|
||||
<h5 class="mb-1 text-break" data-summary-field="judul">{{ $summary['judul'] }}</h5>
|
||||
<p class="small text-muted mb-1 text-break" data-summary-field="alamat">
|
||||
<i class="icon-base ti tabler-map-pin icon-16px me-1" aria-hidden="true"></i>{{ $summary['alamat'] }}
|
||||
</p>
|
||||
<p class="small mb-2 text-break"><span class="text-muted">Tahun Berdiri:</span> <span data-summary-field="tahun_berdiri">{{ $summary['tahun_berdiri'] }}</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-7">
|
||||
<div class="row g-3">
|
||||
<div class="col-12 col-sm-6">
|
||||
<p class="koperasi-summary-label mb-1">Jenis Koperasi</p>
|
||||
<span class="badge bg-label-primary" data-summary-field="jenis">{{ $summary['jenis'] }}</span>
|
||||
</div>
|
||||
<div class="col-12 col-sm-6" data-summary-field="layanan">
|
||||
<p class="koperasi-summary-label mb-1">Layanan Utama</p>
|
||||
@if(count($summary['layanan']))
|
||||
<div class="d-flex flex-wrap align-items-start gap-2">
|
||||
@foreach(array_slice($summary['layanan'], 0, 2) as $item)
|
||||
<span class="badge bg-label-primary">{{ $item }}</span>
|
||||
@endforeach
|
||||
@if(count($summary['layanan']) > 2)
|
||||
<button class="btn btn-sm btn-text-primary p-0 koperasi-summary-more" type="button" data-bs-toggle="collapse" data-bs-target="#koperasi-summary-extra-layanan" aria-expanded="false" aria-controls="koperasi-summary-extra-layanan">+{{ count($summary['layanan']) - 2 }} lainnya</button>
|
||||
@endif
|
||||
</div>
|
||||
@if(count($summary['layanan']) > 2)
|
||||
<div class="collapse" id="koperasi-summary-extra-layanan">
|
||||
<div class="d-flex flex-wrap gap-2 pt-2">
|
||||
@foreach(array_slice($summary['layanan'], 2) as $item)
|
||||
<span class="badge bg-label-primary">{{ $item }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<p class="small mb-0 text-muted">Belum terisi</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-12 col-sm-6">
|
||||
<p class="koperasi-summary-label mb-1">Total Anggota (2025)</p>
|
||||
<span class="fw-medium text-break" data-summary-field="anggota">{{ $summary['anggota'] }}</span>
|
||||
@if($summary['anggota_rincian'])<p class="small text-muted mb-0 text-break">{{ $summary['anggota_rincian'] }}</p>@endif
|
||||
</div>
|
||||
<div class="col-12 col-sm-6">
|
||||
<p class="koperasi-summary-label mb-1">Total Pengurus</p>
|
||||
<span class="fw-medium text-break" data-summary-field="pengurus">{{ $summary['pengurus'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer border-top p-3 py-lg-2 px-lg-4">
|
||||
<div class="row gy-3">
|
||||
@foreach(['responden' => ['Nama Responden', 'user'], 'jabatan' => ['Jabatan Responden', 'briefcase'], 'kontak' => ['Kontak Responden', 'phone']] as $field => [$label, $icon])
|
||||
<div class="col-sm-6 col-lg-3 d-flex align-items-center">
|
||||
<span class="avatar avatar-sm me-2 flex-shrink-0" aria-hidden="true">
|
||||
<span class="avatar-initial rounded-circle bg-label-primary">
|
||||
<i class="icon-base ti tabler-{{ $icon }} icon-16px"></i>
|
||||
</span>
|
||||
</span>
|
||||
<div class="koperasi-summary-content">
|
||||
<p class="koperasi-summary-label mb-0">{{ $label }}</p>
|
||||
<span class="fw-medium small text-break" data-summary-field="{{ $field }}">{{ $summary[$field] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<div class="col-sm-6 col-lg-3 d-flex align-items-center">
|
||||
<span class="avatar avatar-sm me-2 flex-shrink-0" aria-hidden="true">
|
||||
<span class="avatar-initial rounded-circle bg-label-primary">
|
||||
<i class="icon-base ti tabler-calendar-event icon-16px"></i>
|
||||
</span>
|
||||
</span>
|
||||
<div class="koperasi-summary-content">
|
||||
<p class="koperasi-summary-label mb-0">Diperbarui</p>
|
||||
<span class="fw-medium small text-break" data-summary-field="diperbarui">
|
||||
@if($summary['diperbarui'])
|
||||
<time datetime="{{ $summary['diperbarui']->toIso8601String() }}">{{ $summary['diperbarui']->locale('id')->translatedFormat('d M Y, H:i') }}</time>
|
||||
@else
|
||||
{{ $summary['tersimpan'] ? 'Belum terisi' : 'Belum tersimpan' }}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,6 @@
|
||||
@props(['name', 'value' => null, 'showError' => true])
|
||||
|
||||
<input type="text" inputmode="numeric" data-koperasi-rupiah name="{{ $name }}"
|
||||
value="{{ \App\Services\Koperasi\PengurusKoperasiService::formatRupiah($value) }}"
|
||||
{{ $attributes->class(['form-control', 'is-invalid' => $errors->has($name)]) }}>
|
||||
@if($showError)@error($name)<div class="invalid-feedback">{{ $message }}</div>@enderror @endif
|
||||
@@ -0,0 +1,61 @@
|
||||
@props([
|
||||
'model', 'name', 'label', 'options' => [], 'multiple' => false,
|
||||
'type' => 'text', 'placeholder' => null, 'exclusiveValue' => null, 'help' => null,
|
||||
'policy' => null, 'min' => 0, 'max' => null, 'unit' => null,
|
||||
])
|
||||
|
||||
@php
|
||||
$value = old($name, $model->{$name});
|
||||
$id = 'koperasi-' . str_replace('_', '-', $name);
|
||||
$policy ??= app(\App\Services\Koperasi\OperasionalKoperasiService::class);
|
||||
$data = array_replace($model->getAttributes(), session()->getOldInput());
|
||||
$visible = $policy->active($name, $data, $policy->context($model));
|
||||
$required = $visible && in_array($name, $policy->requiredFields(), true);
|
||||
$error = $errors->first($name) ?: $errors->first($name . '.*');
|
||||
@endphp
|
||||
|
||||
<div {{ $attributes->class(['mb-4', 'form-control-validation', 'd-none' => !$visible]) }}
|
||||
data-koperasi-survey-field="{{ $name }}" data-koperasi-conditions="{{ json_encode($policy->dependencies()[$name] ?? []) }}"
|
||||
@if($exclusiveValue) data-koperasi-exclusive="{{ $exclusiveValue }}" @endif>
|
||||
@if($multiple)
|
||||
<fieldset>
|
||||
<legend class="form-label mb-3">{{ $label }} <span class="text-danger {{ $required ? '' : 'd-none' }}" data-koperasi-required-indicator>*</span></legend>
|
||||
<div class="row g-2">
|
||||
@foreach($options as $option)
|
||||
<div class="col-md-6">
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input {{ $error ? 'is-invalid' : '' }}" id="{{ $id }}-{{ $loop->index }}" name="{{ $name }}[]" value="{{ $option->value }}"
|
||||
@checked(\App\Services\Koperasi\PengurusKoperasiService::hasSelection($value, $option->value)) @disabled(!$visible)>
|
||||
<label class="form-check-label" for="{{ $id }}-{{ $loop->index }}">{{ $option->label() }}</label>
|
||||
@if(method_exists($option, 'description') && $option->description())<div class="form-text mt-0">{{ $option->description() }}</div>@endif
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</fieldset>
|
||||
@else
|
||||
<label class="form-label" for="{{ $id }}">{{ $label }} <span class="text-danger {{ $required ? '' : 'd-none' }}" data-koperasi-required-indicator>*</span></label>
|
||||
@if($options)
|
||||
<select class="form-select {{ $error ? 'is-invalid' : '' }}" id="{{ $id }}" name="{{ $name }}" @disabled(!$visible) @required($required)>
|
||||
<option value="">Pilih {{ $label }}</option>
|
||||
@foreach($options as $option)
|
||||
<option value="{{ $option->value }}" @selected(\App\Services\Koperasi\PengurusKoperasiService::hasSelection($value, $option->value))>{{ $option->label() }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@elseif($type === 'textarea')
|
||||
<textarea class="form-control {{ $error ? 'is-invalid' : '' }}" id="{{ $id }}" name="{{ $name }}" rows="3" placeholder="{{ $placeholder }}" @disabled(!$visible) @required($required)>{{ $value }}</textarea>
|
||||
@else
|
||||
@if($unit || $type === 'rupiah')<div class="input-group">@endif
|
||||
@if($type === 'rupiah')
|
||||
<span class="input-group-text">Rp</span>
|
||||
<x-koperasi-rupiah :name="$name" :value="$value" :id="$id" :disabled="!$visible" :required="$required" :show-error="false" placeholder="{{ $placeholder }}" />
|
||||
@else
|
||||
<input type="{{ $type }}" class="form-control {{ $error ? 'is-invalid' : '' }}" id="{{ $id }}" name="{{ $name }}" value="{{ $value }}" placeholder="{{ $placeholder }}" @if($type === 'number') min="{{ $min }}" @if($max !== null) max="{{ $max }}" @endif @endif @disabled(!$visible) @required($required)>
|
||||
@endif
|
||||
@if($unit)<span class="input-group-text">{{ $unit }}</span>@endif
|
||||
@if($unit || $type === 'rupiah')</div>@endif
|
||||
@endif
|
||||
@endif
|
||||
@if($help)<div class="form-text">{{ $help }}</div>@endif
|
||||
@if($error)<div class="invalid-feedback d-block">{{ $error }}</div>@endif
|
||||
</div>
|
||||
Reference in New Issue
Block a user