+analytics update

This commit is contained in:
Vladimir Voronin
2025-01-24 15:31:23 +03:00
parent 26dd9c5202
commit 773b9c50cd

View File

@@ -5,11 +5,7 @@ import {getCategories, getCategoriesSumsRequest} from "@/services/categoryServic
import DataTable from "primevue/datatable"; import DataTable from "primevue/datatable";
import Column from "primevue/column"; import Column from "primevue/column";
import Chart from "primevue/chart"; import Chart from "primevue/chart";
import Listbox from "primevue/listbox";
import Select from "primevue/select";
import InputText from "primevue/inputtext";
import IconField from "primevue/iconfield"
import InputIcon from "primevue/inputicon";
import Accordion from "primevue/accordion"; import Accordion from "primevue/accordion";
import AccordionPanel from "primevue/accordionpanel"; import AccordionPanel from "primevue/accordionpanel";
import AccordionHeader from "primevue/accordionheader"; import AccordionHeader from "primevue/accordionheader";
@@ -145,7 +141,7 @@ const prepareTableData = (categories) => {
...allDates.map((dateStr) => ({field: dateStr, header: dateStr})), ...allDates.map((dateStr) => ({field: dateStr, header: dateStr})),
{field: "avg", header: "Среднее"}, {field: "avg", header: "Среднее"},
]; ];
console.log(tableColumns.value[0].field); // console.log(tableColumns.value[0].field);
const sums = {} const sums = {}
// 4. Формируем строки (для каждой категории) // 4. Формируем строки (для каждой категории)
const rows = categories.map((category) => { const rows = categories.map((category) => {
@@ -180,12 +176,12 @@ const prepareTableData = (categories) => {
let previousSum = 0; let previousSum = 0;
Object.keys(sums).forEach(key => { Object.keys(sums).forEach(key => {
console.log(previousSum) // console.log(previousSum)
let difference = previousSum != 0 ? ((sums[key] - previousSum) / previousSum) * 100 : 0 let difference = previousSum != 0 ? ((sums[key] - previousSum) / previousSum) * 100 : 0
if (sums[key] != previousSum) { if (sums[key] != previousSum) {
previousSum = sums[key]; previousSum = sums[key];
} }
let color = "" let color: string
if (difference > 0) { if (difference > 0) {
color = "text-red-500" color = "text-red-500"
} else color = "text-green-600" } else color = "text-green-600"
@@ -207,7 +203,7 @@ const fetchCategoriesSums = async () => {
}) })
}) })
categories.value = data.data; categories.value = data.data;
console.log(categories.value); // console.log(categories.value);
dataTableCategories.value = prepareTableData(data.data); dataTableCategories.value = prepareTableData(data.data);
@@ -239,9 +235,7 @@ onMounted(async () => {
<AccordionHeader>График</AccordionHeader> <AccordionHeader>График</AccordionHeader>
<AccordionContent> <AccordionContent>
<!-- <Select v-model="selectedCategory" :options="categoriesCatalog" optionLabel="name"-->
<!-- placeholder="Выберите категории"-->
<!-- :maxSelectedLabels="3" class="w-full md:w-80"/>-->
<div v-if="isChartOpen" <div v-if="isChartOpen"
class="grid grid-cols-1 sm:grid-cols-6 w-full items-start justify-items-start"> class="grid grid-cols-1 sm:grid-cols-6 w-full items-start justify-items-start">
<!-- Список категорий --> <!-- Список категорий -->
@@ -291,7 +285,7 @@ onMounted(async () => {
<!-- Остальные колонки --> <!-- Остальные колонки -->
<Column <Column
v-for="(col, index) in tableColumns.slice(1)" v-for="(col) in tableColumns.slice(1)"
:key="col.field" :key="col.field"
:field="col.field" :field="col.field"
:header="col.header" :header="col.header"
@@ -313,18 +307,5 @@ onMounted(async () => {
justify-content: center; justify-content: center;
} }
.p-listbox {
//height: 80% !important;
}
.p-listbox-list-container {
//height: 100% !important;
//max-height: 90% !important;
}
.p-chart {
//width: 100% !important;
overflow: auto;
}
</style> </style>