完成删除品牌

This commit is contained in:
super
2026-03-29 13:41:03 +08:00
parent 9e57fa5762
commit 3d39236b13
4 changed files with 33 additions and 14 deletions

View File

@@ -111,20 +111,20 @@
<div v-if="item.platform" class="files">平台{{ item.platform }}</div>
<div v-if="item.countryCount !== undefined && item.matched" class="files">国家数{{ item.countryCount }}</div>
<div v-if="item.totalRows !== undefined && item.matched" class="time">去重后 {{ item.totalRows }} </div>
<div v-if="item.taskId && item.matched" class="delete-brand-progress-block">
<div v-if="shouldShowProgress(item)" class="delete-brand-progress-block">
<div class="delete-brand-progress-header">
<span>任务进度</span>
<span>{{ formatProgressPercent(item.taskId) }}%</span>
<span>{{ formatProgressPercent(item.taskId!) }}%</span>
</div>
<div class="delete-brand-progress-bar">
<div class="delete-brand-progress-bar-fill" :style="{ width: `${formatProgressPercent(item.taskId)}%` }"></div>
<div class="delete-brand-progress-bar-fill" :style="{ width: `${formatProgressPercent(item.taskId!)}%` }"></div>
</div>
<div class="files delete-brand-progress">{{ formatProgress(item.taskId) }}</div>
<div class="files delete-brand-progress">{{ formatProgress(item.taskId!) }}</div>
</div>
<div v-if="item.previewRows?.length" class="files split-entry-list delete-brand-preview">
{{ formatPreview(item.previewRows) }}
</div>
<div v-if="item.error" class="files">错误信息{{ item.error }}</div>
<div v-if="getDisplayError(item)" class="files">错误信息{{ getDisplayError(item) }}</div>
</div>
<div class="task-right split-result-actions">
@@ -175,20 +175,20 @@
<div v-if="item.platform" class="files">平台{{ item.platform }}</div>
<div v-if="item.countryCount !== undefined && item.matched" class="files">国家数{{ item.countryCount }}</div>
<div v-if="item.totalRows !== undefined && item.matched" class="time">去重后 {{ item.totalRows }} </div>
<div v-if="item.taskId && item.matched" class="delete-brand-progress-block">
<div v-if="shouldShowProgress(item)" class="delete-brand-progress-block">
<div class="delete-brand-progress-header">
<span>任务进度</span>
<span>{{ formatProgressPercent(item.taskId) }}%</span>
<span>{{ formatProgressPercent(item.taskId!) }}%</span>
</div>
<div class="delete-brand-progress-bar">
<div class="delete-brand-progress-bar-fill" :style="{ width: `${formatProgressPercent(item.taskId)}%` }"></div>
<div class="delete-brand-progress-bar-fill" :style="{ width: `${formatProgressPercent(item.taskId!)}%` }"></div>
</div>
<div class="files delete-brand-progress">{{ formatProgress(item.taskId) }}</div>
<div class="files delete-brand-progress">{{ formatProgress(item.taskId!) }}</div>
</div>
<div v-if="item.previewRows?.length" class="files split-entry-list delete-brand-preview">
{{ formatPreview(item.previewRows) }}
</div>
<div v-if="item.error" class="files">错误信息{{ item.error }}</div>
<div v-if="getDisplayError(item)" class="files">错误信息{{ getDisplayError(item) }}</div>
</div>
<div class="task-right split-result-actions">
@@ -239,7 +239,6 @@ import { expandBrandFolderRecursive, type BrandExpandFolderItem } from '@/shared
import {
deleteDeleteBrandHistory,
getDeleteBrandHistory,
getDeleteBrandTaskDetail,
getDeleteBrandTaskDetails,
getDeleteBrandTaskDownloadUrl,
runDeleteBrand,
@@ -276,6 +275,25 @@ const historySectionItems = computed(() =>
)
const hasVisibleItems = computed(() => currentSectionItems.value.length > 0 || historySectionItems.value.length > 0)
function getTaskStatus(taskId?: number) {
if (!taskId) return ''
return taskDetails.value[taskId]?.task?.status || ''
}
function getDisplayError(item: DeleteBrandResultItem) {
if (item.error) return item.error
const taskId = item.taskId
if (!taskId) return ''
return taskDetails.value[taskId]?.task?.errorMessage || ''
}
function shouldShowProgress(item: DeleteBrandResultItem) {
const taskId = item.taskId
if (!taskId || item.matched !== true) return false
const status = getTaskStatus(taskId)
return status === 'RUNNING'
}
function normalizeDeleteBrandItems(items: DeleteBrandResultItem[]) {
return items.map((item) => {
if (item.matched === false) {