diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 041aa34..b2d46d9 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -13,6 +13,8 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; +use function PHPUnit\Framework\isEmpty; + class DashboardController extends Controller { public function index(){ @@ -46,19 +48,23 @@ class DashboardController extends Controller if($kategori && $filterUnit && $subUnit && $klasifikasi){ + $katArray = explode(',', $kategori); + $unitArray = explode(',', $filterUnit); + $subArray = explode(',', $subUnit); + $klaArray = explode(',', $klasifikasi); $unitKerja = UnitKerja::where('statusenabled', true) - ->where('id', $filterUnit) - ->with(['subUnitKerja' => function ($query) use ($kategori, $filterUnit, $subUnit, $klasifikasi) { - $query->where('id', $subUnit) - ->with(['fileDirectory' => function ($q) use ($kategori, $filterUnit, $subUnit, $klasifikasi) { - $q->when($filterUnit, function ($subQ) use ($filterUnit) { - $subQ->where('id_unit_kerja', $filterUnit); - })->when($subUnit, function ($subQ) use ($subUnit) { - $subQ->where('id_sub_unit_kerja', $subUnit); - })->when($kategori, function ($subQ) use ($kategori) { - $subQ->where('master_kategori_directory_id', $kategori); - })->when($klasifikasi, function ($subQ) use ($klasifikasi) { - $subQ->where('master_klasifikasi_directory_id', $klasifikasi); + ->whereIn('id', $unitArray) + ->with(['subUnitKerja' => function ($query) use ($katArray, $unitArray, $subArray, $klaArray) { + $query->whereIn('id', $subArray) + ->with(['fileDirectory' => function ($q) use ($katArray, $unitArray, $subArray, $klaArray) { + $q->when(!empty($unitArray), function ($subQ) use ($unitArray) { + $subQ->whereIn('id_unit_kerja', $unitArray); + })->when(!empty($subArray), function ($subQ) use ($subArray) { + $subQ->whereIn('id_sub_unit_kerja', $subArray); + })->when(!empty($katArray), function ($subQ) use ($katArray) { + $subQ->whereIn('master_kategori_directory_id', $katArray); + })->when(!empty($klaArray), function ($subQ) use ($klaArray) { + $subQ->whereIn('master_klasifikasi_directory_id', $klaArray); }); }]); }]) diff --git a/public/js/dashboard/index.js b/public/js/dashboard/index.js index b8d4a86..9a399fc 100644 --- a/public/js/dashboard/index.js +++ b/public/js/dashboard/index.js @@ -51,12 +51,14 @@ function renderTree(units, katDok) { `; } -function index(kategori_dok = null, unitKerja = null, subUnitKerja = null, klasifikasi_id = null) { +function index(kategori_dok = [], unitKerja = [], subUnitKerja = [], klasifikasi_id = []) { const params = new URLSearchParams(); - if (kategori_dok) params.append("kategori", kategori_dok); - if (unitKerja) params.append("unitKerja", unitKerja); - if (subUnitKerja) params.append("subUnit", subUnitKerja); - if (klasifikasi_id) params.append("klasifikasi", klasifikasi_id); + console.log(kategori_dok, unitKerja, subUnitKerja); + + if (kategori_dok.length) params.append("kategori", kategori_dok); + if (unitKerja.length) params.append("unitKerja", unitKerja); + if (subUnitKerja.length) params.append("subUnit", subUnitKerja); + if (klasifikasi_id.length) params.append("klasifikasi", klasifikasi_id); fetch(`/data-unit-kerja?${params.toString()}`) .then(response => response.json()) @@ -96,12 +98,16 @@ function searchData(){ let kategori_dok = $("#kategori_dok").val() let unitKerja = $("#unit_kerja").val() let subUnitKerja = $("#sub_unit_kerja").val() - if(!klasifikasi_id || !kategori_dok || !unitKerja || !subUnitKerja){ + if( klasifikasi_id.length === 0 || + kategori_dok.length === 0 || + unitKerja.length === 0 || + subUnitKerja.length === 0){ Swal.fire({ text: 'Lengkapi Isi form pencarian', icon: 'warning' }) return } + index(kategori_dok, unitKerja, subUnitKerja, klasifikasi_id); } diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index a1241a3..29d2586 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -65,24 +65,24 @@
- +
- +
- + @foreach ($katDok as $kat) @endforeach @@ -92,8 +92,8 @@
- + @foreach ($klasifikasiDok as $kla) @endforeach