summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/_sila/Fans/Dynamic/FansDynamicPage.vue51
-rw-r--r--src/views/_sila/Fans/Dynamic/index.js2
-rw-r--r--src/views/_sila/Fans/Static/FansStaticPage.vue1
-rw-r--r--src/views/_sila/Memory/Dynamic/MemoryDynamicPage.vue53
-rw-r--r--src/views/_sila/Memory/Dynamic/index.js2
-rw-r--r--src/views/_sila/Motherboard/Dynamic/MotherboardDynamicPage.vue53
-rw-r--r--src/views/_sila/Motherboard/Dynamic/index.js2
-rw-r--r--src/views/_sila/Processors/Dynamic/ProcessorsDynamicPage.vue196
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>