diff options
author | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-21 13:02:11 +0300 |
---|---|---|
committer | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-21 13:02:11 +0300 |
commit | e389d00a0c024b90983d40ff771684c5680fe2f5 (patch) | |
tree | 2f52247d76d005ba73164c6c089bb1e831346f4c /src | |
parent | d7e60a3db8f09deef39e2f798eef121be414d40a (diff) | |
download | webui-vue-e389d00a0c024b90983d40ff771684c5680fe2f5.tar.xz |
code clean
Diffstat (limited to 'src')
-rw-r--r-- | src/components/_sila/Global/Chart.vue | 47 | ||||
-rw-r--r-- | src/components/_sila/Global/helpers.js | 1385 |
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, - }, - ], - }, -}; |