done fixing filter search dashboar

This commit is contained in:
JokoPrasetio 2025-09-10 08:20:35 +07:00
parent 80dc494a00
commit 751f58f81f
3 changed files with 38 additions and 26 deletions

View File

@ -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);
});
}]);
}])

View File

@ -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);
}

View File

@ -65,24 +65,24 @@
<!-- Unit Kerja -->
<div class="col-md-2">
<label for="unit_kerja" class="form-label">Unit Kerja</label>
<select class="form-control unit_kerja" id="unit_kerja">
<option value="" disabled selected>Select Choose</option>
<select class="form-control unit_kerja" id="unit_kerja" multiple="multiple">
<option value="" disabled>Select Choose</option>
</select>
</div>
<!-- Sub Unit Kerja -->
<div class="col-md-2">
<label for="sub_unit_kerja" class="form-label">Sub Unit Kerja</label>
<select class="form-control sub_unit_kerja" id="sub_unit_kerja">
<option value="" disabled selected>Select Choose</option>
<select class="form-control sub_unit_kerja" id="sub_unit_kerja" multiple="multiple">
<option value="" disabled>Select Choose</option>
</select>
</div>
<!-- Kategori Dokumen -->
<div class="col-md-2">
<label for="kategori_dok" class="form-label">Kategori Dok.</label>
<select class="form-control kategori_dok" id="kategori_dok">
<option value="" disabled selected>Select Choose</option>
<select class="form-control kategori_dok" id="kategori_dok" multiple="multiple" placeholder="--Pilih kategori dokumen--">
<option value="" disabled>Select Choose</option>
@foreach ($katDok as $kat)
<option value="{{ $kat->master_kategori_directory_id }}">{{ $kat->nama_kategori_directory }}</option>
@endforeach
@ -92,8 +92,8 @@
<!-- Klasifikasi Dokumen -->
<div class="col-md-2">
<label for="klasifikasi_dok" class="form-label">Klasifikasi Dok.</label>
<select class="form-control klasifikasi_dok" id="klasifikasi_dok">
<option value="" disabled selected>Select Choose</option>
<select class="form-control klasifikasi_dok" id="klasifikasi_dok" multiple="multiple" placeholder="--Pilih klasifikasi dokumen--">
<option value="" disabled>Select Choose</option>
@foreach ($klasifikasiDok as $kla)
<option value="{{ $kla->master_klasifikasi_directory_id }}">{{ $kla->nama_klasifikasi_directory }}</option>
@endforeach