提交bug修复 后台权限管理

This commit is contained in:
super
2026-04-11 22:25:14 +08:00
parent b400b494ad
commit 7589b4e418
36 changed files with 956 additions and 359 deletions

View File

@@ -345,6 +345,29 @@ function removeSessionTaskFromStorage(taskId: number) {
}
}
function isTerminalStatus(status?: string | null) {
return status === 'SUCCESS' || status === 'FAILED' || status === 'COMPLETED'
}
function pruneTerminalSessionTasksByHistory(items: DeleteBrandResultItem[]) {
if (!items?.length) return false
const terminalTaskIds = new Set<number>()
items.forEach((item) => {
if (item.taskId && isTerminalStatus(item.taskStatus)) {
terminalTaskIds.add(item.taskId)
}
})
if (!terminalTaskIds.size) return false
const oldLen = sessionTasks.value.length
sessionTasks.value = sessionTasks.value.filter((task) => !terminalTaskIds.has(task.taskId))
if (sessionTasks.value.length !== oldLen) {
persistSessionTasks()
return true
}
return false
}
const historySectionItems = computed(() =>
historyItems.value.filter(
@@ -681,7 +704,7 @@ function formatProgressPercent(item: DeleteBrandResultItem) {
function isTaskTerminal(taskId: number) {
const status = taskDetails.value[taskId]?.task?.status
return status === 'SUCCESS' || status === 'FAILED'
return isTerminalStatus(status)
}
function getPollingTaskIds() {
@@ -1061,6 +1084,7 @@ async function loadHistory() {
try {
const response = await getDeleteBrandHistory()
historyItems.value = normalizeDeleteBrandItems(response.items || [])
pruneTerminalSessionTasksByHistory(historyItems.value)
syncResultState()
// 关键:页面加载历史后,立刻拉取详情触发状态机