From 1af82dbee6f3ab00c60e43e1a87838f291910c05 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 24 Aug 2025 18:25:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20TransferQueueDialog=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=90=88=E5=B9=B6=E7=9B=B8=E5=90=8C?= =?UTF-8?q?=20title=5Fyear=20=E7=9A=84=E5=AA=92=E4=BD=93=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=92=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/dialog/TransferQueueDialog.vue | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/components/dialog/TransferQueueDialog.vue b/src/components/dialog/TransferQueueDialog.vue index 6d590c97..8cc53956 100644 --- a/src/components/dialog/TransferQueueDialog.vue +++ b/src/components/dialog/TransferQueueDialog.vue @@ -58,9 +58,18 @@ function getStateColor(state: string) { else return 'error' } -// 从dataList中提取所有的媒体信息 +// 从dataList中提取所有的媒体信息,合并相同title_year的记录 const mediaList = computed(() => { - return dataList.value.map(item => item.media) + const mediaMap = new Map() + + dataList.value.forEach(item => { + const titleYear = item.media.title_year || '' + if (!mediaMap.has(titleYear)) { + mediaMap.set(titleYear, item.media) + } + }) + + return Array.from(mediaMap.values()) }) // 按media计算总数和完成数,返回 x/x @@ -74,11 +83,17 @@ function getMediaCount(title_year: string) { return `${completed} / ${total}` } -// 根据媒体信息获取对应的整理任务 +// 根据媒体信息获取对应的整理任务,合并相同title_year的所有任务 const activeTasks = computed(() => { - return dataList.value.find(item => item.media.title_year === activeTab.value)?.tasks + const tasks = dataList.value.filter(item => item.media.title_year === activeTab.value).flatMap(item => item.tasks) + return tasks }) +// 根据媒体title_year获取对应的任务列表 +function getTasksByMedia(title_year: string) { + return dataList.value.filter(item => item.media.title_year === title_year).flatMap(item => item.tasks) +} + // 计算整体进度 const overallProgressComputed = computed(() => { if (dataList.value.length === 0) return 0 @@ -298,7 +313,7 @@ onUnmounted(() => { - + {{ task.fileitem.name }} {{ t('dialog.transferQueue.sizeTitle') }}:{{ formatFileSize(task.fileitem.size || 0) }}