From 4f62551f6b10203ebf98f17403a021f8241b02c8 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 16 Dec 2023 12:10:30 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- src/views/reorganize/TransferHistoryView.vue | 48 ++++++++------------ 2 files changed, 22 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 18097f41..605b9ec8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moviepilot", - "version": "1.5.1", + "version": "1.5.2", "private": true, "bin": "dist/service.js", "scripts": { @@ -107,4 +107,4 @@ "resolutions": { "postcss": "8" } -} +} \ No newline at end of file diff --git a/src/views/reorganize/TransferHistoryView.vue b/src/views/reorganize/TransferHistoryView.vue index 523aff05..ffdbe66d 100644 --- a/src/views/reorganize/TransferHistoryView.vue +++ b/src/views/reorganize/TransferHistoryView.vue @@ -214,6 +214,21 @@ async function removeHistoryBatch() { deleteConfirmDialog.value = true } +// 计算根路径 +function getRootPath(path: string, type: string, category: string) { + if (!path) + return '' + let index = -2 + if (type !== '电影') + index = -3 + if (category) + index -= 1 + if (path.includes('/')) + return path.split('/').slice(0, index).join('/') + else + return path.split('\\').slice(0, index).join('\\') +} + // 批量重新整理 async function retransferBatch() { if (selected.value.length === 0) @@ -227,22 +242,11 @@ async function retransferBatch() { // 目的目录 const dest = selected.value[0].dest ?? '' // 类型 - const mediaType = selected.value[0].type + const mediaType = selected.value[0].type ?? '' // 分类 - const category = selected.value[0].category - if (dest) { - let index = -2 - if (mediaType !== '电影') - index = -3 - - if (category) - index -= 1 - // 截取路径 - redoTarget.value = dest.split('/').slice(0, index).join('/') - } - else { - redoTarget.value = '' - } + const category = selected.value[0].category ?? '' + // 计算根路径 + redoTarget.value = getRootPath(dest, mediaType, category) } else { redoTarget.value = '' @@ -260,19 +264,7 @@ const dropdownItems = ref([ prependIcon: 'mdi-redo-variant', click: (item: TransferHistory) => { redoIds.value = [item.id] - if (item.dest) { - let index = -2 - if (item.type !== '电影') - index = -3 - - if (item.category) - index -= 1 - - redoTarget.value = item.dest.split('/').slice(0, index).join('/') - } - else { - redoTarget.value = '' - } + redoTarget.value = getRootPath(item.dest ?? '', item.type ?? '', item.category ?? '') redoDialog.value = true }, },