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
5 changes: 5 additions & 0 deletions app/Http/Controllers/DataPokokController.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ public function pariwisata()
return view('data_pokok.pariwisata.index', ['title' => $title]);
}

public function cetakPariwisata(Request $request)
{
return view('data_pokok.pariwisata.cetak', ['filter' => $request->getQueryString()]);
}

public function pendidikan()
{
return view('data_pokok.pendidikan.index');
Expand Down
1 change: 1 addition & 0 deletions catatan_rilis.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Di rilis ini, versi 2601.0.0 berisi penambahan dan perbaikan yang diminta penggu
2. [#884](https://github.com/OpenSID/OpenKab/issues/884) Penambahan fitur download data kecamatan.
3. [#885](https://github.com/OpenSID/OpenKab/issues/885) Penambahan fungsi ekspor excel pada data daftar data keluarga.
4. [#896](https://github.com/OpenSID/OpenKab/issues/896) Penambahan fungsi cetak pada data presisi infrastruktur.
5. [#897](https://github.com/OpenSID/OpenKab/issues/897) Penambahan fungsi cetak pada data presisi pariwisata.

#### Perbaikan BUG

Expand Down
7 changes: 7 additions & 0 deletions resources/views/components/filter-kategori-wisata.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div class="col-sm-2">
<select id="filter-kategori-wisata" class="form-control form-control-sm">
<option value="">Pilih Kategori</option>
<option value="sarana-wisata">Sarana Wisata</option>
<option value="potensi-wisata">Potensi Wisata</option>
</select>
</div>
8 changes: 8 additions & 0 deletions resources/views/components/filter-komoditas-wisata.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="col-auto">
<select id="filter-komoditas-wisata" class="form-control form-control-sm">
<option value="">Pilih Lokasi/Tempat/Area Wisata</option>
@foreach(App\Enums\KomoditasPotensiWisataEnum::getInstances() as $komoditas)
<option value="{{ $komoditas->value }}">{{ $komoditas->description }}</option>
@endforeach
</select>
</div>
8 changes: 8 additions & 0 deletions resources/views/components/filter-sarana-wisata.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="col-auto">
<select id="filter-sarana-wisata" class="form-control form-control-sm">
<option value="">Pilih Jenis Hiburan</option>
@foreach(App\Enums\SaranaWisataEnum::getInstances() as $sarana)
<option value="{{ $sarana->value }}">{{ $sarana->description }}</option>
@endforeach
</select>
</div>
61 changes: 61 additions & 0 deletions resources/views/data_pokok/pariwisata/cetak.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
@extends('layouts.cetak.index')

@section('title', 'Data pariwisata')

@push('css')
<style nonce="{{ csp_nonce() }}" type="text/css" media="print">
@page {
size: landscape;
}
</style>
@endpush

@section('content')
@include('partials.breadcrumbs')
<table class="border thick" id="pariwisata">
<thead>
<tr class="border thick">
<th>{{ config('app.sebutanDesa') }}</th>
<th>Jenis Hiburan</th>
<th>Jumlah Penginapan</th>
<th>Lokasi/Tempat/Area Wisata</th>
<th>Keberadaan</th>
<th>Luas (Ha)</th>
<th>Tingkat Pemanfaatan</th>
</tr>
</thead>
<tbody></tbody>
</table>
@stop

@push('scripts')
<script nonce="{{ csp_nonce() }}">
document.addEventListener("DOMContentLoaded", function(event) {
var str = `{{ $filter }}`
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/pariwisata' }}?${filter}`,
headers: header,
method: 'get',
success: function(json) {
json.data.forEach(function(item) {
var row = `
<tr>
<td>${item.attributes.nama_desa}</td>
<td>${item.attributes.jenis_hiburan}</td>
<td>${item.attributes.jumlah_penginapan}</td>
<td>${item.attributes.lokasi_tempat_area_wisata}</td>
<td>${item.attributes.keberadaan}</td>
<td>${item.attributes.luas}</td>
<td>${item.attributes.tingkat_pemanfaatan}</td>
</tr>
`
$('#pariwisata tbody').append(row)
})
}
})
});
</script>
@endpush
43 changes: 27 additions & 16 deletions resources/views/data_pokok/pariwisata/chart.blade.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
<script nonce="{{ csp_nonce() }}" >
function randColorRGB() {
const r = Math.floor(Math.random() * 200) + 55;
const g = Math.floor(Math.random() * 200) + 55;
const b = Math.floor(Math.random() * 200) + 55;
return `rgba(${r}, ${g}, ${b}, 0.7)`;
}

function randColorHex() {
const r = Math.floor(Math.random() * 200) + 55;
const g = Math.floor(Math.random() * 200) + 55;
const b = Math.floor(Math.random() * 200) + 55;
return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
}

function grafikPie() {
data = [];
$('#barChart').remove();
Expand All @@ -18,21 +32,20 @@ function grafikPie() {

function tampilGrafik(areaChartData) {
var barChartCanvas = $('#barChart').get(0).getContext('2d')
var barChartData = $.extend(true, {}, areaChartData)
var temp0 = areaChartData.datasets[0]
var temp1 = areaChartData.datasets[1]
barChartData.datasets[0] = temp1
barChartData.datasets[1] = temp0


var barChartOptions = {
responsive: true,
maintainAspectRatio: false,
datasetFill: false
scales: {
y: {
beginAtZero: true
}
}
}

new Chart(barChartCanvas, {
type: 'bar',
data: barChartData,
data: areaChartData,
options: barChartOptions
})
}
Expand All @@ -55,23 +68,21 @@ function modifikasiDataGrafik(data) {
var labelsPie = [];
var dataPie = [];
var backgroundColorPie = [];
var labels = [];

data.forEach(function(item, index) {
let color = randColorRGB();
let colorPoint = randColorHex();

let jumlah = typeof item.jumlah_penginapan == 'string' ? item.jumlah_penginapan : 0
let jumlah = typeof item.jumlah_penginapan == 'string' ? parseInt(item.jumlah_penginapan) : 0

labels.push(item.jenis_hiburan)
dataBaruGrafik.push({
label: item.jenis_hiburan,
backgroundColor: color,
borderColor: color,
pointRadius: false,
pointColor: color,
pointStrokeColor: colorPoint,
pointHighlightFill: colorPoint,
pointHighlightStroke: color,
data: [jumlah, 1]
borderWidth: 1,
data: [jumlah]
})

labelsPie.push(item.jenis_hiburan)
Expand All @@ -80,7 +91,7 @@ function modifikasiDataGrafik(data) {
})

return [{
labels: ['Jumlah Penginapan'],
labels: labels,
datasets: dataBaruGrafik
},
{
Expand Down
Loading