diff options
author | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-22 15:47:54 +0300 |
---|---|---|
committer | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-22 15:47:54 +0300 |
commit | 5541fa8aa255edda1904631294e7c7ecb6650245 (patch) | |
tree | 11f4e89ea9bdb887a9fe475b52a2e8ed4e70e6d7 /src/views | |
parent | 1654f7790058017d8e18961b98a8994b162708c4 (diff) | |
parent | b9aa6bae1deeb200791fab52760b70eedfcb04f5 (diff) | |
download | webui-vue-5541fa8aa255edda1904631294e7c7ecb6650245.tar.xz |
merge with dynamic
Diffstat (limited to 'src/views')
-rw-r--r-- | src/views/_sila/Fans/Dynamic/FansDynamicPage.vue | 51 | ||||
-rw-r--r-- | src/views/_sila/Fans/Dynamic/index.js | 2 | ||||
-rw-r--r-- | src/views/_sila/Fans/Static/FansStaticPage.vue | 1 | ||||
-rw-r--r-- | src/views/_sila/Memory/Dynamic/MemoryDynamicPage.vue | 53 | ||||
-rw-r--r-- | src/views/_sila/Memory/Dynamic/index.js | 2 | ||||
-rw-r--r-- | src/views/_sila/Motherboard/Dynamic/MotherboardDynamicPage.vue | 53 | ||||
-rw-r--r-- | src/views/_sila/Motherboard/Dynamic/index.js | 2 | ||||
-rw-r--r-- | src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue | 196 |
8 files changed, 356 insertions, 4 deletions
diff --git a/src/views/_sila/Fans/Dynamic/FansDynamicPage.vue b/src/views/_sila/Fans/Dynamic/FansDynamicPage.vue new file mode 100644 index 00000000..22374fa7 --- /dev/null +++ b/src/views/_sila/Fans/Dynamic/FansDynamicPage.vue @@ -0,0 +1,51 @@ +<template> + <b-container fluid="xl"> + <page-title :description="$t('appPageTitle.dynamicInformation')" /> + + <chart + type="fans" + :data="filteredSensors" + :warning="fanSpeedWarninig" + :shutdown="fanSpeedShutdown" + ></chart> + </b-container> +</template> + +<script> +import PageTitle from '@/components/_sila/Global/PageTitle'; +import Chart from '@/components/_sila/Global/Chart'; + +import DataFormatterMixin from '@/components/_sila/Mixins/DataFormatterMixin'; +import LoadingBarMixin from '@/components/_sila/Mixins/LoadingBarMixin'; +import TableFilterMixin from '@/components/_sila/Mixins/TableFilterMixin'; + +export default { + components: { PageTitle, Chart }, + mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin], + data() { + return { + activeFilters: [], + fanSpeedWarninig: 2450, + fanSpeedShutdown: 3150, + }; + }, + + computed: { + allSensors() { + let sensors = this.$store.getters['fan/fans']; + return sensors; + }, + + filteredSensors() { + return this.getFilteredTableData(this.allSensors, this.activeFilters); + }, + }, + + created() { + this.startLoader(); + this.$store.dispatch('fan/getFansDynamic').finally(() => { + this.endLoader(); + }); + }, +}; +</script> diff --git a/src/views/_sila/Fans/Dynamic/index.js b/src/views/_sila/Fans/Dynamic/index.js new file mode 100644 index 00000000..a3dadd5a --- /dev/null +++ b/src/views/_sila/Fans/Dynamic/index.js @@ -0,0 +1,2 @@ +import FansDynamicPage from './FansDynamicPage.vue'; +export default FansDynamicPage; diff --git a/src/views/_sila/Fans/Static/FansStaticPage.vue b/src/views/_sila/Fans/Static/FansStaticPage.vue index 311ea8fe..3ce9079e 100644 --- a/src/views/_sila/Fans/Static/FansStaticPage.vue +++ b/src/views/_sila/Fans/Static/FansStaticPage.vue @@ -5,6 +5,7 @@ <b-table responsive="md" show-empty + hover :items="fans" :busy="isBusy" :fields="fields" diff --git a/src/views/_sila/Memory/Dynamic/MemoryDynamicPage.vue b/src/views/_sila/Memory/Dynamic/MemoryDynamicPage.vue new file mode 100644 index 00000000..21e18fe1 --- /dev/null +++ b/src/views/_sila/Memory/Dynamic/MemoryDynamicPage.vue @@ -0,0 +1,53 @@ +<template> + <b-container fluid="xl"> + <page-title :description="$t('appPageTitle.dynamicInformation')" /> + + <chart + type="memory" + :data="filteredSensors" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + ></chart> + </b-container> +</template> + +<script> +import PageTitle from '@/components/_sila/Global/PageTitle'; +import Chart from '@/components/_sila/Global/Chart'; + +import DataFormatterMixin from '@/components/_sila/Mixins/DataFormatterMixin'; +import LoadingBarMixin from '@/components/_sila/Mixins/LoadingBarMixin'; +import TableFilterMixin from '@/components/_sila/Mixins/TableFilterMixin'; + +export default { + components: { PageTitle, Chart }, + mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin], + data() { + return { + activeFilters: [], + temperatureWarning: 72, + temperatureNonNormal: 44, + temperatureCriticalStart: 55, + }; + }, + + computed: { + allSensors() { + let sensors = this.$store.getters['memory/dimms']; + return sensors; + }, + + filteredSensors() { + return this.getFilteredTableData(this.allSensors, this.activeFilters); + }, + }, + + created() { + this.startLoader(); + this.$store.dispatch('memory/getMemoryDynamic').finally(() => { + this.endLoader(); + }); + }, +}; +</script> diff --git a/src/views/_sila/Memory/Dynamic/index.js b/src/views/_sila/Memory/Dynamic/index.js new file mode 100644 index 00000000..b840772c --- /dev/null +++ b/src/views/_sila/Memory/Dynamic/index.js @@ -0,0 +1,2 @@ +import MemoryDynamicPage from './MemoryDynamicPage.vue'; +export default MemoryDynamicPage; diff --git a/src/views/_sila/Motherboard/Dynamic/MotherboardDynamicPage.vue b/src/views/_sila/Motherboard/Dynamic/MotherboardDynamicPage.vue new file mode 100644 index 00000000..b4d13f3f --- /dev/null +++ b/src/views/_sila/Motherboard/Dynamic/MotherboardDynamicPage.vue @@ -0,0 +1,53 @@ +<template> + <b-container fluid="xl"> + <page-title :description="$t('appPageTitle.dynamicInformation')" /> + + <chart + type="motherboard" + :data="filteredSensors" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + ></chart> + </b-container> +</template> + +<script> +import PageTitle from '@/components/_sila/Global/PageTitle'; +import Chart from '@/components/_sila/Global/Chart'; + +import DataFormatterMixin from '@/components/_sila/Mixins/DataFormatterMixin'; +import LoadingBarMixin from '@/components/_sila/Mixins/LoadingBarMixin'; +import TableFilterMixin from '@/components/_sila/Mixins/TableFilterMixin'; + +export default { + components: { PageTitle, Chart }, + mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin], + data() { + return { + activeFilters: [], + temperatureWarning: 72, + temperatureNonNormal: 44, + temperatureCriticalStart: 55, + }; + }, + + computed: { + allSensors() { + let sensors = this.$store.getters['motherboard/motherboard']; + return sensors; + }, + + filteredSensors() { + return this.getFilteredTableData(this.allSensors, this.activeFilters); + }, + }, + + created() { + this.startLoader(); + this.$store.dispatch('motherboard/getMotherboardDynamic').finally(() => { + this.endLoader(); + }); + }, +}; +</script> diff --git a/src/views/_sila/Motherboard/Dynamic/index.js b/src/views/_sila/Motherboard/Dynamic/index.js new file mode 100644 index 00000000..bd155997 --- /dev/null +++ b/src/views/_sila/Motherboard/Dynamic/index.js @@ -0,0 +1,2 @@ +import MotherboardDynamicPage from './MotherboardDynamicPage.vue'; +export default MotherboardDynamicPage; diff --git a/src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue b/src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue index 000928cf..6f30576a 100644 --- a/src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue +++ b/src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue @@ -1,20 +1,208 @@ <template> <b-container fluid="xl"> <page-title :description="$t('appPageTitle.dynamicInformation')" /> + <collapse id="collapse_1" title="Температра" style="margin-top: -2rem"> + <template #image> + <img src="@/assets/images/_sila/collapsed/temperature.svg" /> + </template> + <page-section> + <b-row class="align-items-end pt-2"> + <b-col sm="12" md="6" lg="3"> + <b-form-group label="Не штатный режим"> + <b-form-input> </b-form-input> + </b-form-group> + </b-col> + <b-col sm="12" md="6" lg="3"> + <b-form-group label="Критический режим"> + <b-form-input> </b-form-input> + </b-form-group> + </b-col> + <b-col sm="12" md="6" lg="3"> + <b-form-group label="Значение предупреждения"> + <b-form-input> </b-form-input> + </b-form-group> + </b-col> + <b-col sm="12" md="6" lg="3"> + <b-button variant="primary"> + {{ 'Сохранить' }} + </b-button> + </b-col> + </b-row> + <chart + type="processors" + :data="filteredSensors" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + ></chart> + <b-table + responsive="md" + show-empty + table-variant="accessory" + hover + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(name)="{ value, index }"> + <div + class="item-color" + :style="`background-color: ${colors[index]}`" + ></div> + {{ value }} + </template> + <template #cell(minDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + </b-table> + </page-section> + </collapse> </b-container> </template> - <script> import PageTitle from '@/components/_sila/Global/PageTitle'; +import Chart from '@/components/_sila/Global/Chart'; +import PageSection from '@/components/Global/PageSection'; import DataFormatterMixin from '@/components/_sila/Mixins/DataFormatterMixin'; import LoadingBarMixin from '@/components/_sila/Mixins/LoadingBarMixin'; +import TableFilterMixin from '@/components/_sila/Mixins/TableFilterMixin'; +import Collapse from '@/components/_sila/Global/Collapse'; export default { - components: { PageTitle }, - mixins: [DataFormatterMixin, LoadingBarMixin], + components: { PageTitle, Collapse, PageSection, Chart }, + mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin], data() { - return {}; + return { + activeFilters: [], + temperatureWarning: 72, + temperatureNonNormal: 44, + temperatureCriticalStart: 55, + 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' }, + }, + ], + }; + }, + + computed: { + allSensors() { + let sensors = this.$store.getters['processors/processors']; + return sensors; + }, + + filteredSensors() { + return this.getFilteredTableData(this.allSensors, this.activeFilters); + }, + colors() { + return this.$randomColor({ + count: this.allSensors?.length, + hue: 'random', + luminosity: 'random', + }); + }, + }, + + created() { + this.startLoader(); + this.$store.dispatch('processors/getProcessorsDynamic').finally(() => { + this.endLoader(); + }); }, }; </script> |