diff --git a/src/app/identitas/identitas.page.ts b/src/app/identitas/identitas.page.ts
index 889d7b6..50fc1c1 100644
--- a/src/app/identitas/identitas.page.ts
+++ b/src/app/identitas/identitas.page.ts
@@ -94,7 +94,7 @@ export class IdentitasPage implements OnInit {
});
toast.present();
}
- simpanData() {
+ async simpanData() {
if (this.isEdit && this.idIdentitas) {
this.identitasService.updateIdentitas(this.idIdentitas, this.userData).subscribe(
response => this.handleResponse(response),
@@ -102,7 +102,14 @@ export class IdentitasPage implements OnInit {
);
} else {
this.identitasService.simpanIdentitas(this.userData).subscribe(
- response => this.handleResponse(response),
+ async (response) => {
+ if (!this.isEdit) {
+ await this.storage.set('id_identitas', response.id || response.data.id);
+ this.idIdentitas = response.id || response.data.id; // Update local idIdentitas
+ this.isEdit = true;
+ }
+ this.handleResponse(response);
+ },
error => this.handleError(error)
);
}
diff --git a/src/app/pemeriksaan/pemeriksaan.page.html b/src/app/pemeriksaan/pemeriksaan.page.html
index f99498b..7d9d50c 100644
--- a/src/app/pemeriksaan/pemeriksaan.page.html
+++ b/src/app/pemeriksaan/pemeriksaan.page.html
@@ -16,80 +16,104 @@
Berat Badan (Kg)
-
+
Tinggi Badan (Cm)
-
+
IMT (Kg/m²)
-
+
- Lingkar Perut (Cm)
-
+ Tekanan Darah Diastole(mmHg)
+
- Tekanan Darah (mmHg)
-
+ Tekanan Darah Sistole(mmHg)
+
Frekuensi Nafas (Kali/menit)
-
+
Nadi (Kali/menit)
-
+
Kadar Gula Darah (mg/dL)
-
+
- Kadar Kolesterol (mg/dL)
-
+ Kadar Kolesterol HDL(mg/dL)
+
+
+
+
+ Kadar Kolesterol LDL(mg/dL)
+
+
+
+
+ Kadar Kolesterol Total(mg/dL)
+
Kadar HB (gr/dL)
-
+
Kadar Asam Urat (mg/dL)
-
+
Golongan Darah
-
+
- Px. HbA1C (%)
-
+ Trigliserida
+
+
+
+ Lingkar Perut
+
+
+
+
+ Waktu Pengambilan Gula Darah
+
+ Puasa minimal 8 jam
+ Satu sampai 2 jam setelah makan
+ Gula Darah Sewaktu/GDS
+ Sebelum berangkat tidur malam
+
Kondisi Umum
-
+
Keluhan/Perasaan
-
+
- Simpan
+ Simpan
diff --git a/src/app/pemeriksaan/pemeriksaan.page.ts b/src/app/pemeriksaan/pemeriksaan.page.ts
index 2baf2d5..0dcc48a 100644
--- a/src/app/pemeriksaan/pemeriksaan.page.ts
+++ b/src/app/pemeriksaan/pemeriksaan.page.ts
@@ -1,5 +1,8 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
+import { Storage } from '@ionic/storage-angular';
+import { ToastController } from '@ionic/angular';
+import { PengukuranService } from '../services/pengukuran.service';
@Component({
selector: 'app-pemeriksaan',
@@ -7,13 +10,68 @@ import { Router } from '@angular/router';
styleUrls: ['./pemeriksaan.page.scss'],
})
export class PemeriksaanPage implements OnInit {
+ public payloadData = {
+ identitas_id: 0,
+ berat_badan: '',
+ frekuensi_nafas: '',
+ golongan_darah: "",
+ imt: '',
+ kadar_asam_urat: '',
+ kadar_gula_darah: '',
+ kadar_hb: '',
+ keluhan_perasaan: '',
+ kolesterol_hdl: '',
+ kolesterol_ldl: '',
+ kolesterol_total: '',
+ kondisi_umum: '',
+ lingkar_perut: '',
+ nadi: '',
+ tekanan_darah_diastole: 0,
+ tekanan_darah_sistole: 0,
+ tinggi_badan: '',
+ trigliserida: '',
+ waktu_pengambilan_gula_darah: ''
+ };
+ private idIdentitas: number | null = null;
- constructor(private router: Router) { }
+ constructor(
+ private storage: Storage,
+ private toastController: ToastController,
+ private pengukuranService: PengukuranService
+ ) {}
- ngOnInit() {
+ async ngOnInit() {
+ await this.storage.create();
+ this.idIdentitas = await this.storage.get('id_identitas');
+ }
+ async simpanData() {
+ if (!this.payloadData.identitas_id && this.idIdentitas) {
+ this.payloadData.identitas_id = this.idIdentitas;
+ }
+ console.log(this.payloadData);
+ this.pengukuranService.simpanPengukuran(this.payloadData).subscribe(
+ async (response) => {
+ this.handleResponse(response);
+ },
+ error => this.handleError(error)
+ );
+ }
+ handleResponse(response: any) {
+ this.showToast('Data successfully saved!', 'top', 'success');
}
- goToNewPage() {
- this.router.navigate(['/indikator']);
+ handleError(error: { message: any; }) {
+ this.showToast(`Error saving data: ${error.message}`, 'top', 'danger');
}
+ async showToast(message: string, position: 'top' | 'middle' | 'bottom', color: string) {
+ const toast = await this.toastController.create({
+ message: message,
+ duration: 2000,
+ position: position,
+ color: color
+ });
+ toast.present();
+ }
+
+
}
diff --git a/src/app/services/pengukuran.service.spec.ts b/src/app/services/pengukuran.service.spec.ts
new file mode 100644
index 0000000..e4199b9
--- /dev/null
+++ b/src/app/services/pengukuran.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { PengukuranService } from './pengukuran.service';
+
+describe('PengukuranService', () => {
+ let service: PengukuranService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(PengukuranService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/services/pengukuran.service.ts b/src/app/services/pengukuran.service.ts
new file mode 100644
index 0000000..749b29b
--- /dev/null
+++ b/src/app/services/pengukuran.service.ts
@@ -0,0 +1,18 @@
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import { environment } from '../../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class PengukuranService {
+
+ private apiUrl = `${environment.apiUrl}/pengukuran`;
+
+ constructor(private http: HttpClient) { }
+
+ simpanPengukuran(data: any): Observable {
+ return this.http.post(this.apiUrl, data);
+ }
+}
\ No newline at end of file