mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-01-31 22:18:07 +08:00
feat: Improve the internationalization of the frontend. (#7778)
This commit is contained in:
parent
edf24dbc49
commit
40b099a978
@ -3,8 +3,6 @@ package dir
|
|||||||
import (
|
import (
|
||||||
"path"
|
"path"
|
||||||
|
|
||||||
"github.com/1Panel-dev/1Panel/agent/app/model"
|
|
||||||
"github.com/1Panel-dev/1Panel/agent/constant"
|
|
||||||
"github.com/1Panel-dev/1Panel/agent/global"
|
"github.com/1Panel-dev/1Panel/agent/global"
|
||||||
"github.com/1Panel-dev/1Panel/agent/utils/files"
|
"github.com/1Panel-dev/1Panel/agent/utils/files"
|
||||||
)
|
)
|
||||||
@ -30,15 +28,4 @@ func Init() {
|
|||||||
global.Dir.RuntimeDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/runtime"))
|
global.Dir.RuntimeDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/runtime"))
|
||||||
global.Dir.RecycleBinDir, _ = fileOp.CreateDirWithPath(true, "/.1panel_clash")
|
global.Dir.RecycleBinDir, _ = fileOp.CreateDirWithPath(true, "/.1panel_clash")
|
||||||
global.Dir.SSLLogDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/log/ssl"))
|
global.Dir.SSLLogDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/log/ssl"))
|
||||||
|
|
||||||
//loadLocalDir()
|
|
||||||
}
|
|
||||||
|
|
||||||
func loadLocalDir() {
|
|
||||||
var account model.BackupAccount
|
|
||||||
if err := global.DB.Where("`type` = ?", constant.Local).First(&account).Error; err != nil {
|
|
||||||
global.LOG.Errorf("load local backup account info failed, err: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
global.Dir.LocalBackupDir = account.BackupPath
|
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@ func Init() {
|
|||||||
initGlobalData()
|
initGlobalData()
|
||||||
handleCronjobStatus()
|
handleCronjobStatus()
|
||||||
handleSnapStatus()
|
handleSnapStatus()
|
||||||
|
|
||||||
|
loadLocalDir()
|
||||||
}
|
}
|
||||||
|
|
||||||
func initGlobalData() {
|
func initGlobalData() {
|
||||||
@ -92,3 +94,12 @@ func handleCronJobAlert(cronjob *model.Cronjob) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func loadLocalDir() {
|
||||||
|
var account model.BackupAccount
|
||||||
|
if err := global.DB.Where("`type` = ?", constant.Local).First(&account).Error; err != nil {
|
||||||
|
global.LOG.Errorf("load local backup account info failed, err: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
global.Dir.LocalBackupDir = account.BackupPath
|
||||||
|
}
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
:disabled="data.status === 'Installing'"
|
:disabled="data.status === 'Installing'"
|
||||||
@click="onOperate('restart')"
|
@click="onOperate('restart')"
|
||||||
>
|
>
|
||||||
{{ $t('app.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('database.source')" prop="backupType">
|
<el-table-column :label="$t('app.source')" prop="backupType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.accountType === 'LOCAL'">
|
<span v-if="row.accountType === 'LOCAL'">
|
||||||
{{ $t('setting.LOCAL') }}
|
{{ $t('setting.LOCAL') }}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<el-button class="margin-button" @click="onDownload" icon="Download">
|
<el-button class="margin-button" @click="onDownload" icon="Download">
|
||||||
{{ $t('file.download') }}
|
{{ $t('commons.button.download') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button class="margin-button" @click="onClean" icon="Delete">
|
<el-button class="margin-button" @click="onClean" icon="Delete">
|
||||||
{{ $t('commons.button.clean') }}
|
{{ $t('commons.button.clean') }}
|
||||||
@ -89,7 +89,7 @@ const visibleLogs = computed(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const timeOptions = ref([
|
const timeOptions = ref([
|
||||||
{ label: i18n.global.t('container.all'), value: 'all' },
|
{ label: i18n.global.t('commons.table.all'), value: 'all' },
|
||||||
{
|
{
|
||||||
label: i18n.global.t('container.lastDay'),
|
label: i18n.global.t('container.lastDay'),
|
||||||
value: '24h',
|
value: '24h',
|
||||||
@ -148,7 +148,7 @@ const searchLogs = async () => {
|
|||||||
const onDownload = async () => {
|
const onDownload = async () => {
|
||||||
logSearch.tail = 0;
|
logSearch.tail = 0;
|
||||||
let msg = i18n.global.t('container.downLogHelper1', [logSearch.container]);
|
let msg = i18n.global.t('container.downLogHelper1', [logSearch.container]);
|
||||||
ElMessageBox.confirm(msg, i18n.global.t('file.download'), {
|
ElMessageBox.confirm(msg, i18n.global.t('commons.button.download'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="open" :header="$t('website.log')" size="large" :back="handleClose">
|
<DrawerPro v-model="open" :header="$t('commons.button.log')" size="large" :back="handleClose">
|
||||||
<LogFile :config="config" :height-diff="config.heightDiff"></LogFile>
|
<LogFile :config="config" :height-diff="config.heightDiff"></LogFile>
|
||||||
</DrawerPro>
|
</DrawerPro>
|
||||||
</template>
|
</template>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
icon="Download"
|
icon="Download"
|
||||||
:disabled="logs.length === 0"
|
:disabled="logs.length === 0"
|
||||||
>
|
>
|
||||||
{{ $t('file.download') }}
|
{{ $t('commons.button.download') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<span v-if="$slots.button" class="ml-2.5">
|
<span v-if="$slots.button" class="ml-2.5">
|
||||||
<slot name="button"></slot>
|
<slot name="button"></slot>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<Status :status="row.status" :msg="row.errorMsg" />
|
<Status :status="row.status" :msg="row.errorMsg" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('website.log')" prop="log">
|
<el-table-column :label="$t('commons.button.log')" prop="log">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button @click="openTaskLog(row)" link type="primary">
|
<el-button @click="openTaskLog(row)" link type="primary">
|
||||||
{{ $t('website.check') }}
|
{{ $t('website.check') }}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@
|
|||||||
@click="$emit('closeTab', tabItem.path)"
|
@click="$emit('closeTab', tabItem.path)"
|
||||||
>
|
>
|
||||||
<el-icon><Close /></el-icon>
|
<el-icon><Close /></el-icon>
|
||||||
{{ $t('tabs.close') }}
|
{{ $t('commons.button.close') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
v-if="tabsStore.hasCloseDropdown(tabItem.path, 'left')"
|
v-if="tabsStore.hasCloseDropdown(tabItem.path, 'left')"
|
||||||
|
@ -150,7 +150,7 @@
|
|||||||
"
|
"
|
||||||
@click.stop="openInstall(app)"
|
@click.stop="openInstall(app)"
|
||||||
>
|
>
|
||||||
{{ $t('app.install') }}
|
{{ $t('commons.button.install') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
class="brief-button"
|
class="brief-button"
|
||||||
>
|
>
|
||||||
{{ $t('app.install') }}
|
{{ $t('commons.button.install') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="open" :header="$t('app.install')" :back="handleClose" size="large">
|
<DrawerPro v-model="open" :header="$t('commons.button.install')" :back="handleClose" size="large">
|
||||||
<el-alert
|
<el-alert
|
||||||
:title="$t('app.hostModeHelper')"
|
:title="$t('app.hostModeHelper')"
|
||||||
class="common-prompt"
|
class="common-prompt"
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
>
|
>
|
||||||
<span>{{ service.label }}</span>
|
<span>{{ service.label }}</span>
|
||||||
<span class="float-right" v-if="service.from != ''">
|
<span class="float-right" v-if="service.from != ''">
|
||||||
<el-tag v-if="service.from === 'local'">{{ $t('database.local') }}</el-tag>
|
<el-tag v-if="service.from === 'local'">{{ $t('commons.table.local') }}</el-tag>
|
||||||
<el-tag v-else type="success">{{ $t('database.remote') }}</el-tag>
|
<el-tag v-else type="success">{{ $t('database.remote') }}</el-tag>
|
||||||
</span>
|
</span>
|
||||||
</el-option>
|
</el-option>
|
||||||
|
@ -103,8 +103,8 @@ const toPage = (key: string) => {
|
|||||||
|
|
||||||
const onConfirm = () => {
|
const onConfirm = () => {
|
||||||
ElMessageBox.confirm(
|
ElMessageBox.confirm(
|
||||||
i18n.global.t('app.operatorHelper', [i18n.global.t('app.delete')]),
|
i18n.global.t('app.operatorHelper', [i18n.global.t('commons.button.delete')]),
|
||||||
i18n.global.t('app.delete'),
|
i18n.global.t('commons.button.delete'),
|
||||||
{
|
{
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
|
@ -243,7 +243,7 @@ const submit = async (formEl: FormInstance) => {
|
|||||||
if (!valid) {
|
if (!valid) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ElMessageBox.confirm(i18n.global.t('app.updateWarn'), i18n.global.t('app.update'), {
|
ElMessageBox.confirm(i18n.global.t('app.updateWarn'), i18n.global.t('commons.button.update'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #leftToolBar>
|
<template #leftToolBar>
|
||||||
<el-button @click="sync" type="primary" plain v-if="mode === 'installed' && data != null">
|
<el-button @click="sync" type="primary" plain v-if="mode === 'installed' && data != null">
|
||||||
{{ $t('app.sync') }}
|
{{ $t('commons.button.sync') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="openIgnore" type="primary" plain v-if="mode === 'upgrade'">
|
<el-button @click="openIgnore" type="primary" plain v-if="mode === 'upgrade'">
|
||||||
{{ $t('app.showIgnore') }}
|
{{ $t('app.showIgnore') }}
|
||||||
@ -448,7 +448,7 @@ const options = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const sync = () => {
|
const sync = () => {
|
||||||
ElMessageBox.confirm(i18n.global.t('app.syncAllAppHelper'), i18n.global.t('app.sync'), {
|
ElMessageBox.confirm(i18n.global.t('app.syncAllAppHelper'), i18n.global.t('commons.button.sync'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
@ -561,7 +561,7 @@ const onOperate = async (operation: string) => {
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('app.sync'),
|
label: i18n.global.t('commons.button.sync'),
|
||||||
click: (row: any) => {
|
click: (row: any) => {
|
||||||
openOperate(row, 'sync');
|
openOperate(row, 'sync');
|
||||||
},
|
},
|
||||||
@ -589,7 +589,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('app.restart'),
|
label: i18n.global.t('commons.button.restart'),
|
||||||
click: (row: any) => {
|
click: (row: any) => {
|
||||||
openOperate(row, 'restart');
|
openOperate(row, 'restart');
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="drawerVisible" :header="$t('container.compose')" :back="handleClose" size="large">
|
<DrawerPro v-model="drawerVisible" :header="$t('container.compose')" :back="handleClose" size="large">
|
||||||
<el-form ref="formRef" @submit.prevent label-position="top" :model="form" :rules="rules" v-loading="loading">
|
<el-form ref="formRef" @submit.prevent label-position="top" :model="form" :rules="rules" v-loading="loading">
|
||||||
<el-form-item :label="$t('container.from')">
|
<el-form-item :label="$t('app.source')">
|
||||||
<el-radio-group v-model="form.from" @change="onEdit('form')">
|
<el-radio-group v-model="form.from" @change="onEdit('form')">
|
||||||
<el-radio value="edit">{{ $t('commons.button.edit') }}</el-radio>
|
<el-radio value="edit">{{ $t('commons.button.edit') }}</el-radio>
|
||||||
<el-radio value="path">{{ $t('container.pathSelect') }}</el-radio>
|
<el-radio value="path">{{ $t('container.pathSelect') }}</el-radio>
|
||||||
@ -133,7 +133,7 @@ const changeTemplate = () => {
|
|||||||
|
|
||||||
const changeFrom = () => {
|
const changeFrom = () => {
|
||||||
if ((oldFrom.value === 'edit' || oldFrom.value === 'template') && form.file) {
|
if ((oldFrom.value === 'edit' || oldFrom.value === 'template') && form.file) {
|
||||||
ElMessageBox.confirm(i18n.global.t('container.fromChangeHelper'), i18n.global.t('container.from'), {
|
ElMessageBox.confirm(i18n.global.t('container.fromChangeHelper'), i18n.global.t('app.source'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -8,15 +8,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="createdBy === '1Panel'" style="margin-left: 50px">
|
<div v-if="createdBy === '1Panel'" style="margin-left: 50px">
|
||||||
<el-button link type="primary" @click="onComposeOperate('up')">
|
<el-button link type="primary" @click="onComposeOperate('up')">
|
||||||
{{ $t('container.start') }}
|
{{ $t('app.start') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button link type="primary" @click="onComposeOperate('stop')">
|
<el-button link type="primary" @click="onComposeOperate('stop')">
|
||||||
{{ $t('container.stop') }}
|
{{ $t('app.stop') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button link type="primary" @click="onComposeOperate('down')">
|
<el-button link type="primary" @click="onComposeOperate('down')">
|
||||||
{{ $t('container.remove') }}
|
{{ $t('commons.button.delete') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
@ -40,13 +40,13 @@
|
|||||||
<template #main>
|
<template #main>
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button :disabled="checkStatus('start')" @click="onOperate('start')">
|
<el-button :disabled="checkStatus('start')" @click="onOperate('start')">
|
||||||
{{ $t('container.start') }}
|
{{ $t('app.start') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('stop')" @click="onOperate('stop')">
|
<el-button :disabled="checkStatus('stop')" @click="onOperate('stop')">
|
||||||
{{ $t('container.stop') }}
|
{{ $t('app.stop') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('restart')" @click="onOperate('restart')">
|
<el-button :disabled="checkStatus('restart')" @click="onOperate('restart')">
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('kill')" @click="onOperate('kill')">
|
<el-button :disabled="checkStatus('kill')" @click="onOperate('kill')">
|
||||||
{{ $t('container.kill') }}
|
{{ $t('container.kill') }}
|
||||||
@ -58,7 +58,7 @@
|
|||||||
{{ $t('container.unpause') }}
|
{{ $t('container.unpause') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('remove')" @click="onOperate('remove')">
|
<el-button :disabled="checkStatus('remove')" @click="onOperate('remove')">
|
||||||
{{ $t('container.remove') }}
|
{{ $t('commons.button.delete') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
<ComplexTable
|
<ComplexTable
|
||||||
@ -311,7 +311,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('container.monitor'),
|
label: i18n.global.t('menu.monitor'),
|
||||||
disabled: (row: Container.ContainerInfo) => {
|
disabled: (row: Container.ContainerInfo) => {
|
||||||
return row.state !== 'running';
|
return row.state !== 'running';
|
||||||
},
|
},
|
||||||
|
@ -39,10 +39,10 @@
|
|||||||
</el-text>
|
</el-text>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('container.from')" prop="createdBy" min-width="80" fix>
|
<el-table-column :label="$t('app.source')" prop="createdBy" min-width="80" fix>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.createdBy === ''">{{ $t('container.local') }}</span>
|
<span v-if="row.createdBy === ''">{{ $t('commons.table.local') }}</span>
|
||||||
<span v-if="row.createdBy === 'Apps'">{{ $t('container.apps') }}</span>
|
<span v-if="row.createdBy === 'Apps'">{{ $t('menu.apps') }}</span>
|
||||||
<span v-if="row.createdBy === '1Panel'">1Panel</span>
|
<span v-if="row.createdBy === '1Panel'">1Panel</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<LayoutContent :title="$t('container.container')" :class="{ mask: !isActive }">
|
<LayoutContent :title="$t('menu.container')" :class="{ mask: !isActive }">
|
||||||
<template #leftToolBar>
|
<template #leftToolBar>
|
||||||
<el-button type="primary" @click="onContainerOperate('')">
|
<el-button type="primary" @click="onContainerOperate('')">
|
||||||
{{ $t('container.create') }}
|
{{ $t('container.create') }}
|
||||||
@ -75,13 +75,13 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button :disabled="checkStatus('start', null)" @click="onOperate('start', null)">
|
<el-button :disabled="checkStatus('start', null)" @click="onOperate('start', null)">
|
||||||
{{ $t('container.start') }}
|
{{ $t('app.start') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('stop', null)" @click="onOperate('stop', null)">
|
<el-button :disabled="checkStatus('stop', null)" @click="onOperate('stop', null)">
|
||||||
{{ $t('container.stop') }}
|
{{ $t('app.stop') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('restart', null)" @click="onOperate('restart', null)">
|
<el-button :disabled="checkStatus('restart', null)" @click="onOperate('restart', null)">
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('kill', null)" @click="onOperate('kill', null)">
|
<el-button :disabled="checkStatus('kill', null)" @click="onOperate('kill', null)">
|
||||||
{{ $t('container.kill') }}
|
{{ $t('container.kill') }}
|
||||||
@ -93,7 +93,7 @@
|
|||||||
{{ $t('container.unpause') }}
|
{{ $t('container.unpause') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button :disabled="checkStatus('remove', null)" @click="onOperate('remove', null)">
|
<el-button :disabled="checkStatus('remove', null)" @click="onOperate('remove', null)">
|
||||||
{{ $t('container.remove') }}
|
{{ $t('commons.button.delete') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</template>
|
</template>
|
||||||
@ -158,19 +158,19 @@
|
|||||||
:disabled="checkStatus('start', row)"
|
:disabled="checkStatus('start', row)"
|
||||||
@click="onOperate('start', row)"
|
@click="onOperate('start', row)"
|
||||||
>
|
>
|
||||||
{{ $t('container.start') }}
|
{{ $t('app.start') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
:disabled="checkStatus('stop', row)"
|
:disabled="checkStatus('stop', row)"
|
||||||
@click="onOperate('stop', row)"
|
@click="onOperate('stop', row)"
|
||||||
>
|
>
|
||||||
{{ $t('container.stop') }}
|
{{ $t('app.stop') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
:disabled="checkStatus('restart', row)"
|
:disabled="checkStatus('restart', row)"
|
||||||
@click="onOperate('restart', row)"
|
@click="onOperate('restart', row)"
|
||||||
>
|
>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
:disabled="checkStatus('kill', row)"
|
:disabled="checkStatus('kill', row)"
|
||||||
@ -318,7 +318,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
@click="router.push({ name: 'Website' })"
|
@click="router.push({ name: 'Website' })"
|
||||||
>
|
>
|
||||||
{{ $t('website.website') }}:
|
{{ $t('menu.website') }}:
|
||||||
{{ row.websites.join(',') }}
|
{{ row.websites.join(',') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -741,7 +741,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('container.monitor'),
|
label: i18n.global.t('menu.monitor'),
|
||||||
disabled: (row: Container.ContainerInfo) => {
|
disabled: (row: Container.ContainerInfo) => {
|
||||||
return row.state !== 'running';
|
return row.state !== 'running';
|
||||||
},
|
},
|
||||||
@ -768,7 +768,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('container.remove'),
|
label: i18n.global.t('commons.button.delete'),
|
||||||
click: (row: Container.ContainerInfo) => {
|
click: (row: Container.ContainerInfo) => {
|
||||||
onOperate('remove', row);
|
onOperate('remove', row);
|
||||||
},
|
},
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro
|
<DrawerPro v-model="monitorVisible" :header="$t('menu.monitor')" :back="handleClose" :resource="title" size="large">
|
||||||
v-model="monitorVisible"
|
|
||||||
:header="$t('container.monitor')"
|
|
||||||
:back="handleClose"
|
|
||||||
:resource="title"
|
|
||||||
size="large"
|
|
||||||
>
|
|
||||||
<el-form label-position="top" @submit.prevent>
|
<el-form label-position="top" @submit.prevent>
|
||||||
<el-form-item :label="$t('container.refreshTime')">
|
<el-form-item :label="$t('container.refreshTime')">
|
||||||
<el-select v-model="timeInterval" @change="changeTimer">
|
<el-select v-model="timeInterval" @change="changeTimer">
|
||||||
|
@ -95,7 +95,7 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('container.container')" min-width="120">
|
<el-table-column :label="$t('menu.container')" min-width="120">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input
|
<el-input
|
||||||
:placeholder="$t('container.containerExample')"
|
:placeholder="$t('container.containerExample')"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro
|
<DrawerPro
|
||||||
v-model="terminalVisible"
|
v-model="terminalVisible"
|
||||||
:header="$t('container.containerTerminal')"
|
:header="$t('menu.terminal')"
|
||||||
:back="handleClose"
|
:back="handleClose"
|
||||||
:resource="title"
|
:resource="title"
|
||||||
size="large"
|
size="large"
|
||||||
@ -41,7 +41,7 @@
|
|||||||
<el-button v-if="!terminalOpen" @click="initTerm(formRef)">
|
<el-button v-if="!terminalOpen" @click="initTerm(formRef)">
|
||||||
{{ $t('commons.button.conn') }}
|
{{ $t('commons.button.conn') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else @click="onClose()">{{ $t('commons.button.disconn') }}</el-button>
|
<el-button v-else @click="onClose()">{{ $t('commons.button.disConn') }}</el-button>
|
||||||
<Terminal
|
<Terminal
|
||||||
style="height: calc(100vh - 302px); margin-top: 18px"
|
style="height: calc(100vh - 302px); margin-top: 18px"
|
||||||
ref="terminalRef"
|
ref="terminalRef"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<CardWithHeader :header="$t('container.container')" class="mt-5">
|
<CardWithHeader :header="$t('menu.container')" class="mt-5">
|
||||||
<template #body>
|
<template #body>
|
||||||
<span class="count" @click="goRouter('Container')">{{ countItem.containerCount }}</span>
|
<span class="count" @click="goRouter('Container')">{{ countItem.containerCount }}</span>
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="drawerVisible" :header="$t('container.imagePull')" :back="onCloseLog" size="large">
|
<DrawerPro v-model="drawerVisible" :header="$t('container.imagePull')" :back="onCloseLog" size="large">
|
||||||
<el-form ref="formRef" label-position="top" :model="form">
|
<el-form ref="formRef" label-position="top" :model="form">
|
||||||
<el-form-item :label="$t('container.from')">
|
<el-form-item :label="$t('app.source')">
|
||||||
<el-checkbox v-model="form.fromRepo">
|
<el-checkbox v-model="form.fromRepo">
|
||||||
{{ $t('container.imageRepo') }}
|
{{ $t('container.imageRepo') }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="drawerVisible" :header="$t('container.imageTag')" :back="handleClose" size="large">
|
<DrawerPro v-model="drawerVisible" :header="$t('container.imageTag')" :back="handleClose" size="large">
|
||||||
<el-form v-loading="loading" label-position="top" ref="formRef" :model="form" label-width="80px">
|
<el-form v-loading="loading" label-position="top" ref="formRef" :model="form" label-width="80px">
|
||||||
<el-form-item :label="$t('container.from')">
|
<el-form-item :label="$t('app.source')">
|
||||||
<el-checkbox v-model="form.fromRepo">{{ $t('container.imageRepo') }}</el-checkbox>
|
<el-checkbox v-model="form.fromRepo">{{ $t('container.imageRepo') }}</el-checkbox>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
@ -12,11 +12,11 @@ import i18n from '@/lang';
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('home.overview'),
|
label: i18n.global.t('menu.home'),
|
||||||
path: '/containers/dashboard',
|
path: '/containers/dashboard',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('container.container'),
|
label: i18n.global.t('menu.container'),
|
||||||
path: '/containers/container',
|
path: '/containers/container',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -10,14 +10,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="mt-0.5">
|
<div class="mt-0.5">
|
||||||
<el-button v-if="form.isActive" type="primary" @click="onOperator('stop')" link>
|
<el-button v-if="form.isActive" type="primary" @click="onOperator('stop')" link>
|
||||||
{{ $t('container.stop') }}
|
{{ $t('app.stop') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="!form.isActive" type="primary" @click="onOperator('start')" link>
|
<el-button v-if="!form.isActive" type="primary" @click="onOperator('start')" link>
|
||||||
{{ $t('container.start') }}
|
{{ $t('app.start') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" @click="onOperator('restart')" link>
|
<el-button type="primary" @click="onOperator('restart')" link>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
</el-text>
|
</el-text>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('container.description')" prop="description" min-width="200" fix />
|
<el-table-column :label="$t('commons.table.description')" prop="description" min-width="200" fix />
|
||||||
<el-table-column :label="$t('commons.table.createdAt')" min-width="80" fix>
|
<el-table-column :label="$t('commons.table.createdAt')" min-width="80" fix>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ dateFormat(0, 0, row.createdAt) }}
|
{{ dateFormat(0, 0, row.createdAt) }}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||||
<el-input :disabled="dialogData.title === 'edit'" v-model.trim="dialogData.rowData!.name"></el-input>
|
<el-input :disabled="dialogData.title === 'edit'" v-model.trim="dialogData.rowData!.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('container.description')">
|
<el-form-item :label="$t('commons.table.description')">
|
||||||
<el-input v-model="dialogData.rowData!.description"></el-input>
|
<el-input v-model="dialogData.rowData!.description"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<el-form-item :label="$t('container.nfsAddress')" prop="nfsAddress">
|
<el-form-item :label="$t('container.nfsAddress')" prop="nfsAddress">
|
||||||
<el-input clearable v-model.trim="form.nfsAddress" :placeholder="$t('commons.rule.hostHelper')" />
|
<el-input clearable v-model.trim="form.nfsAddress" :placeholder="$t('commons.rule.hostHelper')" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('container.version')" prop="nfsVersion">
|
<el-form-item :label="$t('app.version')" prop="nfsVersion">
|
||||||
<el-radio-group v-model="form.nfsVersion">
|
<el-radio-group v-model="form.nfsVersion">
|
||||||
<el-radio value="v3">NFS</el-radio>
|
<el-radio value="v3">NFS</el-radio>
|
||||||
<el-radio value="v4">NFS4</el-radio>
|
<el-radio value="v4">NFS4</el-radio>
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('database.source')" prop="accountType" show-overflow-tooltip>
|
<el-table-column :label="$t('app.source')" prop="accountType" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.accountType === 'LOCAL'">
|
<span v-if="row.accountType === 'LOCAL'">
|
||||||
{{ $t('setting.LOCAL') }}
|
{{ $t('setting.LOCAL') }}
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
<RouterButton
|
<RouterButton
|
||||||
:buttons="[
|
:buttons="[
|
||||||
{
|
{
|
||||||
label: i18n.global.t('cronjob.cronTask'),
|
label: i18n.global.t('menu.cronjob'),
|
||||||
path: '/cronjobs',
|
path: '/cronjobs',
|
||||||
},
|
},
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
<LayoutContent v-loading="loading" v-if="!isRecordShow" :title="$t('cronjob.cronTask')">
|
<LayoutContent v-loading="loading" v-if="!isRecordShow" :title="$t('menu.cronjob')">
|
||||||
<template #leftToolBar>
|
<template #leftToolBar>
|
||||||
<el-button type="primary" @click="onOpenDialog('create')">
|
<el-button type="primary" @click="onOpenDialog('create')">
|
||||||
{{ $t('commons.button.create') }}{{ $t('cronjob.cronTask') }}
|
{{ $t('commons.button.create') }}{{ $t('menu.cronjob') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button-group class="ml-4">
|
<el-button-group class="ml-4">
|
||||||
<el-button plain :disabled="selects.length === 0" @click="onBatchChangeStatus('enable')">
|
<el-button plain :disabled="selects.length === 0" @click="onBatchChangeStatus('enable')">
|
||||||
@ -278,7 +278,7 @@ const onDelete = async (row: Cronjob.CronjobInfo | null) => {
|
|||||||
title: i18n.global.t('commons.button.delete'),
|
title: i18n.global.t('commons.button.delete'),
|
||||||
names: names,
|
names: names,
|
||||||
msg: i18n.global.t('commons.msg.operatorHelper', [
|
msg: i18n.global.t('commons.msg.operatorHelper', [
|
||||||
i18n.global.t('cronjob.cronTask'),
|
i18n.global.t('menu.cronjob'),
|
||||||
i18n.global.t('commons.button.delete'),
|
i18n.global.t('commons.button.delete'),
|
||||||
]),
|
]),
|
||||||
api: null,
|
api: null,
|
||||||
|
@ -306,7 +306,7 @@
|
|||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="dialogData.rowData!.type === 'website' || dialogData.rowData!.type === 'cutWebsiteLog'"
|
v-if="dialogData.rowData!.type === 'website' || dialogData.rowData!.type === 'cutWebsiteLog'"
|
||||||
:label="dialogData.rowData!.type === 'website' ? $t('cronjob.website'):$t('website.website')"
|
:label="dialogData.rowData!.type === 'website' ? $t('cronjob.website'):$t('menu.website')"
|
||||||
prop="website"
|
prop="website"
|
||||||
>
|
>
|
||||||
<el-select class="selectClass" v-model="dialogData.rowData!.website">
|
<el-select class="selectClass" v-model="dialogData.rowData!.website">
|
||||||
@ -358,7 +358,7 @@
|
|||||||
<el-option v-for="item in dbInfo.dbs" :key="item.id" :value="item.id + ''" :label="item.name">
|
<el-option v-for="item in dbInfo.dbs" :key="item.id" :value="item.id + ''" :label="item.name">
|
||||||
<span>{{ item.name }}</span>
|
<span>{{ item.name }}</span>
|
||||||
<el-tag class="tagClass">
|
<el-tag class="tagClass">
|
||||||
{{ item.from === 'local' ? $t('database.local') : $t('database.remote') }}
|
{{ item.from === 'local' ? $t('commons.table.local') : $t('database.remote') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag class="tagClass">
|
<el-tag class="tagClass">
|
||||||
{{ item.database }}
|
{{ item.database }}
|
||||||
@ -371,7 +371,7 @@
|
|||||||
<el-form-item v-if="dialogData.rowData!.type === 'directory'" :label="$t('cronjob.backupContent')">
|
<el-form-item v-if="dialogData.rowData!.type === 'directory'" :label="$t('cronjob.backupContent')">
|
||||||
<el-radio-group v-model="dialogData.rowData!.isDir">
|
<el-radio-group v-model="dialogData.rowData!.isDir">
|
||||||
<el-radio :value="true">{{ $t('file.dir') }}</el-radio>
|
<el-radio :value="true">{{ $t('file.dir') }}</el-radio>
|
||||||
<el-radio :value="false">{{ $t('file.file') }}</el-radio>
|
<el-radio :value="false">{{ $t('menu.file') }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
@change="search()"
|
@change="search()"
|
||||||
v-model="timeRangeLoad"
|
v-model="timeRangeLoad"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -143,13 +143,13 @@
|
|||||||
<span class="status-label">{{ $t('commons.table.status') }}</span>
|
<span class="status-label">{{ $t('commons.table.status') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-tag type="danger" v-if="currentRecord?.status === 'Failed'">
|
<el-tag type="danger" v-if="currentRecord?.status === 'Failed'">
|
||||||
{{ $t('commons.table.statusFailed') }}
|
{{ $t('commons.status.failed') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="success" v-if="currentRecord?.status === 'Success'">
|
<el-tag type="success" v-if="currentRecord?.status === 'Success'">
|
||||||
{{ $t('commons.table.statusSuccess') }}
|
{{ $t('commons.status.success') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="info" v-if="currentRecord?.status === 'Waiting'">
|
<el-tag type="info" v-if="currentRecord?.status === 'Waiting'">
|
||||||
{{ $t('commons.table.statusWaiting') }}
|
{{ $t('commons.status.waiting') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -400,7 +400,7 @@ const loadRecord = async (row: Cronjob.Record) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onClean = async () => {
|
const onClean = async () => {
|
||||||
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.msg.deleteTitle'), {
|
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.button.delete'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<el-col :span="20" :offset="2" v-if="open">
|
<el-col :span="20" :offset="2" v-if="open">
|
||||||
<el-alert
|
<el-alert
|
||||||
type="error"
|
type="error"
|
||||||
:title="$t('app.deleteHelper', [$t('app.database')])"
|
:title="$t('app.deleteHelper', [$t('menu.database')])"
|
||||||
center
|
center
|
||||||
show-icon
|
show-icon
|
||||||
:closable="false"
|
:closable="false"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadMysqlInfo(true)" type="icon" />
|
<CopyButton :content="loadMysqlInfo(true)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
3306
|
3306
|
||||||
<CopyButton content="3306" type="icon" />
|
<CopyButton content="3306" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadMysqlInfo(false)" type="icon" />
|
<CopyButton :content="loadMysqlInfo(false)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
{{ form.port }}
|
{{ form.port }}
|
||||||
<CopyButton :content="form.port + ''" type="icon" />
|
<CopyButton :content="form.port + ''" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
<template #rightToolBar>
|
<template #rightToolBar>
|
||||||
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
|
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
|
||||||
<template #prefix>{{ $t('commons.table.type') }}</template>
|
<template #prefix>{{ $t('commons.table.type') }}</template>
|
||||||
<el-option-group :label="$t('database.local')">
|
<el-option-group :label="$t('commons.table.local')">
|
||||||
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
||||||
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
||||||
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
:plain="activeName !== 'log'"
|
:plain="activeName !== 'log'"
|
||||||
@click="changeTab('log')"
|
@click="changeTab('log')"
|
||||||
>
|
>
|
||||||
{{ $t('database.log') }}
|
{{ $t('commons.button.log') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<el-button :disabled="!currentStatus" class="ml-20" @click="onDownload" icon="Download">
|
<el-button :disabled="!currentStatus" class="ml-20" @click="onDownload" icon="Download">
|
||||||
{{ $t('file.download') }}
|
{{ $t('commons.button.download') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<el-col :span="20" :offset="2" v-if="open">
|
<el-col :span="20" :offset="2" v-if="open">
|
||||||
<el-alert
|
<el-alert
|
||||||
type="error"
|
type="error"
|
||||||
:description="$t('app.deleteHelper', [$t('app.database')])"
|
:description="$t('app.deleteHelper', [$t('menu.database')])"
|
||||||
center
|
center
|
||||||
show-icon
|
show-icon
|
||||||
:closable="false"
|
:closable="false"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadPgInfo(true)" type="icon" />
|
<CopyButton :content="loadPgInfo(true)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
5432
|
5432
|
||||||
<CopyButton content="5432" type="icon" />
|
<CopyButton content="5432" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadPgInfo(false)" type="icon" />
|
<CopyButton :content="loadPgInfo(false)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
{{ form.port }}
|
{{ form.port }}
|
||||||
<CopyButton :content="form.port + ''" type="icon" />
|
<CopyButton :content="form.port + ''" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
<template #rightToolBar>
|
<template #rightToolBar>
|
||||||
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
|
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
|
||||||
<template #prefix>{{ $t('commons.table.type') }}</template>
|
<template #prefix>{{ $t('commons.table.type') }}</template>
|
||||||
<el-option-group :label="$t('database.local')">
|
<el-option-group :label="$t('commons.table.local')">
|
||||||
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
||||||
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
||||||
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
:plain="activeName !== 'log'"
|
:plain="activeName !== 'log'"
|
||||||
@click="activeName = 'log'"
|
@click="activeName = 'log'"
|
||||||
>
|
>
|
||||||
{{ $t('database.log') }}
|
{{ $t('commons.button.log') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<el-col :span="20" :offset="2" v-if="open">
|
<el-col :span="20" :offset="2" v-if="open">
|
||||||
<el-alert
|
<el-alert
|
||||||
type="error"
|
type="error"
|
||||||
:description="$t('app.deleteHelper', [$t('app.database')])"
|
:description="$t('app.deleteHelper', [$t('menu.database')])"
|
||||||
center
|
center
|
||||||
show-icon
|
show-icon
|
||||||
:closable="false"
|
:closable="false"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadRedisInfo(true)" type="icon" />
|
<CopyButton :content="loadRedisInfo(true)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
6379
|
6379
|
||||||
<CopyButton content="6379" type="icon" />
|
<CopyButton content="6379" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<CopyButton :content="loadRedisInfo(false)" type="icon" />
|
<CopyButton :content="loadRedisInfo(false)" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('database.connPort')">
|
<el-descriptions-item :label="$t('commons.table.port')">
|
||||||
{{ form.port }}
|
{{ form.port }}
|
||||||
<CopyButton :content="form.port + ''" type="icon" />
|
<CopyButton :content="form.port + ''" type="icon" />
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<template #rightToolBar v-if="!isOnSetting">
|
<template #rightToolBar v-if="!isOnSetting">
|
||||||
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200 ml-5" v-if="currentDB">
|
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200 ml-5" v-if="currentDB">
|
||||||
<template #prefix>{{ $t('commons.table.type') }}</template>
|
<template #prefix>{{ $t('commons.table.type') }}</template>
|
||||||
<el-option-group :label="$t('database.local')">
|
<el-option-group :label="$t('commons.table.local')">
|
||||||
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
<div v-for="(item, index) in dbOptionsLocal" :key="index">
|
||||||
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
|
||||||
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
<span v-if="item.database.length < 25">{{ item.database }}</span>
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<el-table-column type="selection" fix />
|
<el-table-column type="selection" fix />
|
||||||
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" />
|
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" />
|
||||||
<el-table-column :label="$t('database.source')" prop="backupType">
|
<el-table-column :label="$t('app.source')" prop="backupType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.source">
|
<span v-if="row.source">
|
||||||
{{ $t('setting.' + row.source) }}
|
{{ $t('setting.' + row.source) }}
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
link
|
link
|
||||||
@click="onOperate('stop', app.currentRow)"
|
@click="onOperate('stop', app.currentRow)"
|
||||||
>
|
>
|
||||||
{{ $t('commons.operate.up') }}
|
{{ $t('commons.button.start') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
:style="mobile ? 'margin-left: -1px' : ''"
|
:style="mobile ? 'margin-left: -1px' : ''"
|
||||||
@ -101,7 +101,7 @@
|
|||||||
link
|
link
|
||||||
@click="onOperate('stop', app.currentRow)"
|
@click="onOperate('stop', app.currentRow)"
|
||||||
>
|
>
|
||||||
{{ $t('commons.operate.down') }}
|
{{ $t('commons.button.stop') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
:style="mobile ? 'margin-left: -1px' : ''"
|
:style="mobile ? 'margin-left: -1px' : ''"
|
||||||
@ -167,7 +167,7 @@
|
|||||||
:disabled="app.limit == 1 && app.detail && app.detail.length !== 0"
|
:disabled="app.limit == 1 && app.detail && app.detail.length !== 0"
|
||||||
@click="goInstall(app.key, app.appType)"
|
@click="goInstall(app.key, app.appType)"
|
||||||
>
|
>
|
||||||
{{ $t('app.install') }}
|
{{ $t('commons.button.install') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
<el-row :gutter="20" style="margin-top: 20px">
|
<el-row :gutter="20" style="margin-top: 20px">
|
||||||
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
|
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
|
||||||
<CardWithHeader :header="$t('home.overview')" height="166px">
|
<CardWithHeader :header="$t('menu.home')" height="166px">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="h-overview">
|
<div class="h-overview">
|
||||||
<el-row>
|
<el-row>
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<span>{{ $t('menu.database') }} - {{ $t('database.all') }}</span>
|
<span>{{ $t('menu.database') }} - {{ $t('commons.table.all') }}</span>
|
||||||
<div class="count">
|
<div class="count">
|
||||||
<span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span>
|
<span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -69,12 +69,12 @@
|
|||||||
</el-text>
|
</el-text>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
<el-tooltip :content="$t('file.refresh')" placement="top">
|
<el-tooltip :content="$t('commons.button.refresh')" placement="top">
|
||||||
<el-text size="small" @click="getRefresh(directoryPath)" class="cursor-pointer">
|
<el-text size="small" @click="getRefresh(directoryPath)" class="cursor-pointer">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<Refresh />
|
<Refresh />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
<span class="sm:inline hidden pl-1">{{ $t('file.refresh') }}</span>
|
<span class="sm:inline hidden pl-1">{{ $t('commons.button.refresh') }}</span>
|
||||||
</el-text>
|
</el-text>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DialogPro v-model="open" :title="$t('app.delete')" size="small">
|
<DialogPro v-model="open" :title="$t('commons.button.delete')" size="small">
|
||||||
<div>
|
<div>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="22" :offset="1">
|
<el-col :span="22" :offset="1">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="open" :header="$t('file.download')" :back="handleClose" size="normal">
|
<DrawerPro v-model="open" :header="$t('commons.button.download')" :back="handleClose" size="normal">
|
||||||
<el-form ref="fileForm" label-position="top" :model="addForm" :rules="rules" v-loading="loading">
|
<el-form ref="fileForm" label-position="top" :model="addForm" :rules="rules" v-loading="loading">
|
||||||
<el-form-item :label="$t('file.compressType')" prop="type">
|
<el-form-item :label="$t('file.compressType')" prop="type">
|
||||||
<el-select v-model="addForm.type">
|
<el-select v-model="addForm.type">
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<el-tooltip :content="$t('file.top')" placement="top">
|
<el-tooltip :content="$t('file.top')" placement="top">
|
||||||
<el-button icon="Top" @click="top" circle :disabled="paths.length == 0" />
|
<el-button icon="Top" @click="top" circle :disabled="paths.length == 0" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="$t('file.refresh')" placement="top">
|
<el-tooltip :content="$t('commons.button.refresh')" placement="top">
|
||||||
<el-button icon="Refresh" circle @click="search" />
|
<el-button icon="Refresh" circle @click="search" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
@ -49,7 +49,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<LayoutContent :title="$t('file.file')" v-loading="loading">
|
<LayoutContent :title="$t('menu.file')" v-loading="loading">
|
||||||
<template #prompt>
|
<template #prompt>
|
||||||
<el-alert type="info" :closable="false">
|
<el-alert type="info" :closable="false">
|
||||||
<template #title>
|
<template #title>
|
||||||
@ -73,16 +73,16 @@
|
|||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item command="file">
|
<el-dropdown-item command="file">
|
||||||
<svg-icon iconName="p-file-normal"></svg-icon>
|
<svg-icon iconName="p-file-normal"></svg-icon>
|
||||||
{{ $t('file.file') }}
|
{{ $t('menu.file') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button plain @click="openUpload">{{ $t('file.upload') }}</el-button>
|
<el-button plain @click="openUpload">{{ $t('commons.button.upload') }}</el-button>
|
||||||
<el-button plain @click="openWget">{{ $t('file.remoteFile') }}</el-button>
|
<el-button plain @click="openWget">{{ $t('file.remoteFile') }}</el-button>
|
||||||
<el-button plain @click="openMove('copy')" :disabled="selects.length === 0">
|
<el-button plain @click="openMove('copy')" :disabled="selects.length === 0">
|
||||||
{{ $t('file.copy') }}
|
{{ $t('commons.button.copy') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button plain @click="openMove('cut')" :disabled="selects.length === 0">
|
<el-button plain @click="openMove('cut')" :disabled="selects.length === 0">
|
||||||
{{ $t('file.move') }}
|
{{ $t('file.move') }}
|
||||||
@ -106,7 +106,12 @@
|
|||||||
<el-tooltip class="box-item" effect="dark" :content="$t('file.paste')" placement="bottom">
|
<el-tooltip class="box-item" effect="dark" :content="$t('file.paste')" placement="bottom">
|
||||||
<el-button plain @click="openPaste">{{ $t('file.paste') }}({{ fileMove.count }})</el-button>
|
<el-button plain @click="openPaste">{{ $t('file.paste') }}({{ fileMove.count }})</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="box-item" effect="dark" :content="$t('file.cancel')" placement="bottom">
|
<el-tooltip
|
||||||
|
class="box-item"
|
||||||
|
effect="dark"
|
||||||
|
:content="$t('commons.button.cancel')"
|
||||||
|
placement="bottom"
|
||||||
|
>
|
||||||
<el-button plain class="close" icon="Close" @click="closeMove"></el-button>
|
<el-button plain class="close" icon="Close" @click="closeMove"></el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
@ -872,11 +877,11 @@ const openWithVSCode = (row: File.File) => {
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('file.open'),
|
label: i18n.global.t('commons.button.opem'),
|
||||||
click: open,
|
click: open,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('file.download'),
|
label: i18n.global.t('commons.button.download'),
|
||||||
click: (row: File.File) => {
|
click: (row: File.File) => {
|
||||||
openDownload(row);
|
openDownload(row);
|
||||||
},
|
},
|
||||||
|
@ -62,7 +62,7 @@ const title = computed(() => {
|
|||||||
if (type.value === 'cut') {
|
if (type.value === 'cut') {
|
||||||
return i18n.global.t('file.move');
|
return i18n.global.t('file.move');
|
||||||
} else {
|
} else {
|
||||||
return i18n.global.t('file.copy');
|
return i18n.global.t('commons.button.copy');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DialogPro v-model="open" :title="$t('app.delete')" size="small">
|
<DialogPro v-model="open" :title="$t('commons.button.delete')" size="small">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="20" :offset="2">
|
<el-col :span="20" :offset="2">
|
||||||
<el-alert :title="$t('file.deleteRecycleHelper')" show-icon type="error" :closable="false"></el-alert>
|
<el-alert :title="$t('file.deleteRecycleHelper')" show-icon type="error" :closable="false"></el-alert>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="open" :header="$t('file.upload')" :back="handleClose" size="normal">
|
<DrawerPro v-model="open" :header="$t('commons.button.upload')" :back="handleClose" size="normal">
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<div>
|
<div>
|
||||||
<el-button type="primary" @click="upload('file')">
|
<el-button type="primary" @click="upload('file')">
|
||||||
{{ $t('file.upload') }}{{ $t('file.file') }}
|
{{ $t('commons.button.upload') }}{{ $t('menu.file') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" @click="upload('dir')">
|
<el-button type="primary" @click="upload('dir')">
|
||||||
{{ $t('file.upload') }}{{ $t('file.dir') }}
|
{{ $t('commons.button.upload') }}{{ $t('file.dir') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-button @click="clearFiles">{{ $t('file.clearList') }}</el-button>
|
<el-button @click="clearFiles">{{ $t('file.clearList') }}</el-button>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="open" :header="$t('file.download')" :back="handleClose" size="large">
|
<DrawerPro v-model="open" :header="$t('commons.button.download')" :back="handleClose" size="large">
|
||||||
<el-form
|
<el-form
|
||||||
ref="fileForm"
|
ref="fileForm"
|
||||||
label-position="top"
|
label-position="top"
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
</LayoutContent>
|
</LayoutContent>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<LayoutContent :title="$t('firewall.firewall')" :divider="true">
|
<LayoutContent :title="$t('menu.firewall')" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
</LayoutContent>
|
</LayoutContent>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<LayoutContent :title="$t('firewall.firewall')" :divider="true">
|
<LayoutContent :title="$t('menu.firewall')" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -140,7 +140,7 @@
|
|||||||
</LayoutContent>
|
</LayoutContent>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<LayoutContent :title="$t('firewall.firewall')" :divider="true">
|
<LayoutContent :title="$t('menu.firewall')" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<span class="input-help">{{ $t('firewall.portHelper2') }}</span>
|
<span class="input-help">{{ $t('firewall.portHelper2') }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :label="$t('firewall.source')" prop="source">
|
<el-form-item :label="$t('app.source')" prop="source">
|
||||||
<el-radio-group v-model="dialogData.rowData!.source">
|
<el-radio-group v-model="dialogData.rowData!.source">
|
||||||
<el-radio value="anyWhere">{{ $t('firewall.anyWhere') }}</el-radio>
|
<el-radio value="anyWhere">{{ $t('firewall.anyWhere') }}</el-radio>
|
||||||
<el-radio value="address">{{ $t('firewall.address') }}</el-radio>
|
<el-radio value="address">{{ $t('firewall.address') }}</el-radio>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" @click="onOperate('restart')" link>
|
<el-button type="primary" @click="onOperate('restart')" link>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<span v-if="onPing !== 'None'">
|
<span v-if="onPing !== 'None'">
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
|
@ -12,7 +12,7 @@ import i18n from '@/lang';
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('monitor.monitor'),
|
label: i18n.global.t('menu.monitor'),
|
||||||
path: '/hosts/monitor/monitor',
|
path: '/hosts/monitor/monitor',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
@change="searchGlobal()"
|
@change="searchGlobal()"
|
||||||
v-model="timeRangeGlobal"
|
v-model="timeRangeGlobal"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -28,7 +28,7 @@
|
|||||||
@change="search('load')"
|
@change="search('load')"
|
||||||
v-model="timeRangeLoad"
|
v-model="timeRangeLoad"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -60,7 +60,7 @@
|
|||||||
@change="search('cpu')"
|
@change="search('cpu')"
|
||||||
v-model="timeRangeCpu"
|
v-model="timeRangeCpu"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -90,7 +90,7 @@
|
|||||||
@change="search('memory')"
|
@change="search('memory')"
|
||||||
v-model="timeRangeMemory"
|
v-model="timeRangeMemory"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -122,7 +122,7 @@
|
|||||||
@change="search('io')"
|
@change="search('io')"
|
||||||
v-model="timeRangeIO"
|
v-model="timeRangeIO"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -172,7 +172,7 @@
|
|||||||
@change="search('network')"
|
@change="search('network')"
|
||||||
v-model="timeRangeNetwork"
|
v-model="timeRangeNetwork"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
prop="status"
|
prop="status"
|
||||||
column-key="status"
|
column-key="status"
|
||||||
:label="$t('app.status')"
|
:label="$t(commons.table.status)"
|
||||||
:filters="[
|
:filters="[
|
||||||
{ text: 'LISTEN', value: 'LISTEN' },
|
{ text: 'LISTEN', value: 'LISTEN' },
|
||||||
{ text: 'ESTABLISHED', value: 'ESTABLISHED' },
|
{ text: 'ESTABLISHED', value: 'ESTABLISHED' },
|
||||||
|
@ -7,7 +7,9 @@
|
|||||||
<el-descriptions-item :label="$t('commons.table.name')" min-width="100px">
|
<el-descriptions-item :label="$t('commons.table.name')" min-width="100px">
|
||||||
{{ data.name }}
|
{{ data.name }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('process.status')">{{ data.status }}</el-descriptions-item>
|
<el-descriptions-item :label="$t('commons.table.status')">
|
||||||
|
{{ data.status }}
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('process.pid')">{{ data.PID }}</el-descriptions-item>
|
<el-descriptions-item :label="$t('process.pid')">{{ data.PID }}</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('process.ppid')">{{ data.PPID }}</el-descriptions-item>
|
<el-descriptions-item :label="$t('process.ppid')">{{ data.PPID }}</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('process.numThreads')">
|
<el-descriptions-item :label="$t('process.numThreads')">
|
||||||
@ -46,7 +48,7 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :label="$t('process.openFiles')" name="openFiles">
|
<el-tab-pane :label="$t('process.openFiles')" name="openFiles">
|
||||||
<el-table :data="data.openFiles" border style="width: 100%">
|
<el-table :data="data.openFiles" border style="width: 100%">
|
||||||
<el-table-column prop="path" :label="$t('process.file')" />
|
<el-table-column prop="path" :label="$t('menu.file')" />
|
||||||
<el-table-column prop="fd" label="fd" width="100px" />
|
<el-table-column prop="fd" label="fd" width="100px" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
@ -72,7 +74,7 @@
|
|||||||
<span v-if="row.remoteaddr.port > 0">:{{ row.remoteaddr.port }}</span>
|
<span v-if="row.remoteaddr.port > 0">:{{ row.remoteaddr.port }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="status" :label="$t('app.status')" />
|
<el-table-column prop="status" :label="$t(commons.table.status)" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column :label="$t('process.numConnections')" fix prop="numConnections"></el-table-column>
|
<el-table-column :label="$t('process.numConnections')" fix prop="numConnections"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('process.status')"
|
:label="$t('commons.table.status')"
|
||||||
fix
|
fix
|
||||||
prop="status"
|
prop="status"
|
||||||
column-key="status"
|
column-key="status"
|
||||||
|
@ -37,7 +37,7 @@ const sshSearch = reactive({
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('ssh.disconnect'),
|
label: i18n.global.t('commons.button.disConn'),
|
||||||
click: function (row: any) {
|
click: function (row: any) {
|
||||||
stop(row.PID);
|
stop(row.PID);
|
||||||
},
|
},
|
||||||
@ -98,7 +98,7 @@ const search = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const stop = async (PID: number) => {
|
const stop = async (PID: number) => {
|
||||||
ElMessageBox.confirm(i18n.global.t('ssh.stopSSHWarn'), i18n.global.t('ssh.disconnect'), {
|
ElMessageBox.confirm(i18n.global.t('ssh.stopSSHWarn'), i18n.global.t('commons.button.disConn'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" @click="onOperate('restart')" link>
|
<el-button type="primary" @click="onOperate('restart')" link>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link>
|
<el-button type="primary" link>
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
<el-input v-model="form.primaryKey" :rows="5" type="textarea" />
|
<el-input v-model="form.primaryKey" :rows="5" type="textarea" />
|
||||||
<div v-if="form.primaryKey">
|
<div v-if="form.primaryKey">
|
||||||
<el-button icon="CopyDocument" class="marginTop" @click="onCopy(form.primaryKey)">
|
<el-button icon="CopyDocument" class="marginTop" @click="onCopy(form.primaryKey)">
|
||||||
{{ $t('file.copy') }}
|
{{ $t('commons.button.copy') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button icon="Download" class="marginTop" @click="onDownload">
|
<el-button icon="Download" class="marginTop" @click="onDownload">
|
||||||
{{ $t('commons.button.download') }}
|
{{ $t('commons.button.download') }}
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('logs.operate')" min-width="150px" prop="detailZH">
|
<el-table-column :label="$t('commons.table.operate')" min-width="150px" prop="detailZH">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="globalStore.language === 'zh' || globalStore.language === 'tw'">
|
<span v-if="globalStore.language === 'zh' || globalStore.language === 'tw'">
|
||||||
{{ row.detailZH }}
|
{{ row.detailZH }}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<Status :status="row.status" :msg="row.errorMsg" />
|
<Status :status="row.status" :msg="row.errorMsg" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('website.log')" prop="log">
|
<el-table-column :label="$t('commons.button.log')" prop="log">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button @click="openTaskLog(row)" link type="primary">
|
<el-button @click="openTaskLog(row)" link type="primary">
|
||||||
{{ $t('website.check') }}
|
{{ $t('website.check') }}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #leftToolBar>
|
<template #leftToolBar>
|
||||||
<el-select v-model="logConfig.id" @change="changeWebsite()" class="p-w-200 mr-2.5">
|
<el-select v-model="logConfig.id" @change="changeWebsite()" class="p-w-200 mr-2.5">
|
||||||
<template #prefix>{{ $t('website.website') }}</template>
|
<template #prefix>{{ $t('menu.website') }}</template>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(website, index) in websites"
|
v-for="(website, index) in websites"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -35,7 +35,7 @@
|
|||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="onDownload" icon="Download" :disabled="!hasContent">
|
<el-button @click="onDownload" icon="Download" :disabled="!hasContent">
|
||||||
{{ $t('file.download') }}
|
{{ $t('commons.button.download') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" plain @click="onClean()" :disabled="!hasContent">
|
<el-button type="primary" plain @click="onClean()" :disabled="!hasContent">
|
||||||
{{ $t('logs.deleteLogs') }}
|
{{ $t('logs.deleteLogs') }}
|
||||||
|
@ -135,7 +135,7 @@ const onSync = async (row: any) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onUnbind = async (row: any) => {
|
const onUnbind = async (row: any) => {
|
||||||
ElMessageBox.confirm(i18n.global.t('license.unbindHelper'), i18n.global.t('license.unbind'), {
|
ElMessageBox.confirm(i18n.global.t('license.unbindHelper'), i18n.global.t('commons.button.unbind'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="onReSet">{{ $t('xpack.theme.setDefault') }}</el-button>
|
<el-button @click="onReSet">{{ $t('commons.button.setDefault') }}</el-button>
|
||||||
<el-button @click="drawerVisible = false">{{ $t('commons.button.cancel') }}</el-button>
|
<el-button @click="drawerVisible = false">{{ $t('commons.button.cancel') }}</el-button>
|
||||||
<el-button :disabled="loading" type="primary" @click="onSave(formRef)">
|
<el-button :disabled="loading" type="primary" @click="onSave(formRef)">
|
||||||
{{ $t('commons.button.confirm') }}
|
{{ $t('commons.button.confirm') }}
|
||||||
@ -269,7 +269,7 @@ const onSave = async (formEl: FormInstance | undefined) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const onReSet = async () => {
|
const onReSet = async () => {
|
||||||
ElMessageBox.confirm(i18n.global.t('xpack.theme.setDefaultHelper'), i18n.global.t('xpack.theme.setDefault'), {
|
ElMessageBox.confirm(i18n.global.t('xpack.theme.setDefaultHelper'), i18n.global.t('commons.button.setDefault'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'info',
|
type: 'info',
|
||||||
|
@ -377,7 +377,7 @@ const load18n = (node: any, label: string) => {
|
|||||||
case 'App':
|
case 'App':
|
||||||
return i18n.global.t('setting.appLabel');
|
return i18n.global.t('setting.appLabel');
|
||||||
case 'AppStore':
|
case 'AppStore':
|
||||||
return i18n.global.t('setting.appStoreLabel');
|
return i18n.global.t('menu.apps');
|
||||||
case 'shell':
|
case 'shell':
|
||||||
return i18n.global.t('setting.shellLabel');
|
return i18n.global.t('setting.shellLabel');
|
||||||
default:
|
default:
|
||||||
|
@ -91,7 +91,7 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div>
|
<div>
|
||||||
<el-button link v-if="row.status === 'Waiting'" type="primary">
|
<el-button link v-if="row.status === 'Waiting'" type="primary">
|
||||||
{{ $t('setting.snapshot') }}{{ $t('commons.table.statusWaiting') }}
|
{{ $t('setting.snapshot') }}{{ $t('commons.status.waiting') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button link v-if="row.status === 'Failed'" @click="reCreate(row)" type="danger">
|
<el-button link v-if="row.status === 'Failed'" @click="reCreate(row)" type="danger">
|
||||||
{{ $t('setting.snapshot') }}{{ $t('commons.status.error') }}
|
{{ $t('setting.snapshot') }}{{ $t('commons.status.error') }}
|
||||||
@ -102,7 +102,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="row.recoverStatus">
|
<div v-if="row.recoverStatus">
|
||||||
<el-button link v-if="row.recoverStatus === 'Waiting'" type="primary">
|
<el-button link v-if="row.recoverStatus === 'Waiting'" type="primary">
|
||||||
{{ $t('commons.button.recover') }}{{ $t('commons.table.statusWaiting') }}
|
{{ $t('commons.button.recover') }}{{ $t('commons.status.waiting') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="row.recoverStatus === 'Failed'"
|
v-if="row.recoverStatus === 'Failed'"
|
||||||
@ -118,7 +118,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="row.rollbackStatus">
|
<div v-if="row.rollbackStatus">
|
||||||
<el-button link v-if="row.rollbackStatus === 'Waiting'" type="primary">
|
<el-button link v-if="row.rollbackStatus === 'Waiting'" type="primary">
|
||||||
{{ $t('setting.rollback') }}{{ $t('commons.table.statusWaiting') }}
|
{{ $t('setting.rollback') }}{{ $t('commons.status.waiting') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<DrawerPro v-model="drawerVisible" :header="$t('setting.recoverDetail')" :back="handleClose" size="small">
|
<DrawerPro v-model="drawerVisible" :header="$t('setting.recoverDetail')" :back="handleClose" size="small">
|
||||||
<el-form label-position="top" v-loading="loading">
|
<el-form label-position="top" v-loading="loading">
|
||||||
<span class="card-title">{{ $t('setting.recover') }}</span>
|
<span class="card-title">{{ $t('commons.button.recover') }}</span>
|
||||||
<el-divider class="divider" />
|
<el-divider class="divider" />
|
||||||
<div v-if="!snapInfo.recoverStatus && !snapInfo.lastRecoveredAt">
|
<div v-if="!snapInfo.recoverStatus && !snapInfo.lastRecoveredAt">
|
||||||
<el-alert center class="alert" style="height: 257px" :closable="false">
|
<el-alert center class="alert" style="height: 257px" :closable="false">
|
||||||
<el-button size="large" round plain type="primary" @click="recoverSnapshot(true)">
|
<el-button size="large" round plain type="primary" @click="recoverSnapshot(true)">
|
||||||
{{ $t('setting.recover') }}
|
{{ $t('commons.button.recover') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
</div>
|
</div>
|
||||||
@ -15,10 +15,10 @@
|
|||||||
<div v-if="snapInfo.lastRecoveredAt">
|
<div v-if="snapInfo.lastRecoveredAt">
|
||||||
<el-form-item :label="$t('commons.table.status')">
|
<el-form-item :label="$t('commons.table.status')">
|
||||||
<el-tag type="success">
|
<el-tag type="success">
|
||||||
{{ $t('commons.table.statusSuccess') }}
|
{{ $t('commons.status.success') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-button @click="recoverSnapshot(true)" style="margin-left: 10px" type="primary">
|
<el-button @click="recoverSnapshot(true)" style="margin-left: 10px" type="primary">
|
||||||
{{ $t('setting.recover') }}
|
{{ $t('commons.button.recover') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('setting.lastRecoverAt')">
|
<el-form-item :label="$t('setting.lastRecoverAt')">
|
||||||
@ -29,13 +29,13 @@
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<el-form-item :label="$t('commons.table.status')">
|
<el-form-item :label="$t('commons.table.status')">
|
||||||
<el-tag type="danger" v-if="snapInfo.recoverStatus === 'Failed'">
|
<el-tag type="danger" v-if="snapInfo.recoverStatus === 'Failed'">
|
||||||
{{ $t('commons.table.statusFailed') }}
|
{{ $t('commons.status.failed') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="success" v-if="snapInfo.recoverStatus === 'Success'">
|
<el-tag type="success" v-if="snapInfo.recoverStatus === 'Success'">
|
||||||
{{ $t('commons.table.statusSuccess') }}
|
{{ $t('commons.status.success') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="info" v-if="snapInfo.recoverStatus === 'Waiting'">
|
<el-tag type="info" v-if="snapInfo.recoverStatus === 'Waiting'">
|
||||||
{{ $t('commons.table.statusWaiting') }}
|
{{ $t('commons.status.waiting') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('setting.lastRecoverAt')" v-if="snapInfo.recoverStatus !== 'Waiting'">
|
<el-form-item :label="$t('setting.lastRecoverAt')" v-if="snapInfo.recoverStatus !== 'Waiting'">
|
||||||
@ -70,7 +70,7 @@
|
|||||||
<div v-if="snapInfo.lastRollbackedAt">
|
<div v-if="snapInfo.lastRollbackedAt">
|
||||||
<el-form-item :label="$t('commons.table.status')">
|
<el-form-item :label="$t('commons.table.status')">
|
||||||
<el-tag type="success">
|
<el-tag type="success">
|
||||||
{{ $t('commons.table.statusSuccess') }}
|
{{ $t('commons.status.success') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-button @click="rollbackSnapshot" style="margin-left: 10px" type="primary">
|
<el-button @click="rollbackSnapshot" style="margin-left: 10px" type="primary">
|
||||||
{{ $t('setting.rollback') }}
|
{{ $t('setting.rollback') }}
|
||||||
@ -84,13 +84,13 @@
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<el-form-item :label="$t('commons.table.status')">
|
<el-form-item :label="$t('commons.table.status')">
|
||||||
<el-tag type="success" v-if="snapInfo.rollbackStatus === 'Success'">
|
<el-tag type="success" v-if="snapInfo.rollbackStatus === 'Success'">
|
||||||
{{ $t('commons.table.statusSuccess') }}
|
{{ $t('commons.status.success') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="danger" v-if="snapInfo.rollbackStatus === 'Failed'">
|
<el-tag type="danger" v-if="snapInfo.rollbackStatus === 'Failed'">
|
||||||
{{ $t('commons.table.statusFailed') }}
|
{{ $t('commons.status.failed') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag type="info" v-if="snapInfo.rollbackStatus === 'Waiting'">
|
<el-tag type="info" v-if="snapInfo.rollbackStatus === 'Waiting'">
|
||||||
{{ $t('commons.table.statusWaiting') }}
|
{{ $t('commons.status.waiting') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-button
|
<el-button
|
||||||
style="margin-left: 15px"
|
style="margin-left: 15px"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
{{ $t('commons.button.create') }}{{ $t('terminal.quickCommand') }}
|
{{ $t('commons.button.create') }}{{ $t('terminal.quickCommand') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" plain @click="onOpenGroupDialog()">
|
<el-button type="primary" plain @click="onOpenGroupDialog()">
|
||||||
{{ $t('terminal.group') }}
|
{{ $t('commons.table.group') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" plain :disabled="selects.length === 0" @click="batchDelete(null)">
|
<el-button type="primary" plain :disabled="selects.length === 0" @click="batchDelete(null)">
|
||||||
{{ $t('commons.button.delete') }}
|
{{ $t('commons.button.delete') }}
|
||||||
@ -17,7 +17,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #rightToolBar>
|
<template #rightToolBar>
|
||||||
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-2.5">
|
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-2.5">
|
||||||
<template #prefix>{{ $t('terminal.group') }}</template>
|
<template #prefix>{{ $t('commons.table.group') }}</template>
|
||||||
<el-option :label="$t('commons.table.all')" value=""></el-option>
|
<el-option :label="$t('commons.table.all')" value=""></el-option>
|
||||||
<div v-for="item in groupList" :key="item.name">
|
<div v-for="item in groupList" :key="item.name">
|
||||||
<el-option :value="item.id" :label="item.name" />
|
<el-option :value="item.id" :label="item.name" />
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
{{ $t('terminal.addHost') }}
|
{{ $t('terminal.addHost') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" plain @click="onOpenGroupDialog()">
|
<el-button type="primary" plain @click="onOpenGroupDialog()">
|
||||||
{{ $t('terminal.group') }}
|
{{ $t('commons.table.group') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)">
|
<el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)">
|
||||||
{{ $t('commons.button.delete') }}
|
{{ $t('commons.button.delete') }}
|
||||||
@ -14,7 +14,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #rightToolBar>
|
<template #rightToolBar>
|
||||||
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-5">
|
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-5">
|
||||||
<template #prefix>{{ $t('terminal.group') }}</template>
|
<template #prefix>{{ $t('commons.table.group') }}</template>
|
||||||
<el-option :label="$t('commons.table.all')" value=""></el-option>
|
<el-option :label="$t('commons.table.all')" value=""></el-option>
|
||||||
<div v-for="item in groupList" :key="item.name">
|
<div v-for="item in groupList" :key="item.name">
|
||||||
<el-option :value="item.id" :label="item.name" />
|
<el-option :value="item.id" :label="item.name" />
|
||||||
|
@ -27,9 +27,9 @@
|
|||||||
<el-form-item :label="$t('toolbox.clam.infectedStrategy')" prop="infectedStrategy">
|
<el-form-item :label="$t('toolbox.clam.infectedStrategy')" prop="infectedStrategy">
|
||||||
<el-radio-group v-model="dialogData.rowData!.infectedStrategy">
|
<el-radio-group v-model="dialogData.rowData!.infectedStrategy">
|
||||||
<el-radio value="none">{{ $t('toolbox.clam.none') }}</el-radio>
|
<el-radio value="none">{{ $t('toolbox.clam.none') }}</el-radio>
|
||||||
<el-radio value="remove">{{ $t('toolbox.clam.remove') }}</el-radio>
|
<el-radio value="remove">{{ $t('commons.button.delete') }}</el-radio>
|
||||||
<el-radio value="move">{{ $t('toolbox.clam.move') }}</el-radio>
|
<el-radio value="move">{{ $t('toolbox.clam.move') }}</el-radio>
|
||||||
<el-radio value="copy">{{ $t('toolbox.clam.copy') }}</el-radio>
|
<el-radio value="copy">{{ $t('commons.button.copy') }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<span class="input-help">
|
<span class="input-help">
|
||||||
{{ $t('toolbox.clam.' + dialogData.rowData!.infectedStrategy + 'Helper') }}
|
{{ $t('toolbox.clam.' + dialogData.rowData!.infectedStrategy + 'Helper') }}
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
@change="search()"
|
@change="search()"
|
||||||
v-model="timeRangeLoad"
|
v-model="timeRangeLoad"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:range-separator="$t('commons.search.timeRange')"
|
range-separator="-"
|
||||||
:start-placeholder="$t('commons.search.timeStart')"
|
:start-placeholder="$t('commons.search.timeStart')"
|
||||||
:end-placeholder="$t('commons.search.timeEnd')"
|
:end-placeholder="$t('commons.search.timeEnd')"
|
||||||
:shortcuts="shortcuts"
|
:shortcuts="shortcuts"
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item class="descriptionWide">
|
<el-form-item class="descriptionWide">
|
||||||
<template #label>
|
<template #label>
|
||||||
<span class="status-label">{{ $t('toolbox.clam.scanTime') }}</span>
|
<span class="status-label">{{ $t('commons.table.interval') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<span class="status-count">
|
<span class="status-count">
|
||||||
{{ currentRecord?.status === 'Done' ? currentRecord?.scanTime : '-' }}
|
{{ currentRecord?.status === 'Done' ? currentRecord?.scanTime : '-' }}
|
||||||
@ -291,7 +291,7 @@ const loadRecordLog = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onClean = async () => {
|
const onClean = async () => {
|
||||||
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.msg.deleteTitle'), {
|
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.button.delete'), {
|
||||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link @click="onOperate('ClamAV', 'restart')">
|
<el-button type="primary" link @click="onOperate('ClamAV', 'restart')">
|
||||||
{{ $t('app.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link @click="setting">
|
<el-button type="primary" link @click="setting">
|
||||||
@ -57,7 +57,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link @click="onOperate('FreshClam', 'restart')">
|
<el-button type="primary" link @click="onOperate('FreshClam', 'restart')">
|
||||||
{{ $t('app.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -618,15 +618,15 @@ function load18n(label: string) {
|
|||||||
case 'upload_website':
|
case 'upload_website':
|
||||||
case 'rollback_website':
|
case 'rollback_website':
|
||||||
case 'download_website':
|
case 'download_website':
|
||||||
return i18n.global.t('clean.website');
|
return i18n.global.t('menu.website');
|
||||||
case 'upload_app':
|
case 'upload_app':
|
||||||
case 'rollback_app':
|
case 'rollback_app':
|
||||||
case 'download_app':
|
case 'download_app':
|
||||||
return i18n.global.t('clean.app');
|
return i18n.global.t('app.app');
|
||||||
case 'upload_database':
|
case 'upload_database':
|
||||||
case 'rollback_database':
|
case 'rollback_database':
|
||||||
case 'download_database':
|
case 'download_database':
|
||||||
return i18n.global.t('clean.database');
|
return i18n.global.t('menu.database');
|
||||||
case 'upload_directory':
|
case 'upload_directory':
|
||||||
case 'download_directory':
|
case 'download_directory':
|
||||||
return i18n.global.t('clean.directory');
|
return i18n.global.t('clean.directory');
|
||||||
@ -643,9 +643,9 @@ function load18n(label: string) {
|
|||||||
case 'curl':
|
case 'curl':
|
||||||
return i18n.global.t('clean.curl');
|
return i18n.global.t('clean.curl');
|
||||||
case 'container_images':
|
case 'container_images':
|
||||||
return i18n.global.t('clean.images');
|
return i18n.global.t('container.image');
|
||||||
case 'container_containers':
|
case 'container_containers':
|
||||||
return i18n.global.t('clean.containers');
|
return i18n.global.t('menu.container');
|
||||||
case 'container_volumes':
|
case 'container_volumes':
|
||||||
return i18n.global.t('clean.volumes');
|
return i18n.global.t('clean.volumes');
|
||||||
case 'build_cache':
|
case 'build_cache':
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" @click="onOperate('restart')" link>
|
<el-button type="primary" @click="onOperate('restart')" link>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link>
|
<el-button type="primary" link>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" @click="onOperate('restart')" link>
|
<el-button type="primary" @click="onOperate('restart')" link>
|
||||||
{{ $t('container.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -310,7 +310,7 @@ const onDelete = async (row: Toolbox.FtpInfo | null) => {
|
|||||||
title: i18n.global.t('commons.button.delete'),
|
title: i18n.global.t('commons.button.delete'),
|
||||||
names: names,
|
names: names,
|
||||||
msg: i18n.global.t('commons.msg.operatorHelper', [
|
msg: i18n.global.t('commons.msg.operatorHelper', [
|
||||||
i18n.global.t('cronjob.cronTask'),
|
i18n.global.t('menu.cronjob'),
|
||||||
i18n.global.t('commons.button.delete'),
|
i18n.global.t('commons.button.delete'),
|
||||||
]),
|
]),
|
||||||
api: null,
|
api: null,
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<DrawerPro v-model="drawerVisible" header="FTP" :resource="paginationConfig.user" :back="handleClose" size="large">
|
<DrawerPro v-model="drawerVisible" header="FTP" :resource="paginationConfig.user" :back="handleClose" size="large">
|
||||||
<el-select @change="search" class="p-w-200" clearable v-model="paginationConfig.operation">
|
<el-select @change="search" class="p-w-200" clearable v-model="paginationConfig.operation">
|
||||||
<template #prefix>{{ $t('commons.table.operate') }}</template>
|
<template #prefix>{{ $t('commons.table.operate') }}</template>
|
||||||
<el-option value="PUT" :label="$t('file.upload')" />
|
<el-option value="PUT" :label="$t('commons.button.upload')" />
|
||||||
<el-option value="GET" :label="$t('file.download')" />
|
<el-option value="GET" :label="$t('commons.button.download')" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<ComplexTable class="mt-2" :pagination-config="paginationConfig" :data="data" @search="search">
|
<ComplexTable class="mt-2" :pagination-config="paginationConfig" :data="data" @search="search">
|
||||||
<el-table-column label="ip" prop="ip" show-overflow-tooltip />
|
<el-table-column label="ip" prop="ip" show-overflow-tooltip />
|
||||||
@ -17,7 +17,7 @@
|
|||||||
{{ loadOperation(row.operation) }}
|
{{ loadOperation(row.operation) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('file.file')" show-overflow-tooltip>
|
<el-table-column :label="$t('menu.file')" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ loadFileName(row.operation) }}
|
{{ loadFileName(row.operation) }}
|
||||||
</template>
|
</template>
|
||||||
@ -94,10 +94,10 @@ const search = async () => {
|
|||||||
|
|
||||||
const loadOperation = (operation: string) => {
|
const loadOperation = (operation: string) => {
|
||||||
if (operation.startsWith('"PUT')) {
|
if (operation.startsWith('"PUT')) {
|
||||||
return i18n.global.t('file.upload');
|
return i18n.global.t('commons.button.upload');
|
||||||
}
|
}
|
||||||
if (operation.startsWith('"GET')) {
|
if (operation.startsWith('"GET')) {
|
||||||
return i18n.global.t('file.download');
|
return i18n.global.t('commons.button.download');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const loadFileName = (operation: string) => {
|
const loadFileName = (operation: string) => {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
{{ $t('nginx.configResource') }}
|
{{ $t('nginx.configResource') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" :plain="activeName !== '2'" @click="changeTab('2')">
|
<el-button type="primary" :plain="activeName !== '2'" @click="changeTab('2')">
|
||||||
{{ $t('website.log') }}
|
{{ $t('commons.button.log') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" :plain="activeName !== '3'" @click="changeTab('3')">
|
<el-button type="primary" :plain="activeName !== '3'" @click="changeTab('3')">
|
||||||
{{ $t('commons.button.init') }}
|
{{ $t('commons.button.init') }}
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
property="msg"
|
property="msg"
|
||||||
:label="$t('tool.supervisor.msg')"
|
:label="$t('commons.table.message')"
|
||||||
fix
|
fix
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
@ -321,7 +321,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('website.log'),
|
label: i18n.global.t('commons.button.log'),
|
||||||
click: function (row: HostTool.SupersivorProcess) {
|
click: function (row: HostTool.SupersivorProcess) {
|
||||||
getFile(row.name, 'out.log');
|
getFile(row.name, 'out.log');
|
||||||
},
|
},
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link @click="onOperate('restart')">
|
<el-button type="primary" link @click="onOperate('restart')">
|
||||||
{{ $t('app.restart') }}
|
{{ $t('commons.button.restart') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button type="primary" link @click="setting">
|
<el-button type="primary" link @click="setting">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form-item :label="$t('runtime.app')" prop="appID">
|
<el-form-item :label="$t('app.app')" prop="appID">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-select
|
<el-select
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user