yeg
2026-08-29 b1e921839a2e9f57651d5ea911f40f56e2782602
修正测试删除分页竞争

删除成功后先刷新当前页,仅在原页确实为空时回退并重载,避免慢请求期间切页导致误回退。
1个文件已修改
6 ■■■■■ 已修改文件
src/views/TestList.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/TestList.vue
@@ -123,11 +123,15 @@
    await ElMessageBox.confirm(`删除测试“${item.name}”后无法恢复,是否继续?`, '确认删除测试', {
      confirmButtonText: '删除', cancelButtonText: '取消', type: 'warning', confirmButtonClass: 'danger-confirm',
    })
    const deletionPage = currentPage.value
    deletingTestId.value = item.id
    await deleteTests([item.id])
    ElMessage.success('测试已删除')
    if (records.value.length === 1 && currentPage.value > 1) currentPage.value -= 1
    await loadTests()
    if (currentPage.value === deletionPage && records.value.length === 0 && deletionPage > 1 && total.value > 0) {
      currentPage.value = deletionPage - 1
      await loadTests()
    }
  } catch (error) {
    if (error === 'cancel' || error === 'close') return
    ElMessage.error(error instanceof Error ? error.message : '测试删除失败')