[Fix templete harga]

This commit is contained in:
Arief Dwi Wicaksono 2025-09-18 11:48:45 +07:00
parent 8a02c512c2
commit c53e42a12f

View File

@ -205,7 +205,7 @@
<!-- Modal Tambah Template --> <!-- Modal Tambah Template -->
@if (!isset($kategori)) @if (!isset($kategori))
<div id="modalTambah" class="fixed inset-0 hidden items-center justify-center z-50"> <div id="modalTambah" class="fixed inset-0 hidden items-center justify-center z-50">
<div class="absolute inset-0 bg-black opacity-50" id="closeTambahModal"></div> <div class="absolute inset-0 bg-black opacity-50" id="closeTambahModal"></div>
<div class="bg-white rounded-lg shadow-lg w-full max-w-md z-50 overflow-hidden"> <div class="bg-white rounded-lg shadow-lg w-full max-w-md z-50 overflow-hidden">
@ -247,10 +247,8 @@
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2"> <div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
@foreach ($fiturs->where('kategori_fitur_id', $kategoriFitur->id) as $fitur) @foreach ($fiturs->where('kategori_fitur_id', $kategoriFitur->id) as $fitur)
<label class="flex items-center space-x-2"> <label class="flex items-center space-x-2">
<input type="radio" <input type="radio" name="fitur_id[{{ $kategoriFitur->id }}]"
name="fitur_id[{{ $kategoriFitur->id }}]" value="{{ $fitur->id }}" data-harga="{{ $fitur->harga }}"
value="{{ $fitur->id }}"
data-harga="{{ $fitur->harga }}"
@checked(old("fitur_id.$kategoriFitur->id") == $fitur->id)> @checked(old("fitur_id.$kategoriFitur->id") == $fitur->id)>
<span class="text-sm"> <span class="text-sm">
{{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }} {{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }}
@ -263,15 +261,14 @@
@endforeach @endforeach
{{-- Fitur tanpa kategori checkbox --}} {{-- Fitur tanpa kategori checkbox --}}
@if($fitursTanpaKategori->count()) @if ($fitursTanpaKategori->count())
<div> <div>
<p class="font-semibold text-gray-700 mb-1">Fitur Lainnya</p> <p class="font-semibold text-gray-700 mb-1">Fitur Lainnya</p>
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2"> <div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
@foreach ($fitursTanpaKategori as $fitur) @foreach ($fitursTanpaKategori as $fitur)
<label class="flex items-center space-x-2"> <label class="flex items-center space-x-2">
<input type="checkbox" name="fitur_id[]" <input type="checkbox" name="fitur_id[]"
value="{{ $fitur->id }}" value="{{ $fitur->id }}" data-harga="{{ $fitur->harga }}"
data-harga="{{ $fitur->harga }}"
{{ is_array(old('fitur_id')) && in_array($fitur->id, old('fitur_id')) ? 'checked' : '' }}> {{ is_array(old('fitur_id')) && in_array($fitur->id, old('fitur_id')) ? 'checked' : '' }}>
<span class="text-sm"> <span class="text-sm">
{{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }} {{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }}
@ -304,10 +301,10 @@
</form> </form>
</div> </div>
</div> </div>
@endif @endif
<!-- Modal Edit Template --> <!-- Modal Edit Template -->
@foreach ($templates as $template) @foreach ($templates as $template)
<div id="modalEdit{{ $template->id }}" class="fixed inset-0 hidden items-center justify-center z-50"> <div id="modalEdit{{ $template->id }}" class="fixed inset-0 hidden items-center justify-center z-50">
<div class="absolute inset-0 bg-black opacity-50 closeEditOverlay" data-id="{{ $template->id }}"></div> <div class="absolute inset-0 bg-black opacity-50 closeEditOverlay" data-id="{{ $template->id }}"></div>
<div class="bg-white rounded-lg shadow-lg w-full max-w-md z-50 overflow-hidden"> <div class="bg-white rounded-lg shadow-lg w-full max-w-md z-50 overflow-hidden">
@ -326,11 +323,11 @@
</div> </div>
<div> <div>
<label class="block text-sm font-medium">Kategori</label> <label class="block text-sm font-medium">Kategori</label>
<select name="kategori_id" id="kategoriSelectEdit{{ $template->id }}" class="w-full p-2 border rounded"> <select name="kategori_id" id="kategoriSelectEdit{{ $template->id }}"
class="w-full p-2 border rounded">
<option value="">-- Pilih Kategori --</option> <option value="">-- Pilih Kategori --</option>
@foreach ($kategoris as $kategoriItem) @foreach ($kategoris as $kategoriItem)
<option value="{{ $kategoriItem->id }}" <option value="{{ $kategoriItem->id }}" @selected($kategoriItem->id == old('kategori_id', $template->kategori_id))>
@selected($kategoriItem->id == old('kategori_id', $template->kategori_id))>
{{ $kategoriItem->nama }} {{ $kategoriItem->nama }}
</option> </option>
@endforeach @endforeach
@ -352,11 +349,10 @@
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2"> <div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
@foreach ($fiturs->where('kategori_fitur_id', $kategoriFitur->id) as $fiturItem) @foreach ($fiturs->where('kategori_fitur_id', $kategoriFitur->id) as $fiturItem)
<label class="flex items-center space-x-2"> <label class="flex items-center space-x-2">
<input type="radio" <input type="radio" name="fitur_id[{{ $kategoriFitur->id }}]"
name="fitur_id[{{ $kategoriFitur->id }}]"
value="{{ $fiturItem->id }}" value="{{ $fiturItem->id }}"
data-harga="{{ $fiturItem->harga }}" data-harga="{{ $fiturItem->harga }}"
{{ (old("fitur_id.$kategoriFitur->id") == $fiturItem->id) || $template->fiturs->contains($fiturItem->id) ? 'checked' : '' }}> {{ old("fitur_id.$kategoriFitur->id") == $fiturItem->id || $template->fiturs->contains($fiturItem->id) ? 'checked' : '' }}>
<span class="text-sm"> <span class="text-sm">
{{ \Illuminate\Support\Str::limit($fiturItem->deskripsi, 80) }} {{ \Illuminate\Support\Str::limit($fiturItem->deskripsi, 80) }}
(Rp {{ number_format($fiturItem->harga, 0, ',', '.') }}) (Rp {{ number_format($fiturItem->harga, 0, ',', '.') }})
@ -368,15 +364,14 @@
@endforeach @endforeach
{{-- Fitur tanpa kategori checkbox --}} {{-- Fitur tanpa kategori checkbox --}}
@if($fitursTanpaKategori->count()) @if ($fitursTanpaKategori->count())
<div> <div>
<p class="font-semibold text-gray-700 mb-1">Fitur Lainnya</p> <p class="font-semibold text-gray-700 mb-1">Fitur Lainnya</p>
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2"> <div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
@foreach ($fitursTanpaKategori as $fitur) @foreach ($fitursTanpaKategori as $fitur)
<label class="flex items-center space-x-2"> <label class="flex items-center space-x-2">
<input type="checkbox" name="fitur_id[]" <input type="checkbox" name="fitur_id[]"
value="{{ $fitur->id }}" value="{{ $fitur->id }}" data-harga="{{ $fitur->harga }}"
data-harga="{{ $fitur->harga }}"
{{ (is_array(old('fitur_id')) && in_array($fitur->id, old('fitur_id'))) || $template->fiturs->contains($fitur->id) ? 'checked' : '' }}> {{ (is_array(old('fitur_id')) && in_array($fitur->id, old('fitur_id'))) || $template->fiturs->contains($fitur->id) ? 'checked' : '' }}>
<span class="text-sm"> <span class="text-sm">
{{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }} {{ \Illuminate\Support\Str::limit($fitur->deskripsi, 80) }}
@ -392,7 +387,7 @@
<div> <div>
<label class="block text-sm font-medium">Harga</label> <label class="block text-sm font-medium">Harga</label>
<input type="number" name="harga" value="{{ old('harga', $template->harga) }}" <input type="text" name="harga" value="{{ old('harga', $template->harga) }}"
class="w-full p-2 border rounded" required min="0"> class="w-full p-2 border rounded" required min="0">
</div> </div>
<div> <div>
@ -400,7 +395,8 @@
@if ($template->foto) @if ($template->foto)
<div class="mb-2"> <div class="mb-2">
<small class="text-gray-500">Foto saat ini:</small> <small class="text-gray-500">Foto saat ini:</small>
<div class="w-20 h-20 mt-1 overflow-hidden rounded bg-gray-100 flex items-center justify-center border"> <div
class="w-20 h-20 mt-1 overflow-hidden rounded bg-gray-100 flex items-center justify-center border">
<img src="{{ asset('storage/' . $template->foto) }}" alt="foto" <img src="{{ asset('storage/' . $template->foto) }}" alt="foto"
class="max-w-full max-h-full object-contain"> class="max-w-full max-h-full object-contain">
</div> </div>
@ -417,11 +413,11 @@
</form> </form>
</div> </div>
</div> </div>
@endforeach @endforeach
<script> <script>
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
// ========================= // =========================
// Modal Tambah // Modal Tambah
// ========================= // =========================
@ -596,8 +592,8 @@ document.addEventListener('DOMContentLoaded', () => {
// Hitung awal kalau ada yang sudah tercentang // Hitung awal kalau ada yang sudah tercentang
hitungHarga(modal); hitungHarga(modal);
}); });
}); });
</script> </script>
</div> </div>