diff --git a/src/app/content/hemat-app/cost-management/cost-management.component.html b/src/app/content/hemat-app/cost-management/cost-management.component.html
index 0ed3a67..fe19f82 100644
--- a/src/app/content/hemat-app/cost-management/cost-management.component.html
+++ b/src/app/content/hemat-app/cost-management/cost-management.component.html
@@ -168,8 +168,10 @@
type="button"
class="btn btn-outline-success ml-2"
(click)="doFilter()"
+ [disabled]="spinnerFilterActive"
>
-
+
+
@@ -358,15 +360,9 @@
>
-
diff --git a/src/app/content/hemat-app/cost-management/cost-management.component.ts b/src/app/content/hemat-app/cost-management/cost-management.component.ts
index fc4d24c..48b0c35 100644
--- a/src/app/content/hemat-app/cost-management/cost-management.component.ts
+++ b/src/app/content/hemat-app/cost-management/cost-management.component.ts
@@ -26,6 +26,7 @@ export class CostManagementComponent implements OnInit {
public focucedElement = "";
spinnerActive = false;
spinnerActiveActual = false;
+ spinnerFilterActive = false;
donutChart2: any;
@@ -67,32 +68,37 @@ export class CostManagementComponent implements OnInit {
const currentDate = new Date();
this.dateSelected = currentDate.toISOString().slice(0, 7);
- this.fetchData(this.storedData.buildingId, this.dateSelected, this.categorySelected);
+ this.fetchData(
+ this.storedData.buildingId,
+ this.dateSelected,
+ this.categorySelected
+ );
this.dataListMaster();
this.dataListBuilding();
this.dataCompWaterElectCost(this.storedData.buildingId);
this.dataCompPrevMonthCost(this.storedData.buildingId);
this.dataCompActEstCost(this.storedData.buildingId);
-
}
fetchData(id, period, category) {
- this.costService.getCostManagement(id, period, category).subscribe((response) => {
- this.data = response.results.data;
- this.filteredRows = this.data;
- this.kwhTerm = response.results.kwh;
- this.costTerm = response.results.cost;
+ this.costService
+ .getCostManagement(id, period, category)
+ .subscribe((response) => {
+ this.data = response.results.data;
+ this.filteredRows = this.data;
+ this.kwhTerm = response.results.kwh;
+ this.costTerm = response.results.cost;
- this.data_cost = this.filteredRows.map((item) => ({
- building: item.name,
- categoryName: item.category_name,
- estimationCost: item.estimation_cost,
- totalUse: item.total_use,
- endDate: item.end_date,
- statusId: item.status_id,
- }));
- });
+ this.data_cost = this.filteredRows.map((item) => ({
+ building: item.name,
+ categoryName: item.category_name,
+ estimationCost: item.estimation_cost,
+ totalUse: item.total_use,
+ endDate: item.end_date,
+ statusId: item.status_id,
+ }));
+ });
}
dataListMaster() {
@@ -222,7 +228,11 @@ export class CostManagementComponent implements OnInit {
});
setTimeout(() => {
this.spinnerActive = false;
- this.fetchData(this.buildingSelected, this.dateSelected, this.categorySelected );
+ this.fetchData(
+ this.buildingSelected,
+ this.dateSelected,
+ this.categorySelected
+ );
}, 3000);
}
@@ -236,7 +246,11 @@ export class CostManagementComponent implements OnInit {
});
setTimeout(() => {
this.spinnerActiveActual = false;
- this.fetchData(this.buildingSelected, this.dateSelected, this.categorySelected );
+ this.fetchData(
+ this.buildingSelected,
+ this.dateSelected,
+ this.categorySelected
+ );
}, 3000);
}
@@ -247,10 +261,18 @@ export class CostManagementComponent implements OnInit {
date: this.dateSelected,
searchTerm: this.searchTerm,
};
- this.fetchData(this.buildingSelected, this.dateSelected, this.categorySelected );
- this.dataCompWaterElectCost(this.buildingSelected);
- this.dataCompPrevMonthCost(this.buildingSelected);
- this.dataCompActEstCost(this.buildingSelected);
+ this.spinnerFilterActive = true;
+ setTimeout(() => {
+ this.spinnerFilterActive = false;
+ this.fetchData(
+ this.buildingSelected,
+ this.dateSelected,
+ this.categorySelected
+ );
+ this.dataCompWaterElectCost(this.buildingSelected);
+ this.dataCompPrevMonthCost(this.buildingSelected);
+ this.dataCompActEstCost(this.buildingSelected);
+ }, 3000);
}
addFieldValue() {
@@ -301,19 +323,4 @@ export class CostManagementComponent implements OnInit {
console.log("View row:", row);
this.router.navigate(["/cost-management/view", row.name]);
}
-
- editRow(row) {
- console.log("Edit row:", row);
- this.router.navigate(["/cost-management/edit", row.name]);
- }
-
- deleteRow(row) {
- console.log("Delete row:", row);
- }
-
- onTouchStart(event: Event) {
- event.preventDefault(); // Add this if necessary
- }
-
-
}
diff --git a/src/app/content/hemat-app/service/cost-management.service.ts b/src/app/content/hemat-app/service/cost-management.service.ts
index 6132a24..d309496 100644
--- a/src/app/content/hemat-app/service/cost-management.service.ts
+++ b/src/app/content/hemat-app/service/cost-management.service.ts
@@ -2,6 +2,8 @@ import { Injectable } from "@angular/core";
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { Observable } from "rxjs";
+const BASE_URL = 'https://kapi.absys.ninja/hemat';
+
@Injectable({
providedIn: "root",
})
@@ -9,7 +11,7 @@ export class CostManagementService {
constructor(private http: HttpClient) {}
getCostManagement(id, period, category): Observable {
- const baseUrl = `https://kapi.absys.ninja/hemat/cost_management`;
+ const endpoint = `/cost_management`;
const params = new URLSearchParams({
page: "1",
limit: "100",
@@ -19,31 +21,37 @@ export class CostManagementService {
if (category) {
params.append("category_id", category);
}
- const url = `${baseUrl}?${params.toString()}`;
+ const url = `${BASE_URL}${endpoint}?${params.toString()}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",
});
return this.http.get(url, { headers });
}
+
getCompWaterElectCost(id): Observable {
- const url = `https://kapi.absys.ninja/hemat/cost_management/card/comp-water-elect-cost?building_id=${id}`;
+ const endpoint = `/cost_management/card/comp-water-elect-cost`;
+ const url = `${BASE_URL}${endpoint}?building_id=${id}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",
});
return this.http.get(url, { headers });
}
+
getCompPrevMonthCost(id): Observable {
- const url = `https://kapi.absys.ninja/hemat/cost_management/card/comp-prev-month-cost?building_id=${id}`;
+ const endpoint = `/cost_management/card/comp-prev-month-cost`;
+ const url = `${BASE_URL}${endpoint}?building_id=${id}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",
});
return this.http.get(url, { headers });
}
+
getCompActEstCost(id): Observable {
- const url = `https://kapi.absys.ninja/hemat/cost_management/card/comp-act-est-cost?building_id=${id}`;
+ const endpoint = `/cost_management/card/comp-act-est-cost`;
+ const url = `${BASE_URL}${endpoint}?building_id=${id}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",
@@ -52,7 +60,8 @@ export class CostManagementService {
}
getSyncCost(data: any): Observable {
- const url = `https://kapi.absys.ninja/hemat/cost_management/cost/sync`;
+ const endpoint = `/cost_management/cost/sync`;
+ const url = `${BASE_URL}${endpoint}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",
@@ -61,7 +70,8 @@ export class CostManagementService {
}
getRealCostByBuildingId(id: any, period: any): Observable {
- const url = `https://kapi.absys.ninja/hemat/real-cost/get/byBuildingId?building_id=${id}&periode=${period}`;
+ const endpoint = `/real-cost/get/byBuildingId`;
+ const url = `${BASE_URL}${endpoint}?building_id=${id}&periode=${period}`;
const headers = new HttpHeaders({
"Content-Type": "application/json",
"x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT",