+analytics update
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user