Added Company filter for chart data on Home page.
This commit is contained in:
parent
f386edf769
commit
5b2e362100
3 changed files with 53 additions and 34 deletions
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue