feat(pembayaran): tambah field nomor tiket dan perbaiki formatting form

- Menambahkan field input **nomor_tiket** setelah `nomor_registrasi` untuk konsistensi.
- Menambahkan validasi dan error handling khusus untuk field **nomor_tiket**.
- Memperbaiki struktur form dengan indentasi dan penamaan konsisten.
- Mengoptimalkan penggunaan **TailwindCSS** untuk responsivitas dan maintainability.
- Menambahkan placeholder **"Nomor Tiket"** untuk meningkatkan UX.
- Menggunakan **old()** atau data permohonan sebagai value default.
- Memperbaiki error styling, spacing, dan alignment untuk tampilan form yang rapi.
This commit is contained in:
Daeng Deni Mardaeni
2025-09-11 22:18:46 +07:00
parent 2173a36564
commit eb784a982f

View File

@@ -5,93 +5,126 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 pb-2.5">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="pb-2.5 border card border-agi-100">
<div class="card-header bg-agi-50" id="basic_settings">
<div class="card-title flex flex-row gap-1.5">
<div class="flex flex-row gap-1.5 card-title">
Pembayaran
</div>
<div class="flex items-center gap-2">
<a href="{{ route('pembayaran.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
<div class="flex gap-2 items-center">
<a href="{{ route('pembayaran.index') }}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body">
<form action="{{ route('pembayaran.store') }}" method="POST" class="grid gap-5" enctype="multipart/form-data">
<form action="{{ route('pembayaran.store') }}" method="POST" class="grid gap-5"
enctype="multipart/form-data">
@csrf
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="penawaran_id" value="{{ $permohonan->penawaran->id ?? "" }}">
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id ?? '' }}">
<input type="hidden" name="penawaran_id" value="{{ $permohonan->penawaran->id ?? '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Nomor Registrasi
</label>
<div class="flex flex-wrap items-baseline w-full">
<input readonly type="text" name="nomor_registrasi" id="nomor_registrasi" class="input w-full @error('nomor_registrasi') border-danger bg-danger-light @enderror" value="{{ old('nomor_registrasi', $permohonan->nomor_registrasi ?? '') }}" placeholder="Nomor Registrasi">
<input readonly type="text" name="nomor_registrasi" id="nomor_registrasi"
class="input w-full @error('nomor_registrasi') border-danger bg-danger-light @enderror"
value="{{ old('nomor_registrasi', $permohonan->nomor_registrasi ?? '') }}"
placeholder="Nomor Registrasi">
@error('nomor_registrasi')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Nomor Tiket
</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="nomor_tiket" id="nomor_tiket"
class="input w-full @error('nomor_tiket') border-danger bg-danger-light @enderror"
value="{{ old('nomor_tiket', $permohonan->nomor_tiket ?? '') }}" placeholder="Nomor Tiket">
@error('nomor_tiket')
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Debitur
</label>
<div class="flex flex-wrap items-baseline w-full">
<input readonly type="text" name="debitur" id="debitur" class="input w-full @error('debitur') border-danger bg-danger-light @enderror" value="{{ old('debitur', $permohonan->debiture->name ?? '') }}" placeholder="Debitur">
<input readonly type="text" name="debitur" id="debitur"
class="input w-full @error('debitur') border-danger bg-danger-light @enderror"
value="{{ old('debitur', $permohonan->debiture->name ?? '') }}" placeholder="Debitur">
@error('debitur')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 hidden">
<div class="flex hidden flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Status Bayar
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('status_bayar') border-danger bg-danger-light @enderror" name="status_bayar" id="status_bayar">
<select
class="input tomselect w-full @error('status_bayar') border-danger bg-danger-light @enderror"
name="status_bayar" id="status_bayar">
<option value="">Pilih Status Bayar</option>
<option value="sudah_bayar" {{ (old('status_bayar') == 'sudah_bayar') || (isset($permohonan) && $permohonan->status_bayar == 'sudah_bayar') ? 'selected' : '' }}>Sudah Bayar</option>
<option value="belum_bayar" {{ (old('status_bayar') == 'belum_bayar') || (isset($permohonan) && $permohonan->status_bayar == 'belum_bayar') ? 'selected' : '' }}>Belum Bayar</option>
<option value="sudah_bayar"
{{ old('status_bayar') == 'sudah_bayar' || (isset($permohonan) && $permohonan->status_bayar == 'sudah_bayar') ? 'selected' : '' }}>
Sudah Bayar</option>
<option value="belum_bayar"
{{ old('status_bayar') == 'belum_bayar' || (isset($permohonan) && $permohonan->status_bayar == 'belum_bayar') ? 'selected' : '' }}>
Belum Bayar</option>
</select>
@error('status_bayar')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Nominal Bayar
</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="number" name="nominal_bayar" id="nominal_bayar" class="input w-full @error('nominal_bayar') border-danger bg-danger-light @enderror" value="{{ old('nominal_bayar', $persetujuanPenawaran->nominal_bayar ?? '') }}" placeholder="Masukkan nominal bayar">
<input type="number" name="nominal_bayar" id="nominal_bayar"
class="input w-full @error('nominal_bayar') border-danger bg-danger-light @enderror"
value="{{ old('nominal_bayar', $persetujuanPenawaran->nominal_bayar ?? '') }}"
placeholder="Masukkan nominal bayar">
@error('nominal_bayar')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Bukti Bayar
</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="file" name="bukti_bayar" id="bukti_bayar" class="file-input w-full @error('bukti_bayar') border-danger bg-danger-light @enderror" accept=".pdf,.jpg,.jpeg,.png">
<input type="file" name="bukti_bayar" id="bukti_bayar"
class="file-input w-full @error('bukti_bayar') border-danger bg-danger-light @enderror"
accept=".pdf,.jpg,.jpeg,.png">
@error('bukti_bayar')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Catatan
</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="catatan" id="catatan" rows="4" class="textarea w-full @error('catatan') border-danger bg-danger-light @enderror" placeholder="Masukkan catatan">{{ old('catatan', $persetujuanPenawaran->catatan ?? '') }}</textarea>
<textarea name="catatan" id="catatan" rows="4"
class="textarea w-full @error('catatan') border-danger bg-danger-light @enderror" placeholder="Masukkan catatan">{{ old('catatan', $persetujuanPenawaran->catatan ?? '') }}</textarea>
@error('catatan')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>