diff --git a/web/src/views/backup/IndexView.vue b/web/src/views/backup/IndexView.vue
index 5c0f4761..6d247a54 100644
--- a/web/src/views/backup/IndexView.vue
+++ b/web/src/views/backup/IndexView.vue
@@ -1,9 +1,13 @@
-
+
- 创建备份
+ 备份网站
+
+
+
+ 备份 MySQL
+
+
+
+ 备份 PostgreSQL
- 该页面预计下版本移除!
-
+
-
+
@@ -59,15 +115,18 @@ const handleCreate = () => {
@close="createModal = false"
>
-
+
+
+
+
-
+
import backup from '@/api/panel/backup'
import { renderIcon } from '@/utils'
-import { MessageReactive, NButton, NDataTable, NInput, NPopconfirm } from 'naive-ui'
+import type { MessageReactive } from 'naive-ui'
+import { NButton, NDataTable, NInput, NPopconfirm } from 'naive-ui'
+import app from '@/api/panel/app'
+import website from '@/api/panel/website'
import { formatDateTime } from '@/utils'
const type = defineModel('type', { type: String, required: true })
@@ -15,6 +18,8 @@ const restoreModel = ref({
target: ''
})
+const websites = ref([])
+
const columns: any = [
{
title: '文件名',
@@ -125,6 +130,21 @@ const handleDelete = async (file: string) => {
}
onMounted(() => {
+ useRequest(app.isInstalled('nginx')).onSuccess(({ data }) => {
+ if (data.installed) {
+ useRequest(website.list(1, 10000)).onSuccess(({ data }: { data: any }) => {
+ for (const item of data.items) {
+ websites.value.push({
+ label: item.name,
+ value: item.name
+ })
+ }
+ if (type.value === 'website') {
+ restoreModel.value.target = websites.value[0]?.value
+ }
+ })
+ }
+ })
refresh()
window.$bus.on('backup:refresh', () => {
refresh()
@@ -168,7 +188,10 @@ onUnmounted(() => {
@close="restoreModal = false"
>
-
+
+
+
+
diff --git a/web/src/views/task/CreateModal.vue b/web/src/views/task/CreateModal.vue
index 461ff8c8..e18b1a59 100644
--- a/web/src/views/task/CreateModal.vue
+++ b/web/src/views/task/CreateModal.vue
@@ -25,12 +25,6 @@ const websites = ref([])
const { data: installedDbAndPhp } = useRequest(dashboard.installedDbAndPhp, {
initialData: {
- php: [
- {
- label: '不使用',
- value: 0
- }
- ],
db: [
{
label: '',
@@ -48,17 +42,6 @@ const postgreSQLInstalled = computed(() => {
return installedDbAndPhp.value.db.find((item: any) => item.value === 'postgresql')
})
-const getWebsiteList = async (page: number, limit: number) => {
- const data = await website.list(page, limit)
- for (const item of data.items) {
- websites.value.push({
- label: item.name,
- value: item.name
- })
- }
- createModel.value.target = websites.value[0]?.value
-}
-
const handleSubmit = async () => {
loading.value = true
useRequest(cron.create(createModel.value))
@@ -83,7 +66,15 @@ watch(createModel, (value) => {
onMounted(() => {
useRequest(app.isInstalled('nginx')).onSuccess(({ data }) => {
if (data.installed) {
- getWebsiteList(1, 10000)
+ useRequest(website.list(1, 10000)).onSuccess(({ data }: { data: any }) => {
+ for (const item of data.items) {
+ websites.value.push({
+ label: item.name,
+ value: item.name
+ })
+ }
+ createModel.value.target = websites.value[0]?.value
+ })
}
})
})
@@ -134,7 +125,7 @@ onMounted(() => {
- 网站目录
+ 网站
MySQL 数据库
PostgreSQL 数据库