Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions resources/views/components/excel-download-button.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@

// Prepare download URL
const url = new URL(downloadUrl);

url.searchParams.set("kode_kabupaten", "{{ session('kabupaten.kode_kabupaten') ?? '' }}");
url.searchParams.set("kode_kecamatan", "{{ session('kecamatan.kode_kecamatan') ?? '' }}");
url.searchParams.set("kode_desa", "{{ session('desa.id') ?? '' }}");
let urlParams = new URLSearchParams();

if (tableId) {
Expand Down Expand Up @@ -110,7 +112,7 @@
const info = table.page.info();
urlParams.append('totalData', info.recordsTotal);
}

// Make fetch request
const response = await fetch(url, {
method: 'POST',
Expand Down
7 changes: 5 additions & 2 deletions resources/views/components/print-button.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
e.preventDefault();

const printUrl = new URL(this.dataset.printUrl);
printUrl.searchParams.set("kode_kabupaten", "{{ session('kabupaten.kode_kabupaten') ?? '' }}");
printUrl.searchParams.set("kode_kecamatan", "{{ session('kecamatan.kode_kecamatan') ?? '' }}");
printUrl.searchParams.set("kode_desa", "{{ session('desa.id') ?? '' }}");
const tableId = this.dataset.tableId;
const filters = JSON.parse(this.dataset.filters || '{}');
const additionalParams = JSON.parse(this.dataset.additionalParams || '{}');
Expand All @@ -48,6 +51,7 @@
// Get filters/search from DataTable's ajax.params
if (typeof dataTable.ajax.params === 'function') {
const params = dataTable.ajax.params();

Object.entries(params).forEach(([key, value]) => {
if (value && value !== '' && value !== 'null') {
printUrl.searchParams.append(key, value);
Expand All @@ -59,8 +63,7 @@
// Add additional static parameters
Object.entries(additionalParams).forEach(([key, value]) => {
printUrl.searchParams.append(key, value);
});

});
// Open print URL in new window
window.open(printUrl.href, '_blank');
});
Expand Down
20 changes: 9 additions & 11 deletions resources/views/data_pokok/data_presisi/kesehatan/cetak.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
<thead>
<tr class="border thick">
<th>NO</th>
<th>NIK</th>
<th>NOMOR KK</th>
<th>NAMA</th>
<th>NIK</th>
<th>NAMA KEPALA KELUARGA</th>
<th>JUMLAH ANGGOTA RTM</th>
<th>JNS ASURANSI</th>
<th>JNS PENGGUNAAN ALAT KONTRASEPSI</th>
<th>JNS PENYAKIT YANG DIDERITA</th>
Expand All @@ -27,8 +27,7 @@
<th>KUNJUNGAN KE DOKTER DALAM 1 TAHUN</th>
<th>KONDISI FISIK SEJAK LAHIR</th>
<th>STATUS GIZI BALITA</th>
<th>TANGGAL PENGISIAN</th>
<th>STATUS PENGISIAN</th>
<th>TANGGAL PENGISIAN</th>
</tr>
</thead>
<tbody></tbody>
Expand All @@ -39,10 +38,10 @@
<script nonce="{{ csp_nonce() }}" >
document.addEventListener("DOMContentLoaded", function(event) {
var str = `{{ $filter }}`
var filter = str.replace(/&amp;/g, '&')
var filter = str.replace(/&amp;/g, '&').replace(/undefined/g, '')
const header = @include('layouts.components.header_bearer_api_gabungan');
$.ajax({
url: `{{ config('app.databaseGabunganUrl').'/api/v1/data-presisi/kesehatan' }}?${filter}`,
url: `{{ config('app.databaseGabunganUrl').'/api/v1/data-presisi/kesehatan/rtm' }}?${filter}`,
headers: header,
method: 'get',
success: function(json) {
Expand All @@ -52,8 +51,8 @@
<tr>
<td class="padat">${no}</td>
<td>${item.attributes.nik || 'N/A'}</td>
<td>${item.attributes.no_kk || 'N/A'}</td>
<td>${item.attributes.nama || 'N/A'}</td>
<td>${item.attributes.kepala_keluarga || 'N/A'}</td>
<td>${item.attributes.jumlah_anggota || 'N/A'}</td>
<td>${item.attributes.jns_ansuransi || 'N/A'}</td>
<td>${item.attributes.jns_penggunaan_alat_kontrasepsi || 'N/A'}</td>
<td>${item.attributes.jns_penyakit_diderita || 'N/A'}</td>
Expand All @@ -62,8 +61,7 @@
<td>${item.attributes.frekwensi_kunjungan_dokter_pertahun || 'N/A'}</td>
<td>${item.attributes.kondisi_fisik_sejak_lahir || 'N/A'}</td>
<td>${item.attributes.status_gizi_balita || 'N/A'}</td>
<td>${item.attributes.tanggal_pengisian || 'N/A'}</td>
<td>${item.attributes.status_pengisian || 'N/A'}</td>
<td>${item.attributes.tanggal_pengisian || 'N/A'}</td>
</tr>
`
$('#tabel-sandang tbody').append(row)
Expand Down
52 changes: 18 additions & 34 deletions resources/views/data_pokok/data_presisi/kesehatan/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,13 @@
</div>
<div class="card card-outline card-primary">
<div class="card-header">
<div class="row">
<div class="col-sm-2">
<select id="filter-tahun" class="form-control form-control-sm">
@php
$currentYear = date('Y');
$startYear = 2020;
@endphp
@for($year = $currentYear; $year >= $startYear; $year--)
<option value="{{ $year }}" {{ $year == $currentYear ? 'selected' : '' }}>{{ $year }}</option>
@endfor
</select>
</div>
<div class="col-sm-3">
<button id="cetak" type="button" class="btn btn-primary btn-sm" data-url="">
<i class="fa fa-print"></i> Cetak
</button>
</div>
<div class="row">
<x-filter-tahun />
<div class="col-auto">
<x-print-button :print-url="url('data-presisi/kesehatan/cetak')" table-id="table-kesehatan" :filter="[]" />
</div>
<x-excel-download-button :download-url="config('app.databaseGabunganUrl') . '/api/v1/data-presisi/kesehatan/rtm/download'" table-id="table-kesehatan" filename="data_presisi_kesehatan" />
</div>
</div>
<div class="card-body">
<div class="table-responsive">
Expand Down Expand Up @@ -82,8 +71,7 @@
var dtks = $('#table-kesehatan').DataTable({
processing: true,
serverSide: true,
autoWidth: false,
ordering: false,
autoWidth: false,
searchPanes: {
viewTotal: false,
columns: [0]
Expand All @@ -96,16 +84,15 @@
return {
"page[size]": row.length,
"page[number]": (row.start / row.length) + 1,
"filter[search]": row.search.value,
"kode_kecamatan": "{{ session('kecamatan.kode_kecamatan') ?? '' }}",
"config_desa": "{{ session('desa.id') ?? '' }}",
"filter[search]": row.search.value,
"filter[tahun]": $('#filter-tahun').val(),
"sort":"id"
};
},
dataSrc: function(json) {
if (json.data.length > 0) {
json.recordsTotal = json.meta.pagination.total
json.recordsFiltered = json.meta.pagination.total
json.recordsTotal = json.meta?.pagination?.total || 0;
json.recordsFiltered = json.meta?.pagination?.total || 0;
if (json.data.length > 0) {
data_grafik = [];
json.data.forEach(function(item, index) {
data_grafik.push(item.attributes)
Expand Down Expand Up @@ -144,7 +131,7 @@ className: 'text-nowrap',
},
{
"className": 'details-control',
"orderable": false,
orderable: false,
"data": null,
"defaultContent": ''
},
Expand All @@ -154,17 +141,21 @@ className: 'text-nowrap',
},
{
data: "attributes.kepala_keluarga",
orderable: false,
},
{
data: "attributes.jumlah_anggota",
orderable: false,
},
{
data: "attributes.jns_ansuransi",
render: (data) => data || 'N/A',
orderable: false,
},
{
data: "attributes.jns_penggunaan_alat_kontrasepsi",
render: (data) => data || 'N/A',
orderable: false,
},

],
Expand Down Expand Up @@ -223,14 +214,7 @@ function format(data) {
dtks.ajax.reload();
data_grafik = [];
grafikPie();
});

$('#cetak').on('click', function() {
let baseUrl = "{{ route('data-pokok.data-presisi.cetak') }}";
let params = dtks.ajax.params(); // Get DataTables params
let queryString = new URLSearchParams(params).toString(); // Convert params to query string
window.open(`${baseUrl}?${queryString}`, '_blank'); // Open the URL with appended query
});
});
})
</script>
@endsection
Loading