|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
<template>
|
|
|
|
|
<LayoutContent v-loading="loading || syncLoading" :title="activeName" :divider="true">
|
|
|
|
|
<LayoutContent v-loading="loading || syncLoading" :title="activeName">
|
|
|
|
|
<template #toolbar>
|
|
|
|
|
<el-row :gutter="5">
|
|
|
|
|
<el-col :span="20">
|
|
|
|
@ -67,103 +67,112 @@
|
|
|
|
|
class="install-card-col-12"
|
|
|
|
|
>
|
|
|
|
|
<div class="install-card">
|
|
|
|
|
<el-row :gutter="24">
|
|
|
|
|
<el-col :xs="3" :sm="3" :md="3" :lg="4" :xl="4">
|
|
|
|
|
<div class="icon">
|
|
|
|
|
<el-avatar
|
|
|
|
|
shape="square"
|
|
|
|
|
:size="66"
|
|
|
|
|
:src="'data:image/png;base64,' + installed.app.icon"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :xs="21" :sm="21" :md="21" :lg="20" :xl="20">
|
|
|
|
|
<div class="a-detail">
|
|
|
|
|
<div class="d-name">
|
|
|
|
|
<span class="name">{{ installed.name }}</span>
|
|
|
|
|
<span class="status">
|
|
|
|
|
<el-popover
|
|
|
|
|
v-if="installed.status === 'Error'"
|
|
|
|
|
placement="bottom"
|
|
|
|
|
:width="400"
|
|
|
|
|
trigger="hover"
|
|
|
|
|
:content="installed.message"
|
|
|
|
|
>
|
|
|
|
|
<template #reference>
|
|
|
|
|
<el-card class="e-card">
|
|
|
|
|
<el-row :gutter="24">
|
|
|
|
|
<el-col :xs="3" :sm="3" :md="3" :lg="4" :xl="4">
|
|
|
|
|
<div class="icon">
|
|
|
|
|
<el-avatar
|
|
|
|
|
shape="square"
|
|
|
|
|
:size="66"
|
|
|
|
|
:src="'data:image/png;base64,' + installed.app.icon"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :xs="21" :sm="21" :md="21" :lg="20" :xl="20">
|
|
|
|
|
<div class="a-detail">
|
|
|
|
|
<div class="d-name">
|
|
|
|
|
<span class="name">{{ installed.name }}</span>
|
|
|
|
|
<span class="status">
|
|
|
|
|
<el-popover
|
|
|
|
|
v-if="installed.status === 'Error'"
|
|
|
|
|
placement="bottom"
|
|
|
|
|
:width="400"
|
|
|
|
|
trigger="hover"
|
|
|
|
|
:content="installed.message"
|
|
|
|
|
>
|
|
|
|
|
<template #reference>
|
|
|
|
|
<Status
|
|
|
|
|
:key="installed.status"
|
|
|
|
|
:status="installed.status"
|
|
|
|
|
></Status>
|
|
|
|
|
</template>
|
|
|
|
|
</el-popover>
|
|
|
|
|
<span v-else>
|
|
|
|
|
<Status :key="installed.status" :status="installed.status"></Status>
|
|
|
|
|
</template>
|
|
|
|
|
</el-popover>
|
|
|
|
|
<span v-else>
|
|
|
|
|
<Status :key="installed.status" :status="installed.status"></Status>
|
|
|
|
|
</span>
|
|
|
|
|
</span>
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="installed.status !== 'Running'"
|
|
|
|
|
@click="openUploads(installed.app.key, installed.name)"
|
|
|
|
|
v-if="mode === 'installed'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('database.loadBackup') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="installed.status !== 'Running'"
|
|
|
|
|
@click="openBackups(installed.app.key, installed.name)"
|
|
|
|
|
v-if="mode === 'installed'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('app.backup') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
@click="openOperate(installed, 'upgrade')"
|
|
|
|
|
v-if="mode === 'upgrade'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('app.upgrade') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="d-description">
|
|
|
|
|
<el-tag>{{ $t('app.version') }}:{{ installed.version }}</el-tag>
|
|
|
|
|
<el-tag v-if="installed.httpPort > 0">
|
|
|
|
|
{{ $t('app.busPort') }}:{{ installed.httpPort }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
<div class="description">
|
|
|
|
|
<span>{{ $t('app.areadyRun') }}: {{ getAge(installed.createdAt) }}</span>
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="installed.status !== 'Running'"
|
|
|
|
|
@click="openUploads(installed.app.key, installed.name)"
|
|
|
|
|
v-if="mode === 'installed'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('database.loadBackup') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="installed.status !== 'Running'"
|
|
|
|
|
@click="openBackups(installed.app.key, installed.name)"
|
|
|
|
|
v-if="mode === 'installed'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('app.backup') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
class="h-button"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
@click="openOperate(installed, 'upgrade')"
|
|
|
|
|
v-if="mode === 'upgrade'"
|
|
|
|
|
>
|
|
|
|
|
{{ $t('app.upgrade') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="app-divider" />
|
|
|
|
|
<div
|
|
|
|
|
class="d-button"
|
|
|
|
|
v-if="mode === 'installed' && installed.status != 'Installing'"
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-for="(button, key) in buttons"
|
|
|
|
|
:key="key"
|
|
|
|
|
:type="button.disabled && button.disabled(installed) ? 'info' : 'primary'"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
@click="button.click(installed)"
|
|
|
|
|
:disabled="button.disabled && button.disabled(installed)"
|
|
|
|
|
<div class="d-description">
|
|
|
|
|
<el-tag>{{ $t('app.version') }}:{{ installed.version }}</el-tag>
|
|
|
|
|
<el-tag v-if="installed.httpPort > 0">
|
|
|
|
|
{{ $t('app.busPort') }}:{{ installed.httpPort }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
<div class="description">
|
|
|
|
|
<span>
|
|
|
|
|
{{ $t('app.areadyRun') }}: {{ getAge(installed.createdAt) }}
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="app-divider" />
|
|
|
|
|
<div
|
|
|
|
|
class="d-button"
|
|
|
|
|
v-if="mode === 'installed' && installed.status != 'Installing'"
|
|
|
|
|
>
|
|
|
|
|
{{ button.label }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-for="(button, key) in buttons"
|
|
|
|
|
:key="key"
|
|
|
|
|
:type="
|
|
|
|
|
button.disabled && button.disabled(installed) ? 'info' : 'primary'
|
|
|
|
|
"
|
|
|
|
|
plain
|
|
|
|
|
round
|
|
|
|
|
size="small"
|
|
|
|
|
@click="button.click(installed)"
|
|
|
|
|
:disabled="button.disabled && button.disabled(installed)"
|
|
|
|
|
>
|
|
|
|
|
{{ button.label }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-card>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|