From 11effdd2979e84dacd2e49030d08bc7ca6acf7ab Mon Sep 17 00:00:00 2001 From: Attente <19653207+wikrin@users.noreply.github.com> Date: Sat, 23 Nov 2024 22:42:48 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"refactor:=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E7=9B=AE=E5=BD=95=E4=B8=8B=E6=8B=89=E6=A1=86?= =?UTF-8?q?=E5=92=8C=E8=B7=AF=E5=BE=84=E5=8F=98=E5=8C=96=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E9=80=BB=E8=BE=91"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 01f63a4b6bb928b623a2da64346b10e3750043da. --- src/components/dialog/ReorganizeDialog.vue | 64 ++++++++++++++++------ 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/src/components/dialog/ReorganizeDialog.vue b/src/components/dialog/ReorganizeDialog.vue index 994b957e..81ab00a7 100644 --- a/src/components/dialog/ReorganizeDialog.vue +++ b/src/components/dialog/ReorganizeDialog.vue @@ -6,7 +6,7 @@ import { storageOptions } from '@/api/constants' import { numberValidator } from '@/@validators' import { useDisplay } from 'vuetify' import ProgressDialog from './ProgressDialog.vue' -import { FileItem } from '@/api/types' +import { FileItem, TransferDirectoryConf } from '@/api/types' // 显示器宽度 const display = useDisplay() @@ -87,13 +87,42 @@ const transferForm = reactive({ library_category_folder: false, }) -// 下载路径更新 -function updateTargetPath(value: string) { - if (value !== transferForm.target_path) { - transferForm.target_path = value // 仅在值真正改变时更新 +// 所有媒体库目录 +const directories = ref([]) + +// 查询目录 +async function loadDirectories() { + try { + const result: { [key: string]: any } = await api.get('system/setting/Directories') + directories.value = result.data?.value ?? [] + } catch (error) { + console.log(error) } } +// 目的目录下拉框 +const targetDirectories = computed(() => { + const libraryDirectories = directories.value.map(item => item.library_path) + return [...new Set(libraryDirectories)] +}) + +// 监听目的路径变化,配置默认值 +watch( + () => transferForm.target_path, + async newPath => { + if (newPath) { + const directory = directories.value.find(item => item.library_path === newPath) + if (directory) { + transferForm.target_storage = directory.storage ?? 'local' + transferForm.transfer_type = directory.transfer_type ?? '' + transferForm.scrape = directory.scraping ?? false + transferForm.library_category_folder = directory.library_category_folder ?? false + transferForm.library_type_folder = directory.library_type_folder ?? false + } + } + } +) + // 使用SSE监听加载进度 function startLoadingProgress() { progressText.value = '请稍候 ...' @@ -166,6 +195,10 @@ async function handleTransferLog(logid: number) { console.log(e) } } + +onMounted(() => { + loadDirectories() +})