summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalii Lysak <v.lysak@dunice.net>2022-07-21 13:02:11 +0300
committerVitalii Lysak <v.lysak@dunice.net>2022-07-21 13:02:11 +0300
commite389d00a0c024b90983d40ff771684c5680fe2f5 (patch)
tree2f52247d76d005ba73164c6c089bb1e831346f4c
parentd7e60a3db8f09deef39e2f798eef121be414d40a (diff)
downloadwebui-vue-e389d00a0c024b90983d40ff771684c5680fe2f5.tar.xz
code clean
-rw-r--r--src/components/_sila/Global/Chart.vue47
-rw-r--r--src/components/_sila/Global/helpers.js1385
2 files changed, 30 insertions, 1402 deletions
diff --git a/src/components/_sila/Global/Chart.vue b/src/components/_sila/Global/Chart.vue
index 73c5a6f2..24ad77d6 100644
--- a/src/components/_sila/Global/Chart.vue
+++ b/src/components/_sila/Global/Chart.vue
@@ -3,7 +3,7 @@
</template>
<script>
-import { setTime, setCategories } from './helpers';
+import { setCategories } from './helpers';
import { Chart } from 'highcharts-vue';
export default {
@@ -33,8 +33,8 @@ export default {
},
},
computed: {
- groupData() {
- let tr = this.data.map((metric) => {
+ metricData() {
+ let transform = this.data.map((metric) => {
let date = new Date(metric.Timestamp);
let time =
date.getHours() + ':' + String(date.getMinutes()).padStart(2, '0');
@@ -45,20 +45,17 @@ export default {
};
});
- let group = tr.reduce(function (rv, x) {
+ let group = transform.reduce(function (rv, x) {
(rv[x['MetricProperty']] = rv[x['MetricProperty']] || []).push(x);
return rv;
}, {});
- let arr = Object.keys(group).map((key) => {
+ let metricArr = Object.keys(group).map((key) => {
let groupTime = group[key].reduce(function (rv, x) {
(rv[x['Timestamp']] = rv[x['Timestamp']] || []).push(x);
return rv;
}, {});
- this.timeData = Object.keys(groupTime).slice(-60);
- console.log('timeData!!!!!!', this.timeData);
-
let arr = Object.keys(groupTime).map((key) => {
const findAverage = (arr) => {
const { length } = arr;
@@ -75,7 +72,29 @@ export default {
};
});
- return arr;
+ return metricArr;
+ },
+
+ metricTime() {
+ let transform = this.data.map((metric) => {
+ let date = new Date(metric.Timestamp);
+ let time =
+ date.getHours() + ':' + String(date.getMinutes()).padStart(2, '0');
+ return {
+ ...metric,
+ Timestamp: time,
+ MetricValue: Math.round(metric.MetricValue),
+ };
+ });
+
+ let timeGroup = transform.reduce(function (rv, x) {
+ (rv[x['Timestamp']] = rv[x['Timestamp']] || []).push(x);
+ return rv;
+ }, {});
+
+ let timeArr = Object.keys(timeGroup).slice(-60);
+
+ return timeArr;
},
chartOptions() {
@@ -87,7 +106,7 @@ export default {
},
title: null,
xAxis: {
- categories: setTime(60, 'hour'),
+ categories: this.metricTime,
title: null,
labels: {
step: 10,
@@ -137,7 +156,7 @@ export default {
},
],
},
- series: this.groupData.map((item) => ({
+ series: this.metricData.map((item) => ({
...item,
marker: {
enabled: false,
@@ -158,12 +177,6 @@ export default {
};
},
},
-
- /* watch: {
- groupData() {
- console.log('group data!!!', this.groupData);
- },
- },*/
};
</script>
<style lang="scss">
diff --git a/src/components/_sila/Global/helpers.js b/src/components/_sila/Global/helpers.js
index 82e23544..687a9554 100644
--- a/src/components/_sila/Global/helpers.js
+++ b/src/components/_sila/Global/helpers.js
@@ -7,1392 +7,7 @@ export const colors = [
'#13B937',
];
-export const Series = {
- temperature: [
- {
- name: 'Sean',
- data: [
- 10,
- 10,
- 10,
- 30,
- 10,
- 10,
- 10,
- 37,
- 10,
- 10,
- 10,
- 10,
- 10,
- 25,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 35,
- 10,
- 10,
- 10,
- 10,
- 10,
- 45,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- 50,
- 10,
- 10,
- 10,
- 10,
- 10,
- 10,
- ],
- color: '#CB32F1',
- },
- {
- name: 'Ivan',
- data: [
- 11,
- 11,
- 11,
- 30,
- 11,
- 11,
- 11,
- 11,
- 57,
- 11,
- 11,
- 11,
- 11,
- 25,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 61,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 31,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 21,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 51,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- ],
- color: '#175AE1',
- },
- {
- name: 'Brendan',
- data: [
- 15,
- 15,
- 15,
- 35,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 25,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 45,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- 35,
- 15,
- 15,
- 55,
- 15,
- 15,
- 15,
- 15,
- 15,
- 15,
- ],
- color: '#B98D13',
- },
- {
- name: 'Matteo',
- data: [
- 21,
- 21,
- 21,
- 51,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 40,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 35,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 53,
- 21,
- 21,
- 30,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- ],
- color: '#13B937',
- },
- {
- name: 'Joan',
- data: [
- 19,
- 19,
- 19,
- 39,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 29,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 39,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 39,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- 59,
- 19,
- 19,
- 19,
- 19,
- 19,
- 19,
- ],
- color: '#F18638',
- },
- {
- name: 'Avinash',
- data: [
- 16,
- 16,
- 16,
- 56,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 26,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 26,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 76,
- 16,
- 16,
- 16,
- 16,
- 46,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 46,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- ],
- color: '#139BB9',
- },
- ],
- //////////////////////////////frequency////////////////
- frequency: [
- {
- name: 'Sean',
- data: [
- 100,
- 100,
- 450,
- 100,
- 100,
- 100,
- 100,
- 137,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 125,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 135,
- 100,
- 100,
- 100,
- 100,
- 100,
- 145,
- 100,
- 100,
- 360,
- 100,
- 100,
- 450,
- 100,
- 100,
- 100,
- 100,
- 100,
- 100,
- 150,
- 100,
- ],
- color: '#CB32F1',
- },
- {
- name: 'Ivan',
- data: [
- 120,
- 120,
- 120,
- 140,
- 120,
- 157,
- 120,
- 120,
- 120,
- 210,
- 120,
- 125,
- 120,
- 120,
- 120,
- 350,
- 120,
- 120,
- 120,
- 120,
- 120,
- 590,
- 120,
- 120,
- 120,
- 120,
- 450,
- 120,
- 120,
- 120,
- 120,
- 120,
- 125,
- 120,
- 120,
- 120,
- 120,
- 120,
- 162,
- 120,
- 120,
- 120,
- 120,
- 120,
- 220,
- 120,
- 120,
- 120,
- 120,
- 120,
- 360,
- 120,
- 210,
- 120,
- 200,
- 120,
- 120,
- 120,
- 120,
- 120,
- ],
- color: '#175AE1',
- },
- {
- name: 'Brendan',
- data: [
- 110,
- 110,
- 110,
- 450,
- 110,
- 110,
- 110,
- 157,
- 110,
- 110,
- 110,
- 110,
- 110,
- 165,
- 110,
- 110,
- 110,
- 110,
- 110,
- 310,
- 110,
- 110,
- 110,
- 590,
- 110,
- 110,
- 175,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 152,
- 110,
- 310,
- 110,
- 110,
- 210,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 360,
- 110,
- 110,
- 110,
- 210,
- 110,
- 110,
- 110,
- ],
- color: '#B98D13',
- },
- {
- name: 'Matteo',
- data: [
- 221,
- 221,
- 221,
- 251,
- 221,
- 221,
- 221,
- 221,
- 221,
- 590,
- 221,
- 221,
- 421,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- 450,
- 221,
- 221,
- 221,
- 221,
- 421,
- 221,
- 235,
- 221,
- 221,
- 221,
- 221,
- 221,
- 421,
- 221,
- 360,
- 221,
- 221,
- 221,
- 210,
- 253,
- 221,
- 221,
- 230,
- 221,
- 221,
- 221,
- 590,
- 221,
- 221,
- 221,
- 221,
- 221,
- 221,
- ],
- color: '#13B937',
- },
- {
- name: 'Joan',
- data: [
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 590,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 590,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- 159,
- ],
- color: '#F18638',
- },
- {
- name: 'Avinash',
- data: [
- 176,
- 176,
- 176,
- 156,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 276,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 210,
- 176,
- 176,
- 176,
- 590,
- 176,
- 176,
- 176,
- 176,
- 176,
- 590,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 570,
- 176,
- 176,
- 176,
- 176,
- 176,
- 770,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- 176,
- ],
- color: '#139BB9',
- },
- ],
- //////////////////////////////power////////////////
- power: [
- {
- name: 'Sean',
- data: [
- 15,
- 15,
- 45,
- 15,
- 65,
- 15,
- 75,
- 15,
- 15,
- 15,
- 55,
- 15,
- 25,
- 15,
- 45,
- 15,
- 55,
- 15,
- 75,
- 15,
- 35,
- 15,
- 55,
- 15,
- 75,
- 15,
- 85,
- 15,
- 15,
- 45,
- 15,
- 15,
- 45,
- 15,
- 45,
- 15,
- 15,
- 65,
- 15,
- 45,
- 15,
- 25,
- 15,
- 45,
- 15,
- 65,
- 15,
- 35,
- 35,
- 35,
- 15,
- 55,
- 15,
- 15,
- 35,
- 15,
- 25,
- 15,
- 35,
- 15,
- ],
- color: '#CB32F1',
- },
- {
- name: 'Ivan',
- data: [
- 62,
- 12,
- 72,
- 12,
- 12,
- 12,
- 42,
- 12,
- 12,
- 12,
- 52,
- 12,
- 22,
- 12,
- 42,
- 12,
- 52,
- 12,
- 72,
- 12,
- 52,
- 12,
- 62,
- 12,
- 72,
- 12,
- 82,
- 12,
- 12,
- 42,
- 12,
- 12,
- 52,
- 12,
- 42,
- 12,
- 12,
- 62,
- 12,
- 42,
- 12,
- 22,
- 12,
- 42,
- 12,
- 62,
- 12,
- 12,
- 32,
- 12,
- 62,
- 12,
- 52,
- 12,
- 32,
- 12,
- 22,
- 12,
- 32,
- 12,
- ],
- color: '#175AE1',
- },
- {
- name: 'Brendan',
- data: [
- 14,
- 14,
- 34,
- 14,
- 24,
- 14,
- 34,
- 14,
- 64,
- 14,
- 74,
- 14,
- 14,
- 14,
- 44,
- 14,
- 14,
- 14,
- 54,
- 14,
- 24,
- 14,
- 44,
- 14,
- 54,
- 14,
- 74,
- 14,
- 54,
- 14,
- 64,
- 14,
- 74,
- 14,
- 84,
- 14,
- 14,
- 44,
- 14,
- 14,
- 54,
- 14,
- 44,
- 14,
- 14,
- 64,
- 14,
- 44,
- 14,
- 24,
- 14,
- 44,
- 14,
- 64,
- 14,
- 14,
- 14,
- 54,
- 14,
- 54,
- ],
- color: '#B98D13',
- },
- {
- name: 'Matteo',
- data: [
- 24,
- 14,
- 44,
- 14,
- 64,
- 14,
- 64,
- 14,
- 34,
- 14,
- 54,
- 14,
- 14,
- 34,
- 14,
- 24,
- 14,
- 34,
- 14,
- 64,
- 14,
- 74,
- 14,
- 14,
- 14,
- 44,
- 14,
- 14,
- 14,
- 54,
- 14,
- 14,
- 14,
- 44,
- 14,
- 54,
- 14,
- 74,
- 14,
- 54,
- 14,
- 64,
- 14,
- 74,
- 14,
- 84,
- 14,
- 94,
- 14,
- 54,
- 4,
- 54,
- 14,
- 44,
- 14,
- 44,
- 64,
- 14,
- 44,
- 14,
- ],
- color: '#13B937',
- },
- {
- name: 'Joan',
- data: [
- 16,
- 46,
- 16,
- 26,
- 16,
- 46,
- 16,
- 66,
- 16,
- 16,
- 16,
- 36,
- 16,
- 56,
- 16,
- 16,
- 36,
- 16,
- 26,
- 16,
- 36,
- 16,
- 66,
- 16,
- 76,
- 16,
- 16,
- 16,
- 46,
- 16,
- 16,
- 16,
- 56,
- 16,
- 26,
- 16,
- 46,
- 16,
- 56,
- 16,
- 76,
- 16,
- 56,
- 16,
- 66,
- 16,
- 76,
- 16,
- 86,
- 16,
- 96,
- 16,
- 16,
- 16,
- 56,
- 16,
- 46,
- 16,
- 46,
- 16,
- ],
- color: '#F18638',
- },
- {
- name: 'Avinash',
- data: [
- 49,
- 19,
- 19,
- 69,
- 19,
- 49,
- 19,
- 29,
- 19,
- 49,
- 19,
- 69,
- 19,
- 39,
- 39,
- 39,
- 19,
- 59,
- 19,
- 19,
- 39,
- 19,
- 29,
- 19,
- 39,
- 19,
- 69,
- 19,
- 79,
- 19,
- 19,
- 19,
- 49,
- 19,
- 19,
- 19,
- 59,
- 19,
- 29,
- 19,
- 49,
- 19,
- 59,
- 19,
- 79,
- 19,
- 59,
- 19,
- 69,
- 19,
- 79,
- 19,
- 89,
- 19,
- 99,
- 19,
- 19,
- 69,
- 59,
- 19,
- ],
- color: '#139BB9',
- },
- ],
-};
-
-export const setTime = (count) => {
- const arr = [...new Array(count)].map(() => '');
- for (let i = 0; i < arr.length; i++) {
- arr[i] = `15:${String(i).padStart(2, '0')}`;
- }
- return arr;
-};
-
export const setCategories = (count, desc) => {
const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`);
return arr;
};
-
-export const AccessoryData = {
- temperatureTable: {
- fields: [
- {
- key: 'name',
- label: 'Имя модуля',
- },
- {
- key: 'currentTemperature',
- label: 'Текущее, С°',
- },
- {
- key: 'middleTemperature',
- label: 'Среднее, С°',
- },
- {
- key: 'minTemperature',
- label: 'Минимальное, С°',
- },
- {
- key: 'minDate',
- label: 'Дата минимального',
- },
- {
- key: 'maxTemperature',
- label: 'Максимальное, С°',
- },
- {
- key: 'maxDate',
- label: 'Дата максимального',
- },
- ],
- items: [
- {
- name: 'Процессор 1',
- currentTemperature: 19,
- middleTemperature: 40,
- minTemperature: 31,
- minDate: { time: '15:15', date: '11.11.2021' },
- maxTemperature: 88,
- maxDate: { time: '10:26', date: '15.11.2021' },
- },
- {
- name: 'Процессор 2',
- currentTemperature: 29,
- middleTemperature: 40,
- minTemperature: 20,
- minDate: { time: '15:45', date: '11.11.2021' },
- maxTemperature: 76,
- maxDate: { time: '16:59', date: '16.11.2021' },
- },
- {
- name: 'Процессор 3',
- currentTemperature: 48,
- middleTemperature: 46,
- minTemperature: 31,
- minDate: { time: '15:23', date: '11.11.2021' },
- maxTemperature: 69,
- maxDate: { time: '15:26', date: '15.11.2021' },
- },
- {
- name: 'Процессор 4',
- currentTemperature: 48,
- middleTemperature: 45,
- minTemperature: 5,
- minDate: { time: '16:45', date: '25.11.2021' },
- maxTemperature: 75,
- maxDate: { time: '11:26', date: '16.11.2021' },
- },
- {
- name: 'Процессор 5',
- currentTemperature: 39,
- middleTemperature: 44,
- minTemperature: 30,
- minDate: { time: '15:23', date: '11.11.2021' },
- maxTemperature: 80,
- maxDate: { time: '15:26', date: '17.11.2021' },
- },
- {
- name: 'Процессор 6',
- currentTemperature: 39,
- middleTemperature: 44,
- minTemperature: 5,
- minDate: { time: '16:45', date: '25.11.2021' },
- maxTemperature: 80,
- maxDate: { time: '15:26', date: '15.11.2021' },
- },
- ],
- },
- frequencyTable: {
- fields: [
- {
- key: 'name',
- label: 'Имя модуля',
- },
- {
- key: 'currentFrequency',
- label: 'Текущее, Hz',
- },
- {
- key: 'baseFrequency',
- label: 'Базовое, Hz',
- },
- ],
- items: [
- {
- name: 'Процессор 1',
- currentFrequency: 600,
- baseFrequency: 400,
- },
- {
- name: 'Процессор 2',
- currentFrequency: 500,
- baseFrequency: 470,
- },
- {
- name: 'Процессор 3',
- currentFrequency: 500,
- baseFrequency: 450,
- },
- {
- name: 'Процессор 4',
- currentFrequency: 500,
- baseFrequency: 470,
- },
- {
- name: 'Процессор 5',
- currentFrequency: 600,
- baseFrequency: 470,
- },
- {
- name: 'Процессор 6',
- currentFrequency: 500,
- baseFrequency: 400,
- },
- ],
- },
- powerTable: {
- fields: [
- {
- key: 'name',
- label: 'Имя модуля',
- },
- {
- key: 'currentPower',
- label: 'Текущее, Вт',
- label2: '',
- },
- ],
- items: [
- {
- name: 'Процессор 1',
- currentPower: 91,
- },
- {
- name: 'Процессор 2',
- currentPower: 77,
- },
- {
- name: 'Процессор 3',
- currentPower: 76,
- },
- {
- name: 'Процессор 4',
- currentPower: 74,
- },
- {
- name: 'Процессор 5',
- currentPower: 73,
- },
- {
- name: 'Процессор 6',
- currentPower: 71,
- },
- ],
- },
-};