From 2dd13aa873f738b94f6af131a6e841dca114028e Mon Sep 17 00:00:00 2001 From: althaf Date: Wed, 6 May 2026 11:44:37 +0700 Subject: [PATCH] Data master keluarga --- .../Web/Master/KeluargaController.php | 51 ++++--------------- .../views/master/keluarga/index.blade.php | 35 ++++++++++++- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/app/Http/Controllers/Web/Master/KeluargaController.php b/app/Http/Controllers/Web/Master/KeluargaController.php index 907fb53..3603af4 100644 --- a/app/Http/Controllers/Web/Master/KeluargaController.php +++ b/app/Http/Controllers/Web/Master/KeluargaController.php @@ -13,6 +13,12 @@ class KeluargaController extends Controller { public function index(Request $request) { + // 1. Ambil data dinamis untuk Summary Cards + $totalKeluarga = Keluarga::count(); + $dokumenLengkap = Keluarga::whereNotNull('file_kk')->count(); + $totalDesa = Keluarga::distinct('desa_kelurahan_id')->count('desa_kelurahan_id'); + + // 2. Query bawaan untuk tabel $query = Keluarga::with(['desakelurahan', 'adat'])->orderBy('created_at', 'desc'); if ($request->search) { @@ -20,48 +26,9 @@ class KeluargaController extends Controller } $keluarga = $query->paginate($request->per_page ?? 10); - return view('master.keluarga.index', compact('keluarga')); - } - - public function create() - { - $provinsi = Provinsi::orderBy('nama', 'asc')->get(); - return view('master.keluarga.add', compact('provinsi')); - } - - public function store(Request $request) - { - $validator = Validator::make($request->all(), [ - 'kk' => ['required', 'string', 'min:16', 'max:16'], - 'desa_kelurahan_id' => ['required'], - 'adat_id' => ['nullable'], - 'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'], - ]); - - if ($validator->fails()) { - return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422); - } - - $pathKk = null; - $fileNameKk = null; - - if ($request->hasFile('file_kk')) { - $file = $request->file('file_kk'); - $fileNameKk = $file->getClientOriginalName(); - $pathKk = $file->store('uploads/keluarga', 'public'); - } - - Keluarga::create([ - 'kk' => $request->kk, - 'desa_kelurahan_id' => $request->desa_kelurahan_id, - 'adat_id' => $request->adat_id, - 'path_kk' => $pathKk, - 'file_kk' => $fileNameKk, - 'created_by' => auth()->id(), - 'updated_by' => auth()->id(), - ]); - - return response()->json(['status' => 'success', 'message' => 'Data Keluarga berhasil ditambahkan.']); + + // 3. Tambahkan variabel card ke dalam compact() + return view('master.keluarga.index', compact('keluarga', 'totalKeluarga', 'dokumenLengkap', 'totalDesa')); } public function show($id) diff --git a/resources/views/master/keluarga/index.blade.php b/resources/views/master/keluarga/index.blade.php index faff564..651cee0 100644 --- a/resources/views/master/keluarga/index.blade.php +++ b/resources/views/master/keluarga/index.blade.php @@ -1,7 +1,40 @@ @extends('layout.main') @section('content') -
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
Data Master Keluarga