Added Company filter for chart data on Home page.

This commit is contained in:
rocketdebris 2026-01-22 14:03:43 -05:00
parent f386edf769
commit 5b2e362100
3 changed files with 53 additions and 34 deletions

View file

@ -312,7 +312,7 @@
</template>
<script setup>
import { ref, computed, onMounted } from "vue";
import { ref, computed, onMounted, watch } from "vue";
import { useRouter } from "vue-router";
//import Card from "primevue/card";
import Card from "../common/Card.vue";
@ -323,6 +323,7 @@ WateringSoil, Soil, Truck, SoilAlt } from "@iconoir/vue";
import Api from "../../api.js";
import DataUtils from "../../utils.js";
import { useNotificationStore } from "../../stores/notifications-primevue";
import { useCompanyStore } from "../../stores/company.js";
//import SimpleChart from "../common/SimpleChart.vue";
import TodoChart from "../common/TodoChart.vue";
@ -360,6 +361,7 @@ const chartData = ref({
});
const notifications = useNotificationStore();
const companyStore = useCompanyStore();
// Computed values for dashboard metrics
const totalRevenue = computed(() => "$47,250");
@ -371,17 +373,26 @@ const avgResponseTime = computed(() => 2.3);
const navigateTo = (path) => {
router.push(path);
};
const loadChartData = async() => {
chartData.value.locates.data = await Api.getTasksDue("Locate", companyStore.currentCompany);
chartData.value.permits.data = await Api.getTasksDue("Permit", companyStore.currentCompany);
chartData.value.curbing.data = await Api.getTasksDue("Curbing", companyStore.currentCompany);
chartData.value.hydroseed.data = await Api.getTasksDue("Hydroseed", companyStore.currentCompany);
//Uncomment below when we can check if half-down payments have/can been paid
//chartData.value.estimates.data = await Api.getEstimatesHalfDownCount();
};
onMounted(async() => {
notifications.addWarning("Dashboard metrics are based on dummy data for demonstration purposes. UPDATES COMING SOON!");
chartData.value.locates.data[0] = await Api.getTasksDue("Locate");
chartData.value.locates.data[1] = await Api.getTasksCompleted("Locate");
chartData.value.permits.data[0] = await Api.getTasksDue("Permit");
chartData.value.permits.data[1] = await Api.getTasksCompleted("Permit");
chartData.value.curbing.data[0] = await Api.getTasksDue("Curbing");
chartData.value.curbing.data[1] = await Api.getTasksCompleted("Curbing");
chartData.value.hydroseed.data[0] = await Api.getTasksDue("Hydroseed");
chartData.value.hydroseed.data[1] = await Api.getTasksCompleted("Hydroseed");
await loadChartData();
});
watch(() => companyStore.currentCompany, async (newCompany, oldCompany) => {
console.log("Wathcing for new Company");
await loadChartData();
});
</script>
<style scoped>