Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
eis
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 68251610
authored
Jun 11, 2025
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perbaikan layout
1 parent
d17ebe32
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
185 additions
and
58 deletions
eispajak/scripts/data/routes.csv
eispajak/views/pcpd.py
eispajak/views/templates/eis-base.pt
eispajak/views/templates/pcpd.pt
eispajak/scripts/data/routes.csv
View file @
6825161
...
...
@@ -5,28 +5,29 @@ eis-pajak,Pajak,#,1,0,1
eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,eis,pcpd.pt
eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pcpd.pt
eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt
eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak
eis-resto,Restoran,/eis/resto,1,0,1,eis-pajak
eis-hiburan,Hiburan,/eis/hiburan,1,0,1,eis-pajak
eis-parkir,Parkir,/eis/parkir,1,0,1,eis-pajak
eis-ppju,PPJU,/eis/ppju,1,0,1,eis-pajak
eis-minerba,Minerba,/eis/minerba,1,0,1,eis-pajak
eis-reklame,Reklame,/eis/parkir,1,0,1,eis-pajak
eis-atd,Air Tanah,/eis/atd,1,0,1,eis-pajak
eis-retribusi,EIS-Retribusi,/eis/retribusi,1,0,1,pcpd,Views,view_webr,eis,pcpd.pt
eis,EIS,/eis,1,0,1
eis-carousel,Carousel,/eis/carousel,1,0,1
eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt
eis-resto,Restoran,/eis/resto,1,0,1,eis-pajak,pcpd,Views,view_resto,eis,pcpd.pt
eis-hiburan,Hiburan,/eis/hiburan,1,0,1,eis-pajak,pcpd,Views,view_hiburan,eis,pcpd.pt
eis-parkir,Parkir,/eis/parkir,1,0,1,eis-pajak,pcpd,Views,view_parkir,eis,pcpd.pt
eis-ppju,PPJU,/eis/ppju,1,0,1,eis-pajak,pcpd,Views,view_ppju,eis,pcpd.pt
eis-minerba,Minerba,/eis/minerba,1,0,1,eis-pajak,pcpd,Views,view_minerba,eis,pcpd.pt
eis-reklame,Reklame,/eis/reklame,1,0,1,eis-pajak,pcpd,Views,view_reklame,eis,pcpd.pt
eis-atd,Air Tanah,/eis/atd,1,0,1,eis-pajak,pcpd,Views,view_atd,eis,pcpd.pt
eis-opsen,Opsen,/eis/opsen,1,0,1,eis-pajak,pcpd,Views,view_opsen,eis,pcpd.pt
eis-retribusi,Retribusi,/eis/webr,1,0,1,,Views,view_webr,eis,pcpd.pt
eis,EIS,/eis,1,0,0
eis-carousel,Carousel,/eis/carousel,1,0,0
eis-carousel-act,Carousel Action,/eis/carousel/{act}/act,1,0
eis-carousel-add,Carousel Add,/eis/carousel/add,1,0
eis-carousel-edit,Carousel Edit,/eis/carousel/{id}/edit,1,0
eis-carousel-delete,Carousel Delete,/eis/carousel/{id}/delete,1,0
eis-dashboard,EIS,/eis/dashboard,1,0,
1
eis-dashboard,EIS,/eis/dashboard,1,0,
0
eis-dashboard-act,EIS Act,/eis/dashboard/{act}/act,1,0
eis-dashboard-calc-all,EIS Calc ALL,/eis/dashboad/calc/all,1,0
eis-home,EIS Home,/eis/home,1,0,
1
eis-home,EIS Home,/eis/home,1,0,
0
eis-act,EIS Home Act,/eis/{act}/act,1,0
eis-calc-all,EIS Calc ALL,/eis/calc/all,1,0
eis-chart,Chart,/eis/chart,1,0,
1
eis-chart,Chart,/eis/chart,1,0,
0
eis-chart-act,EIS Chart Action,/eis/chart/{act}/act,1,0
eis-chart-add,EIS Chart Add,/eis/chart/add,1,0
eis-chart-edit,EIS Chart Edit,/eis/chart/{id}/edit,1,0
...
...
@@ -36,12 +37,12 @@ eis-chart-item-act,EIS Chart Item Action,/eis/chart/item/{chart_id}/{act}/act,1,
eis-chart-item-add,EIS Chart Item Add,/eis/chart/item/{chart_id}/add,1,0
eis-chart-item-edit,EIS Chart Item Edit,/eis/chart/item/{chart_id}/{id}/edit,1,0
eis-chart-item-delete,EIS Chart Item Delet,/eis/chart/item/{chart_id}/{id}/delete,1,0
eis-item,EIS Item,/eis/item,1,0,
1
eis-item,EIS Item,/eis/item,1,0,
0
eis-item-act,EIS Item Action,/eis/item/{act}/act,1,0
eis-item-add,EIS Item Add,/eis/item/add,1,0
eis-item-edit,EIS Item Edit,/eis/item/{id}/edit,1,0
eis-item-delete,EIS Item Delete,/eis/item/{id}/delete,1,0
eis-slide,EIS Slide,/eis/slide,1,0,
1
eis-slide,EIS Slide,/eis/slide,1,0,
0
eis-slide-act,EIS Slide Act,/eis/slide/{act}/act,1,0
eis-slide-add,EIS Slide Add,/eis/slide/add,1,0
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0
...
...
eispajak/views/pcpd.py
View file @
6825161
...
...
@@ -12,7 +12,33 @@ class Views(BaseView):
@view_config
(
route_name
=
'eis-pcpd'
,
renderer
=
'templates/pcpd.pt'
,
permission
=
'eis'
)
def
view_app
(
self
):
return
{
"module"
:
"pad"
}
return
{
"module"
:
"pad"
,
"title"
:
"Realisasi Pajak dan Retribusi Daerah"
}
def
get_dummy_data
(
self
):
return
{
"today"
:
1000
,
"trx"
:
155
,
"ytd"
:
10000
,
"trxYtd"
:
1550
,
"pie"
:
[(
"I"
,
100
,
'#16a75c'
),
(
"II"
,
200
,
'#ffb900'
),
(
"III"
,
300
,
'#133132'
),
(
"IV"
,
200
,
'#123456'
),
(
"V"
,
100
,
'#545355'
)],
"daily"
:
[(
"I"
,
100
),
(
"II"
,
200
),
(
"III"
,
300
),
(
"IV"
,
200
),
(
"V"
,
100
),
(
"VI"
,
100
),(
"VII"
,
700
)],
"dailyTrx"
:
[(
"I"
,
50
),
(
"II"
,
25
),
(
"III"
,
10
),
(
"IV"
,
10
),
(
"V"
,
50
),
(
"VI"
,
34
),
(
"VII"
,
35
)],
"dailyAcc"
:
[(
"I"
,
100
),
(
"II"
,
200
),
(
"III"
,
300
),
(
"IV"
,
200
),
(
"V"
,
100
),
(
"VI"
,
100
),
(
"VII"
,
700
)],
"dailyAccTrx"
:
[(
"I"
,
100
),
(
"II"
,
200
),
(
"III"
,
300
),
(
"IV"
,
200
),
(
"V"
,
100
),
(
"VI"
,
100
),
(
"VII"
,
700
)],
"weekly"
:
[(
"1"
,
100
),
(
"2"
,
200
),
(
"3"
,
300
),
(
"4"
,
200
),
(
"5"
,
100
),
(
"6"
,
100
),
(
"7"
,
700
)],
"weeklyTrx"
:
[(
"1"
,
100
),
(
"2"
,
200
),
(
"3"
,
300
),
(
"4"
,
200
),
(
"5"
,
100
),
(
"6"
,
100
),
(
"7"
,
700
)],
"weeklyAcc"
:
[(
"1"
,
100
),
(
"2"
,
200
),
(
"3"
,
300
),
(
"4"
,
200
),
(
"5"
,
100
),
(
"6"
,
100
),
(
"7"
,
700
)],
"weeklyAccTrx"
:
[(
"1"
,
100
),
(
"2"
,
200
),
(
"3"
,
300
),
(
"4"
,
200
),
(
"5"
,
100
),
(
"6"
,
100
),
(
"7"
,
700
)],
"monthly"
:
[(
"JAN"
,
100
),
(
"FEB"
,
200
),
(
"MAR"
,
300
),
(
"APR"
,
200
),
(
"MAY"
,
100
),
(
"JUN"
,
100
),
(
"JUL"
,
700
)],
"monthlyTrx"
:
[(
"JAN"
,
100
),
(
"FEB"
,
200
),
(
"MAR"
,
300
),
(
"APR"
,
400
),
(
"MAY"
,
500
),
(
"JUN"
,
600
),
(
"JUL"
,
700
)],
"monthlyAcc"
:
[(
"JAN"
,
100
),
(
"FEB"
,
200
),
(
"MAR"
,
300
),
(
"APR"
,
200
),
(
"MAY"
,
100
),
(
"JUN"
,
100
),
(
"JUL"
,
700
)],
"monthtrAccTrx"
:
[(
"JAN"
,
100
),
(
"FEB"
,
200
),
(
"MAR"
,
300
),
(
"APR"
,
200
),
(
"MAY"
,
100
),
(
"JUN"
,
100
),
(
"JUL"
,
700
)],
}
def
get_pbb_data
(
self
):
return
self
.
get_dummy_data
()
@view_config
(
route_name
=
'eis-pcpd-act'
,
renderer
=
'json'
)
def
view_app_act
(
self
):
...
...
@@ -29,28 +55,58 @@ class Views(BaseView):
if
not
rows
:
return
json_data
elif
act
==
'pbb'
:
qry
=
PaymentPBB
.
sum_daily
()
data
=
{
r
.
tanggal
:
r
.
bayar
-
r
.
denda
for
r
in
qry
}
return
dict
(
data
=
data
)
# return dict(project='EIS', datas=datas, tab_datas=tab_datas,
# line_datas=line_datas, bar_datas=bar_datas,
# pie_datas=pie_datas, )#, datas=Eis.sum_order_id('2014'))
resp
=
self
.
get_pbb_data
()
else
:
resp
=
self
.
get_dummy_data
()
resp
[
"time"
]
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
return
resp
def
view_pajak
(
self
):
return
{
"module"
:
'pajak'
}
return
{
"module"
:
'pajak'
,
"title"
:
"Realisasi Pajak Daerah"
}
def
view_pbb
(
self
):
return
{
"module"
:
'pbb'
}
return
{
"module"
:
'pbb'
,
"title"
:
"Realisasi Pajak Bumi dan Bangunan P2"
}
def
view_bphtb
(
self
):
return
{
"module"
:
'bphtb'
}
def
view_pjdl
(
self
):
return
{
"module"
:
'pjdl'
}
return
{
"module"
:
'bphtb'
,
"title"
:
"Realisasi BPHTB"
}
def
view_hotel
(
self
):
return
{
"module"
:
'hotel'
,
"title"
:
"Realisasi Pajak Hotel"
}
def
view_resto
(
self
):
return
{
"module"
:
'resto'
,
"title"
:
"Realisasi Pajak Restoran"
}
def
view_parkir
(
self
):
return
{
"module"
:
'parkir'
,
"title"
:
"Realisasi Pajak Parkir"
}
def
view_hiburan
(
self
):
return
{
"module"
:
'hiburan'
,
"title"
:
"Realisasi Pajak Hiburan"
}
def
view_ppju
(
self
):
return
{
"module"
:
'ppju'
,
"title"
:
"Realisasi Pajak Penerangan Jalan Umum"
}
def
view_minerba
(
self
):
return
{
"module"
:
'minerba'
,
"title"
:
"Realisasi Pajak Minerba"
}
def
view_reklame
(
self
):
return
{
"module"
:
'reklame'
,
"title"
:
"Realisasi Pajak Reklame"
}
def
view_atd
(
self
):
return
{
"module"
:
'atd'
,
"title"
:
"Realisasi Pajak Air Tanah"
}
def
view_webr
(
self
):
return
{
"module"
:
'webr'
}
def
view_opsen
(
self
):
return
{
"module"
:
'opsen'
,
"title"
:
"Opsen Pajak PKB dan BBNKB"
}
# class eis(BaseView):
# def cek_value(self,value,devider,simbol):
# if value<devider:
...
...
eispajak/views/templates/eis-base.pt
View file @
6825161
...
...
@@ -117,10 +117,10 @@
</li>
<li
tal:condition=
"request.user.api_key"
><a
style=
"text-transform:capitalize"
href=
"${home}/recreate-api-key"
>
API Key
</a></li>
<!-- <li talcondition="'core' in request.modules and change_unit(request)">
<
a style="text-transform:capitalize" href="${home}/departemen/chg">Ubah
Organisasi</a
>
</li> -->
<!-- <li talcondition="'core' in request.modules and change_unit(request)">
-->
<
!-- <a style="text-transform:capitalize" href="${home}/departemen/chg">Ubah-->
<!-- Organisasi</a>--
>
<
!-- <
/li> -->
</ul>
</li>
</ul>
...
...
eispajak/views/templates/pcpd.pt
View file @
6825161
<html
metal:use-macro=
"load: eis-base.pt"
>
<html
metal:use-macro=
"load: eis-base.pt"
tal:define=
"url request.route_url('eis-pcpd-act', act=module);"
>
<metal:css
fill-slot=
"css_files"
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/odometer@0.4.8/themes/odometer-theme-plaza.css"
>
...
...
@@ -19,7 +19,8 @@
border-radius
:
10px
;
}
.panel
,
.panel-heading
{
.panel
,
.panel-heading
{
border-radius
:
10px
;
}
...
...
@@ -71,10 +72,9 @@
font-size
:
36px
;
}
.main-panel
.panel-body
.odometer-formatting-mark
{
color
:
#648baf
;
.main-panel
.panel-body
.odometer-formatting-mark
{
color
:
#648baf
;
}
</style>
<div
metal:fill-slot=
"content"
>
...
...
@@ -82,16 +82,16 @@
<div
class=
"col-md-12"
>
<div
class=
"panel panel-default text-center main-panel"
>
<div
class=
"panel-body"
>
<h1><b>
Realisasi Pajak dan Retribusi Daerah
</b></h1>
<h1><b>
${title}
</b></h1>
<div>
<h5
id=
"
current
"
>
Rab, 4 Jun 2025 - 14:11:05
</h5>
<h5
id=
"
time
"
>
Rab, 4 Jun 2025 - 14:11:05
</h5>
</div>
<h4
style=
"font-size: 4.0em;"
>
<b>
Rp.
<h4
class=
"odometer bold"
id=
"
odometer
"
></h4>
<h4
class=
"odometer bold"
id=
"
today
"
></h4>
</b>
</h4>
<h5><b>
1.067 KBM
</b></h5>
<h5><b>
<span
id=
"trx"
></span>
Transaksi
</b></h5>
</div>
</div>
</div>
...
...
@@ -107,9 +107,9 @@
<div
class=
"panel-body"
>
<div
class=
"chart-container"
>
<h2
class=
"primary"
>
<b>
Rp.
<h2
class=
"odometer bold primary"
id=
"
odometer2
"
style=
"font-size: 2.5em;"
>
0
</h2></b>
<b>
Rp.
<h2
class=
"odometer bold primary"
id=
"
ytd
"
style=
"font-size: 2.5em;"
>
0
</h2></b>
</h2>
<h3
class=
"primary bold"
>
1.067 KBM
</h3>
<h3
class=
"primary bold"
>
<span
id=
"trxYtd"
>
1067
</span>
Transaksi
</h3>
</div>
</div>
</div>
...
...
@@ -131,7 +131,7 @@
</div>
<div
class=
"row "
>
<div
class=
"col-md-2"
>
<select
class=
"form-control"
>
<select
class=
"form-control"
id=
"rangeType"
>
<option
value=
"1"
>
Harian
</option>
<option
value=
"2"
>
Mingguan
</option>
<option
value=
"3"
>
Bulanan
</option>
...
...
@@ -219,6 +219,13 @@
<script
metal:fill-slot=
"scripts"
>
var
pieChart
;
var
amtTrendChart
;
var
trxTrendChart
;
var
amtKumulatifChart
;
var
trxKumulatifChart
;
var
newData
;
$
(
document
).
ready
(
function
()
{
var
ctx
=
document
.
getElementById
(
'chartPie'
).
getContext
(
'2d'
);
var
canvas
=
document
.
getElementById
(
'chartPie'
);
...
...
@@ -233,13 +240,14 @@
data
:
[
300
,
100
],
backgroundColor
:
[
'#16a75c'
,
//'rgb(255, 99, 132)',
'#ffb900'
// 'rgb(54, 162, 235)'
'#ffb900'
,
// 'rgb(54, 162, 235)'
],
hoverOffset
:
4
}]
};
const
my
Chart
=
new
Chart
(
ctx
,
pie
Chart
=
new
Chart
(
ctx
,
{
type
:
'pie'
,
data
:
pie_data
,
...
...
@@ -269,7 +277,7 @@
tension
:
0.5
}]
};
const
realisasi_c
hart
=
new
Chart
(
ctx
,
{
amtTrendC
hart
=
new
Chart
(
ctx
,
{
type
:
'line'
,
data
:
realisasi_data
,
options
:
{
...
...
@@ -291,7 +299,7 @@
var
canvas
=
document
.
getElementById
(
'chartRealisasiCnt'
);
canvas
.
width
=
window
.
innerWidth
;
canvas
.
height
=
window
.
innerHeight
/
3.38
;
const
realisasicnt_c
hart
=
new
Chart
(
ctx
,
{
trxTrendC
hart
=
new
Chart
(
ctx
,
{
type
:
'line'
,
data
:
realisasi_data
,
options
:
{
...
...
@@ -315,7 +323,8 @@
tension
:
0.5
}]
};
const
kumulatif_chart
=
new
Chart
(
ctx
,
{
amtKumulatifChart
=
new
Chart
(
ctx
,
{
type
:
'line'
,
data
:
kumulatif_data
,
options
:
{
...
...
@@ -328,7 +337,7 @@
var
canvas
=
document
.
getElementById
(
'chartKumulatifCnt'
);
canvas
.
width
=
window
.
innerWidth
;
canvas
.
height
=
window
.
innerHeight
/
3.38
;
const
kumulatifcnt_c
hart
=
new
Chart
(
ctx
,
{
trxKumulatifC
hart
=
new
Chart
(
ctx
,
{
type
:
'line'
,
data
:
kumulatif_data
,
options
:
{
...
...
@@ -337,20 +346,81 @@
}
});
// $().datarefresh();
$
(
"#rangeType"
).
change
(
function
()
{
trendChart
();
});
});
function
addData
(
chart
,
data
)
{
labels
=
[];
aData
=
[];
backgroundColor
=
[];
data
.
forEach
(
element
=>
{
labels
.
push
(
element
[
0
]);
aData
.
push
(
element
[
1
]);
if
(
element
.
length
>
2
)
backgroundColor
.
push
(
element
[
2
]);
});
chart
.
data
.
labels
.
length
=
0
;
chart
.
data
.
datasets
[
0
].
data
.
length
=
0
;
if
(
backgroundColor
.
length
!=
0
)
{
chart
.
data
.
datasets
[
0
].
data
.
backgroundColor
=
0
;
chart
.
data
.
datasets
[
0
].
backgroundColor
=
backgroundColor
;
}
chart
.
data
.
labels
=
labels
;
chart
.
data
.
datasets
[
0
].
data
=
aData
;
chart
.
update
();
}
trendChart
=
function
()
{
if
(
rangeType
.
value
==
1
)
{
amtTrendChartData
=
newData
.
daily
;
trxTrendChartData
=
newData
.
dailyTrx
;
amtKumulatifChartData
=
newData
.
dailyAcc
;
trxKumulatifChartData
=
newData
.
dailyAccTrx
;
}
else
if
(
rangeType
.
value
==
2
)
{
amtTrendChartData
=
newData
.
weekly
;
trxTrendChartData
=
newData
.
weeklyTrx
;
amtKumulatifChartData
=
newData
.
weeklyAcc
;
trxKumulatifChartData
=
newData
.
weeklyAccTrx
;
}
else
{
amtTrendChartData
=
newData
.
monthly
;
trxTrendChartData
=
newData
.
monthlyTrx
;
amtKumulatifChartData
=
newData
.
monthlyAcc
;
trxKumulatifChartData
=
newData
.
monthlyAccTrx
;
}
addData
(
amtTrendChart
,
amtTrendChartData
);
addData
(
trxTrendChart
,
trxTrendChartData
);
addData
(
amtKumulatifChart
,
amtKumulatifChartData
);
addData
(
trxKumulatifChart
,
trxKumulatifChartData
);
}
$
.
fn
.
datarefresh
=
function
()
{
console
.
log
(
"data_refresh"
);
console
.
log
(
"${url}"
);
$
.
get
(
"${url}"
,
{},
function
(
data
,
status
)
{
if
(
status
===
"success"
)
{
newData
=
data
;
today
.
innerHTML
=
newData
.
today
;
trx
.
innerHTML
=
newData
.
trx
;
ytd
.
innerHTML
=
newData
.
ytd
;
trxYtd
.
innerHTML
=
newData
.
trxYtd
;
time
.
innerHTML
=
newData
.
time
;
time
.
style
.
fontWeight
=
'bold'
;
// removeData(pieChart);
addData
(
pieChart
,
newData
.
pie
);
trendChart
();
}
else
{
console
.
log
(
"Request failed."
);
}
});
// $().get_realisasi();
// $().get_harian();
// $().get_tabel();
// $().get_series();
odometer
.
innerHTML
=
190647300
;
odometer2
.
innerHTML
=
190647500
;
d
=
new
Date
();
current
.
innerHTML
=
d
.
toLocaleString
();
current
.
style
.
fontWeight
=
'bold'
;
}
setTimeout
(
function
()
{
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment