|
|
|
@ -42,39 +42,37 @@
|
|
|
|
|
|
|
|
|
|
<el-row :gutter="20" style="margin-top: 20px"> |
|
|
|
|
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16"> |
|
|
|
|
<CardWithHeader :header="$t('home.overview')" height="166px"> |
|
|
|
|
<CardWithHeader :header="$t('home.overview')"> |
|
|
|
|
<template #body> |
|
|
|
|
<div class="h-overview"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<span>{{ $t('menu.website') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/websites')">{{ baseInfo?.websiteNumber }}</span> |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<span>{{ $t('menu.database') }} - {{ $t('database.all') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span> |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<span>{{ $t('menu.cronjob') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/cronjobs')"> |
|
|
|
|
{{ baseInfo?.cronjobNumber }} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<span>{{ $t('home.appInstalled') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/apps/installed')"> |
|
|
|
|
{{ baseInfo?.appInstalledNumber }} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<div> |
|
|
|
|
<span>{{ $t('menu.website') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/websites')">{{ baseInfo?.websiteNumber }}</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<span>{{ $t('menu.database') }} - {{ $t('database.all') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<span>{{ $t('menu.cronjob') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/cronjobs')"> |
|
|
|
|
{{ baseInfo?.cronjobNumber }} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<span>{{ $t('home.appInstalled') }}</span> |
|
|
|
|
<div class="count"> |
|
|
|
|
<span @click="goRouter('/apps/installed')"> |
|
|
|
|
{{ baseInfo?.appInstalledNumber }} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</CardWithHeader> |
|
|
|
@ -85,42 +83,44 @@
|
|
|
|
|
</CardWithHeader> |
|
|
|
|
<CardWithHeader :header="$t('menu.monitor')" style="margin-top: 20px; margin-bottom: 20px"> |
|
|
|
|
<template #header-r> |
|
|
|
|
<el-radio-group |
|
|
|
|
style="float: right; margin-left: 5px" |
|
|
|
|
v-model="chartOption" |
|
|
|
|
@change="changeOption" |
|
|
|
|
> |
|
|
|
|
<el-radio-button value="network">{{ $t('home.network') }}</el-radio-button> |
|
|
|
|
<el-radio-button value="io">{{ $t('home.io') }}</el-radio-button> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<el-select |
|
|
|
|
v-if="chartOption === 'network'" |
|
|
|
|
@change="onLoadBaseInfo(false, 'network')" |
|
|
|
|
v-model="searchInfo.netOption" |
|
|
|
|
class="p-w-200 float-right" |
|
|
|
|
<div |
|
|
|
|
class="float-right flex flex-col items-end flex-wrap sm:items-center gap-2 sm:flex-row sm:gap-4" |
|
|
|
|
> |
|
|
|
|
<template #prefix>{{ $t('home.networkCard') }}</template> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in netOptions" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item == 'all' ? $t('commons.table.all') : item" |
|
|
|
|
:value="item" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
<el-select |
|
|
|
|
v-if="chartOption === 'io'" |
|
|
|
|
v-model="searchInfo.ioOption" |
|
|
|
|
@change="onLoadBaseInfo(false, 'io')" |
|
|
|
|
class="p-w-200 float-right" |
|
|
|
|
> |
|
|
|
|
<template #prefix>{{ $t('home.disk') }}</template> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in ioOptions" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item == 'all' ? $t('commons.table.all') : item" |
|
|
|
|
:value="item" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
<el-radio-group v-model="chartOption" @change="changeOption"> |
|
|
|
|
<el-radio-button value="network">{{ $t('home.network') }}</el-radio-button> |
|
|
|
|
<el-radio-button value="io">{{ $t('home.io') }}</el-radio-button> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<div> |
|
|
|
|
<el-select |
|
|
|
|
v-if="chartOption === 'network'" |
|
|
|
|
@change="onLoadBaseInfo(false, 'network')" |
|
|
|
|
v-model="searchInfo.netOption" |
|
|
|
|
class="p-w-200 float-right" |
|
|
|
|
> |
|
|
|
|
<template #prefix>{{ $t('home.networkCard') }}</template> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in netOptions" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item == 'all' ? $t('commons.table.all') : item" |
|
|
|
|
:value="item" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
<el-select |
|
|
|
|
v-if="chartOption === 'io'" |
|
|
|
|
v-model="searchInfo.ioOption" |
|
|
|
|
@change="onLoadBaseInfo(false, 'io')" |
|
|
|
|
class="p-w-200 float-right" |
|
|
|
|
> |
|
|
|
|
<template #prefix>{{ $t('home.disk') }}</template> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in ioOptions" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item == 'all' ? $t('commons.table.all') : item" |
|
|
|
|
:value="item" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
<template #body> |
|
|
|
|
<div style="position: relative; margin-top: 20px"> |
|
|
|
@ -685,14 +685,20 @@ onBeforeUnmount(() => {
|
|
|
|
|
<style lang="scss"> |
|
|
|
|
.h-overview { |
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: space-around; |
|
|
|
|
flex-direction: row; |
|
|
|
|
span:first-child { |
|
|
|
|
font-size: 14px; |
|
|
|
|
color: var(--el-text-color-regular); |
|
|
|
|
} |
|
|
|
|
@media only screen and (max-width: 1300px) { |
|
|
|
|
display: grid; |
|
|
|
|
gap: 1rem; |
|
|
|
|
grid-template-columns: repeat(2, minmax(0, 1fr)); |
|
|
|
|
span:first-child { |
|
|
|
|
font-size: 12px; |
|
|
|
|
font-size: 16px; |
|
|
|
|
color: var(--el-text-color-regular); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|