Spaces:
Runtime error
Runtime error
Upload 72 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- Dockerfile +20 -0
- app.py +961 -0
- db/users.json +1426 -0
- db/users_admin.json +84 -0
- export.csv +51 -0
- flask_session/0555e35e41ac8f1a949990c0984e0cfb +0 -0
- flask_session/10e25321a6f00c978694fd187c10abc4 +0 -0
- flask_session/2029240f6d1128be89ddc32729463129 +0 -0
- flask_session/2202dd7007f9bb3785b95f9f7fa056f7 +0 -0
- flask_session/2b2a45b11a1ec2331338aaed0bd01b5d +0 -0
- flask_session/341c98d8fe2c4190a62fabbe88e9ba72 +0 -0
- flask_session/418808d40d5546be9fb8ce1ecb403d05 +0 -0
- flask_session/434dd888e0b14519a082ff8e3983fb19 +0 -0
- flask_session/5e3727bf46ddd720e4dbc8818dbf6b85 +0 -0
- flask_session/5e570896bb6d280cefe85a0743fc4378 +0 -0
- flask_session/72664179816f497ac3372e8f9d2ffd39 +0 -0
- flask_session/78e83dad8df47cbc1a7bbfa54ae6192a +0 -0
- flask_session/7d6d3d1dfecb2fcc22e8946b74802f82 +0 -0
- flask_session/9b438057d5971de7d654493efa2f530a +0 -0
- flask_session/9baccf410aea2dc49b9327ebc65c77e4 +0 -0
- flask_session/9dc4e083e3952e85bc8021620e23151c +0 -0
- flask_session/a348d38bd5ec6f3d4b770da9bade5859 +0 -0
- flask_session/a363ccfaa2121d411fd507df144e4bb5 +0 -0
- flask_session/a3e0e25a91d3f327b87da1259170e975 +0 -0
- flask_session/bd12d2fa23a7a22e0d0abf58f2627079 +0 -0
- flask_session/da7a4b202b6b0fa548d83830a3135fa6 +0 -0
- flask_session/dda0f415d2f69e8b0cb41e4655ee46b3 +0 -0
- flask_session/e2db2cc279d6e99ed18d4b219904dffb +0 -0
- flask_session/e4b1dd890605ad0fa42946e5519d3349 +0 -0
- flask_session/e63cbe5ee03207dd76c1461d3b0a0ac7 +0 -0
- flask_session/ed523d93291f2505e4d771c86230b37e +0 -0
- requirements.txt +0 -0
- static/css/card.css +5 -0
- static/css/dashboard-input-data.css +405 -0
- static/css/dashboard-layout-data-anak.css +455 -0
- static/css/dashboard-layout-kategori.css +0 -0
- static/css/dashboard-style.css +404 -0
- static/css/index.css +235 -0
- static/css/input_data.css +78 -0
- static/css/login.css +62 -0
- static/css/register.css +62 -0
- static/css/registrasi.css +64 -0
- static/image/avatar.svg +1 -0
- static/image/bg.svg +1 -0
- static/image/gambar.jpg +0 -0
- static/image/image.jpg +0 -0
- static/image/image1.png +0 -0
- static/image/wave.png +0 -0
- static/js/dashboard-main.js +21 -0
- static/js/dashboard-my_chart.js +33 -0
Dockerfile
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Install Images
|
2 |
+
FROM python:3.10.7-slim
|
3 |
+
|
4 |
+
# Set working directory
|
5 |
+
WORKDIR /home/app
|
6 |
+
|
7 |
+
# Install packages
|
8 |
+
RUN apt-get update -y && apt-get upgrade -y
|
9 |
+
|
10 |
+
# Copy all files into working directory
|
11 |
+
COPY . .
|
12 |
+
|
13 |
+
# Install library
|
14 |
+
RUN pip3 install -r requirements.txt
|
15 |
+
|
16 |
+
# (OPTIONAL) You can use you own port for expose port
|
17 |
+
EXPOSE 8000
|
18 |
+
|
19 |
+
# Run script
|
20 |
+
CMD ["python", "app.py"]
|
app.py
ADDED
@@ -0,0 +1,961 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import uuid
|
3 |
+
from datetime import datetime
|
4 |
+
|
5 |
+
from flask import Flask, redirect, render_template, request, session, send_file
|
6 |
+
from pysondb import db
|
7 |
+
from copy import deepcopy
|
8 |
+
|
9 |
+
from flask_session import Session
|
10 |
+
|
11 |
+
app = Flask(__name__)
|
12 |
+
app.config["SESSION_PERMANENT"] = False
|
13 |
+
app.config["SESSION_TYPE"] = "filesystem"
|
14 |
+
Session(app)
|
15 |
+
db_users = db.getDb(os.path.join(os.path.dirname(__file__), "db", "users.json"))
|
16 |
+
db_users_admin = db.getDb(
|
17 |
+
os.path.join(os.path.dirname(__file__), "db", "users_admin.json")
|
18 |
+
)
|
19 |
+
|
20 |
+
rule_table = {
|
21 |
+
"R01": {
|
22 |
+
"result": "K02",
|
23 |
+
"rule": {"P01": True, "P02": True, "P03": True, "P04": True, "P05": True},
|
24 |
+
},
|
25 |
+
"R02": {
|
26 |
+
"result": "K02",
|
27 |
+
"rule": {"P01": True, "P02": True, "P03": True, "P04": True, "P05": False},
|
28 |
+
},
|
29 |
+
"R03": {
|
30 |
+
"result": "K02",
|
31 |
+
"rule": {"P01": True, "P02": True, "P03": True, "P04": False, "P05": True},
|
32 |
+
},
|
33 |
+
"R04": {
|
34 |
+
"result": "K02",
|
35 |
+
"rule": {"P01": True, "P02": True, "P03": False, "P04": True, "P05": True},
|
36 |
+
},
|
37 |
+
"R05": {
|
38 |
+
"result": "K02",
|
39 |
+
"rule": {"P01": True, "P02": False, "P03": True, "P04": True, "P05": True},
|
40 |
+
},
|
41 |
+
"R06": {
|
42 |
+
"result": "K01",
|
43 |
+
"rule": {"P01": False, "P02": True, "P03": True, "P04": True, "P05": True},
|
44 |
+
},
|
45 |
+
"R07": {
|
46 |
+
"result": "K02",
|
47 |
+
"rule": {"P01": True, "P02": True, "P03": True, "P04": False, "P05": False},
|
48 |
+
},
|
49 |
+
"R08": {
|
50 |
+
"result": "K02",
|
51 |
+
"rule": {"P01": True, "P02": True, "P03": False, "P04": False, "P05": True},
|
52 |
+
},
|
53 |
+
"R09": {
|
54 |
+
"result": "K02",
|
55 |
+
"rule": {"P01": True, "P02": True, "P03": False, "P04": True, "P05": False},
|
56 |
+
},
|
57 |
+
"R10": {
|
58 |
+
"result": "K02",
|
59 |
+
"rule": {"P01": True, "P02": False, "P03": False, "P04": True, "P05": True},
|
60 |
+
},
|
61 |
+
"R11": {
|
62 |
+
"result": "K01",
|
63 |
+
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": True},
|
64 |
+
},
|
65 |
+
"R12": {
|
66 |
+
"result": "K01",
|
67 |
+
"rule": {"P01": False, "P02": False, "P03": True, "P04": True, "P05": True},
|
68 |
+
},
|
69 |
+
"R13": {
|
70 |
+
"result": "K01",
|
71 |
+
"rule": {"P01": False, "P02": True, "P03": True, "P04": True, "P05": False},
|
72 |
+
},
|
73 |
+
"R14": {
|
74 |
+
"result": "K02",
|
75 |
+
"rule": {"P01": True, "P02": False, "P03": True, "P04": False, "P05": True},
|
76 |
+
},
|
77 |
+
"R15": {
|
78 |
+
"result": "K02",
|
79 |
+
"rule": {"P01": True, "P02": False, "P03": True, "P04": True, "P05": False},
|
80 |
+
},
|
81 |
+
"R16": {
|
82 |
+
"result": "K01",
|
83 |
+
"rule": {"P01": False, "P02": True, "P03": True, "P04": False, "P05": True},
|
84 |
+
},
|
85 |
+
"R17": {
|
86 |
+
"result": "K02",
|
87 |
+
"rule": {"P01": True, "P02": True, "P03": False, "P04": False, "P05": False},
|
88 |
+
},
|
89 |
+
"R18": {
|
90 |
+
"result": "K02",
|
91 |
+
"rule": {"P01": True, "P02": False, "P03": False, "P04": False, "P05": True},
|
92 |
+
},
|
93 |
+
"R19": {
|
94 |
+
"result": "K01",
|
95 |
+
"rule": {"P01": False, "P02": False, "P03": False, "P04": True, "P05": True},
|
96 |
+
},
|
97 |
+
"R20": {
|
98 |
+
"result": "K02",
|
99 |
+
"rule": {"P01": True, "P02": False, "P03": True, "P04": False, "P05": False},
|
100 |
+
},
|
101 |
+
"R21": {
|
102 |
+
"result": "K01",
|
103 |
+
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": False},
|
104 |
+
},
|
105 |
+
"R22": {
|
106 |
+
"result": "K01",
|
107 |
+
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": False},
|
108 |
+
},
|
109 |
+
"R23": {
|
110 |
+
"result": "K01",
|
111 |
+
"rule": {"P01": False, "P02": False, "P03": True, "P04": False, "P05": True},
|
112 |
+
},
|
113 |
+
"R24": {
|
114 |
+
"result": "K01",
|
115 |
+
"rule": {"P01": False, "P02": False, "P03": True, "P04": True, "P05": False},
|
116 |
+
},
|
117 |
+
"R25": {
|
118 |
+
"result": "K02",
|
119 |
+
"rule": {"P01": True, "P02": False, "P03": False, "P04": True, "P05": False},
|
120 |
+
},
|
121 |
+
"R26": {
|
122 |
+
"result": "K01",
|
123 |
+
"rule": {"P01": False, "P02": True, "P03": False, "P04": False, "P05": True},
|
124 |
+
},
|
125 |
+
"R27": {
|
126 |
+
"result": "K01",
|
127 |
+
"rule": {"P01": False, "P02": False, "P03": False, "P04": False, "P05": True},
|
128 |
+
},
|
129 |
+
"R28": {
|
130 |
+
"result": "K01",
|
131 |
+
"rule": {"P01": False, "P02": False, "P03": False, "P04": True, "P05": False},
|
132 |
+
},
|
133 |
+
"R29": {
|
134 |
+
"result": "K01",
|
135 |
+
"rule": {"P01": False, "P02": False, "P03": True, "P04": False, "P05": False},
|
136 |
+
},
|
137 |
+
"R30": {
|
138 |
+
"result": "K01",
|
139 |
+
"rule": {"P01": False, "P02": True, "P03": False, "P04": False, "P05": False},
|
140 |
+
},
|
141 |
+
"R31": {
|
142 |
+
"result": "K01",
|
143 |
+
"rule": {"P01": True, "P02": False, "P03": False, "P04": False, "P05": False},
|
144 |
+
},
|
145 |
+
"R32": {
|
146 |
+
"result": "K01",
|
147 |
+
"rule": {"P01": False, "P02": False, "P03": False, "P04": False, "P05": False},
|
148 |
+
},
|
149 |
+
}
|
150 |
+
result_table = {
|
151 |
+
"K01": {
|
152 |
+
"detail": "Obesitas Primer",
|
153 |
+
"cause": (
|
154 |
+
"faktor genetika / turunan",
|
155 |
+
"faktor aktivitas",
|
156 |
+
"faktor pola makan",
|
157 |
+
"faktor psikis",
|
158 |
+
),
|
159 |
+
"solution": "Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv",
|
160 |
+
},
|
161 |
+
"K02": {
|
162 |
+
"detail": "Obesitas Sekunder",
|
163 |
+
"cause": ("faktor kesehatan",),
|
164 |
+
"solution": "Pergi ke Dokter tentang penyakit anak anda lalu kenaikan berat badan harus diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan yang tinggi kalori, melakukan aktivitas fisik, dan kurangi menonton tv",
|
165 |
+
},
|
166 |
+
}
|
167 |
+
|
168 |
+
@app.route("/", methods=("GET",))
|
169 |
+
def index():
|
170 |
+
return render_template("index.html")
|
171 |
+
|
172 |
+
@app.route("/logout", methods=("GET",))
|
173 |
+
def logout():
|
174 |
+
session["user_session_data"] = None
|
175 |
+
return redirect("/")
|
176 |
+
|
177 |
+
@app.route("/login", methods=("GET", "POST"))
|
178 |
+
def login():
|
179 |
+
if session.get("user_session_data") is not None:
|
180 |
+
return redirect("/dashboard")
|
181 |
+
if request.method == "POST":
|
182 |
+
username = request.form["username"]
|
183 |
+
password = request.form["password"]
|
184 |
+
data_users_admin = db_users_admin.getAll()
|
185 |
+
login_success = False
|
186 |
+
for user_admin in data_users_admin:
|
187 |
+
if (
|
188 |
+
username == user_admin["username"]
|
189 |
+
and password == user_admin["password"]
|
190 |
+
):
|
191 |
+
user_session_data = deepcopy(user_admin)
|
192 |
+
user_session_data.pop("password")
|
193 |
+
session["user_session_data"] = user_session_data
|
194 |
+
login_success = True
|
195 |
+
if user_admin["role"] in ("admin", "kepala"):
|
196 |
+
return redirect("/dashboard")
|
197 |
+
else:
|
198 |
+
return redirect("/dashboard-layout-data-anak")
|
199 |
+
|
200 |
+
if not login_success:
|
201 |
+
return render_template(
|
202 |
+
"login.html", error="Invalid username or password"
|
203 |
+
)
|
204 |
+
|
205 |
+
return render_template("login.html")
|
206 |
+
|
207 |
+
@app.route("/balita/<uuid_balita>", methods=("GET",))
|
208 |
+
def balita(uuid_balita):
|
209 |
+
if session.get("user_session_data") is None:
|
210 |
+
return redirect("/login")
|
211 |
+
|
212 |
+
data_balita = db_users.getBy({"uuid": uuid_balita})[0]
|
213 |
+
nama_lengkap = data_balita["nama_lengkap"]
|
214 |
+
usia_dalam_bentuk_bulan = data_balita["usia_dalam_bentuk_bulan"]
|
215 |
+
tanggal_lahir = data_balita["tanggal_lahir"]
|
216 |
+
jenis_kelamin = data_balita["jenis_kelamin"]
|
217 |
+
berat_badan_dalam_bentuk_kg = data_balita["berat_badan_dalam_bentuk_kg"]
|
218 |
+
tinggi_badan_dalam_bentuk_cm = data_balita["tinggi_badan_dalam_bentuk_cm"]
|
219 |
+
imt = data_balita["imt"]
|
220 |
+
detail_konklusi = data_balita["detail_konklusi"] if isinstance(data_balita["detail_konklusi"], str) else data_balita["detail_konklusi"][0]
|
221 |
+
cause_konklusi = data_balita["cause_konklusi"]
|
222 |
+
solusi_konklusi = data_balita["solusi_konklusi"]
|
223 |
+
return render_template(
|
224 |
+
"card.html",
|
225 |
+
nama_lengkap=nama_lengkap,
|
226 |
+
usia_dalam_bentuk_bulan=usia_dalam_bentuk_bulan,
|
227 |
+
tanggal_lahir=tanggal_lahir,
|
228 |
+
jenis_kelamin=jenis_kelamin,
|
229 |
+
berat_badan_dalam_bentuk_kg=berat_badan_dalam_bentuk_kg,
|
230 |
+
tinggi_badan_dalam_bentuk_cm=tinggi_badan_dalam_bentuk_cm,
|
231 |
+
imt=imt,
|
232 |
+
detail_konklusi=detail_konklusi,
|
233 |
+
cause_konklusi=cause_konklusi,
|
234 |
+
solusi_konklusi=solusi_konklusi,
|
235 |
+
)
|
236 |
+
|
237 |
+
@app.route("/delete-balita/<uuid_balita>", methods=("GET",))
|
238 |
+
def delete_balita(uuid_balita):
|
239 |
+
if session.get("user_session_data") is None:
|
240 |
+
return redirect("/login")
|
241 |
+
|
242 |
+
|
243 |
+
if session.get("user_session_data").get("role") == "admin":
|
244 |
+
return redirect("/dashboard")
|
245 |
+
|
246 |
+
return redirect("/dashboard-layout-data-anak")
|
247 |
+
|
248 |
+
db_users.deleteById(uuid_balita)
|
249 |
+
return redirect(
|
250 |
+
"/dashboard-layout-data-anak",
|
251 |
+
)
|
252 |
+
|
253 |
+
@app.route("/update-balita/<id_balita>", methods=("GET", "POST"))
|
254 |
+
def update_balita(id_balita):
|
255 |
+
if session.get("user_session_data") is None:
|
256 |
+
return redirect("/")
|
257 |
+
|
258 |
+
|
259 |
+
if request.method == "GET":
|
260 |
+
data_balita = db_users.getBy({"id": int(id_balita)})[0]
|
261 |
+
nama_lengkap = data_balita["nama_lengkap"]
|
262 |
+
usia_dalam_bentuk_bulan = data_balita["usia_dalam_bentuk_bulan"]
|
263 |
+
tanggal_lahir = data_balita["tanggal_lahir"]
|
264 |
+
jenis_kelamin = data_balita["jenis_kelamin"]
|
265 |
+
berat_badan_dalam_bentuk_kg = data_balita["berat_badan_dalam_bentuk_kg"]
|
266 |
+
tinggi_badan_dalam_bentuk_cm = data_balita["tinggi_badan_dalam_bentuk_cm"]
|
267 |
+
return render_template(
|
268 |
+
"dashboard-update-data-anak.html",
|
269 |
+
nama_lengkap=nama_lengkap,
|
270 |
+
usia_dalam_bentuk_bulan=usia_dalam_bentuk_bulan,
|
271 |
+
tanggal_lahir=tanggal_lahir,
|
272 |
+
jenis_kelamin=jenis_kelamin,
|
273 |
+
berat_badan_dalam_bentuk_kg=berat_badan_dalam_bentuk_kg,
|
274 |
+
tinggi_badan_dalam_bentuk_cm=tinggi_badan_dalam_bentuk_cm,
|
275 |
+
role=session.get("user_session_data").get("role").title(),
|
276 |
+
name=session.get("user_session_data").get("name").title(),
|
277 |
+
username=session.get("user_session_data").get("username"),
|
278 |
+
)
|
279 |
+
elif request.method == "POST":
|
280 |
+
data_balita = db_users.getBy({"id": int(id_balita)})[0]
|
281 |
+
data_balita_uuid = data_balita["uuid"]
|
282 |
+
nama_lengkap = request.form["nama-lengkap"]
|
283 |
+
usia_dalam_bentuk_bulan = request.form["usia-dalam-bentuk-bulan"]
|
284 |
+
tanggal_lahir = datetime.strptime(
|
285 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
286 |
+
).strftime("%Y-%m-%d")
|
287 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
288 |
+
berat_badan_dalam_bentuk_kg = request.form[
|
289 |
+
"berat-badan-dalam-bentuk-kg"
|
290 |
+
]
|
291 |
+
tinggi_badan_dalam_bentuk_cm = request.form[
|
292 |
+
"tinggi-badan-dalam-bentuk-cm"
|
293 |
+
]
|
294 |
+
imt = (
|
295 |
+
float(berat_badan_dalam_bentuk_kg)
|
296 |
+
/ (float(tinggi_badan_dalam_bentuk_cm) / 100) ** 2
|
297 |
+
)
|
298 |
+
datetime_now = datetime.now().strftime("%Y-%m-%d")
|
299 |
+
db_users.updateById( id_balita,
|
300 |
+
{
|
301 |
+
"nama_lengkap": nama_lengkap,
|
302 |
+
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan,
|
303 |
+
"tanggal_lahir": tanggal_lahir,
|
304 |
+
"jenis_kelamin": jenis_kelamin,
|
305 |
+
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg,
|
306 |
+
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm,
|
307 |
+
"tanggal_edit": datetime_now,
|
308 |
+
}
|
309 |
+
)
|
310 |
+
return redirect("/balita/" + data_balita_uuid)
|
311 |
+
|
312 |
+
@app.route("/test-obesitas/<id_balita>", methods=("GET", "POST"))
|
313 |
+
def test_obesitas(id_balita):
|
314 |
+
if session.get("user_session_data") is None:
|
315 |
+
return redirect("/")
|
316 |
+
|
317 |
+
if session.get("user_session_data").get("role") == "kepala" or \
|
318 |
+
session.get("user_session_data").get("role") == "kader":
|
319 |
+
|
320 |
+
if session.get("user_session_data").get("role") == "kepala":
|
321 |
+
return redirect("/dashboard")
|
322 |
+
return redirect("/input-data-anak")
|
323 |
+
|
324 |
+
if request.method == "GET":
|
325 |
+
data_balita = db_users.getBy({"uuid": id_balita})
|
326 |
+
P01 = True if data_balita[0].get("P01") in [None, "ya", "YA", "Ya", "yA"] else False
|
327 |
+
P02 = True if data_balita[0].get("P02") in [None, "ya", "YA", "Ya", "yA"] else False
|
328 |
+
P03 = True if data_balita[0].get("P03") in [None, "ya", "YA", "Ya", "yA"] else False
|
329 |
+
P04 = True if data_balita[0].get("P04") in [None, "ya", "YA", "Ya", "yA"] else False
|
330 |
+
P05 = True if data_balita[0].get("P05") in [None, "ya", "YA", "Ya", "yA"] else False
|
331 |
+
|
332 |
+
return render_template(
|
333 |
+
"dashboard-test-obesitas.html",
|
334 |
+
p01=P01,
|
335 |
+
p02=P02,
|
336 |
+
p03=P03,
|
337 |
+
p04=P04,
|
338 |
+
p05=P05,
|
339 |
+
role=session.get("user_session_data").get("role").title(),
|
340 |
+
name=session.get("user_session_data").get("name").title(),
|
341 |
+
username=session.get("user_session_data").get("username"),
|
342 |
+
)
|
343 |
+
|
344 |
+
elif request.method == "POST":
|
345 |
+
data_balita = db_users.getBy({"uuid": id_balita})
|
346 |
+
P01 = True if request.form["P01"] in [None, "ya", "YA", "Ya", "yA"] else False
|
347 |
+
P02 = True if request.form["P02"] in [None, "ya", "YA", "Ya", "yA"] else False
|
348 |
+
P03 = True if request.form["P03"] in [None, "ya", "YA", "Ya", "yA"] else False
|
349 |
+
P04 = True if request.form["P04"] in [None, "ya", "YA", "Ya", "yA"] else False
|
350 |
+
P05 = True if request.form["P05"] in [None, "ya", "YA", "Ya", "yA"] else False
|
351 |
+
for keys_rule, _ in rule_table.items():
|
352 |
+
if (
|
353 |
+
rule_table[keys_rule]["rule"]["P01"] == P01
|
354 |
+
and rule_table[keys_rule]["rule"]["P02"] == P02
|
355 |
+
and rule_table[keys_rule]["rule"]["P03"] == P03
|
356 |
+
and rule_table[keys_rule]["rule"]["P04"] == P04
|
357 |
+
and rule_table[keys_rule]["rule"]["P05"] == P05
|
358 |
+
):
|
359 |
+
nama_lengkap = data_balita[0]["nama_lengkap"]
|
360 |
+
usia_dalam_bentuk_bulan = data_balita[0]["usia_dalam_bentuk_bulan"]
|
361 |
+
tanggal_lahir = data_balita[0]["tanggal_lahir"]
|
362 |
+
jenis_kelamin = data_balita[0]["jenis_kelamin"]
|
363 |
+
berat_badan_dalam_bentuk_kg = data_balita[0][
|
364 |
+
"berat_badan_dalam_bentuk_kg"
|
365 |
+
]
|
366 |
+
tinggi_badan_dalam_bentuk_cm = data_balita[0][
|
367 |
+
"tinggi_badan_dalam_bentuk_cm"
|
368 |
+
]
|
369 |
+
imt = data_balita[0]["imt"]
|
370 |
+
detail_konklusi = (
|
371 |
+
result_table[rule_table[keys_rule]["result"]]["detail"],
|
372 |
+
)
|
373 |
+
cause_konklusi = []
|
374 |
+
if P01:
|
375 |
+
cause_konklusi.append(result_table["K02"]["cause"][0])
|
376 |
+
if P02:
|
377 |
+
cause_konklusi.append(result_table["K01"]["cause"][0])
|
378 |
+
if P03:
|
379 |
+
cause_konklusi.append(result_table["K01"]["cause"][1])
|
380 |
+
if P04:
|
381 |
+
cause_konklusi.append(result_table["K01"]["cause"][2])
|
382 |
+
if P05:
|
383 |
+
cause_konklusi.append(result_table["K01"]["cause"][3])
|
384 |
+
|
385 |
+
solusi_konklusi = ""
|
386 |
+
if all([P01]):
|
387 |
+
solusi_konklusi += "Periksa ke dokter tentang penyakit anak anda."
|
388 |
+
if all([P02, P03, P04]):
|
389 |
+
solusi_konklusi += " Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv."
|
390 |
+
if all([P05]):
|
391 |
+
solusi_konklusi += " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food."
|
392 |
+
uuid_id = data_balita[0]["uuid"]
|
393 |
+
datetime_now = datetime.now().strftime("%Y-%m-%d")
|
394 |
+
db_users.updateById(data_balita[0]["id"],
|
395 |
+
{
|
396 |
+
"uuid": uuid_id,
|
397 |
+
"nama_lengkap": nama_lengkap,
|
398 |
+
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan,
|
399 |
+
"tanggal_lahir": tanggal_lahir,
|
400 |
+
"jenis_kelamin": jenis_kelamin,
|
401 |
+
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg,
|
402 |
+
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm,
|
403 |
+
"imt": imt,
|
404 |
+
"detail_konklusi": detail_konklusi,
|
405 |
+
"solusi_konklusi": solusi_konklusi,
|
406 |
+
"cause_konklusi": cause_konklusi,
|
407 |
+
"tanggal_periksa": data_balita[0]["tanggal_periksa"],
|
408 |
+
"tanggal_edit": datetime_now,
|
409 |
+
"p01": P01,
|
410 |
+
"p02": P02,
|
411 |
+
"p03": P03,
|
412 |
+
"p04": P04,
|
413 |
+
"p05": P05,
|
414 |
+
}
|
415 |
+
)
|
416 |
+
return redirect("/balita/" + uuid_id)
|
417 |
+
|
418 |
+
@app.route("/dashboard", methods=("GET",))
|
419 |
+
def dashboard():
|
420 |
+
if session.get("user_session_data") is None:
|
421 |
+
return redirect("/login")
|
422 |
+
|
423 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
424 |
+
session.get("user_session_data").get("role") == "bidan":
|
425 |
+
|
426 |
+
return redirect("/dashboard-layout-data-anak")
|
427 |
+
|
428 |
+
data_users = db_users.getAll()
|
429 |
+
total_data_balita_laki_laki = len(list(filter(lambda x: x["jenis_kelamin"] == "Laki-Laki", data_users)))
|
430 |
+
total_data_balita_perempuan = len(list(filter(lambda x: x["jenis_kelamin"] == "Perempuan", data_users)))
|
431 |
+
data_tanggal_periksa = {}
|
432 |
+
for data in data_users:
|
433 |
+
tanggal_periksa = data["tanggal_periksa"][0]
|
434 |
+
tanggal_periksa_split = tanggal_periksa.split("-")
|
435 |
+
if tanggal_periksa_split[0] not in data_tanggal_periksa:
|
436 |
+
data_tanggal_periksa[tanggal_periksa_split[0]] = {}
|
437 |
+
if tanggal_periksa_split[1] not in data_tanggal_periksa[tanggal_periksa_split[0]]:
|
438 |
+
data_tanggal_periksa[tanggal_periksa_split[0]][tanggal_periksa_split[1]] = 0
|
439 |
+
data_tanggal_periksa[tanggal_periksa_split[0]][tanggal_periksa_split[1]] += 1
|
440 |
+
return render_template(
|
441 |
+
"dashboard-index.html",
|
442 |
+
role=session.get("user_session_data").get("role").title(),
|
443 |
+
name=session.get("user_session_data").get("name").title(),
|
444 |
+
username=session.get("user_session_data").get("username"),
|
445 |
+
total_data_balita_laki_laki=total_data_balita_laki_laki,
|
446 |
+
total_data_balita_perempuan=total_data_balita_perempuan,
|
447 |
+
data_tanggal_periksa=data_tanggal_periksa,
|
448 |
+
)
|
449 |
+
|
450 |
+
@app.route("/dashboard-layout-kategori", methods=("GET",))
|
451 |
+
def dashboard_layout_kategori():
|
452 |
+
if session.get("user_session_data") is None:
|
453 |
+
return redirect("/login")
|
454 |
+
|
455 |
+
data_users = db_users.getAll()
|
456 |
+
cause_konklusi = []
|
457 |
+
for data in data_users:
|
458 |
+
if data["jenis_kelamin"] == "Laki-Laki":
|
459 |
+
cause_konklusi.extend(data['cause_konklusi'] if isinstance(data['cause_konklusi'], list) else [data['cause_konklusi']])
|
460 |
+
cause_konklusi = tuple(set(cause_konklusi))
|
461 |
+
total_cause_konklusi = []
|
462 |
+
for konklusi in cause_konklusi:
|
463 |
+
data = len([data for data in data_users if konklusi in data['cause_konklusi'] and data["jenis_kelamin"] == "Laki-Laki"])
|
464 |
+
total_cause_konklusi.append(data)
|
465 |
+
|
466 |
+
cause_konklusi_p = []
|
467 |
+
for data in data_users:
|
468 |
+
if data["jenis_kelamin"] == "Perempuan":
|
469 |
+
cause_konklusi_p.extend(data['cause_konklusi'] if isinstance(data['cause_konklusi'], list) else [data['cause_konklusi']])
|
470 |
+
cause_konklusi_p = tuple(set(cause_konklusi_p))
|
471 |
+
total_cause_konklusi_p = []
|
472 |
+
for konklusi in cause_konklusi_p:
|
473 |
+
data = len([data for data in data_users if konklusi in data['cause_konklusi'] and data["jenis_kelamin"] == "Perempuan"])
|
474 |
+
total_cause_konklusi_p.append(data)
|
475 |
+
|
476 |
+
return render_template(
|
477 |
+
"dashboard-layout-kategori.html",
|
478 |
+
cause_konklusi=cause_konklusi,
|
479 |
+
total_cause_konklusi=total_cause_konklusi,
|
480 |
+
cause_konklusi_p=cause_konklusi_p,
|
481 |
+
total_cause_konklusi_p=total_cause_konklusi_p,
|
482 |
+
role=session.get("user_session_data").get("role").title(),
|
483 |
+
name=session.get("user_session_data").get("name").title(),
|
484 |
+
username=session.get("user_session_data").get("username")
|
485 |
+
)
|
486 |
+
|
487 |
+
@app.route("/dashboard-layout-data-anak", methods=("GET", "POST"))
|
488 |
+
def dashboard_layout_data_anak():
|
489 |
+
if session.get("user_session_data") is None:
|
490 |
+
return redirect("/login")
|
491 |
+
|
492 |
+
if request.method == "GET":
|
493 |
+
data_users = db_users.getAll()
|
494 |
+
return render_template(
|
495 |
+
"dashboard-layout-data-anak.html",
|
496 |
+
username=session.get("user_session_data").get("username"),
|
497 |
+
role=session.get("user_session_data").get("role").title(),
|
498 |
+
name=session.get("user_session_data").get("name").title(),
|
499 |
+
data_users=data_users
|
500 |
+
)
|
501 |
+
elif request.method == "POST":
|
502 |
+
data_users = db_users.getAll()
|
503 |
+
data_users = [data for data in data_users if request.form["cari-anak"].lower() in data["nama_lengkap"].lower()]
|
504 |
+
return render_template(
|
505 |
+
"dashboard-layout-data-anak.html",
|
506 |
+
data_users=data_users,
|
507 |
+
role=session.get("user_session_data").get("role").title(),
|
508 |
+
name=session.get("user_session_data").get("name").title(),
|
509 |
+
username=session.get("user_session_data").get("username")
|
510 |
+
)
|
511 |
+
|
512 |
+
@app.route("/dashboard-layout-data-anak-export-csv", methods=("POST",))
|
513 |
+
def dashboard_layout_data_anak_export_csv():
|
514 |
+
if session.get("user_session_data") is None:
|
515 |
+
return redirect("/login")
|
516 |
+
|
517 |
+
data_users = db_users.getAll()
|
518 |
+
with open("export.csv", "w") as f:
|
519 |
+
f.write("nama_lengkap,usia,tanggal_lahir,jenis_kelamin,berat_badan (kg),tinggi_badan (cm),imt,detail_konklusi\n")
|
520 |
+
for data in data_users:
|
521 |
+
detail_konklusi = data["detail_konklusi"]
|
522 |
+
if detail_konklusi:
|
523 |
+
detail_konklusi = detail_konklusi[0].replace("[", "").replace("]", "")
|
524 |
+
f.write(
|
525 |
+
f"{data['nama_lengkap']},{data['usia_dalam_bentuk_bulan']},{data['tanggal_lahir']},{data['jenis_kelamin']},{data['berat_badan_dalam_bentuk_kg']},{data['tinggi_badan_dalam_bentuk_cm']},{data['imt']},{detail_konklusi}\n"
|
526 |
+
)
|
527 |
+
return send_file("./export.csv", as_attachment=True)
|
528 |
+
|
529 |
+
@app.route("/dashboard-input-data-anak", methods=("GET", "POST"))
|
530 |
+
def dashboard_input_data_anak():
|
531 |
+
if session.get("user_session_data") is None:
|
532 |
+
return redirect("/login")
|
533 |
+
|
534 |
+
if session.get("user_session_data").get("role") == "kepala":
|
535 |
+
return redirect("/dashboard")
|
536 |
+
|
537 |
+
if request.method == "POST":
|
538 |
+
nama_lengkap = request.form["nama-lengkap"]
|
539 |
+
usia_dalam_bentuk_bulan = request.form["usia-dalam-bentuk-bulan"]
|
540 |
+
tanggal_lahir = datetime.strptime(
|
541 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
542 |
+
).strftime("%Y-%m-%d")
|
543 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
544 |
+
berat_badan_dalam_bentuk_kg = request.form[
|
545 |
+
"berat-badan-dalam-bentuk-kg"
|
546 |
+
]
|
547 |
+
tinggi_badan_dalam_bentuk_cm = request.form[
|
548 |
+
"tinggi-badan-dalam-bentuk-cm"
|
549 |
+
]
|
550 |
+
imt = int((
|
551 |
+
float(berat_badan_dalam_bentuk_kg)
|
552 |
+
/ (float(tinggi_badan_dalam_bentuk_cm) / 100) ** 2
|
553 |
+
))
|
554 |
+
uuid_id = uuid.uuid4().hex
|
555 |
+
datetime_now = datetime.now().strftime("%Y-%m-%d"),
|
556 |
+
db_users.add(
|
557 |
+
{
|
558 |
+
"uuid": uuid_id,
|
559 |
+
"nama_lengkap": nama_lengkap,
|
560 |
+
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan,
|
561 |
+
"tanggal_lahir": tanggal_lahir,
|
562 |
+
"jenis_kelamin": jenis_kelamin,
|
563 |
+
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg,
|
564 |
+
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm,
|
565 |
+
"imt": imt,
|
566 |
+
"detail_konklusi": "Belum Periksa",
|
567 |
+
"solusi_konklusi": "Belum Periksa",
|
568 |
+
"cause_konklusi": "Belum Periksa",
|
569 |
+
"tanggal_periksa": datetime_now,
|
570 |
+
"tanggal_edit": datetime_now,
|
571 |
+
"p01": "Belum Periksa",
|
572 |
+
"p02": "Belum Periksa",
|
573 |
+
"p03": "Belum Periksa",
|
574 |
+
"p04": "Belum Periksa",
|
575 |
+
"p05": "Belum Periksa",
|
576 |
+
}
|
577 |
+
)
|
578 |
+
return redirect("/balita/" + uuid_id)
|
579 |
+
|
580 |
+
return render_template(
|
581 |
+
"dashboard-input-data-anak.html",
|
582 |
+
role=session.get("user_session_data").get("role").title(),
|
583 |
+
name=session.get("user_session_data").get("name").title(),
|
584 |
+
username=session.get("user_session_data").get("username"),
|
585 |
+
)
|
586 |
+
|
587 |
+
@app.route("/dashboard-input-data-kepala", methods=("GET", "POST"))
|
588 |
+
def dashboard_input_data_kepala():
|
589 |
+
if session.get("user_session_data") is None:
|
590 |
+
return redirect("/login")
|
591 |
+
|
592 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
593 |
+
session.get("user_session_data").get("role") == "bidan":
|
594 |
+
|
595 |
+
return redirect("/dashboard-layout-data-anak")
|
596 |
+
|
597 |
+
if request.method == "POST":
|
598 |
+
data_admin = db_users_admin.getAll()
|
599 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
600 |
+
id_data = data_admin[0]["id"]
|
601 |
+
nama_lengkap = request.form["nama-lengkap"]
|
602 |
+
tanggal_lahir = datetime.strptime(
|
603 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
604 |
+
).strftime("%Y-%m-%d")
|
605 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
606 |
+
alamat = request.form["alamat"]
|
607 |
+
username = request.form["username"]
|
608 |
+
password = request.form["password"]
|
609 |
+
db_users_admin.updateById(id_data, {
|
610 |
+
"name": nama_lengkap,
|
611 |
+
"tanggal_lahir": tanggal_lahir,
|
612 |
+
"jenis_kelamin": jenis_kelamin,
|
613 |
+
"alamat": alamat,
|
614 |
+
"username": username,
|
615 |
+
"password": password,
|
616 |
+
})
|
617 |
+
data_admin = db_users_admin.getAll()
|
618 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
619 |
+
return render_template(
|
620 |
+
"dashboard-input-data-kepala.html",
|
621 |
+
role=session.get("user_session_data").get("role").title(),
|
622 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
623 |
+
nama_lengkap=data_admin[0]["name"],
|
624 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
625 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
626 |
+
alamat=data_admin[0]["alamat"],
|
627 |
+
username=data_admin[0]["username"],
|
628 |
+
password=data_admin[0]["password"],
|
629 |
+
success="Berhasil Update Akun"
|
630 |
+
)
|
631 |
+
|
632 |
+
elif request.method == "GET":
|
633 |
+
data_admin = db_users_admin.getAll()
|
634 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
635 |
+
|
636 |
+
return render_template(
|
637 |
+
"dashboard-input-data-kepala.html",
|
638 |
+
role=session.get("user_session_data").get("role").title(),
|
639 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
640 |
+
nama_lengkap=data_admin[0]["name"],
|
641 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
642 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
643 |
+
alamat=data_admin[0]["alamat"],
|
644 |
+
username=data_admin[0]["username"],
|
645 |
+
password=data_admin[0]["password"],
|
646 |
+
)
|
647 |
+
|
648 |
+
@app.route("/dashboard-input-data-bidan", methods=("GET", "POST"))
|
649 |
+
def dashboard_input_data_bidan():
|
650 |
+
if session.get("user_session_data") is None:
|
651 |
+
return redirect("/login")
|
652 |
+
|
653 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
654 |
+
session.get("user_session_data").get("role") == "kepala":
|
655 |
+
|
656 |
+
return redirect("/dashboard-layout-data-anak")
|
657 |
+
|
658 |
+
if request.method == "GET":
|
659 |
+
data_admin = db_users_admin.getAll()
|
660 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
661 |
+
return render_template(
|
662 |
+
"dashboard-input-data-bidan.html",
|
663 |
+
role=session.get("user_session_data").get("role").title(),
|
664 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
665 |
+
nama_lengkap=data_admin[0]["name"],
|
666 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
667 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
668 |
+
alamat=data_admin[0]["alamat"],
|
669 |
+
username=data_admin[0]["username"],
|
670 |
+
password=data_admin[0]["password"],
|
671 |
+
)
|
672 |
+
|
673 |
+
elif request.method == "POST":
|
674 |
+
data_admin = db_users_admin.getAll()
|
675 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
676 |
+
id_data = data_admin[0]["id"]
|
677 |
+
nama_lengkap = request.form["nama-lengkap"]
|
678 |
+
tanggal_lahir = datetime.strptime(
|
679 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
680 |
+
).strftime("%Y-%m-%d")
|
681 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
682 |
+
alamat = request.form["alamat"]
|
683 |
+
username = request.form["username"]
|
684 |
+
password = request.form["password"]
|
685 |
+
db_users_admin.updateById(id_data, {
|
686 |
+
"name": nama_lengkap,
|
687 |
+
"tanggal_lahir": tanggal_lahir,
|
688 |
+
"jenis_kelamin": jenis_kelamin,
|
689 |
+
"alamat": alamat,
|
690 |
+
"username": username,
|
691 |
+
"password": password,
|
692 |
+
})
|
693 |
+
data_admin = db_users_admin.getAll()
|
694 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
695 |
+
return render_template(
|
696 |
+
"dashboard-input-data-bidan.html",
|
697 |
+
role=session.get("user_session_data").get("role").title(),
|
698 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
699 |
+
nama_lengkap=data_admin[0]["name"],
|
700 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
701 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
702 |
+
alamat=data_admin[0]["alamat"],
|
703 |
+
username=data_admin[0]["username"],
|
704 |
+
password=data_admin[0]["password"],
|
705 |
+
success="Berhasil Update Akun"
|
706 |
+
)
|
707 |
+
|
708 |
+
@app.route("/dashboard-add-data-kepala", methods=("GET", "POST"))
|
709 |
+
def dashboard_add_data_kepala():
|
710 |
+
if session.get("user_session_data") is None:
|
711 |
+
return redirect("/login")
|
712 |
+
|
713 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
714 |
+
session.get("user_session_data").get("role") == "bidan":
|
715 |
+
|
716 |
+
return redirect("/dashboard-layout-data-anak")
|
717 |
+
|
718 |
+
if request.method == "POST":
|
719 |
+
nama_lengkap = request.form["nama-lengkap"]
|
720 |
+
tanggal_lahir = datetime.strptime(
|
721 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
722 |
+
).strftime("%Y-%m-%d")
|
723 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
724 |
+
alamat = request.form["alamat"]
|
725 |
+
username = request.form["username"]
|
726 |
+
password = request.form["password"]
|
727 |
+
db_users_admin.add({
|
728 |
+
"role": "kepala",
|
729 |
+
"name": nama_lengkap,
|
730 |
+
"tanggal_lahir": tanggal_lahir,
|
731 |
+
"jenis_kelamin": jenis_kelamin,
|
732 |
+
"alamat": alamat,
|
733 |
+
"username": username,
|
734 |
+
"password": password,
|
735 |
+
})
|
736 |
+
return render_template(
|
737 |
+
"dashboard-add-data-kepala.html",
|
738 |
+
role=session.get("user_session_data").get("role").title(),
|
739 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
740 |
+
success="Berhasil menambah akun"
|
741 |
+
)
|
742 |
+
|
743 |
+
elif request.method == "GET":
|
744 |
+
return render_template(
|
745 |
+
"dashboard-add-data-kepala.html",
|
746 |
+
role=session.get("user_session_data").get("role").title(),
|
747 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
748 |
+
)
|
749 |
+
|
750 |
+
@app.route("/dashboard-add-data-bidan", methods=("GET", "POST"))
|
751 |
+
def dashboard_add_data_bidan():
|
752 |
+
if session.get("user_session_data") is None:
|
753 |
+
return redirect("/login")
|
754 |
+
|
755 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
756 |
+
session.get("user_session_data").get("role") == "kepala":
|
757 |
+
|
758 |
+
return redirect("/dashboard-layout-data-anak")
|
759 |
+
|
760 |
+
if request.method == "POST":
|
761 |
+
nama_lengkap = request.form["nama-lengkap"]
|
762 |
+
tanggal_lahir = datetime.strptime(
|
763 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
764 |
+
).strftime("%Y-%m-%d")
|
765 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
766 |
+
alamat = request.form["alamat"]
|
767 |
+
username = request.form["username"]
|
768 |
+
password = request.form["password"]
|
769 |
+
db_users_admin.add({
|
770 |
+
"role": "bidan",
|
771 |
+
"name": nama_lengkap,
|
772 |
+
"tanggal_lahir": tanggal_lahir,
|
773 |
+
"jenis_kelamin": jenis_kelamin,
|
774 |
+
"alamat": alamat,
|
775 |
+
"username": username,
|
776 |
+
"password": password,
|
777 |
+
})
|
778 |
+
return render_template(
|
779 |
+
"dashboard-add-data-bidan.html",
|
780 |
+
role=session.get("user_session_data").get("role").title(),
|
781 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
782 |
+
success="Berhasil menambah akun"
|
783 |
+
)
|
784 |
+
|
785 |
+
elif request.method == "GET":
|
786 |
+
return render_template(
|
787 |
+
"dashboard-add-data-bidan.html",
|
788 |
+
role=session.get("user_session_data").get("role").title(),
|
789 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
790 |
+
)
|
791 |
+
|
792 |
+
@app.route("/dashboard-input-data-admin", methods=("GET", "POST"))
|
793 |
+
def dashboard_input_data_admin():
|
794 |
+
if session.get("user_session_data") is None:
|
795 |
+
return redirect("/login")
|
796 |
+
|
797 |
+
if session.get("user_session_data").get("role") == "kader" or \
|
798 |
+
session.get("user_session_data").get("role") == "kepala" or \
|
799 |
+
session.get("user_session_data").get("role") == "bidan":
|
800 |
+
|
801 |
+
if session.get("user_session_data").get("role") == "kepala":
|
802 |
+
return redirect("/dashboard")
|
803 |
+
|
804 |
+
return redirect("/dashboard-layout-data-anak")
|
805 |
+
|
806 |
+
if request.method == "POST":
|
807 |
+
data_admin = db_users_admin.getAll()
|
808 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
809 |
+
id_data = data_admin[0]["id"]
|
810 |
+
nama_lengkap = request.form["nama-lengkap"]
|
811 |
+
tanggal_lahir = datetime.strptime(
|
812 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
813 |
+
).strftime("%Y-%m-%d")
|
814 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
815 |
+
alamat = request.form["alamat"]
|
816 |
+
username = request.form["username"]
|
817 |
+
password = request.form["password"]
|
818 |
+
db_users_admin.updateById(id_data, {
|
819 |
+
"name": nama_lengkap,
|
820 |
+
"tanggal_lahir": tanggal_lahir,
|
821 |
+
"jenis_kelamin": jenis_kelamin,
|
822 |
+
"alamat": alamat,
|
823 |
+
"username": username,
|
824 |
+
"password": password,
|
825 |
+
})
|
826 |
+
data_admin = db_users_admin.getAll()
|
827 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
828 |
+
return render_template(
|
829 |
+
"dashboard-input-data-admin.html",
|
830 |
+
role=session.get("user_session_data").get("role").title(),
|
831 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
832 |
+
nama_lengkap=data_admin[0]["name"],
|
833 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
834 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
835 |
+
alamat=data_admin[0]["alamat"],
|
836 |
+
username=data_admin[0]["username"],
|
837 |
+
password=data_admin[0]["password"],
|
838 |
+
success="Berhasil Update Akun"
|
839 |
+
)
|
840 |
+
|
841 |
+
elif request.method == "GET":
|
842 |
+
data_admin = db_users_admin.getAll()
|
843 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
844 |
+
|
845 |
+
return render_template(
|
846 |
+
"dashboard-input-data-admin.html",
|
847 |
+
role=session.get("user_session_data").get("role").title(),
|
848 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
849 |
+
nama_lengkap=data_admin[0]["name"],
|
850 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
851 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
852 |
+
alamat=data_admin[0]["alamat"],
|
853 |
+
username=data_admin[0]["username"],
|
854 |
+
password=data_admin[0]["password"],
|
855 |
+
)
|
856 |
+
|
857 |
+
@app.route("/dashboard-input-data-kader", methods=("GET", "POST"))
|
858 |
+
def dashboard_input_data_kader():
|
859 |
+
if session.get("user_session_data") is None:
|
860 |
+
return redirect("/login")
|
861 |
+
|
862 |
+
if session.get("user_session_data").get("role") == "kepala" or \
|
863 |
+
session.get("user_session_data").get("role") == "bidan":
|
864 |
+
|
865 |
+
return redirect("/dashboard-layout-data-anak")
|
866 |
+
|
867 |
+
if request.method == "POST":
|
868 |
+
data_admin = db_users_admin.getAll()
|
869 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
870 |
+
id_data = data_admin[0]["id"]
|
871 |
+
nama_lengkap = request.form["nama-lengkap"]
|
872 |
+
tanggal_lahir = datetime.strptime(
|
873 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
874 |
+
).strftime("%Y-%m-%d")
|
875 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
876 |
+
alamat = request.form["alamat"]
|
877 |
+
username = request.form["username"]
|
878 |
+
password = request.form["password"]
|
879 |
+
db_users_admin.updateById(id_data, {
|
880 |
+
"name": nama_lengkap,
|
881 |
+
"tanggal_lahir": tanggal_lahir,
|
882 |
+
"jenis_kelamin": jenis_kelamin,
|
883 |
+
"alamat": alamat,
|
884 |
+
"username": username,
|
885 |
+
"password": password,
|
886 |
+
})
|
887 |
+
data_admin = db_users_admin.getAll()
|
888 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
889 |
+
return render_template(
|
890 |
+
"dashboard-input-data-kader.html",
|
891 |
+
role=session.get("user_session_data").get("role").title(),
|
892 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
893 |
+
nama_lengkap=data_admin[0]["name"],
|
894 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
895 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
896 |
+
alamat=data_admin[0]["alamat"],
|
897 |
+
username=data_admin[0]["username"],
|
898 |
+
password=data_admin[0]["password"],
|
899 |
+
success="Berhasil Update Akun"
|
900 |
+
)
|
901 |
+
|
902 |
+
elif request.method == "GET":
|
903 |
+
data_admin = db_users_admin.getAll()
|
904 |
+
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")]
|
905 |
+
|
906 |
+
return render_template(
|
907 |
+
"dashboard-input-data-kader.html",
|
908 |
+
role=session.get("user_session_data").get("role").title(),
|
909 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
910 |
+
nama_lengkap=data_admin[0]["name"],
|
911 |
+
tanggal_lahir=data_admin[0]["tanggal_lahir"],
|
912 |
+
jenis_kelamin=data_admin[0]["jenis_kelamin"],
|
913 |
+
alamat=data_admin[0]["alamat"],
|
914 |
+
username=data_admin[0]["username"],
|
915 |
+
password=data_admin[0]["password"],
|
916 |
+
)
|
917 |
+
|
918 |
+
@app.route("/dashboard-add-data-kader", methods=("GET", "POST"))
|
919 |
+
def dashboard_add_data_kader():
|
920 |
+
if session.get("user_session_data") is None:
|
921 |
+
return redirect("/login")
|
922 |
+
|
923 |
+
if session.get("user_session_data").get("role") == "kepala" or \
|
924 |
+
session.get("user_session_data").get("role") == "bidan":
|
925 |
+
|
926 |
+
return redirect("/dashboard-layout-data-anak")
|
927 |
+
|
928 |
+
if request.method == "POST":
|
929 |
+
nama_lengkap = request.form["nama-lengkap"]
|
930 |
+
tanggal_lahir = datetime.strptime(
|
931 |
+
request.form["tanggal-lahir"], "%Y-%m-%d"
|
932 |
+
).strftime("%Y-%m-%d")
|
933 |
+
jenis_kelamin = request.form["jenis-kelamin"]
|
934 |
+
alamat = request.form["alamat"]
|
935 |
+
username = request.form["username"]
|
936 |
+
password = request.form["password"]
|
937 |
+
db_users_admin.add({
|
938 |
+
"role": "kader",
|
939 |
+
"name": nama_lengkap,
|
940 |
+
"tanggal_lahir": tanggal_lahir,
|
941 |
+
"jenis_kelamin": jenis_kelamin,
|
942 |
+
"alamat": alamat,
|
943 |
+
"username": username,
|
944 |
+
"password": password,
|
945 |
+
})
|
946 |
+
return render_template(
|
947 |
+
"dashboard-add-data-kader.html",
|
948 |
+
role=session.get("user_session_data").get("role").title(),
|
949 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
950 |
+
success="Berhasil menambah akun"
|
951 |
+
)
|
952 |
+
|
953 |
+
elif request.method == "GET":
|
954 |
+
return render_template(
|
955 |
+
"dashboard-add-data-kader.html",
|
956 |
+
role=session.get("user_session_data").get("role").title(),
|
957 |
+
name_tampil=session.get("user_session_data").get("name").title(),
|
958 |
+
)
|
959 |
+
|
960 |
+
if __name__ == "__main__":
|
961 |
+
app.run(host="0.0.0.0", port=8000, debug=True)
|
db/users.json
ADDED
@@ -0,0 +1,1426 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"data": [
|
3 |
+
{
|
4 |
+
"uuid": "f619f56f7b984d43b5f21d41d699bd51",
|
5 |
+
"nama_lengkap": "Fadli Acmad",
|
6 |
+
"usia_dalam_bentuk_bulan": "2",
|
7 |
+
"tanggal_lahir": "2021-04-06",
|
8 |
+
"jenis_kelamin": "Laki-Laki",
|
9 |
+
"berat_badan_dalam_bentuk_kg": "13.7",
|
10 |
+
"tinggi_badan_dalam_bentuk_cm": "95",
|
11 |
+
"imt": 15,
|
12 |
+
"detail_konklusi": [
|
13 |
+
"Obesitas Primer"
|
14 |
+
],
|
15 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
16 |
+
"cause_konklusi": [
|
17 |
+
"faktor pola makan",
|
18 |
+
"faktor psikis"
|
19 |
+
],
|
20 |
+
"tanggal_periksa": [
|
21 |
+
"2023-07-07"
|
22 |
+
],
|
23 |
+
"tanggal_edit": "2023-07-17",
|
24 |
+
"p01": false,
|
25 |
+
"p02": false,
|
26 |
+
"p03": false,
|
27 |
+
"p04": true,
|
28 |
+
"p05": true,
|
29 |
+
"id": 115570172840878642
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"uuid": "6f512b7a72814b94af04d7237b3b437c",
|
33 |
+
"nama_lengkap": "M Rizky",
|
34 |
+
"usia_dalam_bentuk_bulan": "2",
|
35 |
+
"tanggal_lahir": "2021-04-10",
|
36 |
+
"jenis_kelamin": "Laki-Laki",
|
37 |
+
"berat_badan_dalam_bentuk_kg": "13.6",
|
38 |
+
"tinggi_badan_dalam_bentuk_cm": "76",
|
39 |
+
"imt": 23,
|
40 |
+
"detail_konklusi": [
|
41 |
+
"Obesitas Sekunder"
|
42 |
+
],
|
43 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
44 |
+
"cause_konklusi": [
|
45 |
+
"faktor kesehatan",
|
46 |
+
"faktor genetika / turunan"
|
47 |
+
],
|
48 |
+
"tanggal_periksa": [
|
49 |
+
"2023-07-07"
|
50 |
+
],
|
51 |
+
"tanggal_edit": "2023-07-07",
|
52 |
+
"p01": true,
|
53 |
+
"p02": true,
|
54 |
+
"p03": false,
|
55 |
+
"p04": false,
|
56 |
+
"p05": false,
|
57 |
+
"id": 273422043806511923
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"uuid": "636d2cd539b943dd91ae038958dcfdcf",
|
61 |
+
"nama_lengkap": "Ratna",
|
62 |
+
"usia_dalam_bentuk_bulan": "1",
|
63 |
+
"tanggal_lahir": "2022-01-15",
|
64 |
+
"jenis_kelamin": "Perempuan",
|
65 |
+
"berat_badan_dalam_bentuk_kg": "15.5",
|
66 |
+
"tinggi_badan_dalam_bentuk_cm": "85",
|
67 |
+
"imt": 21,
|
68 |
+
"detail_konklusi": [
|
69 |
+
"Obesitas Sekunder"
|
70 |
+
],
|
71 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
72 |
+
"cause_konklusi": [
|
73 |
+
"faktor kesehatan",
|
74 |
+
"faktor genetika / turunan",
|
75 |
+
"faktor aktivitas"
|
76 |
+
],
|
77 |
+
"tanggal_periksa": [
|
78 |
+
"2023-07-07"
|
79 |
+
],
|
80 |
+
"tanggal_edit": "2023-07-12",
|
81 |
+
"p01": true,
|
82 |
+
"p02": true,
|
83 |
+
"p03": true,
|
84 |
+
"p04": false,
|
85 |
+
"p05": false,
|
86 |
+
"id": 222168964568416049
|
87 |
+
},
|
88 |
+
{
|
89 |
+
"uuid": "c69cf99e18c6467f9e49c96a3c603efd",
|
90 |
+
"nama_lengkap": "Kasmirah",
|
91 |
+
"usia_dalam_bentuk_bulan": "2",
|
92 |
+
"tanggal_lahir": "2021-01-01",
|
93 |
+
"jenis_kelamin": "Perempuan",
|
94 |
+
"berat_badan_dalam_bentuk_kg": "11.5",
|
95 |
+
"tinggi_badan_dalam_bentuk_cm": "79",
|
96 |
+
"imt": 18,
|
97 |
+
"detail_konklusi": [
|
98 |
+
"Obesitas Primer"
|
99 |
+
],
|
100 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
101 |
+
"cause_konklusi": [
|
102 |
+
"faktor aktivitas",
|
103 |
+
"faktor pola makan",
|
104 |
+
"faktor psikis"
|
105 |
+
],
|
106 |
+
"tanggal_periksa": [
|
107 |
+
"2023-07-07"
|
108 |
+
],
|
109 |
+
"tanggal_edit": "2023-07-13",
|
110 |
+
"p01": false,
|
111 |
+
"p02": false,
|
112 |
+
"p03": true,
|
113 |
+
"p04": true,
|
114 |
+
"p05": true,
|
115 |
+
"id": 332561390317278858
|
116 |
+
},
|
117 |
+
{
|
118 |
+
"uuid": "6c7b95926bf04fe3b2fb9e2efe4c07c3",
|
119 |
+
"nama_lengkap": "M Zakky",
|
120 |
+
"usia_dalam_bentuk_bulan": "3",
|
121 |
+
"tanggal_lahir": "2020-02-03",
|
122 |
+
"jenis_kelamin": "Laki-Laki",
|
123 |
+
"berat_badan_dalam_bentuk_kg": "20",
|
124 |
+
"tinggi_badan_dalam_bentuk_cm": "99",
|
125 |
+
"imt": 20,
|
126 |
+
"detail_konklusi": [
|
127 |
+
"Obesitas Sekunder"
|
128 |
+
],
|
129 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
130 |
+
"cause_konklusi": [
|
131 |
+
"faktor kesehatan",
|
132 |
+
"faktor genetika / turunan",
|
133 |
+
"faktor aktivitas",
|
134 |
+
"faktor pola makan",
|
135 |
+
"faktor psikis"
|
136 |
+
],
|
137 |
+
"tanggal_periksa": [
|
138 |
+
"2023-07-07"
|
139 |
+
],
|
140 |
+
"tanggal_edit": "2023-07-13",
|
141 |
+
"p01": true,
|
142 |
+
"p02": true,
|
143 |
+
"p03": true,
|
144 |
+
"p04": true,
|
145 |
+
"p05": true,
|
146 |
+
"id": 142406806229116928
|
147 |
+
},
|
148 |
+
{
|
149 |
+
"uuid": "d95397050ebe4b4788488ad6fbb0c2b9",
|
150 |
+
"nama_lengkap": "Qiana",
|
151 |
+
"usia_dalam_bentuk_bulan": "3",
|
152 |
+
"tanggal_lahir": "2020-03-28",
|
153 |
+
"jenis_kelamin": "Perempuan",
|
154 |
+
"berat_badan_dalam_bentuk_kg": "15",
|
155 |
+
"tinggi_badan_dalam_bentuk_cm": "78",
|
156 |
+
"imt": 24,
|
157 |
+
"detail_konklusi": [
|
158 |
+
"Obesitas Sekunder"
|
159 |
+
],
|
160 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
161 |
+
"cause_konklusi": [
|
162 |
+
"faktor kesehatan",
|
163 |
+
"faktor genetika / turunan"
|
164 |
+
],
|
165 |
+
"tanggal_periksa": [
|
166 |
+
"2023-07-07"
|
167 |
+
],
|
168 |
+
"tanggal_edit": "2023-07-13",
|
169 |
+
"p01": true,
|
170 |
+
"p02": true,
|
171 |
+
"p03": false,
|
172 |
+
"p04": false,
|
173 |
+
"p05": false,
|
174 |
+
"id": 191277911768836685
|
175 |
+
},
|
176 |
+
{
|
177 |
+
"uuid": "c125a3d1c278488693afb3699d5a051c",
|
178 |
+
"nama_lengkap": "Axle",
|
179 |
+
"usia_dalam_bentuk_bulan": "3",
|
180 |
+
"tanggal_lahir": "2020-04-10",
|
181 |
+
"jenis_kelamin": "Laki-Laki",
|
182 |
+
"berat_badan_dalam_bentuk_kg": "10.5",
|
183 |
+
"tinggi_badan_dalam_bentuk_cm": "82",
|
184 |
+
"imt": 15,
|
185 |
+
"detail_konklusi": [
|
186 |
+
"Obesitas Sekunder"
|
187 |
+
],
|
188 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
189 |
+
"cause_konklusi": [
|
190 |
+
"faktor kesehatan",
|
191 |
+
"faktor genetika / turunan",
|
192 |
+
"faktor aktivitas"
|
193 |
+
],
|
194 |
+
"tanggal_periksa": [
|
195 |
+
"2023-07-08"
|
196 |
+
],
|
197 |
+
"tanggal_edit": "2023-07-13",
|
198 |
+
"p01": true,
|
199 |
+
"p02": true,
|
200 |
+
"p03": true,
|
201 |
+
"p04": false,
|
202 |
+
"p05": false,
|
203 |
+
"id": 195167419166317830
|
204 |
+
},
|
205 |
+
{
|
206 |
+
"uuid": "fde78361570045d39e4db86bc9a08bd4",
|
207 |
+
"nama_lengkap": "Intan",
|
208 |
+
"usia_dalam_bentuk_bulan": "3",
|
209 |
+
"tanggal_lahir": "2020-04-11",
|
210 |
+
"jenis_kelamin": "Perempuan",
|
211 |
+
"berat_badan_dalam_bentuk_kg": "12.2",
|
212 |
+
"tinggi_badan_dalam_bentuk_cm": "90",
|
213 |
+
"imt": 15,
|
214 |
+
"detail_konklusi": [
|
215 |
+
"Obesitas Sekunder"
|
216 |
+
],
|
217 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
218 |
+
"cause_konklusi": [
|
219 |
+
"faktor kesehatan",
|
220 |
+
"faktor genetika / turunan"
|
221 |
+
],
|
222 |
+
"tanggal_periksa": [
|
223 |
+
"2023-07-08"
|
224 |
+
],
|
225 |
+
"tanggal_edit": "2023-07-13",
|
226 |
+
"p01": true,
|
227 |
+
"p02": true,
|
228 |
+
"p03": false,
|
229 |
+
"p04": false,
|
230 |
+
"p05": false,
|
231 |
+
"id": 315603360844968512
|
232 |
+
},
|
233 |
+
{
|
234 |
+
"uuid": "ede78433a3a643cc8ab62c535b343ebc",
|
235 |
+
"nama_lengkap": "Sultan",
|
236 |
+
"usia_dalam_bentuk_bulan": "4",
|
237 |
+
"tanggal_lahir": "2018-10-20",
|
238 |
+
"jenis_kelamin": "Laki-Laki",
|
239 |
+
"berat_badan_dalam_bentuk_kg": "19",
|
240 |
+
"tinggi_badan_dalam_bentuk_cm": "102",
|
241 |
+
"imt": 18,
|
242 |
+
"detail_konklusi": [
|
243 |
+
"Obesitas Sekunder"
|
244 |
+
],
|
245 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv.",
|
246 |
+
"cause_konklusi": [
|
247 |
+
"faktor kesehatan",
|
248 |
+
"faktor genetika / turunan",
|
249 |
+
"faktor aktivitas",
|
250 |
+
"faktor pola makan"
|
251 |
+
],
|
252 |
+
"tanggal_periksa": [
|
253 |
+
"2023-07-08"
|
254 |
+
],
|
255 |
+
"tanggal_edit": "2023-07-13",
|
256 |
+
"p01": true,
|
257 |
+
"p02": true,
|
258 |
+
"p03": true,
|
259 |
+
"p04": true,
|
260 |
+
"p05": false,
|
261 |
+
"id": 213527791669185695
|
262 |
+
},
|
263 |
+
{
|
264 |
+
"uuid": "fac3479fd552422bbc9382d250c65c97",
|
265 |
+
"nama_lengkap": "Anisa",
|
266 |
+
"usia_dalam_bentuk_bulan": "4",
|
267 |
+
"tanggal_lahir": "2019-01-11",
|
268 |
+
"jenis_kelamin": "Perempuan",
|
269 |
+
"berat_badan_dalam_bentuk_kg": "23",
|
270 |
+
"tinggi_badan_dalam_bentuk_cm": "97",
|
271 |
+
"imt": 24,
|
272 |
+
"detail_konklusi": [
|
273 |
+
"Obesitas Primer"
|
274 |
+
],
|
275 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
276 |
+
"cause_konklusi": [
|
277 |
+
"faktor pola makan",
|
278 |
+
"faktor psikis"
|
279 |
+
],
|
280 |
+
"tanggal_periksa": [
|
281 |
+
"2023-07-08"
|
282 |
+
],
|
283 |
+
"tanggal_edit": "2023-07-13",
|
284 |
+
"p01": false,
|
285 |
+
"p02": false,
|
286 |
+
"p03": false,
|
287 |
+
"p04": true,
|
288 |
+
"p05": true,
|
289 |
+
"id": 282078663475493733
|
290 |
+
},
|
291 |
+
{
|
292 |
+
"uuid": "540cabde93154305b8fee254c989d003",
|
293 |
+
"nama_lengkap": "Ubay",
|
294 |
+
"usia_dalam_bentuk_bulan": "4",
|
295 |
+
"tanggal_lahir": "2019-04-05",
|
296 |
+
"jenis_kelamin": "Laki-Laki",
|
297 |
+
"berat_badan_dalam_bentuk_kg": "13",
|
298 |
+
"tinggi_badan_dalam_bentuk_cm": "90",
|
299 |
+
"imt": 16,
|
300 |
+
"detail_konklusi": [
|
301 |
+
"Obesitas Primer"
|
302 |
+
],
|
303 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
304 |
+
"cause_konklusi": [
|
305 |
+
"faktor pola makan",
|
306 |
+
"faktor psikis"
|
307 |
+
],
|
308 |
+
"tanggal_periksa": [
|
309 |
+
"2023-07-08"
|
310 |
+
],
|
311 |
+
"tanggal_edit": "2023-07-13",
|
312 |
+
"p01": false,
|
313 |
+
"p02": false,
|
314 |
+
"p03": false,
|
315 |
+
"p04": true,
|
316 |
+
"p05": true,
|
317 |
+
"id": 141872382811756361
|
318 |
+
},
|
319 |
+
{
|
320 |
+
"uuid": "0f186650f46c401e96ca8b625745bc1f",
|
321 |
+
"nama_lengkap": "Noah",
|
322 |
+
"usia_dalam_bentuk_bulan": "1",
|
323 |
+
"tanggal_lahir": "2022-01-01",
|
324 |
+
"jenis_kelamin": "Laki-Laki",
|
325 |
+
"berat_badan_dalam_bentuk_kg": "9.2",
|
326 |
+
"tinggi_badan_dalam_bentuk_cm": "72",
|
327 |
+
"imt": 17,
|
328 |
+
"detail_konklusi": [
|
329 |
+
"Obesitas Primer"
|
330 |
+
],
|
331 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
332 |
+
"cause_konklusi": [
|
333 |
+
"faktor psikis"
|
334 |
+
],
|
335 |
+
"tanggal_periksa": [
|
336 |
+
"2023-07-08"
|
337 |
+
],
|
338 |
+
"tanggal_edit": "2023-07-13",
|
339 |
+
"p01": false,
|
340 |
+
"p02": false,
|
341 |
+
"p03": false,
|
342 |
+
"p04": false,
|
343 |
+
"p05": true,
|
344 |
+
"id": 322927609902274096
|
345 |
+
},
|
346 |
+
{
|
347 |
+
"uuid": "c6cda0387b9d4fc59cbc0ca33cddfba9",
|
348 |
+
"nama_lengkap": "Nora",
|
349 |
+
"usia_dalam_bentuk_bulan": "2",
|
350 |
+
"tanggal_lahir": "2021-03-17",
|
351 |
+
"jenis_kelamin": "Perempuan",
|
352 |
+
"berat_badan_dalam_bentuk_kg": "14.3",
|
353 |
+
"tinggi_badan_dalam_bentuk_cm": "91",
|
354 |
+
"imt": 17,
|
355 |
+
"detail_konklusi": [
|
356 |
+
"Obesitas Primer"
|
357 |
+
],
|
358 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
359 |
+
"cause_konklusi": [
|
360 |
+
"faktor psikis"
|
361 |
+
],
|
362 |
+
"tanggal_periksa": [
|
363 |
+
"2023-07-08"
|
364 |
+
],
|
365 |
+
"tanggal_edit": "2023-07-13",
|
366 |
+
"p01": false,
|
367 |
+
"p02": false,
|
368 |
+
"p03": false,
|
369 |
+
"p04": false,
|
370 |
+
"p05": true,
|
371 |
+
"id": 307148089408474753
|
372 |
+
},
|
373 |
+
{
|
374 |
+
"uuid": "ac87576b1a4c44a6bf51a46d742b0dee",
|
375 |
+
"nama_lengkap": "Rafa",
|
376 |
+
"usia_dalam_bentuk_bulan": "2",
|
377 |
+
"tanggal_lahir": "2020-12-10",
|
378 |
+
"jenis_kelamin": "Laki-Laki",
|
379 |
+
"berat_badan_dalam_bentuk_kg": "10.2",
|
380 |
+
"tinggi_badan_dalam_bentuk_cm": "79",
|
381 |
+
"imt": 16,
|
382 |
+
"detail_konklusi": [
|
383 |
+
"Obesitas Sekunder"
|
384 |
+
],
|
385 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
386 |
+
"cause_konklusi": [
|
387 |
+
"faktor kesehatan",
|
388 |
+
"faktor genetika / turunan"
|
389 |
+
],
|
390 |
+
"tanggal_periksa": [
|
391 |
+
"2023-07-08"
|
392 |
+
],
|
393 |
+
"tanggal_edit": "2023-07-13",
|
394 |
+
"p01": true,
|
395 |
+
"p02": true,
|
396 |
+
"p03": false,
|
397 |
+
"p04": false,
|
398 |
+
"p05": false,
|
399 |
+
"id": 322787729607616498
|
400 |
+
},
|
401 |
+
{
|
402 |
+
"uuid": "f6328f530c2749fcb2dd787f2463bdee",
|
403 |
+
"nama_lengkap": "Dafa",
|
404 |
+
"usia_dalam_bentuk_bulan": "2",
|
405 |
+
"tanggal_lahir": "2021-01-10",
|
406 |
+
"jenis_kelamin": "Laki-Laki",
|
407 |
+
"berat_badan_dalam_bentuk_kg": "12.1",
|
408 |
+
"tinggi_badan_dalam_bentuk_cm": "90",
|
409 |
+
"imt": 14,
|
410 |
+
"detail_konklusi": [
|
411 |
+
"Obesitas Sekunder"
|
412 |
+
],
|
413 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
414 |
+
"cause_konklusi": [
|
415 |
+
"faktor kesehatan",
|
416 |
+
"faktor genetika / turunan",
|
417 |
+
"faktor aktivitas"
|
418 |
+
],
|
419 |
+
"tanggal_periksa": [
|
420 |
+
"2023-07-08"
|
421 |
+
],
|
422 |
+
"tanggal_edit": "2023-07-13",
|
423 |
+
"p01": true,
|
424 |
+
"p02": true,
|
425 |
+
"p03": true,
|
426 |
+
"p04": false,
|
427 |
+
"p05": false,
|
428 |
+
"id": 140829774532662577
|
429 |
+
},
|
430 |
+
{
|
431 |
+
"uuid": "3b13671ae17547f18f60ae0471beb079",
|
432 |
+
"nama_lengkap": "Hasna",
|
433 |
+
"usia_dalam_bentuk_bulan": "1",
|
434 |
+
"tanggal_lahir": "2022-04-01",
|
435 |
+
"jenis_kelamin": "Perempuan",
|
436 |
+
"berat_badan_dalam_bentuk_kg": "10.5",
|
437 |
+
"tinggi_badan_dalam_bentuk_cm": "81",
|
438 |
+
"imt": 16,
|
439 |
+
"detail_konklusi": [
|
440 |
+
"Obesitas Primer"
|
441 |
+
],
|
442 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
443 |
+
"cause_konklusi": [
|
444 |
+
"faktor pola makan",
|
445 |
+
"faktor psikis"
|
446 |
+
],
|
447 |
+
"tanggal_periksa": [
|
448 |
+
"2023-07-08"
|
449 |
+
],
|
450 |
+
"tanggal_edit": "2023-07-13",
|
451 |
+
"p01": false,
|
452 |
+
"p02": false,
|
453 |
+
"p03": false,
|
454 |
+
"p04": true,
|
455 |
+
"p05": true,
|
456 |
+
"id": 171586817715662319
|
457 |
+
},
|
458 |
+
{
|
459 |
+
"uuid": "1e90c76cac0d48c5ad45dd35178e5e1a",
|
460 |
+
"nama_lengkap": "Aisyah",
|
461 |
+
"usia_dalam_bentuk_bulan": "2",
|
462 |
+
"tanggal_lahir": "2021-06-06",
|
463 |
+
"jenis_kelamin": "Perempuan",
|
464 |
+
"berat_badan_dalam_bentuk_kg": "12.5",
|
465 |
+
"tinggi_badan_dalam_bentuk_cm": "89",
|
466 |
+
"imt": 15,
|
467 |
+
"detail_konklusi": [
|
468 |
+
"Obesitas Sekunder"
|
469 |
+
],
|
470 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
471 |
+
"cause_konklusi": [
|
472 |
+
"faktor kesehatan",
|
473 |
+
"faktor genetika / turunan",
|
474 |
+
"faktor aktivitas",
|
475 |
+
"faktor pola makan",
|
476 |
+
"faktor psikis"
|
477 |
+
],
|
478 |
+
"tanggal_periksa": [
|
479 |
+
"2023-07-08"
|
480 |
+
],
|
481 |
+
"tanggal_edit": "2023-07-13",
|
482 |
+
"p01": true,
|
483 |
+
"p02": true,
|
484 |
+
"p03": true,
|
485 |
+
"p04": true,
|
486 |
+
"p05": true,
|
487 |
+
"id": 117548790693308124
|
488 |
+
},
|
489 |
+
{
|
490 |
+
"uuid": "df3420c6cf714e29b4822933b2334230",
|
491 |
+
"nama_lengkap": "Zakaria",
|
492 |
+
"usia_dalam_bentuk_bulan": "3",
|
493 |
+
"tanggal_lahir": "2020-05-15",
|
494 |
+
"jenis_kelamin": "Laki-Laki",
|
495 |
+
"berat_badan_dalam_bentuk_kg": "11.5",
|
496 |
+
"tinggi_badan_dalam_bentuk_cm": "91",
|
497 |
+
"imt": 13,
|
498 |
+
"detail_konklusi": [
|
499 |
+
"Obesitas Sekunder"
|
500 |
+
],
|
501 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
502 |
+
"cause_konklusi": [
|
503 |
+
"faktor kesehatan",
|
504 |
+
"faktor aktivitas",
|
505 |
+
"faktor pola makan"
|
506 |
+
],
|
507 |
+
"tanggal_periksa": [
|
508 |
+
"2023-07-08"
|
509 |
+
],
|
510 |
+
"tanggal_edit": "2023-07-13",
|
511 |
+
"p01": true,
|
512 |
+
"p02": false,
|
513 |
+
"p03": true,
|
514 |
+
"p04": true,
|
515 |
+
"p05": false,
|
516 |
+
"id": 270890684808359877
|
517 |
+
},
|
518 |
+
{
|
519 |
+
"uuid": "397a6efb65d74f9ca38b62fd11dc210e",
|
520 |
+
"nama_lengkap": "Indana",
|
521 |
+
"usia_dalam_bentuk_bulan": "2",
|
522 |
+
"tanggal_lahir": "2021-06-20",
|
523 |
+
"jenis_kelamin": "Perempuan",
|
524 |
+
"berat_badan_dalam_bentuk_kg": "17",
|
525 |
+
"tinggi_badan_dalam_bentuk_cm": "105",
|
526 |
+
"imt": 15,
|
527 |
+
"detail_konklusi": [
|
528 |
+
"Obesitas Sekunder"
|
529 |
+
],
|
530 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
531 |
+
"cause_konklusi": [
|
532 |
+
"faktor kesehatan",
|
533 |
+
"faktor pola makan",
|
534 |
+
"faktor psikis"
|
535 |
+
],
|
536 |
+
"tanggal_periksa": [
|
537 |
+
"2023-07-08"
|
538 |
+
],
|
539 |
+
"tanggal_edit": "2023-07-13",
|
540 |
+
"p01": true,
|
541 |
+
"p02": false,
|
542 |
+
"p03": false,
|
543 |
+
"p04": true,
|
544 |
+
"p05": true,
|
545 |
+
"id": 118392613865800923
|
546 |
+
},
|
547 |
+
{
|
548 |
+
"uuid": "0512a296c48348f79183f1f4da5e45b9",
|
549 |
+
"nama_lengkap": "Andi",
|
550 |
+
"usia_dalam_bentuk_bulan": "2",
|
551 |
+
"tanggal_lahir": "2020-10-22",
|
552 |
+
"jenis_kelamin": "Laki-Laki",
|
553 |
+
"berat_badan_dalam_bentuk_kg": "19",
|
554 |
+
"tinggi_badan_dalam_bentuk_cm": "98",
|
555 |
+
"imt": 19,
|
556 |
+
"detail_konklusi": [
|
557 |
+
"Obesitas Primer"
|
558 |
+
],
|
559 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
560 |
+
"cause_konklusi": [
|
561 |
+
"faktor aktivitas",
|
562 |
+
"faktor psikis"
|
563 |
+
],
|
564 |
+
"tanggal_periksa": [
|
565 |
+
"2023-07-08"
|
566 |
+
],
|
567 |
+
"tanggal_edit": "2023-07-13",
|
568 |
+
"p01": false,
|
569 |
+
"p02": false,
|
570 |
+
"p03": true,
|
571 |
+
"p04": false,
|
572 |
+
"p05": true,
|
573 |
+
"id": 348030082327234785
|
574 |
+
},
|
575 |
+
{
|
576 |
+
"uuid": "50cf00706f804e679f094e3413e1c843",
|
577 |
+
"nama_lengkap": "Halifatul H",
|
578 |
+
"usia_dalam_bentuk_bulan": "4",
|
579 |
+
"tanggal_lahir": "2019-03-10",
|
580 |
+
"jenis_kelamin": "Perempuan",
|
581 |
+
"berat_badan_dalam_bentuk_kg": "23.1",
|
582 |
+
"tinggi_badan_dalam_bentuk_cm": "100",
|
583 |
+
"imt": 23,
|
584 |
+
"detail_konklusi": [
|
585 |
+
"Obesitas Sekunder"
|
586 |
+
],
|
587 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
588 |
+
"cause_konklusi": [
|
589 |
+
"faktor kesehatan",
|
590 |
+
"faktor genetika / turunan",
|
591 |
+
"faktor pola makan"
|
592 |
+
],
|
593 |
+
"tanggal_periksa": [
|
594 |
+
"2023-07-08"
|
595 |
+
],
|
596 |
+
"tanggal_edit": "2023-07-13",
|
597 |
+
"p01": true,
|
598 |
+
"p02": true,
|
599 |
+
"p03": false,
|
600 |
+
"p04": true,
|
601 |
+
"p05": false,
|
602 |
+
"id": 931520341748853979
|
603 |
+
},
|
604 |
+
{
|
605 |
+
"uuid": "fc022bf8e5a343a7a4452eab12f9c1c5",
|
606 |
+
"nama_lengkap": "Arya Januraja",
|
607 |
+
"usia_dalam_bentuk_bulan": "3",
|
608 |
+
"tanggal_lahir": "2019-01-25",
|
609 |
+
"jenis_kelamin": "Laki-Laki",
|
610 |
+
"berat_badan_dalam_bentuk_kg": "27.9",
|
611 |
+
"tinggi_badan_dalam_bentuk_cm": "106.7",
|
612 |
+
"imt": 24,
|
613 |
+
"detail_konklusi": [
|
614 |
+
"Obesitas Sekunder"
|
615 |
+
],
|
616 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
617 |
+
"cause_konklusi": [
|
618 |
+
"faktor kesehatan",
|
619 |
+
"faktor pola makan"
|
620 |
+
],
|
621 |
+
"tanggal_periksa": [
|
622 |
+
"2023-07-08"
|
623 |
+
],
|
624 |
+
"tanggal_edit": "2023-07-13",
|
625 |
+
"p01": true,
|
626 |
+
"p02": false,
|
627 |
+
"p03": false,
|
628 |
+
"p04": true,
|
629 |
+
"p05": false,
|
630 |
+
"id": 278856179116763542
|
631 |
+
},
|
632 |
+
{
|
633 |
+
"uuid": "6f320ca984fc4ed2a58a237825f53003",
|
634 |
+
"nama_lengkap": "M Safian Altesai",
|
635 |
+
"usia_dalam_bentuk_bulan": "3",
|
636 |
+
"tanggal_lahir": "2019-08-21",
|
637 |
+
"jenis_kelamin": "Laki-Laki",
|
638 |
+
"berat_badan_dalam_bentuk_kg": "21.9",
|
639 |
+
"tinggi_badan_dalam_bentuk_cm": "96",
|
640 |
+
"imt": 23,
|
641 |
+
"detail_konklusi": [
|
642 |
+
"Obesitas Primer"
|
643 |
+
],
|
644 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
645 |
+
"cause_konklusi": [
|
646 |
+
"faktor aktivitas",
|
647 |
+
"faktor psikis"
|
648 |
+
],
|
649 |
+
"tanggal_periksa": [
|
650 |
+
"2023-07-08"
|
651 |
+
],
|
652 |
+
"tanggal_edit": "2023-07-13",
|
653 |
+
"p01": false,
|
654 |
+
"p02": false,
|
655 |
+
"p03": true,
|
656 |
+
"p04": false,
|
657 |
+
"p05": true,
|
658 |
+
"id": 263281281469188343
|
659 |
+
},
|
660 |
+
{
|
661 |
+
"uuid": "6d38a24b18aa4ac6999ea99aebd1609f",
|
662 |
+
"nama_lengkap": "M rafa Azka",
|
663 |
+
"usia_dalam_bentuk_bulan": "1",
|
664 |
+
"tanggal_lahir": "2021-11-19",
|
665 |
+
"jenis_kelamin": "Laki-Laki",
|
666 |
+
"berat_badan_dalam_bentuk_kg": "15",
|
667 |
+
"tinggi_badan_dalam_bentuk_cm": "79.5",
|
668 |
+
"imt": 23,
|
669 |
+
"detail_konklusi": [
|
670 |
+
"Obesitas Primer"
|
671 |
+
],
|
672 |
+
"solusi_konklusi": "",
|
673 |
+
"cause_konklusi": [
|
674 |
+
"faktor aktivitas"
|
675 |
+
],
|
676 |
+
"tanggal_periksa": [
|
677 |
+
"2023-07-08"
|
678 |
+
],
|
679 |
+
"tanggal_edit": "2023-07-13",
|
680 |
+
"p01": false,
|
681 |
+
"p02": false,
|
682 |
+
"p03": true,
|
683 |
+
"p04": false,
|
684 |
+
"p05": false,
|
685 |
+
"id": 281643969177867282
|
686 |
+
},
|
687 |
+
{
|
688 |
+
"uuid": "6e726c96281a417cabc0117fa23a866d",
|
689 |
+
"nama_lengkap": "Fauzan Dwi Satria",
|
690 |
+
"usia_dalam_bentuk_bulan": "4",
|
691 |
+
"tanggal_lahir": "2019-05-13",
|
692 |
+
"jenis_kelamin": "Laki-Laki",
|
693 |
+
"berat_badan_dalam_bentuk_kg": "29.8",
|
694 |
+
"tinggi_badan_dalam_bentuk_cm": "109",
|
695 |
+
"imt": 25,
|
696 |
+
"detail_konklusi": [
|
697 |
+
"Obesitas Primer"
|
698 |
+
],
|
699 |
+
"solusi_konklusi": "",
|
700 |
+
"cause_konklusi": [
|
701 |
+
"faktor genetika / turunan"
|
702 |
+
],
|
703 |
+
"tanggal_periksa": [
|
704 |
+
"2023-07-08"
|
705 |
+
],
|
706 |
+
"tanggal_edit": "2023-07-13",
|
707 |
+
"p01": false,
|
708 |
+
"p02": true,
|
709 |
+
"p03": false,
|
710 |
+
"p04": false,
|
711 |
+
"p05": false,
|
712 |
+
"id": 260711059257955460
|
713 |
+
},
|
714 |
+
{
|
715 |
+
"uuid": "39fd0d639cf34f968638246a4b77f845",
|
716 |
+
"nama_lengkap": "Aradeya gea",
|
717 |
+
"usia_dalam_bentuk_bulan": "2",
|
718 |
+
"tanggal_lahir": "2020-08-27",
|
719 |
+
"jenis_kelamin": "Perempuan",
|
720 |
+
"berat_badan_dalam_bentuk_kg": "20.4",
|
721 |
+
"tinggi_badan_dalam_bentuk_cm": "90",
|
722 |
+
"imt": 25,
|
723 |
+
"detail_konklusi": [
|
724 |
+
"Obesitas Primer"
|
725 |
+
],
|
726 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
727 |
+
"cause_konklusi": [
|
728 |
+
"faktor kesehatan"
|
729 |
+
],
|
730 |
+
"tanggal_periksa": [
|
731 |
+
"2023-07-08"
|
732 |
+
],
|
733 |
+
"tanggal_edit": "2023-07-13",
|
734 |
+
"p01": true,
|
735 |
+
"p02": false,
|
736 |
+
"p03": false,
|
737 |
+
"p04": false,
|
738 |
+
"p05": false,
|
739 |
+
"id": 221604137004713860
|
740 |
+
},
|
741 |
+
{
|
742 |
+
"uuid": "f0f92016fe684b7e9b3dd9b9738d09b0",
|
743 |
+
"nama_lengkap": "Aisyah Khumairah",
|
744 |
+
"usia_dalam_bentuk_bulan": "1",
|
745 |
+
"tanggal_lahir": "2022-05-11",
|
746 |
+
"jenis_kelamin": "Perempuan",
|
747 |
+
"berat_badan_dalam_bentuk_kg": "12",
|
748 |
+
"tinggi_badan_dalam_bentuk_cm": "73",
|
749 |
+
"imt": 22,
|
750 |
+
"detail_konklusi": [
|
751 |
+
"Obesitas Sekunder"
|
752 |
+
],
|
753 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
754 |
+
"cause_konklusi": [
|
755 |
+
"faktor kesehatan",
|
756 |
+
"faktor aktivitas",
|
757 |
+
"faktor psikis"
|
758 |
+
],
|
759 |
+
"tanggal_periksa": [
|
760 |
+
"2023-07-08"
|
761 |
+
],
|
762 |
+
"tanggal_edit": "2023-07-13",
|
763 |
+
"p01": true,
|
764 |
+
"p02": false,
|
765 |
+
"p03": true,
|
766 |
+
"p04": false,
|
767 |
+
"p05": true,
|
768 |
+
"id": 276857820750805106
|
769 |
+
},
|
770 |
+
{
|
771 |
+
"uuid": "b59707a5c5da4d9e95c073ff16115098",
|
772 |
+
"nama_lengkap": "Biksan F",
|
773 |
+
"usia_dalam_bentuk_bulan": "1",
|
774 |
+
"tanggal_lahir": "2021-11-10",
|
775 |
+
"jenis_kelamin": "Laki-Laki",
|
776 |
+
"berat_badan_dalam_bentuk_kg": "13.8",
|
777 |
+
"tinggi_badan_dalam_bentuk_cm": "80",
|
778 |
+
"imt": 21,
|
779 |
+
"detail_konklusi": [
|
780 |
+
"Obesitas Sekunder"
|
781 |
+
],
|
782 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
783 |
+
"cause_konklusi": [
|
784 |
+
"faktor kesehatan",
|
785 |
+
"faktor pola makan",
|
786 |
+
"faktor psikis"
|
787 |
+
],
|
788 |
+
"tanggal_periksa": [
|
789 |
+
"2023-07-08"
|
790 |
+
],
|
791 |
+
"tanggal_edit": "2023-07-13",
|
792 |
+
"p01": true,
|
793 |
+
"p02": false,
|
794 |
+
"p03": false,
|
795 |
+
"p04": true,
|
796 |
+
"p05": true,
|
797 |
+
"id": 320976777984609325
|
798 |
+
},
|
799 |
+
{
|
800 |
+
"uuid": "81cde5c1ab824b5c99079f83a1a5ba07",
|
801 |
+
"nama_lengkap": "M Zaim Sholehhuddin ",
|
802 |
+
"usia_dalam_bentuk_bulan": "2",
|
803 |
+
"tanggal_lahir": "2020-12-01",
|
804 |
+
"jenis_kelamin": "Laki-Laki",
|
805 |
+
"berat_badan_dalam_bentuk_kg": "16.5",
|
806 |
+
"tinggi_badan_dalam_bentuk_cm": "86",
|
807 |
+
"imt": 22,
|
808 |
+
"detail_konklusi": [
|
809 |
+
"Obesitas Sekunder"
|
810 |
+
],
|
811 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
812 |
+
"cause_konklusi": [
|
813 |
+
"faktor kesehatan",
|
814 |
+
"faktor aktivitas"
|
815 |
+
],
|
816 |
+
"tanggal_periksa": [
|
817 |
+
"2023-07-08"
|
818 |
+
],
|
819 |
+
"tanggal_edit": "2023-07-13",
|
820 |
+
"p01": true,
|
821 |
+
"p02": false,
|
822 |
+
"p03": true,
|
823 |
+
"p04": false,
|
824 |
+
"p05": false,
|
825 |
+
"id": 116568323117299787
|
826 |
+
},
|
827 |
+
{
|
828 |
+
"uuid": "8438ae9fa4a14408bc00f2bb877dd669",
|
829 |
+
"nama_lengkap": "A Fakharudin Attar",
|
830 |
+
"usia_dalam_bentuk_bulan": "4",
|
831 |
+
"tanggal_lahir": "2019-03-23",
|
832 |
+
"jenis_kelamin": "Laki-Laki",
|
833 |
+
"berat_badan_dalam_bentuk_kg": "19.8",
|
834 |
+
"tinggi_badan_dalam_bentuk_cm": "98.8",
|
835 |
+
"imt": 20,
|
836 |
+
"detail_konklusi": [
|
837 |
+
"Obesitas Sekunder"
|
838 |
+
],
|
839 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
840 |
+
"cause_konklusi": [
|
841 |
+
"faktor kesehatan",
|
842 |
+
"faktor genetika / turunan",
|
843 |
+
"faktor pola makan"
|
844 |
+
],
|
845 |
+
"tanggal_periksa": [
|
846 |
+
"2023-07-08"
|
847 |
+
],
|
848 |
+
"tanggal_edit": "2023-07-13",
|
849 |
+
"p01": true,
|
850 |
+
"p02": true,
|
851 |
+
"p03": false,
|
852 |
+
"p04": true,
|
853 |
+
"p05": false,
|
854 |
+
"id": 183784888087633449
|
855 |
+
},
|
856 |
+
{
|
857 |
+
"uuid": "31f5f259517e4a899980bebbcb123482",
|
858 |
+
"nama_lengkap": "M Aqmal",
|
859 |
+
"usia_dalam_bentuk_bulan": "3",
|
860 |
+
"tanggal_lahir": "2020-01-03",
|
861 |
+
"jenis_kelamin": "Laki-Laki",
|
862 |
+
"berat_badan_dalam_bentuk_kg": "18.2",
|
863 |
+
"tinggi_badan_dalam_bentuk_cm": "95",
|
864 |
+
"imt": 20,
|
865 |
+
"detail_konklusi": [
|
866 |
+
"Obesitas Primer"
|
867 |
+
],
|
868 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
869 |
+
"cause_konklusi": [
|
870 |
+
"faktor genetika / turunan",
|
871 |
+
"faktor psikis"
|
872 |
+
],
|
873 |
+
"tanggal_periksa": [
|
874 |
+
"2023-07-08"
|
875 |
+
],
|
876 |
+
"tanggal_edit": "2023-07-13",
|
877 |
+
"p01": false,
|
878 |
+
"p02": true,
|
879 |
+
"p03": false,
|
880 |
+
"p04": false,
|
881 |
+
"p05": true,
|
882 |
+
"id": 312327504242999001
|
883 |
+
},
|
884 |
+
{
|
885 |
+
"uuid": "28c7e8d75fc94877a743cebd9fce337f",
|
886 |
+
"nama_lengkap": "Nahda Irfana",
|
887 |
+
"usia_dalam_bentuk_bulan": "4",
|
888 |
+
"tanggal_lahir": "2019-03-08",
|
889 |
+
"jenis_kelamin": "Perempuan",
|
890 |
+
"berat_badan_dalam_bentuk_kg": "31.5",
|
891 |
+
"tinggi_badan_dalam_bentuk_cm": "115.2",
|
892 |
+
"imt": 23,
|
893 |
+
"detail_konklusi": [
|
894 |
+
"Obesitas Sekunder"
|
895 |
+
],
|
896 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
897 |
+
"cause_konklusi": [
|
898 |
+
"faktor kesehatan",
|
899 |
+
"faktor pola makan"
|
900 |
+
],
|
901 |
+
"tanggal_periksa": [
|
902 |
+
"2023-07-08"
|
903 |
+
],
|
904 |
+
"tanggal_edit": "2023-07-13",
|
905 |
+
"p01": true,
|
906 |
+
"p02": false,
|
907 |
+
"p03": false,
|
908 |
+
"p04": true,
|
909 |
+
"p05": false,
|
910 |
+
"id": 807968453128497203
|
911 |
+
},
|
912 |
+
{
|
913 |
+
"uuid": "dd38ae38d6e942f08bed5a30a1bbbf36",
|
914 |
+
"nama_lengkap": "Aska Dina Kanziz Ilma",
|
915 |
+
"usia_dalam_bentuk_bulan": "3",
|
916 |
+
"tanggal_lahir": "2019-08-04",
|
917 |
+
"jenis_kelamin": "Perempuan",
|
918 |
+
"berat_badan_dalam_bentuk_kg": "25",
|
919 |
+
"tinggi_badan_dalam_bentuk_cm": "102.8",
|
920 |
+
"imt": 23,
|
921 |
+
"detail_konklusi": [
|
922 |
+
"Obesitas Primer"
|
923 |
+
],
|
924 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
925 |
+
"cause_konklusi": [
|
926 |
+
"faktor genetika / turunan",
|
927 |
+
"faktor psikis"
|
928 |
+
],
|
929 |
+
"tanggal_periksa": [
|
930 |
+
"2023-07-08"
|
931 |
+
],
|
932 |
+
"tanggal_edit": "2023-07-13",
|
933 |
+
"p01": false,
|
934 |
+
"p02": true,
|
935 |
+
"p03": false,
|
936 |
+
"p04": false,
|
937 |
+
"p05": true,
|
938 |
+
"id": 702323225170053191
|
939 |
+
},
|
940 |
+
{
|
941 |
+
"uuid": "4ebb2ba16f1e4864a26aac43306d3ceb",
|
942 |
+
"nama_lengkap": "M Asifan Rafansyah Yudha",
|
943 |
+
"usia_dalam_bentuk_bulan": "3",
|
944 |
+
"tanggal_lahir": "2020-01-16",
|
945 |
+
"jenis_kelamin": "Laki-Laki",
|
946 |
+
"berat_badan_dalam_bentuk_kg": "18.4",
|
947 |
+
"tinggi_badan_dalam_bentuk_cm": "94.5",
|
948 |
+
"imt": 20,
|
949 |
+
"detail_konklusi": [
|
950 |
+
"Obesitas Sekunder"
|
951 |
+
],
|
952 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
953 |
+
"cause_konklusi": [
|
954 |
+
"faktor kesehatan",
|
955 |
+
"faktor genetika / turunan",
|
956 |
+
"faktor aktivitas"
|
957 |
+
],
|
958 |
+
"tanggal_periksa": [
|
959 |
+
"2023-07-08"
|
960 |
+
],
|
961 |
+
"tanggal_edit": "2023-07-13",
|
962 |
+
"p01": true,
|
963 |
+
"p02": true,
|
964 |
+
"p03": true,
|
965 |
+
"p04": false,
|
966 |
+
"p05": false,
|
967 |
+
"id": 122904688606208057
|
968 |
+
},
|
969 |
+
{
|
970 |
+
"uuid": "e7f4fba114ca4ba995ef97f98b5b8535",
|
971 |
+
"nama_lengkap": "Rafardhan Atallah Pradana",
|
972 |
+
"usia_dalam_bentuk_bulan": "1",
|
973 |
+
"tanggal_lahir": "2021-10-12",
|
974 |
+
"jenis_kelamin": "Laki-Laki",
|
975 |
+
"berat_badan_dalam_bentuk_kg": "14.5",
|
976 |
+
"tinggi_badan_dalam_bentuk_cm": "79",
|
977 |
+
"imt": 23,
|
978 |
+
"detail_konklusi": [
|
979 |
+
"Obesitas Primer"
|
980 |
+
],
|
981 |
+
"solusi_konklusi": " Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv.",
|
982 |
+
"cause_konklusi": [
|
983 |
+
"faktor genetika / turunan",
|
984 |
+
"faktor aktivitas",
|
985 |
+
"faktor pola makan"
|
986 |
+
],
|
987 |
+
"tanggal_periksa": [
|
988 |
+
"2023-07-08"
|
989 |
+
],
|
990 |
+
"tanggal_edit": "2023-07-13",
|
991 |
+
"p01": false,
|
992 |
+
"p02": true,
|
993 |
+
"p03": true,
|
994 |
+
"p04": true,
|
995 |
+
"p05": false,
|
996 |
+
"id": 203785639429406952
|
997 |
+
},
|
998 |
+
{
|
999 |
+
"uuid": "f0f5fc650a6b496186acce4844d76917",
|
1000 |
+
"nama_lengkap": "Sevta Nourin",
|
1001 |
+
"usia_dalam_bentuk_bulan": "4",
|
1002 |
+
"tanggal_lahir": "2018-11-12",
|
1003 |
+
"jenis_kelamin": "Laki-Laki",
|
1004 |
+
"berat_badan_dalam_bentuk_kg": "27.2",
|
1005 |
+
"tinggi_badan_dalam_bentuk_cm": "109",
|
1006 |
+
"imt": 22,
|
1007 |
+
"detail_konklusi": [
|
1008 |
+
"Obesitas Primer"
|
1009 |
+
],
|
1010 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1011 |
+
"cause_konklusi": [
|
1012 |
+
"faktor aktivitas",
|
1013 |
+
"faktor pola makan",
|
1014 |
+
"faktor psikis"
|
1015 |
+
],
|
1016 |
+
"tanggal_periksa": [
|
1017 |
+
"2023-07-13"
|
1018 |
+
],
|
1019 |
+
"tanggal_edit": "2023-07-13",
|
1020 |
+
"p01": false,
|
1021 |
+
"p02": false,
|
1022 |
+
"p03": true,
|
1023 |
+
"p04": true,
|
1024 |
+
"p05": true,
|
1025 |
+
"id": 518954609807545169
|
1026 |
+
},
|
1027 |
+
{
|
1028 |
+
"uuid": "512b51a56ceb4671b53129be6c9c7052",
|
1029 |
+
"nama_lengkap": "Bilqis",
|
1030 |
+
"usia_dalam_bentuk_bulan": "4",
|
1031 |
+
"tanggal_lahir": "2019-04-15",
|
1032 |
+
"jenis_kelamin": "Perempuan",
|
1033 |
+
"berat_badan_dalam_bentuk_kg": "15.8",
|
1034 |
+
"tinggi_badan_dalam_bentuk_cm": "87",
|
1035 |
+
"imt": 20,
|
1036 |
+
"detail_konklusi": [
|
1037 |
+
"Obesitas Sekunder"
|
1038 |
+
],
|
1039 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
1040 |
+
"cause_konklusi": [
|
1041 |
+
"faktor kesehatan",
|
1042 |
+
"faktor genetika / turunan"
|
1043 |
+
],
|
1044 |
+
"tanggal_periksa": [
|
1045 |
+
"2023-07-13"
|
1046 |
+
],
|
1047 |
+
"tanggal_edit": "2023-07-13",
|
1048 |
+
"p01": true,
|
1049 |
+
"p02": true,
|
1050 |
+
"p03": false,
|
1051 |
+
"p04": false,
|
1052 |
+
"p05": false,
|
1053 |
+
"id": 110514785841141761
|
1054 |
+
},
|
1055 |
+
{
|
1056 |
+
"uuid": "ecb91b15ae694013b1ff84e30d31cc12",
|
1057 |
+
"nama_lengkap": "M Faisal Hanif",
|
1058 |
+
"usia_dalam_bentuk_bulan": "3",
|
1059 |
+
"tanggal_lahir": "2020-01-10",
|
1060 |
+
"jenis_kelamin": "Laki-Laki",
|
1061 |
+
"berat_badan_dalam_bentuk_kg": "20.8",
|
1062 |
+
"tinggi_badan_dalam_bentuk_cm": "98.5",
|
1063 |
+
"imt": 21,
|
1064 |
+
"detail_konklusi": [
|
1065 |
+
"Obesitas Primer"
|
1066 |
+
],
|
1067 |
+
"solusi_konklusi": "",
|
1068 |
+
"cause_konklusi": [
|
1069 |
+
"faktor genetika / turunan",
|
1070 |
+
"faktor pola makan"
|
1071 |
+
],
|
1072 |
+
"tanggal_periksa": [
|
1073 |
+
"2023-07-13"
|
1074 |
+
],
|
1075 |
+
"tanggal_edit": "2023-07-13",
|
1076 |
+
"p01": false,
|
1077 |
+
"p02": true,
|
1078 |
+
"p03": false,
|
1079 |
+
"p04": true,
|
1080 |
+
"p05": false,
|
1081 |
+
"id": 291879302260324158
|
1082 |
+
},
|
1083 |
+
{
|
1084 |
+
"uuid": "99948102a43a4e3dab0f94c4da49c56c",
|
1085 |
+
"nama_lengkap": "A Zainur Roziqin",
|
1086 |
+
"usia_dalam_bentuk_bulan": "1",
|
1087 |
+
"tanggal_lahir": "2021-09-10",
|
1088 |
+
"jenis_kelamin": "Laki-Laki",
|
1089 |
+
"berat_badan_dalam_bentuk_kg": "11",
|
1090 |
+
"tinggi_badan_dalam_bentuk_cm": "69.4",
|
1091 |
+
"imt": 22,
|
1092 |
+
"detail_konklusi": [
|
1093 |
+
"Obesitas Sekunder"
|
1094 |
+
],
|
1095 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1096 |
+
"cause_konklusi": [
|
1097 |
+
"faktor kesehatan",
|
1098 |
+
"faktor psikis"
|
1099 |
+
],
|
1100 |
+
"tanggal_periksa": [
|
1101 |
+
"2023-07-13"
|
1102 |
+
],
|
1103 |
+
"tanggal_edit": "2023-07-13",
|
1104 |
+
"p01": true,
|
1105 |
+
"p02": false,
|
1106 |
+
"p03": false,
|
1107 |
+
"p04": false,
|
1108 |
+
"p05": true,
|
1109 |
+
"id": 214521985843433320
|
1110 |
+
},
|
1111 |
+
{
|
1112 |
+
"uuid": "ba5295d157ba4cd2a5d427c528636ee5",
|
1113 |
+
"nama_lengkap": "Saputra",
|
1114 |
+
"usia_dalam_bentuk_bulan": "2",
|
1115 |
+
"tanggal_lahir": "2020-08-24",
|
1116 |
+
"jenis_kelamin": "Laki-Laki",
|
1117 |
+
"berat_badan_dalam_bentuk_kg": "18.2",
|
1118 |
+
"tinggi_badan_dalam_bentuk_cm": "87",
|
1119 |
+
"imt": 24,
|
1120 |
+
"detail_konklusi": [
|
1121 |
+
"Obesitas Sekunder"
|
1122 |
+
],
|
1123 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
1124 |
+
"cause_konklusi": [
|
1125 |
+
"faktor kesehatan",
|
1126 |
+
"faktor aktivitas"
|
1127 |
+
],
|
1128 |
+
"tanggal_periksa": [
|
1129 |
+
"2023-07-13"
|
1130 |
+
],
|
1131 |
+
"tanggal_edit": "2023-07-13",
|
1132 |
+
"p01": true,
|
1133 |
+
"p02": false,
|
1134 |
+
"p03": true,
|
1135 |
+
"p04": false,
|
1136 |
+
"p05": false,
|
1137 |
+
"id": 203140822645109067
|
1138 |
+
},
|
1139 |
+
{
|
1140 |
+
"uuid": "8e4053a7bb7844ee8c33896a326f9b34",
|
1141 |
+
"nama_lengkap": "Jhonatan",
|
1142 |
+
"usia_dalam_bentuk_bulan": "4",
|
1143 |
+
"tanggal_lahir": "2018-09-19",
|
1144 |
+
"jenis_kelamin": "Laki-Laki",
|
1145 |
+
"berat_badan_dalam_bentuk_kg": "28.4",
|
1146 |
+
"tinggi_badan_dalam_bentuk_cm": "110",
|
1147 |
+
"imt": 23,
|
1148 |
+
"detail_konklusi": [
|
1149 |
+
"Obesitas Primer"
|
1150 |
+
],
|
1151 |
+
"solusi_konklusi": "",
|
1152 |
+
"cause_konklusi": [
|
1153 |
+
"faktor aktivitas",
|
1154 |
+
"faktor pola makan"
|
1155 |
+
],
|
1156 |
+
"tanggal_periksa": [
|
1157 |
+
"2023-07-13"
|
1158 |
+
],
|
1159 |
+
"tanggal_edit": "2023-07-13",
|
1160 |
+
"p01": false,
|
1161 |
+
"p02": false,
|
1162 |
+
"p03": true,
|
1163 |
+
"p04": true,
|
1164 |
+
"p05": false,
|
1165 |
+
"id": 792969575121374374
|
1166 |
+
},
|
1167 |
+
{
|
1168 |
+
"uuid": "4b04d15038af47f6813016a780dfe3e0",
|
1169 |
+
"nama_lengkap": "Laili",
|
1170 |
+
"usia_dalam_bentuk_bulan": "4",
|
1171 |
+
"tanggal_lahir": "2019-02-14",
|
1172 |
+
"jenis_kelamin": "Perempuan",
|
1173 |
+
"berat_badan_dalam_bentuk_kg": "22.4",
|
1174 |
+
"tinggi_badan_dalam_bentuk_cm": "103",
|
1175 |
+
"imt": 21,
|
1176 |
+
"detail_konklusi": [
|
1177 |
+
"Obesitas Primer"
|
1178 |
+
],
|
1179 |
+
"solusi_konklusi": "",
|
1180 |
+
"cause_konklusi": [
|
1181 |
+
"faktor aktivitas",
|
1182 |
+
"faktor pola makan"
|
1183 |
+
],
|
1184 |
+
"tanggal_periksa": [
|
1185 |
+
"2023-07-13"
|
1186 |
+
],
|
1187 |
+
"tanggal_edit": "2023-07-13",
|
1188 |
+
"p01": false,
|
1189 |
+
"p02": false,
|
1190 |
+
"p03": true,
|
1191 |
+
"p04": true,
|
1192 |
+
"p05": false,
|
1193 |
+
"id": 160632057965280610
|
1194 |
+
},
|
1195 |
+
{
|
1196 |
+
"uuid": "79c9cf9f635746639afc7ee27be47ac0",
|
1197 |
+
"nama_lengkap": "Muhammad Devano S U",
|
1198 |
+
"usia_dalam_bentuk_bulan": "4",
|
1199 |
+
"tanggal_lahir": "2018-06-22",
|
1200 |
+
"jenis_kelamin": "Laki-Laki",
|
1201 |
+
"berat_badan_dalam_bentuk_kg": "23.8",
|
1202 |
+
"tinggi_badan_dalam_bentuk_cm": "106",
|
1203 |
+
"imt": 21,
|
1204 |
+
"detail_konklusi": [
|
1205 |
+
"Obesitas Primer"
|
1206 |
+
],
|
1207 |
+
"solusi_konklusi": "",
|
1208 |
+
"cause_konklusi": [
|
1209 |
+
"faktor genetika / turunan",
|
1210 |
+
"faktor pola makan"
|
1211 |
+
],
|
1212 |
+
"tanggal_periksa": [
|
1213 |
+
"2023-07-13"
|
1214 |
+
],
|
1215 |
+
"tanggal_edit": "2023-07-13",
|
1216 |
+
"p01": false,
|
1217 |
+
"p02": true,
|
1218 |
+
"p03": false,
|
1219 |
+
"p04": true,
|
1220 |
+
"p05": false,
|
1221 |
+
"id": 254608892694459717
|
1222 |
+
},
|
1223 |
+
{
|
1224 |
+
"uuid": "4aaa1f34f7934a4ca2a89762cf75ae1a",
|
1225 |
+
"nama_lengkap": "Briyan Novara P",
|
1226 |
+
"usia_dalam_bentuk_bulan": "4",
|
1227 |
+
"tanggal_lahir": "2018-11-17",
|
1228 |
+
"jenis_kelamin": "Laki-Laki",
|
1229 |
+
"berat_badan_dalam_bentuk_kg": "23.3",
|
1230 |
+
"tinggi_badan_dalam_bentuk_cm": "106",
|
1231 |
+
"imt": 20,
|
1232 |
+
"detail_konklusi": [
|
1233 |
+
"Obesitas Primer"
|
1234 |
+
],
|
1235 |
+
"solusi_konklusi": " Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv.",
|
1236 |
+
"cause_konklusi": [
|
1237 |
+
"faktor genetika / turunan",
|
1238 |
+
"faktor aktivitas",
|
1239 |
+
"faktor pola makan"
|
1240 |
+
],
|
1241 |
+
"tanggal_periksa": [
|
1242 |
+
"2023-07-13"
|
1243 |
+
],
|
1244 |
+
"tanggal_edit": "2023-07-13",
|
1245 |
+
"p01": false,
|
1246 |
+
"p02": true,
|
1247 |
+
"p03": true,
|
1248 |
+
"p04": true,
|
1249 |
+
"p05": false,
|
1250 |
+
"id": 517014201643667088
|
1251 |
+
},
|
1252 |
+
{
|
1253 |
+
"uuid": "807c48243d7f48a8b4ff4856cc41f9d4",
|
1254 |
+
"nama_lengkap": "Assauqile Gibran",
|
1255 |
+
"usia_dalam_bentuk_bulan": "3",
|
1256 |
+
"tanggal_lahir": "2019-07-20",
|
1257 |
+
"jenis_kelamin": "Perempuan",
|
1258 |
+
"berat_badan_dalam_bentuk_kg": "19",
|
1259 |
+
"tinggi_badan_dalam_bentuk_cm": "96.2",
|
1260 |
+
"imt": 20,
|
1261 |
+
"detail_konklusi": [
|
1262 |
+
"Obesitas Primer"
|
1263 |
+
],
|
1264 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1265 |
+
"cause_konklusi": [
|
1266 |
+
"faktor pola makan",
|
1267 |
+
"faktor psikis"
|
1268 |
+
],
|
1269 |
+
"tanggal_periksa": [
|
1270 |
+
"2023-07-13"
|
1271 |
+
],
|
1272 |
+
"tanggal_edit": "2023-07-13",
|
1273 |
+
"p01": false,
|
1274 |
+
"p02": false,
|
1275 |
+
"p03": false,
|
1276 |
+
"p04": true,
|
1277 |
+
"p05": true,
|
1278 |
+
"id": 203955330227643625
|
1279 |
+
},
|
1280 |
+
{
|
1281 |
+
"uuid": "be510597cf324fc7b391322987e851a7",
|
1282 |
+
"nama_lengkap": "Kalisa",
|
1283 |
+
"usia_dalam_bentuk_bulan": "2",
|
1284 |
+
"tanggal_lahir": "2020-08-24",
|
1285 |
+
"jenis_kelamin": "Perempuan",
|
1286 |
+
"berat_badan_dalam_bentuk_kg": "17.8",
|
1287 |
+
"tinggi_badan_dalam_bentuk_cm": "88.5",
|
1288 |
+
"imt": 22,
|
1289 |
+
"detail_konklusi": [
|
1290 |
+
"Obesitas Primer"
|
1291 |
+
],
|
1292 |
+
"solusi_konklusi": "",
|
1293 |
+
"cause_konklusi": [
|
1294 |
+
"faktor pola makan"
|
1295 |
+
],
|
1296 |
+
"tanggal_periksa": [
|
1297 |
+
"2023-07-13"
|
1298 |
+
],
|
1299 |
+
"tanggal_edit": "2023-07-13",
|
1300 |
+
"p01": false,
|
1301 |
+
"p02": false,
|
1302 |
+
"p03": false,
|
1303 |
+
"p04": true,
|
1304 |
+
"p05": false,
|
1305 |
+
"id": 139571547885525584
|
1306 |
+
},
|
1307 |
+
{
|
1308 |
+
"uuid": "b11412934ea14cdbba08a3637c1fed82",
|
1309 |
+
"nama_lengkap": "Raka Arya",
|
1310 |
+
"usia_dalam_bentuk_bulan": "3",
|
1311 |
+
"tanggal_lahir": "2020-06-14",
|
1312 |
+
"jenis_kelamin": "Laki-Laki",
|
1313 |
+
"berat_badan_dalam_bentuk_kg": "21.8",
|
1314 |
+
"tinggi_badan_dalam_bentuk_cm": "96",
|
1315 |
+
"imt": 23,
|
1316 |
+
"detail_konklusi": [
|
1317 |
+
"Obesitas Sekunder"
|
1318 |
+
],
|
1319 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda.",
|
1320 |
+
"cause_konklusi": [
|
1321 |
+
"faktor kesehatan",
|
1322 |
+
"faktor aktivitas",
|
1323 |
+
"faktor pola makan"
|
1324 |
+
],
|
1325 |
+
"tanggal_periksa": [
|
1326 |
+
"2023-07-13"
|
1327 |
+
],
|
1328 |
+
"tanggal_edit": "2023-07-13",
|
1329 |
+
"p01": true,
|
1330 |
+
"p02": false,
|
1331 |
+
"p03": true,
|
1332 |
+
"p04": true,
|
1333 |
+
"p05": false,
|
1334 |
+
"id": 179011490536769256
|
1335 |
+
},
|
1336 |
+
{
|
1337 |
+
"uuid": "c38ae43f86834c42a16506fbcb5d288c",
|
1338 |
+
"nama_lengkap": "Azahra Cantika",
|
1339 |
+
"usia_dalam_bentuk_bulan": "3",
|
1340 |
+
"tanggal_lahir": "2020-04-01",
|
1341 |
+
"jenis_kelamin": "Perempuan",
|
1342 |
+
"berat_badan_dalam_bentuk_kg": "20.2",
|
1343 |
+
"tinggi_badan_dalam_bentuk_cm": "96",
|
1344 |
+
"imt": 21,
|
1345 |
+
"detail_konklusi": [
|
1346 |
+
"Obesitas Primer"
|
1347 |
+
],
|
1348 |
+
"solusi_konklusi": " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1349 |
+
"cause_konklusi": [
|
1350 |
+
"faktor genetika / turunan",
|
1351 |
+
"faktor aktivitas",
|
1352 |
+
"faktor psikis"
|
1353 |
+
],
|
1354 |
+
"tanggal_periksa": [
|
1355 |
+
"2023-07-13"
|
1356 |
+
],
|
1357 |
+
"tanggal_edit": "2023-07-13",
|
1358 |
+
"p01": false,
|
1359 |
+
"p02": true,
|
1360 |
+
"p03": true,
|
1361 |
+
"p04": false,
|
1362 |
+
"p05": true,
|
1363 |
+
"id": 846151191710266430
|
1364 |
+
},
|
1365 |
+
{
|
1366 |
+
"uuid": "f0cab4def55140d4a8854807991ca894",
|
1367 |
+
"nama_lengkap": "M Alfatih",
|
1368 |
+
"usia_dalam_bentuk_bulan": "4",
|
1369 |
+
"tanggal_lahir": "2019-03-26",
|
1370 |
+
"jenis_kelamin": "Laki-Laki",
|
1371 |
+
"berat_badan_dalam_bentuk_kg": "30.5",
|
1372 |
+
"tinggi_badan_dalam_bentuk_cm": "112",
|
1373 |
+
"imt": 24,
|
1374 |
+
"detail_konklusi": [
|
1375 |
+
"Obesitas Sekunder"
|
1376 |
+
],
|
1377 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1378 |
+
"cause_konklusi": [
|
1379 |
+
"faktor kesehatan",
|
1380 |
+
"faktor aktivitas",
|
1381 |
+
"faktor psikis"
|
1382 |
+
],
|
1383 |
+
"tanggal_periksa": [
|
1384 |
+
"2023-07-13"
|
1385 |
+
],
|
1386 |
+
"tanggal_edit": "2023-07-13",
|
1387 |
+
"p01": true,
|
1388 |
+
"p02": false,
|
1389 |
+
"p03": true,
|
1390 |
+
"p04": false,
|
1391 |
+
"p05": true,
|
1392 |
+
"id": 223904969909941578
|
1393 |
+
},
|
1394 |
+
{
|
1395 |
+
"uuid": "c79dcaee3c1f4f8ea75dc1e127dc6142",
|
1396 |
+
"nama_lengkap": "Zahro Widia",
|
1397 |
+
"usia_dalam_bentuk_bulan": "2",
|
1398 |
+
"tanggal_lahir": "2021-02-11",
|
1399 |
+
"jenis_kelamin": "Perempuan",
|
1400 |
+
"berat_badan_dalam_bentuk_kg": "28.4",
|
1401 |
+
"tinggi_badan_dalam_bentuk_cm": "110",
|
1402 |
+
"imt": 23,
|
1403 |
+
"detail_konklusi": [
|
1404 |
+
"Obesitas Sekunder"
|
1405 |
+
],
|
1406 |
+
"solusi_konklusi": "Periksa ke dokter tentang penyakit tentang anda. Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv. Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food.",
|
1407 |
+
"cause_konklusi": [
|
1408 |
+
"faktor kesehatan",
|
1409 |
+
"faktor genetika / turunan",
|
1410 |
+
"faktor aktivitas",
|
1411 |
+
"faktor pola makan",
|
1412 |
+
"faktor psikis"
|
1413 |
+
],
|
1414 |
+
"tanggal_periksa": [
|
1415 |
+
"2023-07-13"
|
1416 |
+
],
|
1417 |
+
"tanggal_edit": "2023-07-13",
|
1418 |
+
"p01": true,
|
1419 |
+
"p02": true,
|
1420 |
+
"p03": true,
|
1421 |
+
"p04": true,
|
1422 |
+
"p05": true,
|
1423 |
+
"id": 464007264702855274
|
1424 |
+
}
|
1425 |
+
]
|
1426 |
+
}
|
db/users_admin.json
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"data": [
|
3 |
+
{
|
4 |
+
"role": "admin",
|
5 |
+
"name": "Amin Azin",
|
6 |
+
"tanggal_lahir": "1999-01-06",
|
7 |
+
"jenis_kelamin": "Perempuan",
|
8 |
+
"alamat": "Dusun Krajan Tempeh Lor RT 10 RW 08",
|
9 |
+
"username": "admin",
|
10 |
+
"password": "admin",
|
11 |
+
"id": 284450867340872235
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"role": "kepala",
|
15 |
+
"name": "Dzakiah Laili",
|
16 |
+
"tanggal_lahir": "1993-03-22",
|
17 |
+
"jenis_kelamin": "Perempuan",
|
18 |
+
"alamat": "Perum Asabri Tempeh Lor AA-28",
|
19 |
+
"username": "dzakiahlaili",
|
20 |
+
"password": "kintamani",
|
21 |
+
"id": 284450867340872236
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"role": "kader",
|
25 |
+
"name": "Sinta Fahira ",
|
26 |
+
"tanggal_lahir": "1995-09-17",
|
27 |
+
"jenis_kelamin": "Perempuan",
|
28 |
+
"alamat": "Dusun Krajan Tempeh Lor RT 11 RW 03",
|
29 |
+
"username": "sinta222",
|
30 |
+
"password": "kintamani2",
|
31 |
+
"id": 284450867340872237
|
32 |
+
},
|
33 |
+
{
|
34 |
+
"role": "bidan",
|
35 |
+
"name": "Elvira",
|
36 |
+
"tanggal_lahir": "2002-07-29",
|
37 |
+
"jenis_kelamin": "Perempuan",
|
38 |
+
"alamat": "Dam Songo Tempeh Lumajang",
|
39 |
+
"username": "elvira222",
|
40 |
+
"password": "kintamani",
|
41 |
+
"id": 284450867340872238
|
42 |
+
},
|
43 |
+
{
|
44 |
+
"role": "kader",
|
45 |
+
"name": "Khusnul Aminah",
|
46 |
+
"tanggal_lahir": "1999-02-19",
|
47 |
+
"jenis_kelamin": "Perempuan",
|
48 |
+
"alamat": "Tempeh Lor",
|
49 |
+
"username": "khusnul",
|
50 |
+
"password": "kintamani",
|
51 |
+
"id": 258349686431188309
|
52 |
+
},
|
53 |
+
{
|
54 |
+
"role": "kepala",
|
55 |
+
"name": "sukma",
|
56 |
+
"tanggal_lahir": "2001-01-01",
|
57 |
+
"jenis_kelamin": "",
|
58 |
+
"alamat": "tes",
|
59 |
+
"username": "sukma",
|
60 |
+
"password": "sukma",
|
61 |
+
"id": 202493339910135417
|
62 |
+
},
|
63 |
+
{
|
64 |
+
"role": "bidan",
|
65 |
+
"name": "nadhir",
|
66 |
+
"tanggal_lahir": "2001-01-01",
|
67 |
+
"jenis_kelamin": "",
|
68 |
+
"alamat": "1",
|
69 |
+
"username": "nadhir",
|
70 |
+
"password": "nadhir",
|
71 |
+
"id": 247858236643526180
|
72 |
+
},
|
73 |
+
{
|
74 |
+
"role": "kader",
|
75 |
+
"name": "reza",
|
76 |
+
"tanggal_lahir": "2001-01-01",
|
77 |
+
"jenis_kelamin": "",
|
78 |
+
"alamat": "abb",
|
79 |
+
"username": "reza",
|
80 |
+
"password": "reza",
|
81 |
+
"id": 281135559967142361
|
82 |
+
}
|
83 |
+
]
|
84 |
+
}
|
export.csv
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
nama_lengkap,usia,tanggal_lahir,jenis_kelamin,berat_badan (kg),tinggi_badan (cm),imt,detail_konklusi
|
2 |
+
Fadli Acmad,2,2021-04-06,Laki-Laki,13.7,95,15,Obesitas Primer
|
3 |
+
M Rizky,2,2021-04-10,Laki-Laki,13.6,76,23,Obesitas Sekunder
|
4 |
+
Ratna,1,2022-01-15,Perempuan,15.5,85,21,Obesitas Sekunder
|
5 |
+
Kasmirah,2,2021-01-01,Perempuan,11.5,79,18,Obesitas Primer
|
6 |
+
M Zakky,3,2020-02-03,Laki-Laki,20,99,20,Obesitas Sekunder
|
7 |
+
Qiana,3,2020-03-28,Perempuan,15,78,24,Obesitas Sekunder
|
8 |
+
Axle,3,2020-04-10,Laki-Laki,10.5,82,15,Obesitas Sekunder
|
9 |
+
Intan,3,2020-04-11,Perempuan,12.2,90,15,Obesitas Sekunder
|
10 |
+
Sultan,4,2018-10-20,Laki-Laki,19,102,18,Obesitas Sekunder
|
11 |
+
Anisa,4,2019-01-11,Perempuan,23,97,24,Obesitas Primer
|
12 |
+
Ubay,4,2019-04-05,Laki-Laki,13,90,16,Obesitas Primer
|
13 |
+
Noah,1,2022-01-01,Laki-Laki,9.2,72,17,Obesitas Primer
|
14 |
+
Nora,2,2021-03-17,Perempuan,14.3,91,17,Obesitas Primer
|
15 |
+
Rafa,2,2020-12-10,Laki-Laki,10.2,79,16,Obesitas Sekunder
|
16 |
+
Dafa,2,2021-01-10,Laki-Laki,12.1,90,14,Obesitas Sekunder
|
17 |
+
Hasna,1,2022-04-01,Perempuan,10.5,81,16,Obesitas Primer
|
18 |
+
Aisyah,2,2021-06-06,Perempuan,12.5,89,15,Obesitas Sekunder
|
19 |
+
Zakaria,3,2020-05-15,Laki-Laki,11.5,91,13,Obesitas Sekunder
|
20 |
+
Indana,2,2021-06-20,Perempuan,17,105,15,Obesitas Sekunder
|
21 |
+
Andi,2,2020-10-22,Laki-Laki,19,98,19,Obesitas Primer
|
22 |
+
Halifatul H,4,2019-03-10,Perempuan,23.1,100,23,Obesitas Sekunder
|
23 |
+
Arya Januraja,3,2019-01-25,Laki-Laki,27.9,106.7,24,Obesitas Sekunder
|
24 |
+
M Safian Altesai,3,2019-08-21,Laki-Laki,21.9,96,23,Obesitas Primer
|
25 |
+
M rafa Azka,1,2021-11-19,Laki-Laki,15,79.5,23,Obesitas Primer
|
26 |
+
Fauzan Dwi Satria,4,2019-05-13,Laki-Laki,29.8,109,25,Obesitas Primer
|
27 |
+
Aradeya gea,2,2020-08-27,Perempuan,20.4,90,25,Obesitas Primer
|
28 |
+
Aisyah Khumairah,1,2022-05-11,Perempuan,12,73,22,Obesitas Sekunder
|
29 |
+
Biksan F,1,2021-11-10,Laki-Laki,13.8,80,21,Obesitas Sekunder
|
30 |
+
M Zaim Sholehhuddin ,2,2020-12-01,Laki-Laki,16.5,86,22,Obesitas Sekunder
|
31 |
+
A Fakharudin Attar,4,2019-03-23,Laki-Laki,19.8,98.8,20,Obesitas Sekunder
|
32 |
+
M Aqmal,3,2020-01-03,Laki-Laki,18.2,95,20,Obesitas Primer
|
33 |
+
Nahda Irfana,4,2019-03-08,Perempuan,31.5,115.2,23,Obesitas Sekunder
|
34 |
+
Aska Dina Kanziz Ilma,3,2019-08-04,Perempuan,25,102.8,23,Obesitas Primer
|
35 |
+
M Asifan Rafansyah Yudha,3,2020-01-16,Laki-Laki,18.4,94.5,20,Obesitas Sekunder
|
36 |
+
Rafardhan Atallah Pradana,1,2021-10-12,Laki-Laki,14.5,79,23,Obesitas Primer
|
37 |
+
Sevta Nourin,4,2018-11-12,Laki-Laki,27.2,109,22,Obesitas Primer
|
38 |
+
Bilqis,4,2019-04-15,Perempuan,15.8,87,20,Obesitas Sekunder
|
39 |
+
M Faisal Hanif,3,2020-01-10,Laki-Laki,20.8,98.5,21,Obesitas Primer
|
40 |
+
A Zainur Roziqin,1,2021-09-10,Laki-Laki,11,69.4,22,Obesitas Sekunder
|
41 |
+
Saputra,2,2020-08-24,Laki-Laki,18.2,87,24,Obesitas Sekunder
|
42 |
+
Jhonatan,4,2018-09-19,Laki-Laki,28.4,110,23,Obesitas Primer
|
43 |
+
Laili,4,2019-02-14,Perempuan,22.4,103,21,Obesitas Primer
|
44 |
+
Muhammad Devano S U,4,2018-06-22,Laki-Laki,23.8,106,21,Obesitas Primer
|
45 |
+
Briyan Novara P,4,2018-11-17,Laki-Laki,23.3,106,20,Obesitas Primer
|
46 |
+
Assauqile Gibran,3,2019-07-20,Perempuan,19,96.2,20,Obesitas Primer
|
47 |
+
Kalisa,2,2020-08-24,Perempuan,17.8,88.5,22,Obesitas Primer
|
48 |
+
Raka Arya,3,2020-06-14,Laki-Laki,21.8,96,23,Obesitas Sekunder
|
49 |
+
Azahra Cantika,3,2020-04-01,Perempuan,20.2,96,21,Obesitas Primer
|
50 |
+
M Alfatih,4,2019-03-26,Laki-Laki,30.5,112,24,Obesitas Sekunder
|
51 |
+
Zahro Widia,2,2021-02-11,Perempuan,28.4,110,23,Obesitas Sekunder
|
flask_session/0555e35e41ac8f1a949990c0984e0cfb
ADDED
Binary file (49 Bytes). View file
|
|
flask_session/10e25321a6f00c978694fd187c10abc4
ADDED
Binary file (36 Bytes). View file
|
|
flask_session/2029240f6d1128be89ddc32729463129
ADDED
Binary file (9 Bytes). View file
|
|
flask_session/2202dd7007f9bb3785b95f9f7fa056f7
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/2b2a45b11a1ec2331338aaed0bd01b5d
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/341c98d8fe2c4190a62fabbe88e9ba72
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/418808d40d5546be9fb8ce1ecb403d05
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/434dd888e0b14519a082ff8e3983fb19
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/5e3727bf46ddd720e4dbc8818dbf6b85
ADDED
Binary file (368 Bytes). View file
|
|
flask_session/5e570896bb6d280cefe85a0743fc4378
ADDED
Binary file (195 Bytes). View file
|
|
flask_session/72664179816f497ac3372e8f9d2ffd39
ADDED
Binary file (49 Bytes). View file
|
|
flask_session/78e83dad8df47cbc1a7bbfa54ae6192a
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/7d6d3d1dfecb2fcc22e8946b74802f82
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/9b438057d5971de7d654493efa2f530a
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/9baccf410aea2dc49b9327ebc65c77e4
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/9dc4e083e3952e85bc8021620e23151c
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/a348d38bd5ec6f3d4b770da9bade5859
ADDED
Binary file (221 Bytes). View file
|
|
flask_session/a363ccfaa2121d411fd507df144e4bb5
ADDED
Binary file (36 Bytes). View file
|
|
flask_session/a3e0e25a91d3f327b87da1259170e975
ADDED
Binary file (172 Bytes). View file
|
|
flask_session/bd12d2fa23a7a22e0d0abf58f2627079
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/da7a4b202b6b0fa548d83830a3135fa6
ADDED
Binary file (36 Bytes). View file
|
|
flask_session/dda0f415d2f69e8b0cb41e4655ee46b3
ADDED
Binary file (172 Bytes). View file
|
|
flask_session/e2db2cc279d6e99ed18d4b219904dffb
ADDED
Binary file (49 Bytes). View file
|
|
flask_session/e4b1dd890605ad0fa42946e5519d3349
ADDED
Binary file (39 Bytes). View file
|
|
flask_session/e63cbe5ee03207dd76c1461d3b0a0ac7
ADDED
Binary file (40 Bytes). View file
|
|
flask_session/ed523d93291f2505e4d771c86230b37e
ADDED
Binary file (167 Bytes). View file
|
|
requirements.txt
ADDED
Binary file (60 Bytes). View file
|
|
static/css/card.css
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body {
|
2 |
+
background: #0c7178;
|
3 |
+
|
4 |
+
}
|
5 |
+
|
static/css/dashboard-input-data.css
ADDED
@@ -0,0 +1,405 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* =========== Google Fonts ============ */
|
2 |
+
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap");
|
3 |
+
|
4 |
+
/* =============== Globals ============== */
|
5 |
+
* {
|
6 |
+
font-family: "Ubuntu", sans-serif;
|
7 |
+
margin: 0;
|
8 |
+
padding: 0;
|
9 |
+
box-sizing: border-box;
|
10 |
+
}
|
11 |
+
|
12 |
+
:root {
|
13 |
+
--blue: #0c7178;
|
14 |
+
--white: #fff;
|
15 |
+
--gray: #f5f5f5;
|
16 |
+
--black1: #222;
|
17 |
+
--black2: #999;
|
18 |
+
}
|
19 |
+
|
20 |
+
body {
|
21 |
+
min-height: 100vh;
|
22 |
+
overflow-x: hidden;
|
23 |
+
}
|
24 |
+
|
25 |
+
.container {
|
26 |
+
position: relative;
|
27 |
+
width: 100%;
|
28 |
+
}
|
29 |
+
|
30 |
+
/* =============== Navigation ================ */
|
31 |
+
.navigation {
|
32 |
+
position: fixed;
|
33 |
+
width: 300px;
|
34 |
+
height: 100%;
|
35 |
+
background: var(--blue);
|
36 |
+
border-left: 10px solid var(--blue);
|
37 |
+
transition: 0.5s;
|
38 |
+
overflow: hidden;
|
39 |
+
}
|
40 |
+
.navigation.active {
|
41 |
+
width: 80px;
|
42 |
+
}
|
43 |
+
|
44 |
+
.navigation ul {
|
45 |
+
position: absolute;
|
46 |
+
top: 0;
|
47 |
+
left: 0;
|
48 |
+
width: 100%;
|
49 |
+
}
|
50 |
+
|
51 |
+
.navigation ul li {
|
52 |
+
position: relative;
|
53 |
+
width: 100%;
|
54 |
+
list-style: none;
|
55 |
+
border-top-left-radius: 30px;
|
56 |
+
border-bottom-left-radius: 30px;
|
57 |
+
}
|
58 |
+
|
59 |
+
.navigation ul li:hover,
|
60 |
+
.navigation ul li.hovered {
|
61 |
+
background-color: var(--white);
|
62 |
+
}
|
63 |
+
|
64 |
+
.navigation ul li:nth-child(1) {
|
65 |
+
margin-bottom: 40px;
|
66 |
+
pointer-events: none;
|
67 |
+
}
|
68 |
+
|
69 |
+
.navigation ul li a {
|
70 |
+
position: relative;
|
71 |
+
display: block;
|
72 |
+
width: 100%;
|
73 |
+
display: flex;
|
74 |
+
text-decoration: none;
|
75 |
+
color: var(--white);
|
76 |
+
}
|
77 |
+
.navigation ul li:hover a,
|
78 |
+
.navigation ul li.hovered a {
|
79 |
+
color: var(--blue);
|
80 |
+
}
|
81 |
+
|
82 |
+
.navigation ul li a .icon {
|
83 |
+
position: relative;
|
84 |
+
display: block;
|
85 |
+
min-width: 60px;
|
86 |
+
height: 60px;
|
87 |
+
line-height: 75px;
|
88 |
+
text-align: center;
|
89 |
+
}
|
90 |
+
.navigation ul li a .icon ion-icon {
|
91 |
+
font-size: 1.75rem;
|
92 |
+
}
|
93 |
+
|
94 |
+
.navigation ul li a .title {
|
95 |
+
position: relative;
|
96 |
+
display: block;
|
97 |
+
padding: 0 10px;
|
98 |
+
height: 60px;
|
99 |
+
line-height: 60px;
|
100 |
+
text-align: start;
|
101 |
+
white-space: nowrap;
|
102 |
+
}
|
103 |
+
|
104 |
+
/* --------- curve outside ---------- */
|
105 |
+
.navigation ul li:hover a::before,
|
106 |
+
.navigation ul li.hovered a::before {
|
107 |
+
content: "";
|
108 |
+
position: absolute;
|
109 |
+
right: 0;
|
110 |
+
top: -50px;
|
111 |
+
width: 50px;
|
112 |
+
height: 50px;
|
113 |
+
background-color: transparent;
|
114 |
+
border-radius: 50%;
|
115 |
+
box-shadow: 35px 35px 0 10px var(--white);
|
116 |
+
pointer-events: none;
|
117 |
+
}
|
118 |
+
.navigation ul li:hover a::after,
|
119 |
+
.navigation ul li.hovered a::after {
|
120 |
+
content: "";
|
121 |
+
position: absolute;
|
122 |
+
right: 0;
|
123 |
+
bottom: -50px;
|
124 |
+
width: 50px;
|
125 |
+
height: 50px;
|
126 |
+
background-color: transparent;
|
127 |
+
border-radius: 50%;
|
128 |
+
box-shadow: 35px -35px 0 10px var(--white);
|
129 |
+
pointer-events: none;
|
130 |
+
}
|
131 |
+
|
132 |
+
/* ===================== Main ===================== */
|
133 |
+
.main {
|
134 |
+
position: absolute;
|
135 |
+
width: calc(100% - 300px);
|
136 |
+
left: 300px;
|
137 |
+
min-height: 100vh;
|
138 |
+
background: var(--white);
|
139 |
+
transition: 0.5s;
|
140 |
+
}
|
141 |
+
.main.active {
|
142 |
+
width: calc(100% - 80px);
|
143 |
+
left: 80px;
|
144 |
+
}
|
145 |
+
|
146 |
+
.topbar {
|
147 |
+
width: 100%;
|
148 |
+
height: 60px;
|
149 |
+
display: flex;
|
150 |
+
justify-content: space-between;
|
151 |
+
align-items: center;
|
152 |
+
padding: 0 10px;
|
153 |
+
}
|
154 |
+
|
155 |
+
.toggle {
|
156 |
+
position: relative;
|
157 |
+
width: 60px;
|
158 |
+
height: 60px;
|
159 |
+
display: flex;
|
160 |
+
justify-content: center;
|
161 |
+
align-items: center;
|
162 |
+
font-size: 2.5rem;
|
163 |
+
cursor: pointer;
|
164 |
+
}
|
165 |
+
|
166 |
+
.search {
|
167 |
+
position: relative;
|
168 |
+
width: 400px;
|
169 |
+
margin: 0 10px;
|
170 |
+
}
|
171 |
+
|
172 |
+
.search label {
|
173 |
+
position: relative;
|
174 |
+
width: 100%;
|
175 |
+
}
|
176 |
+
|
177 |
+
.search label input {
|
178 |
+
width: 100%;
|
179 |
+
height: 40px;
|
180 |
+
border-radius: 40px;
|
181 |
+
padding: 5px 20px;
|
182 |
+
padding-left: 35px;
|
183 |
+
font-size: 18px;
|
184 |
+
outline: none;
|
185 |
+
border: 1px solid var(--black2);
|
186 |
+
}
|
187 |
+
|
188 |
+
.search label ion-icon {
|
189 |
+
position: absolute;
|
190 |
+
top: 0;
|
191 |
+
left: 10px;
|
192 |
+
font-size: 1.2rem;
|
193 |
+
}
|
194 |
+
|
195 |
+
.user {
|
196 |
+
position: relative;
|
197 |
+
width: 40px;
|
198 |
+
height: 40px;
|
199 |
+
border-radius: 50%;
|
200 |
+
overflow: hidden;
|
201 |
+
cursor: pointer;
|
202 |
+
}
|
203 |
+
|
204 |
+
.detailsPuskesmas {
|
205 |
+
color: #999;
|
206 |
+
font-size: 1.1rem;
|
207 |
+
margin-top: 5px;
|
208 |
+
}
|
209 |
+
|
210 |
+
/* ======================= Cards ====================== */
|
211 |
+
.cardBox {
|
212 |
+
position: relative;
|
213 |
+
width: 198%;
|
214 |
+
padding: 20px;
|
215 |
+
display: grid;
|
216 |
+
grid-template-columns: repeat(4, 1fr);
|
217 |
+
grid-gap: 30px;
|
218 |
+
}
|
219 |
+
|
220 |
+
.cardBox .card {
|
221 |
+
position: relative;
|
222 |
+
background: var(--white);
|
223 |
+
padding: 30px;
|
224 |
+
border-radius: 20px;
|
225 |
+
display: flex;
|
226 |
+
justify-content: space-between;
|
227 |
+
cursor: pointer;
|
228 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
229 |
+
}
|
230 |
+
|
231 |
+
.cardBox .card .numbers {
|
232 |
+
position: relative;
|
233 |
+
font-weight: 500;
|
234 |
+
font-size: 2.5rem;
|
235 |
+
color: var(--blue);
|
236 |
+
}
|
237 |
+
|
238 |
+
.cardBox .card .cardName {
|
239 |
+
color: var(--black2);
|
240 |
+
font-size: 1.1rem;
|
241 |
+
margin-top: 5px;
|
242 |
+
}
|
243 |
+
|
244 |
+
.cardBox .card .iconBx {
|
245 |
+
font-size: 3.5rem;
|
246 |
+
color: var(--black2);
|
247 |
+
}
|
248 |
+
|
249 |
+
.cardBox .card:hover {
|
250 |
+
background: var(--blue);
|
251 |
+
}
|
252 |
+
.cardBox .card:hover .numbers,
|
253 |
+
.cardBox .card:hover .cardName,
|
254 |
+
.cardBox .card:hover .iconBx {
|
255 |
+
color: var(--white);
|
256 |
+
}
|
257 |
+
|
258 |
+
/* ================== Order Details List ============== */
|
259 |
+
.details {
|
260 |
+
position: relative;
|
261 |
+
width: 150%;
|
262 |
+
padding: 20px;
|
263 |
+
display: grid;
|
264 |
+
grid-template-columns: 2fr 1fr;
|
265 |
+
grid-gap: 30px;
|
266 |
+
/* margin-top: 10px; */
|
267 |
+
}
|
268 |
+
|
269 |
+
/* charts */
|
270 |
+
|
271 |
+
|
272 |
+
.details-button:hover {
|
273 |
+
background-color: #45a049;
|
274 |
+
}
|
275 |
+
|
276 |
+
.graphBox
|
277 |
+
{
|
278 |
+
margin: 0 30px 0 20px;
|
279 |
+
/* position: relative; */
|
280 |
+
padding: 20px;
|
281 |
+
width: calc(100% - 50px);
|
282 |
+
/* height: 200px; */
|
283 |
+
padding: 20px;
|
284 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
285 |
+
border-radius: 20px;
|
286 |
+
/* display: grid; */
|
287 |
+
/* grid-template-columns: 1fr 2fr; */
|
288 |
+
/* grid-gap: 30px; */
|
289 |
+
}
|
290 |
+
|
291 |
+
.graphBox .box
|
292 |
+
{
|
293 |
+
position: relative;
|
294 |
+
background: #white;
|
295 |
+
width: 100%;
|
296 |
+
height: 2
|
297 |
+
padding: 20px;
|
298 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
299 |
+
border-radius: 20px;
|
300 |
+
}
|
301 |
+
|
302 |
+
.details .chart {
|
303 |
+
position: relative;
|
304 |
+
display: grid;
|
305 |
+
min-height: 500px;
|
306 |
+
background: var(--white);
|
307 |
+
padding: 20px;
|
308 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
309 |
+
border-radius: 20px;
|
310 |
+
}
|
311 |
+
|
312 |
+
.details .cardHeader {
|
313 |
+
display: flex;
|
314 |
+
justify-content: space-between;
|
315 |
+
align-items: flex-start;
|
316 |
+
}
|
317 |
+
.cardHeader h2 {
|
318 |
+
font-weight: 600;
|
319 |
+
color: var(--blue);
|
320 |
+
}
|
321 |
+
.cardHeader .btn {
|
322 |
+
position: relative;
|
323 |
+
padding: 5px 10px;
|
324 |
+
background: var(--blue);
|
325 |
+
text-decoration: none;
|
326 |
+
color: var(--white);
|
327 |
+
border-radius: 6px;
|
328 |
+
}
|
329 |
+
|
330 |
+
.details table {
|
331 |
+
width: 100%;
|
332 |
+
border-collapse: collapse;
|
333 |
+
margin-top: 10px;
|
334 |
+
}
|
335 |
+
.details table thead td {
|
336 |
+
font-weight: 600;
|
337 |
+
}
|
338 |
+
/* ====================== Responsive Design ========================== */
|
339 |
+
@media (max-width: 991px) {
|
340 |
+
|
341 |
+
.graphBox{
|
342 |
+
grid-template-columns: 1fr;
|
343 |
+
height: auto;
|
344 |
+
}
|
345 |
+
.navigation {
|
346 |
+
left: -300px;
|
347 |
+
}
|
348 |
+
.navigation.active {
|
349 |
+
width: 300px;
|
350 |
+
left: 0;
|
351 |
+
}
|
352 |
+
.main {
|
353 |
+
width: 100%;
|
354 |
+
left: 0;
|
355 |
+
}
|
356 |
+
.main.active {
|
357 |
+
left: 300px;
|
358 |
+
}
|
359 |
+
.cardBox {
|
360 |
+
grid-template-columns: repeat(2, 1fr);
|
361 |
+
}
|
362 |
+
}
|
363 |
+
|
364 |
+
@media (max-width: 768px) {
|
365 |
+
.details {
|
366 |
+
grid-template-columns: 1fr;
|
367 |
+
}
|
368 |
+
.recentOrders {
|
369 |
+
overflow-x: auto;
|
370 |
+
}
|
371 |
+
.status.inProgress {
|
372 |
+
white-space: nowrap;
|
373 |
+
}
|
374 |
+
}
|
375 |
+
|
376 |
+
@media (max-width: 480px) {
|
377 |
+
.cardBox {
|
378 |
+
grid-template-columns: repeat(1, 1fr);
|
379 |
+
}
|
380 |
+
.cardHeader h2 {
|
381 |
+
font-size: 20px;
|
382 |
+
}
|
383 |
+
.user {
|
384 |
+
min-width: 40px;
|
385 |
+
}
|
386 |
+
.navigation {
|
387 |
+
width: 100%;
|
388 |
+
left: -100%;
|
389 |
+
z-index: 1000;
|
390 |
+
}
|
391 |
+
.navigation.active {
|
392 |
+
width: 100%;
|
393 |
+
left: 0;
|
394 |
+
}
|
395 |
+
.toggle {
|
396 |
+
z-index: 10001;
|
397 |
+
}
|
398 |
+
.main.active .toggle {
|
399 |
+
color: #fff;
|
400 |
+
position: fixed;
|
401 |
+
right: 0;
|
402 |
+
left: initial;
|
403 |
+
}
|
404 |
+
}
|
405 |
+
|
static/css/dashboard-layout-data-anak.css
ADDED
@@ -0,0 +1,455 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* =========== Google Fonts ============ */
|
2 |
+
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap");
|
3 |
+
|
4 |
+
/* =============== Globals ============== */
|
5 |
+
* {
|
6 |
+
font-family: "Ubuntu", sans-serif;
|
7 |
+
margin: 0;
|
8 |
+
padding: 0;
|
9 |
+
box-sizing: border-box;
|
10 |
+
}
|
11 |
+
|
12 |
+
:root {
|
13 |
+
--blue: #0c7178;
|
14 |
+
--white: #fff;
|
15 |
+
--gray: #f5f5f5;
|
16 |
+
--black1: #222;
|
17 |
+
--black2: #999;
|
18 |
+
}
|
19 |
+
|
20 |
+
body {
|
21 |
+
min-height: 100vh;
|
22 |
+
overflow-x: hidden;
|
23 |
+
}
|
24 |
+
|
25 |
+
.container {
|
26 |
+
position: relative;
|
27 |
+
width: 100%;
|
28 |
+
}
|
29 |
+
|
30 |
+
/* =============== Navigation ================ */
|
31 |
+
.navigation {
|
32 |
+
position: fixed;
|
33 |
+
width: 300px;
|
34 |
+
height: 100%;
|
35 |
+
background: var(--blue);
|
36 |
+
border-left: 10px solid var(--blue);
|
37 |
+
transition: 0.5s;
|
38 |
+
overflow: hidden;
|
39 |
+
}
|
40 |
+
.navigation.active {
|
41 |
+
width: 80px;
|
42 |
+
}
|
43 |
+
|
44 |
+
.navigation ul {
|
45 |
+
position: absolute;
|
46 |
+
top: 0;
|
47 |
+
left: 0;
|
48 |
+
width: 100%;
|
49 |
+
}
|
50 |
+
|
51 |
+
.navigation ul li {
|
52 |
+
position: relative;
|
53 |
+
width: 100%;
|
54 |
+
list-style: none;
|
55 |
+
border-top-left-radius: 30px;
|
56 |
+
border-bottom-left-radius: 30px;
|
57 |
+
}
|
58 |
+
|
59 |
+
.navigation ul li:hover,
|
60 |
+
.navigation ul li.hovered {
|
61 |
+
background-color: var(--white);
|
62 |
+
}
|
63 |
+
|
64 |
+
.navigation ul li:nth-child(1) {
|
65 |
+
margin-bottom: 40px;
|
66 |
+
pointer-events: none;
|
67 |
+
}
|
68 |
+
|
69 |
+
.navigation ul li a {
|
70 |
+
position: relative;
|
71 |
+
display: block;
|
72 |
+
width: 100%;
|
73 |
+
display: flex;
|
74 |
+
text-decoration: none;
|
75 |
+
color: var(--white);
|
76 |
+
}
|
77 |
+
.navigation ul li:hover a,
|
78 |
+
.navigation ul li.hovered a {
|
79 |
+
color: var(--blue);
|
80 |
+
}
|
81 |
+
|
82 |
+
.navigation ul li a .icon {
|
83 |
+
position: relative;
|
84 |
+
display: block;
|
85 |
+
min-width: 60px;
|
86 |
+
height: 60px;
|
87 |
+
line-height: 75px;
|
88 |
+
text-align: center;
|
89 |
+
}
|
90 |
+
.navigation ul li a .icon ion-icon {
|
91 |
+
font-size: 1.75rem;
|
92 |
+
}
|
93 |
+
|
94 |
+
table {
|
95 |
+
border-collapse: collapse;
|
96 |
+
width: 100%;
|
97 |
+
}
|
98 |
+
|
99 |
+
th, td {
|
100 |
+
padding: 8px;
|
101 |
+
text-align: left;
|
102 |
+
border-bottom: 1px solid #ddd;
|
103 |
+
}
|
104 |
+
|
105 |
+
tr:nth-child(even) {
|
106 |
+
background-color: #f2f2f2;
|
107 |
+
}
|
108 |
+
|
109 |
+
th {
|
110 |
+
background-color: var(--blue);
|
111 |
+
color: white;
|
112 |
+
}
|
113 |
+
|
114 |
+
.details-button {
|
115 |
+
background-color: var(--blue);
|
116 |
+
border: none;
|
117 |
+
color: white;
|
118 |
+
padding: 8px 12px;
|
119 |
+
text-align: center;
|
120 |
+
text-decoration: none;
|
121 |
+
display: inline-block;
|
122 |
+
cursor: pointer;
|
123 |
+
font-size: 14px;
|
124 |
+
}
|
125 |
+
|
126 |
+
.details-button:hover {
|
127 |
+
background-color: #45a049;
|
128 |
+
}
|
129 |
+
|
130 |
+
.navigation ul li a .title {
|
131 |
+
position: relative;
|
132 |
+
display: block;
|
133 |
+
padding: 0 10px;
|
134 |
+
height: 60px;
|
135 |
+
line-height: 60px;
|
136 |
+
text-align: start;
|
137 |
+
white-space: nowrap;
|
138 |
+
}
|
139 |
+
|
140 |
+
/* --------- curve outside ---------- */
|
141 |
+
.navigation ul li:hover a::before,
|
142 |
+
.navigation ul li.hovered a::before {
|
143 |
+
content: "";
|
144 |
+
position: absolute;
|
145 |
+
right: 0;
|
146 |
+
top: -50px;
|
147 |
+
width: 50px;
|
148 |
+
height: 50px;
|
149 |
+
background-color: transparent;
|
150 |
+
border-radius: 50%;
|
151 |
+
box-shadow: 35px 35px 0 10px var(--white);
|
152 |
+
pointer-events: none;
|
153 |
+
}
|
154 |
+
.navigation ul li:hover a::after,
|
155 |
+
.navigation ul li.hovered a::after {
|
156 |
+
content: "";
|
157 |
+
position: absolute;
|
158 |
+
right: 0;
|
159 |
+
bottom: -50px;
|
160 |
+
width: 50px;
|
161 |
+
height: 50px;
|
162 |
+
background-color: transparent;
|
163 |
+
border-radius: 50%;
|
164 |
+
box-shadow: 35px -35px 0 10px var(--white);
|
165 |
+
pointer-events: none;
|
166 |
+
}
|
167 |
+
|
168 |
+
/* ===================== Main ===================== */
|
169 |
+
.main {
|
170 |
+
position: absolute;
|
171 |
+
width: calc(100% - 300px);
|
172 |
+
left: 300px;
|
173 |
+
min-height: 100vh;
|
174 |
+
background: var(--white);
|
175 |
+
transition: 0.5s;
|
176 |
+
}
|
177 |
+
.main.active {
|
178 |
+
width: calc(100% - 80px);
|
179 |
+
left: 80px;
|
180 |
+
}
|
181 |
+
|
182 |
+
.topbar {
|
183 |
+
width: 100%;
|
184 |
+
height: 60px;
|
185 |
+
display: flex;
|
186 |
+
justify-content: space-between;
|
187 |
+
align-items: center;
|
188 |
+
padding: 0 10px;
|
189 |
+
}
|
190 |
+
|
191 |
+
.toggle {
|
192 |
+
position: relative;
|
193 |
+
width: 60px;
|
194 |
+
height: 60px;
|
195 |
+
display: flex;
|
196 |
+
justify-content: center;
|
197 |
+
align-items: center;
|
198 |
+
font-size: 2.5rem;
|
199 |
+
cursor: pointer;
|
200 |
+
}
|
201 |
+
|
202 |
+
.search {
|
203 |
+
position: relative;
|
204 |
+
width: 400px;
|
205 |
+
margin: 0 10px;
|
206 |
+
}
|
207 |
+
|
208 |
+
.search label {
|
209 |
+
position: relative;
|
210 |
+
width: 100%;
|
211 |
+
}
|
212 |
+
|
213 |
+
.search label input {
|
214 |
+
width: 100%;
|
215 |
+
height: 40px;
|
216 |
+
border-radius: 40px;
|
217 |
+
padding: 5px 20px;
|
218 |
+
padding-left: 35px;
|
219 |
+
font-size: 18px;
|
220 |
+
outline: none;
|
221 |
+
border: 1px solid var(--black2);
|
222 |
+
}
|
223 |
+
|
224 |
+
.search label ion-icon {
|
225 |
+
position: absolute;
|
226 |
+
top: 0;
|
227 |
+
left: 10px;
|
228 |
+
font-size: 1.2rem;
|
229 |
+
}
|
230 |
+
|
231 |
+
.user {
|
232 |
+
position: relative;
|
233 |
+
width: 40px;
|
234 |
+
height: 40px;
|
235 |
+
border-radius: 50%;
|
236 |
+
overflow: hidden;
|
237 |
+
cursor: pointer;
|
238 |
+
}
|
239 |
+
|
240 |
+
.detailsPuskesmas {
|
241 |
+
color: #999;
|
242 |
+
font-size: 1.1rem;
|
243 |
+
margin-top: 5px;
|
244 |
+
}
|
245 |
+
|
246 |
+
/* ======================= Cards ====================== */
|
247 |
+
.cardBox {
|
248 |
+
position: relative;
|
249 |
+
width: 198%;
|
250 |
+
padding: 20px;
|
251 |
+
display: grid;
|
252 |
+
grid-template-columns: repeat(4, 1fr);
|
253 |
+
grid-gap: 30px;
|
254 |
+
}
|
255 |
+
|
256 |
+
.cardBox .card {
|
257 |
+
position: relative;
|
258 |
+
background: var(--white);
|
259 |
+
padding: 30px;
|
260 |
+
border-radius: 20px;
|
261 |
+
display: flex;
|
262 |
+
justify-content: space-between;
|
263 |
+
cursor: pointer;
|
264 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
265 |
+
}
|
266 |
+
|
267 |
+
.cardBox .card .numbers {
|
268 |
+
position: relative;
|
269 |
+
font-weight: 500;
|
270 |
+
font-size: 2.5rem;
|
271 |
+
color: var(--blue);
|
272 |
+
}
|
273 |
+
|
274 |
+
.cardBox .card .cardName {
|
275 |
+
color: var(--black2);
|
276 |
+
font-size: 1.1rem;
|
277 |
+
margin-top: 5px;
|
278 |
+
}
|
279 |
+
|
280 |
+
.cardBox .card .iconBx {
|
281 |
+
font-size: 3.5rem;
|
282 |
+
color: var(--black2);
|
283 |
+
}
|
284 |
+
|
285 |
+
.cardBox .card:hover {
|
286 |
+
background: var(--blue);
|
287 |
+
}
|
288 |
+
.cardBox .card:hover .numbers,
|
289 |
+
.cardBox .card:hover .cardName,
|
290 |
+
.cardBox .card:hover .iconBx {
|
291 |
+
color: var(--white);
|
292 |
+
}
|
293 |
+
|
294 |
+
/* ================== Order Details List ============== */
|
295 |
+
.details {
|
296 |
+
position: relative;
|
297 |
+
width: 150%;
|
298 |
+
padding: 20px;
|
299 |
+
display: grid;
|
300 |
+
grid-template-columns: 2fr 1fr;
|
301 |
+
grid-gap: 30px;
|
302 |
+
/* margin-top: 10px; */
|
303 |
+
}
|
304 |
+
|
305 |
+
/* charts */
|
306 |
+
.graphBox
|
307 |
+
{
|
308 |
+
margin: 0 30px 0 20px;
|
309 |
+
/* position: relative; */
|
310 |
+
padding: 20px;
|
311 |
+
width: calc(100% - 50px);
|
312 |
+
/* height: 200px; */
|
313 |
+
padding: 20px;
|
314 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
315 |
+
border-radius: 20px;
|
316 |
+
/* display: grid; */
|
317 |
+
/* grid-template-columns: 1fr 2fr; */
|
318 |
+
/* grid-gap: 30px; */
|
319 |
+
}
|
320 |
+
|
321 |
+
.graphBox .box
|
322 |
+
{
|
323 |
+
position: relative;
|
324 |
+
background: #white;
|
325 |
+
width: 100%;
|
326 |
+
height: 2
|
327 |
+
padding: 20px;
|
328 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
329 |
+
border-radius: 20px;
|
330 |
+
}
|
331 |
+
|
332 |
+
.details .chart {
|
333 |
+
position: relative;
|
334 |
+
display: grid;
|
335 |
+
min-height: 500px;
|
336 |
+
background: var(--white);
|
337 |
+
padding: 20px;
|
338 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
339 |
+
border-radius: 20px;
|
340 |
+
}
|
341 |
+
|
342 |
+
.details .cardHeader {
|
343 |
+
display: flex;
|
344 |
+
justify-content: space-between;
|
345 |
+
align-items: flex-start;
|
346 |
+
}
|
347 |
+
.cardHeader h2 {
|
348 |
+
font-weight: 600;
|
349 |
+
color: var(--blue);
|
350 |
+
}
|
351 |
+
.cardHeader .btn {
|
352 |
+
position: relative;
|
353 |
+
padding: 5px 10px;
|
354 |
+
background: var(--blue);
|
355 |
+
text-decoration: none;
|
356 |
+
color: var(--white);
|
357 |
+
border-radius: 6px;
|
358 |
+
}
|
359 |
+
|
360 |
+
.details table {
|
361 |
+
width: 100%;
|
362 |
+
border-collapse: collapse;
|
363 |
+
margin-top: 10px;
|
364 |
+
}
|
365 |
+
.details table thead td {
|
366 |
+
font-weight: 600;
|
367 |
+
}
|
368 |
+
/* ====================== Responsive Design ========================== */
|
369 |
+
@media (max-width: 991px) {
|
370 |
+
|
371 |
+
.graphBox{
|
372 |
+
grid-template-columns: 1fr;
|
373 |
+
height: auto;
|
374 |
+
}
|
375 |
+
.navigation {
|
376 |
+
left: -300px;
|
377 |
+
}
|
378 |
+
.navigation.active {
|
379 |
+
width: 300px;
|
380 |
+
left: 0;
|
381 |
+
}
|
382 |
+
.main {
|
383 |
+
width: 100%;
|
384 |
+
left: 0;
|
385 |
+
}
|
386 |
+
.main.active {
|
387 |
+
left: 300px;
|
388 |
+
}
|
389 |
+
.cardBox {
|
390 |
+
grid-template-columns: repeat(2, 1fr);
|
391 |
+
}
|
392 |
+
}
|
393 |
+
|
394 |
+
@media (max-width: 768px) {
|
395 |
+
.details {
|
396 |
+
grid-template-columns: 1fr;
|
397 |
+
}
|
398 |
+
.recentOrders {
|
399 |
+
overflow-x: auto;
|
400 |
+
}
|
401 |
+
.status.inProgress {
|
402 |
+
white-space: nowrap;
|
403 |
+
}
|
404 |
+
}
|
405 |
+
|
406 |
+
@media (max-width: 480px) {
|
407 |
+
.cardBox {
|
408 |
+
grid-template-columns: repeat(1, 1fr);
|
409 |
+
}
|
410 |
+
.cardHeader h2 {
|
411 |
+
font-size: 20px;
|
412 |
+
}
|
413 |
+
.user {
|
414 |
+
min-width: 40px;
|
415 |
+
}
|
416 |
+
.navigation {
|
417 |
+
width: 100%;
|
418 |
+
left: -100%;
|
419 |
+
z-index: 1000;
|
420 |
+
}
|
421 |
+
.navigation.active {
|
422 |
+
width: 100%;
|
423 |
+
left: 0;
|
424 |
+
}
|
425 |
+
.toggle {
|
426 |
+
z-index: 10001;
|
427 |
+
}
|
428 |
+
.main.active .toggle {
|
429 |
+
color: #fff;
|
430 |
+
position: fixed;
|
431 |
+
right: 0;
|
432 |
+
left: initial;
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
.search-container {
|
437 |
+
position: relative;
|
438 |
+
display: inline-block;
|
439 |
+
padding-bottom: 10px;
|
440 |
+
}
|
441 |
+
|
442 |
+
.search-input {
|
443 |
+
padding: 10px;
|
444 |
+
border: 1px solid #ccc;
|
445 |
+
border-radius: 4px;
|
446 |
+
}
|
447 |
+
|
448 |
+
.search-button {
|
449 |
+
float: right;
|
450 |
+
padding: 10px;
|
451 |
+
background-color: #ccc;
|
452 |
+
border: none;
|
453 |
+
border-radius: 4px;
|
454 |
+
cursor: pointer;
|
455 |
+
}
|
static/css/dashboard-layout-kategori.css
ADDED
File without changes
|
static/css/dashboard-style.css
ADDED
@@ -0,0 +1,404 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* =========== Google Fonts ============ */
|
2 |
+
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap");
|
3 |
+
|
4 |
+
/* =============== Globals ============== */
|
5 |
+
* {
|
6 |
+
font-family: "Ubuntu", sans-serif;
|
7 |
+
margin: 0;
|
8 |
+
padding: 0;
|
9 |
+
box-sizing: border-box;
|
10 |
+
}
|
11 |
+
|
12 |
+
:root {
|
13 |
+
--blue: #0c7178;
|
14 |
+
--white: #fff;
|
15 |
+
--gray: #f5f5f5;
|
16 |
+
--black1: #222;
|
17 |
+
--black2: #999;
|
18 |
+
}
|
19 |
+
|
20 |
+
body {
|
21 |
+
min-height: 100vh;
|
22 |
+
overflow-x: hidden;
|
23 |
+
}
|
24 |
+
|
25 |
+
.container {
|
26 |
+
position: relative;
|
27 |
+
width: 100%;
|
28 |
+
}
|
29 |
+
|
30 |
+
/* =============== Navigation ================ */
|
31 |
+
.navigation {
|
32 |
+
position: fixed;
|
33 |
+
width: 300px;
|
34 |
+
height: 100%;
|
35 |
+
background: var(--blue);
|
36 |
+
border-left: 10px solid var(--blue);
|
37 |
+
transition: 0.5s;
|
38 |
+
overflow: hidden;
|
39 |
+
}
|
40 |
+
.navigation.active {
|
41 |
+
width: 80px;
|
42 |
+
}
|
43 |
+
|
44 |
+
.navigation ul {
|
45 |
+
position: absolute;
|
46 |
+
top: 0;
|
47 |
+
left: 0;
|
48 |
+
width: 100%;
|
49 |
+
}
|
50 |
+
|
51 |
+
.navigation ul li {
|
52 |
+
position: relative;
|
53 |
+
width: 100%;
|
54 |
+
list-style: none;
|
55 |
+
border-top-left-radius: 30px;
|
56 |
+
border-bottom-left-radius: 30px;
|
57 |
+
}
|
58 |
+
|
59 |
+
.navigation ul li:hover,
|
60 |
+
.navigation ul li.hovered {
|
61 |
+
background-color: var(--white);
|
62 |
+
}
|
63 |
+
|
64 |
+
.navigation ul li:nth-child(1) {
|
65 |
+
margin-bottom: 40px;
|
66 |
+
pointer-events: none;
|
67 |
+
}
|
68 |
+
|
69 |
+
.navigation ul li a {
|
70 |
+
position: relative;
|
71 |
+
display: block;
|
72 |
+
width: 100%;
|
73 |
+
display: flex;
|
74 |
+
text-decoration: none;
|
75 |
+
color: var(--white);
|
76 |
+
}
|
77 |
+
.navigation ul li:hover a,
|
78 |
+
.navigation ul li.hovered a {
|
79 |
+
color: var(--blue);
|
80 |
+
}
|
81 |
+
|
82 |
+
.navigation ul li a .icon {
|
83 |
+
position: relative;
|
84 |
+
display: block;
|
85 |
+
min-width: 60px;
|
86 |
+
height: 60px;
|
87 |
+
line-height: 75px;
|
88 |
+
text-align: center;
|
89 |
+
}
|
90 |
+
.navigation ul li a .icon ion-icon {
|
91 |
+
font-size: 1.75rem;
|
92 |
+
}
|
93 |
+
|
94 |
+
.navigation ul li a .title {
|
95 |
+
position: relative;
|
96 |
+
display: block;
|
97 |
+
padding: 0 10px;
|
98 |
+
height: 60px;
|
99 |
+
line-height: 60px;
|
100 |
+
text-align: start;
|
101 |
+
white-space: nowrap;
|
102 |
+
}
|
103 |
+
|
104 |
+
/* --------- curve outside ---------- */
|
105 |
+
.navigation ul li:hover a::before,
|
106 |
+
.navigation ul li.hovered a::before {
|
107 |
+
content: "";
|
108 |
+
position: absolute;
|
109 |
+
right: 0;
|
110 |
+
top: -50px;
|
111 |
+
width: 50px;
|
112 |
+
height: 50px;
|
113 |
+
background-color: transparent;
|
114 |
+
border-radius: 50%;
|
115 |
+
box-shadow: 35px 35px 0 10px var(--white);
|
116 |
+
pointer-events: none;
|
117 |
+
}
|
118 |
+
.navigation ul li:hover a::after,
|
119 |
+
.navigation ul li.hovered a::after {
|
120 |
+
content: "";
|
121 |
+
position: absolute;
|
122 |
+
right: 0;
|
123 |
+
bottom: -50px;
|
124 |
+
width: 50px;
|
125 |
+
height: 50px;
|
126 |
+
background-color: transparent;
|
127 |
+
border-radius: 50%;
|
128 |
+
box-shadow: 35px -35px 0 10px var(--white);
|
129 |
+
pointer-events: none;
|
130 |
+
}
|
131 |
+
|
132 |
+
/* ===================== Main ===================== */
|
133 |
+
.main {
|
134 |
+
position: absolute;
|
135 |
+
width: calc(100% - 300px);
|
136 |
+
left: 300px;
|
137 |
+
min-height: 100vh;
|
138 |
+
background: var(--white);
|
139 |
+
transition: 0.5s;
|
140 |
+
}
|
141 |
+
.main.active {
|
142 |
+
width: calc(100% - 80px);
|
143 |
+
left: 80px;
|
144 |
+
}
|
145 |
+
|
146 |
+
.topbar {
|
147 |
+
width: 100%;
|
148 |
+
height: 60px;
|
149 |
+
display: flex;
|
150 |
+
justify-content: space-between;
|
151 |
+
align-items: center;
|
152 |
+
padding: 0 10px;
|
153 |
+
}
|
154 |
+
|
155 |
+
.toggle {
|
156 |
+
position: relative;
|
157 |
+
width: 60px;
|
158 |
+
height: 60px;
|
159 |
+
display: flex;
|
160 |
+
justify-content: center;
|
161 |
+
align-items: center;
|
162 |
+
font-size: 2.5rem;
|
163 |
+
cursor: pointer;
|
164 |
+
}
|
165 |
+
|
166 |
+
.search {
|
167 |
+
position: relative;
|
168 |
+
width: 400px;
|
169 |
+
margin: 0 10px;
|
170 |
+
}
|
171 |
+
|
172 |
+
.search label {
|
173 |
+
position: relative;
|
174 |
+
width: 100%;
|
175 |
+
}
|
176 |
+
|
177 |
+
.search label input {
|
178 |
+
width: 100%;
|
179 |
+
height: 40px;
|
180 |
+
border-radius: 40px;
|
181 |
+
padding: 5px 20px;
|
182 |
+
padding-left: 35px;
|
183 |
+
font-size: 18px;
|
184 |
+
outline: none;
|
185 |
+
border: 1px solid var(--black2);
|
186 |
+
}
|
187 |
+
|
188 |
+
.search label ion-icon {
|
189 |
+
position: absolute;
|
190 |
+
top: 0;
|
191 |
+
left: 10px;
|
192 |
+
font-size: 1.2rem;
|
193 |
+
}
|
194 |
+
|
195 |
+
.user {
|
196 |
+
position: relative;
|
197 |
+
width: 40px;
|
198 |
+
height: 40px;
|
199 |
+
border-radius: 50%;
|
200 |
+
overflow: hidden;
|
201 |
+
cursor: pointer;
|
202 |
+
}
|
203 |
+
|
204 |
+
.detailsPuskesmas {
|
205 |
+
color: #999;
|
206 |
+
font-size: 1.1rem;
|
207 |
+
margin-top: 5px;
|
208 |
+
}
|
209 |
+
|
210 |
+
/* ======================= Cards ====================== */
|
211 |
+
.cardBox {
|
212 |
+
position: relative;
|
213 |
+
width: 198%;
|
214 |
+
padding: 20px;
|
215 |
+
display: grid;
|
216 |
+
grid-template-columns: repeat(4, 1fr);
|
217 |
+
grid-gap: 30px;
|
218 |
+
}
|
219 |
+
|
220 |
+
.cardBox .card {
|
221 |
+
position: relative;
|
222 |
+
background: var(--white);
|
223 |
+
padding: 30px;
|
224 |
+
border-radius: 20px;
|
225 |
+
display: flex;
|
226 |
+
justify-content: space-between;
|
227 |
+
cursor: pointer;
|
228 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
229 |
+
}
|
230 |
+
|
231 |
+
.cardBox .card .numbers {
|
232 |
+
position: relative;
|
233 |
+
font-weight: 500;
|
234 |
+
font-size: 2.5rem;
|
235 |
+
color: var(--blue);
|
236 |
+
}
|
237 |
+
|
238 |
+
.cardBox .card .cardName {
|
239 |
+
color: var(--black2);
|
240 |
+
font-size: 1.1rem;
|
241 |
+
margin-top: 5px;
|
242 |
+
}
|
243 |
+
|
244 |
+
.cardBox .card .iconBx {
|
245 |
+
font-size: 3.5rem;
|
246 |
+
color: var(--black2);
|
247 |
+
}
|
248 |
+
|
249 |
+
.cardBox .card:hover {
|
250 |
+
background: var(--blue);
|
251 |
+
}
|
252 |
+
.cardBox .card:hover .numbers,
|
253 |
+
.cardBox .card:hover .cardName,
|
254 |
+
.cardBox .card:hover .iconBx {
|
255 |
+
color: var(--white);
|
256 |
+
}
|
257 |
+
|
258 |
+
/* ================== Order Details List ============== */
|
259 |
+
.details {
|
260 |
+
position: relative;
|
261 |
+
width: 150%;
|
262 |
+
padding: 20px;
|
263 |
+
display: grid;
|
264 |
+
grid-template-columns: 2fr 1fr;
|
265 |
+
grid-gap: 30px;
|
266 |
+
/* margin-top: 10px; */
|
267 |
+
}
|
268 |
+
|
269 |
+
/* charts */
|
270 |
+
|
271 |
+
|
272 |
+
.details-button:hover {
|
273 |
+
background-color: #45a049;
|
274 |
+
}
|
275 |
+
|
276 |
+
.graphBox
|
277 |
+
{
|
278 |
+
margin: 0 30px 0 20px;
|
279 |
+
/* position: relative; */
|
280 |
+
padding: 20px;
|
281 |
+
width: calc(100% - 50px);
|
282 |
+
/* height: 200px; */
|
283 |
+
padding: 20px;
|
284 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
285 |
+
border-radius: 20px;
|
286 |
+
/* display: grid; */
|
287 |
+
/* grid-template-columns: 1fr 2fr; */
|
288 |
+
/* grid-gap: 30px; */
|
289 |
+
}
|
290 |
+
|
291 |
+
.graphBox .box
|
292 |
+
{
|
293 |
+
position: relative;
|
294 |
+
background: #white;
|
295 |
+
width: 100%;
|
296 |
+
height: 2
|
297 |
+
padding: 20px;
|
298 |
+
box-shadow: 0 7px 25px rgba(0,0,0,0.08);
|
299 |
+
border-radius: 20px;
|
300 |
+
}
|
301 |
+
|
302 |
+
.details .chart {
|
303 |
+
position: relative;
|
304 |
+
display: grid;
|
305 |
+
min-height: 500px;
|
306 |
+
background: var(--white);
|
307 |
+
padding: 20px;
|
308 |
+
box-shadow: 0 7px 25px rgba(0, 0, 0, 0.08);
|
309 |
+
border-radius: 20px;
|
310 |
+
}
|
311 |
+
|
312 |
+
.details .cardHeader {
|
313 |
+
display: flex;
|
314 |
+
justify-content: space-between;
|
315 |
+
align-items: flex-start;
|
316 |
+
}
|
317 |
+
.cardHeader h2 {
|
318 |
+
font-weight: 600;
|
319 |
+
color: var(--blue);
|
320 |
+
}
|
321 |
+
.cardHeader .btn {
|
322 |
+
position: relative;
|
323 |
+
padding: 5px 10px;
|
324 |
+
background: var(--blue);
|
325 |
+
text-decoration: none;
|
326 |
+
color: var(--white);
|
327 |
+
border-radius: 6px;
|
328 |
+
}
|
329 |
+
|
330 |
+
.details table {
|
331 |
+
width: 100%;
|
332 |
+
border-collapse: collapse;
|
333 |
+
margin-top: 10px;
|
334 |
+
}
|
335 |
+
.details table thead td {
|
336 |
+
font-weight: 600;
|
337 |
+
}
|
338 |
+
/* ====================== Responsive Design ========================== */
|
339 |
+
@media (max-width: 991px) {
|
340 |
+
|
341 |
+
.graphBox{
|
342 |
+
grid-template-columns: 1fr;
|
343 |
+
height: auto;
|
344 |
+
}
|
345 |
+
.navigation {
|
346 |
+
left: -300px;
|
347 |
+
}
|
348 |
+
.navigation.active {
|
349 |
+
width: 300px;
|
350 |
+
left: 0;
|
351 |
+
}
|
352 |
+
.main {
|
353 |
+
width: 100%;
|
354 |
+
left: 0;
|
355 |
+
}
|
356 |
+
.main.active {
|
357 |
+
left: 300px;
|
358 |
+
}
|
359 |
+
.cardBox {
|
360 |
+
grid-template-columns: repeat(2, 1fr);
|
361 |
+
}
|
362 |
+
}
|
363 |
+
|
364 |
+
@media (max-width: 768px) {
|
365 |
+
.details {
|
366 |
+
grid-template-columns: 1fr;
|
367 |
+
}
|
368 |
+
.recentOrders {
|
369 |
+
overflow-x: auto;
|
370 |
+
}
|
371 |
+
.status.inProgress {
|
372 |
+
white-space: nowrap;
|
373 |
+
}
|
374 |
+
}
|
375 |
+
|
376 |
+
@media (max-width: 480px) {
|
377 |
+
.cardBox {
|
378 |
+
grid-template-columns: repeat(1, 1fr);
|
379 |
+
}
|
380 |
+
.cardHeader h2 {
|
381 |
+
font-size: 20px;
|
382 |
+
}
|
383 |
+
.user {
|
384 |
+
min-width: 40px;
|
385 |
+
}
|
386 |
+
.navigation {
|
387 |
+
width: 100%;
|
388 |
+
left: -100%;
|
389 |
+
z-index: 1000;
|
390 |
+
}
|
391 |
+
.navigation.active {
|
392 |
+
width: 100%;
|
393 |
+
left: 0;
|
394 |
+
}
|
395 |
+
.toggle {
|
396 |
+
z-index: 10001;
|
397 |
+
}
|
398 |
+
.main.active .toggle {
|
399 |
+
color: #fff;
|
400 |
+
position: fixed;
|
401 |
+
right: 0;
|
402 |
+
left: initial;
|
403 |
+
}
|
404 |
+
}
|
static/css/index.css
ADDED
@@ -0,0 +1,235 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
:root{
|
2 |
+
--primary: #006400 ;
|
3 |
+
--bg: #fff;
|
4 |
+
}
|
5 |
+
|
6 |
+
*{
|
7 |
+
margin: 0;
|
8 |
+
padding: 0;
|
9 |
+
box-sizing: border-box;
|
10 |
+
outline: none;
|
11 |
+
border: none;
|
12 |
+
}
|
13 |
+
|
14 |
+
body {
|
15 |
+
font-family: 'Poppins', sans-serif;
|
16 |
+
background-color: var(--bg);
|
17 |
+
color:#2F4F4F ;
|
18 |
+
min-height: 3000px;
|
19 |
+
}
|
20 |
+
|
21 |
+
|
22 |
+
.navbar {
|
23 |
+
display: flex;
|
24 |
+
justify-content: space-between;
|
25 |
+
align-items: center;
|
26 |
+
padding: 1.4rem 7%;
|
27 |
+
background-color: #8FBC8F;
|
28 |
+
position: fixed;
|
29 |
+
top: 0;
|
30 |
+
left: 0;
|
31 |
+
right: 0;
|
32 |
+
z-index: 9999;
|
33 |
+
}
|
34 |
+
|
35 |
+
.navbar .navbar-logo {
|
36 |
+
text-decoration: none;
|
37 |
+
font-size: 2rem;
|
38 |
+
font-weight: 700;
|
39 |
+
color: #fff;
|
40 |
+
font-style: italic;
|
41 |
+
}
|
42 |
+
|
43 |
+
.navbar .navbar-logo span{
|
44 |
+
color: var(--primary);
|
45 |
+
}
|
46 |
+
|
47 |
+
|
48 |
+
.navbar .navbar-nav a{
|
49 |
+
color: #fff;
|
50 |
+
display: inline-block;
|
51 |
+
font-size: 1rem;
|
52 |
+
margin: 0 1rem;
|
53 |
+
text-decoration: none;
|
54 |
+
}
|
55 |
+
|
56 |
+
.navbar .navbar-nav a:hover {
|
57 |
+
color: #DAA520;
|
58 |
+
}
|
59 |
+
|
60 |
+
.navbar .navbar-nav a::after {
|
61 |
+
content: '';
|
62 |
+
display: block;
|
63 |
+
padding-bottom: 0.5rem;
|
64 |
+
border-bottom: 0.1rem solid var(--primary);
|
65 |
+
transform: scaleX(0);
|
66 |
+
transition: 0.2s linear;
|
67 |
+
}
|
68 |
+
|
69 |
+
.navbar .navbar-nav a:hover::after{
|
70 |
+
transform: scaleX(0.5);
|
71 |
+
}
|
72 |
+
|
73 |
+
.navbar .navbar-extra a {
|
74 |
+
color: #fff;
|
75 |
+
margin: 0 0.5rem;
|
76 |
+
}
|
77 |
+
|
78 |
+
.navbar .navbar-extra a:hover {
|
79 |
+
color: var(--primary);
|
80 |
+
}
|
81 |
+
|
82 |
+
#hamburger-menu{
|
83 |
+
display: none;
|
84 |
+
}
|
85 |
+
|
86 |
+
.hero {
|
87 |
+
min-height: 100vh;
|
88 |
+
display: flex;
|
89 |
+
align-items: center;
|
90 |
+
background-color: #fff;
|
91 |
+
background-repeat: no-repeat;
|
92 |
+
background-size: cover;
|
93 |
+
background-position: center;
|
94 |
+
position: relative;
|
95 |
+
}
|
96 |
+
|
97 |
+
.hero .content {
|
98 |
+
padding: 1.4rem 7%;
|
99 |
+
max-width: 60rem;
|
100 |
+
}
|
101 |
+
|
102 |
+
.hero .content h1{
|
103 |
+
font-size: 4em;
|
104 |
+
color: black;
|
105 |
+
text-shadow: 1px 1px 3px rgba(1, 1, 3, 0.5);
|
106 |
+
line-height: 1.2;
|
107 |
+
}
|
108 |
+
|
109 |
+
.hero .content h1 span{
|
110 |
+
color: var(--primary);
|
111 |
+
}
|
112 |
+
|
113 |
+
.hero .content p{
|
114 |
+
font-size: 1.4rem;
|
115 |
+
margin-top: 0.6rem;
|
116 |
+
line-height: 1.4;
|
117 |
+
}
|
118 |
+
|
119 |
+
.hero .content .cta{
|
120 |
+
margin-top: 1rem;
|
121 |
+
display: inline-block;
|
122 |
+
padding: 1rem 3rem;
|
123 |
+
font-size: 1.4rem;
|
124 |
+
text-decoration: none;
|
125 |
+
color: #fff;
|
126 |
+
background-color: var(--primary);
|
127 |
+
border-radius: 2rem;
|
128 |
+
box-shadow: 1px 1px 3px rgba(1, 1, 3, 0.5)
|
129 |
+
}
|
130 |
+
|
131 |
+
.about,
|
132 |
+
.imt {
|
133 |
+
padding: 8rem 7% 1.4rem;
|
134 |
+
}
|
135 |
+
|
136 |
+
.about h2,
|
137 |
+
.imt h2{
|
138 |
+
text-align: center;
|
139 |
+
font-size: 2.6rem;
|
140 |
+
margin-bottom: 3rem;
|
141 |
+
}
|
142 |
+
|
143 |
+
.about .row,
|
144 |
+
.imt .row{
|
145 |
+
display: flex;
|
146 |
+
}
|
147 |
+
|
148 |
+
.about .row .about-img,
|
149 |
+
.imt .row .imt-img {
|
150 |
+
flex: 1 1 45rem;
|
151 |
+
|
152 |
+
}
|
153 |
+
|
154 |
+
.about .row .about-img img,
|
155 |
+
.imt .row .imt-img img {
|
156 |
+
width: 100%;
|
157 |
+
position: center;
|
158 |
+
}
|
159 |
+
|
160 |
+
|
161 |
+
.about .row .content,
|
162 |
+
.imt .row .content{
|
163 |
+
flex: 1 1 35rem;
|
164 |
+
padding: 0 1rem;
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
.about .row .content h3,
|
169 |
+
.imt .row .content h3{
|
170 |
+
font-size: 1.5rem;
|
171 |
+
margin-bottom: 1rem;
|
172 |
+
}
|
173 |
+
|
174 |
+
.about .row .content p,
|
175 |
+
.about .row .content p{
|
176 |
+
margin-bottom: 0.10rem;
|
177 |
+
font-size: 1rem;
|
178 |
+
line-height: 1.5;
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
|
183 |
+
@media (max-width: 1366px){
|
184 |
+
html {
|
185 |
+
font-size: 80%;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
+
@media (max-width: 758px){
|
190 |
+
html {
|
191 |
+
font-size: 70.5%;
|
192 |
+
}
|
193 |
+
|
194 |
+
|
195 |
+
#hamburger-menu {
|
196 |
+
display: inline-block;
|
197 |
+
}
|
198 |
+
|
199 |
+
.navbar .navbar-nav {
|
200 |
+
position: absolute;
|
201 |
+
top: 100%;
|
202 |
+
right: -100%;
|
203 |
+
background-color: #2F4F4F ;
|
204 |
+
width: 30rem;
|
205 |
+
height: 100vh;
|
206 |
+
transition: 0.3s;
|
207 |
+
}
|
208 |
+
|
209 |
+
.navbar .navbar-nav.active {
|
210 |
+
right: 0;
|
211 |
+
}
|
212 |
+
|
213 |
+
.navbar .navbar-nav a{
|
214 |
+
color: var(--bg);
|
215 |
+
display: block;
|
216 |
+
margin: 1.5rem;
|
217 |
+
padding: 0.5rem;
|
218 |
+
font-size: 1.5rem;
|
219 |
+
}
|
220 |
+
|
221 |
+
.navbar .navbar-nav a::after {
|
222 |
+
transform-origin: 0 0;
|
223 |
+
}
|
224 |
+
|
225 |
+
.navbar .navbar-nav a:hover::after {
|
226 |
+
transform: scaleX(0.2);
|
227 |
+
}
|
228 |
+
|
229 |
+
|
230 |
+
|
231 |
+
@media (max-width: 450px){
|
232 |
+
html {
|
233 |
+
font-size: 55%;
|
234 |
+
}
|
235 |
+
}
|
static/css/input_data.css
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body {
|
2 |
+
font-family: Arial, sans-serif;
|
3 |
+
background-color: #f4f4f4;
|
4 |
+
margin: 0;
|
5 |
+
padding: 0;
|
6 |
+
}
|
7 |
+
|
8 |
+
.container {
|
9 |
+
max-width: 500px;
|
10 |
+
margin: 50px auto;
|
11 |
+
padding: 20px;
|
12 |
+
background-color: #fff;
|
13 |
+
border-radius: 5px;
|
14 |
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
15 |
+
}
|
16 |
+
|
17 |
+
h2 {
|
18 |
+
text-align: center;
|
19 |
+
margin-bottom: 20px;
|
20 |
+
color: #0c7178;
|
21 |
+
}
|
22 |
+
|
23 |
+
.form-group {
|
24 |
+
margin-bottom: 20px;
|
25 |
+
}
|
26 |
+
|
27 |
+
label {
|
28 |
+
display: block;
|
29 |
+
font-weight: bold;
|
30 |
+
margin-bottom: 5px;
|
31 |
+
}
|
32 |
+
|
33 |
+
input[type="text"],
|
34 |
+
input[type="date"],
|
35 |
+
input[type="password"] {
|
36 |
+
width: 100%;
|
37 |
+
padding: 10px;
|
38 |
+
border: 1px solid #ccc;
|
39 |
+
border-radius: 4px;
|
40 |
+
}
|
41 |
+
|
42 |
+
.form-check {
|
43 |
+
margin-top: 10px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.btn {
|
47 |
+
width: 100%;
|
48 |
+
padding: 10px;
|
49 |
+
background-color: #0c7178;
|
50 |
+
border: none;
|
51 |
+
color: #fff;
|
52 |
+
font-weight: bold;
|
53 |
+
cursor: pointer;
|
54 |
+
transition: background-color 0.3s ease;
|
55 |
+
}
|
56 |
+
|
57 |
+
.btn:hover {
|
58 |
+
background-color: #0a5d62;
|
59 |
+
}
|
60 |
+
|
61 |
+
.alert {
|
62 |
+
margin-top: 20px;
|
63 |
+
padding: 10px;
|
64 |
+
border-radius: 4px;
|
65 |
+
}
|
66 |
+
|
67 |
+
.alert-danger {
|
68 |
+
background-color: #f8d7da;
|
69 |
+
color: #721c24;
|
70 |
+
border: 1px solid #f5c6cb;
|
71 |
+
}
|
72 |
+
|
73 |
+
.alert-success {
|
74 |
+
background-color: #d4edda;
|
75 |
+
color: #155724;
|
76 |
+
border: 1px solid #c3e6cb;
|
77 |
+
}
|
78 |
+
|
static/css/login.css
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
body {
|
3 |
+
background: linear-gradient(90deg, #C7C5F4, #8FBC8F)
|
4 |
+
;
|
5 |
+
}
|
6 |
+
.login-form {
|
7 |
+
background-color: #fff;
|
8 |
+
border-radius: 10px;
|
9 |
+
padding: 30px;
|
10 |
+
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
|
11 |
+
max-width: 500px;
|
12 |
+
margin: 0 auto;
|
13 |
+
margin-top: 100px;
|
14 |
+
font-family: Arial, sans-serif;
|
15 |
+
font-size: 14px;
|
16 |
+
color: #333;
|
17 |
+
line-height: 1.5;
|
18 |
+
letter-spacing: 0.5px;
|
19 |
+
}
|
20 |
+
.login-form h2 {
|
21 |
+
text-align: center;
|
22 |
+
margin-bottom: 30px;
|
23 |
+
font-weight: bold;
|
24 |
+
font-size: 24px;
|
25 |
+
color: #333;
|
26 |
+
text-transform: uppercase;
|
27 |
+
letter-spacing: 1px;
|
28 |
+
}
|
29 |
+
.form-group label {
|
30 |
+
font-weight: bold;
|
31 |
+
color: #333;
|
32 |
+
text-transform: uppercase;
|
33 |
+
letter-spacing: 0.5px;
|
34 |
+
}
|
35 |
+
.form-control {
|
36 |
+
padding: 10px 12px;
|
37 |
+
font-size: 14px;
|
38 |
+
border-radius: 5px;
|
39 |
+
border: 1px solid #ccc;
|
40 |
+
background-color: #f5f5f5;
|
41 |
+
color: #333;
|
42 |
+
box-shadow: none;
|
43 |
+
margin-bottom: 20px;
|
44 |
+
}
|
45 |
+
.form-control:focus {
|
46 |
+
border-color: #007bff;
|
47 |
+
box-shadow: none;
|
48 |
+
}
|
49 |
+
.btn-primary {
|
50 |
+
background-color: #007bff;
|
51 |
+
border-color: #007bff;
|
52 |
+
padding: 12px 20px;
|
53 |
+
font-size: 14px;
|
54 |
+
font-weight: bold;
|
55 |
+
text-transform: uppercase;
|
56 |
+
letter-spacing: 1px;
|
57 |
+
}
|
58 |
+
.btn-primary:hover,
|
59 |
+
.btn-primary:focus {
|
60 |
+
background-color: #0062cc;
|
61 |
+
border-color: #0062cc;
|
62 |
+
}
|
static/css/register.css
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
body {
|
3 |
+
background: linear-gradient(90deg, #C7C5F4, #8FBC8F)
|
4 |
+
;
|
5 |
+
}
|
6 |
+
.login-form {
|
7 |
+
background-color: #fff;
|
8 |
+
border-radius: 10px;
|
9 |
+
padding: 30px;
|
10 |
+
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
|
11 |
+
max-width: 500px;
|
12 |
+
margin: 0 auto;
|
13 |
+
margin-top: 100px;
|
14 |
+
font-family: Arial, sans-serif;
|
15 |
+
font-size: 14px;
|
16 |
+
color: #333;
|
17 |
+
line-height: 1.5;
|
18 |
+
letter-spacing: 0.5px;
|
19 |
+
}
|
20 |
+
.login-form h2 {
|
21 |
+
text-align: center;
|
22 |
+
margin-bottom: 30px;
|
23 |
+
font-weight: bold;
|
24 |
+
font-size: 24px;
|
25 |
+
color: #333;
|
26 |
+
text-transform: uppercase;
|
27 |
+
letter-spacing: 1px;
|
28 |
+
}
|
29 |
+
.form-group label {
|
30 |
+
font-weight: bold;
|
31 |
+
color: #333;
|
32 |
+
text-transform: uppercase;
|
33 |
+
letter-spacing: 0.5px;
|
34 |
+
}
|
35 |
+
.form-control {
|
36 |
+
padding: 10px 12px;
|
37 |
+
font-size: 14px;
|
38 |
+
border-radius: 5px;
|
39 |
+
border: 1px solid #ccc;
|
40 |
+
background-color: #f5f5f5;
|
41 |
+
color: #333;
|
42 |
+
box-shadow: none;
|
43 |
+
margin-bottom: 20px;
|
44 |
+
}
|
45 |
+
.form-control:focus {
|
46 |
+
border-color: #007bff;
|
47 |
+
box-shadow: none;
|
48 |
+
}
|
49 |
+
.btn-primary {
|
50 |
+
background-color: #007bff;
|
51 |
+
border-color: #007bff;
|
52 |
+
padding: 12px 20px;
|
53 |
+
font-size: 14px;
|
54 |
+
font-weight: bold;
|
55 |
+
text-transform: uppercase;
|
56 |
+
letter-spacing: 1px;
|
57 |
+
}
|
58 |
+
.btn-primary:hover,
|
59 |
+
.btn-primary:focus {
|
60 |
+
background-color: #0062cc;
|
61 |
+
border-color: #0062cc;
|
62 |
+
}
|
static/css/registrasi.css
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* registrasi */
|
2 |
+
|
3 |
+
body {
|
4 |
+
background: linear-gradient(90deg, #C7C5F4, #8FBC8F)
|
5 |
+
;
|
6 |
+
}
|
7 |
+
.login-form {
|
8 |
+
background-color: #fff;
|
9 |
+
border-radius: 10px;
|
10 |
+
padding: 30px;
|
11 |
+
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
|
12 |
+
max-width: 500px;
|
13 |
+
margin: 0 auto;
|
14 |
+
margin-top: 100px;
|
15 |
+
margin-bottom: 100px;
|
16 |
+
font-family: Arial, sans-serif;
|
17 |
+
font-size: 14px;
|
18 |
+
color: #333;
|
19 |
+
line-height: 1.5;
|
20 |
+
letter-spacing: 0.5px;
|
21 |
+
}
|
22 |
+
.login-form h2 {
|
23 |
+
text-align: center;
|
24 |
+
margin-bottom: 30px;
|
25 |
+
font-weight: bold;
|
26 |
+
font-size: 24px;
|
27 |
+
color: #333;
|
28 |
+
text-transform: uppercase;
|
29 |
+
letter-spacing: 1px;
|
30 |
+
}
|
31 |
+
.form-group label {
|
32 |
+
font-weight: bold;
|
33 |
+
color: #333;
|
34 |
+
text-transform: uppercase;
|
35 |
+
letter-spacing: 0.5px;
|
36 |
+
}
|
37 |
+
.form-control {
|
38 |
+
padding: 10px 12px;
|
39 |
+
font-size: 14px;
|
40 |
+
border-radius: 5px;
|
41 |
+
border: 1px solid #ccc;
|
42 |
+
background-color: #f5f5f5;
|
43 |
+
color: #333;
|
44 |
+
box-shadow: none;
|
45 |
+
margin-bottom: 20px;
|
46 |
+
}
|
47 |
+
.form-control:focus {
|
48 |
+
border-color: #007bff;
|
49 |
+
box-shadow: none;
|
50 |
+
}
|
51 |
+
.btn-primary {
|
52 |
+
background-color: #007bff;
|
53 |
+
border-color: #007bff;
|
54 |
+
padding: 12px 20px;
|
55 |
+
font-size: 14px;
|
56 |
+
font-weight: bold;
|
57 |
+
text-transform: uppercase;
|
58 |
+
letter-spacing: 1px;
|
59 |
+
}
|
60 |
+
.btn-primary:hover,
|
61 |
+
.btn-primary:focus {
|
62 |
+
background-color: #0062cc;
|
63 |
+
border-color: #0062cc;
|
64 |
+
}
|
static/image/avatar.svg
ADDED
static/image/bg.svg
ADDED
static/image/gambar.jpg
ADDED
static/image/image.jpg
ADDED
static/image/image1.png
ADDED
static/image/wave.png
ADDED
static/js/dashboard-main.js
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// add hovered class to selected list item
|
2 |
+
let list = document.querySelectorAll(".navigation li");
|
3 |
+
|
4 |
+
function activeLink() {
|
5 |
+
list.forEach((item) => {
|
6 |
+
item.classList.remove("hovered");
|
7 |
+
});
|
8 |
+
this.classList.add("hovered");
|
9 |
+
}
|
10 |
+
|
11 |
+
list.forEach((item) => item.addEventListener("mouseover", activeLink));
|
12 |
+
|
13 |
+
// Menu Toggle
|
14 |
+
let toggle = document.querySelector(".toggle");
|
15 |
+
let navigation = document.querySelector(".navigation");
|
16 |
+
let main = document.querySelector(".main");
|
17 |
+
|
18 |
+
toggle.onclick = function () {
|
19 |
+
navigation.classList.toggle("active");
|
20 |
+
main.classList.toggle("active");
|
21 |
+
};
|
static/js/dashboard-my_chart.js
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var ctx = document.getElementById('myChart').getContext('2d');
|
2 |
+
var myChart = new Chart(ctx, {
|
3 |
+
type: 'line',
|
4 |
+
data: {
|
5 |
+
labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
|
6 |
+
datasets: [{
|
7 |
+
label: '# of Votes',
|
8 |
+
data: [12, 19, 3, 5, 2, 3],
|
9 |
+
backgroundColor: [
|
10 |
+
'rgba(255, 99, 132, 0.2)',
|
11 |
+
'rgba(54, 162, 235, 0.2)',
|
12 |
+
'rgba(255, 206, 86, 0.2)',
|
13 |
+
'rgba(75, 192, 192, 0.2)',
|
14 |
+
'rgba(153, 102, 255, 0.2)',
|
15 |
+
'rgba(255, 159, 64, 0.2)'
|
16 |
+
],
|
17 |
+
borderColor: [
|
18 |
+
'rgba(255, 99, 132, 1)',
|
19 |
+
'rgba(54, 162, 235, 1)',
|
20 |
+
'rgba(255, 206, 86, 1)',
|
21 |
+
'rgba(75, 192, 192, 1)',
|
22 |
+
'rgba(153, 102, 255, 1)',
|
23 |
+
'rgba(255, 159, 64, 1)'
|
24 |
+
],
|
25 |
+
borderWidth: 1
|
26 |
+
}]
|
27 |
+
},
|
28 |
+
options: {
|
29 |
+
scales: {
|
30 |
+
responsive: true,
|
31 |
+
}
|
32 |
+
}
|
33 |
+
});
|