From 163d48d189476ef440d7ff5cf51ce4786cdb53a5 Mon Sep 17 00:00:00 2001 From: chw Date: Fri, 7 Aug 2026 00:32:53 +0800 Subject: [PATCH] fix(requirements): prevent deleting all document modules --- .../src/features/requirements/views/DocumentDetailView.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/WHartTest_Vue/src/features/requirements/views/DocumentDetailView.vue b/WHartTest_Vue/src/features/requirements/views/DocumentDetailView.vue index 51178f5..6688edc 100644 --- a/WHartTest_Vue/src/features/requirements/views/DocumentDetailView.vue +++ b/WHartTest_Vue/src/features/requirements/views/DocumentDetailView.vue @@ -605,6 +605,7 @@ const pageText = computed(() => ( mergeSuccess: (count: number) => `Merged ${count} modules`, mergeFailed: 'Failed to merge modules', selectModulesToDelete: 'Select modules to delete', + keepAtLeastOneModule: 'At least one module must remain.', deleteModulesTitle: 'Confirm deletion', deleteModulesContent: (count: number) => `Delete ${count} selected modules? This action cannot be undone.`, deleteModulesConfirm: 'Delete', @@ -712,6 +713,7 @@ const pageText = computed(() => ( mergeSuccess: (count: number) => `已合并 ${count} 个模块`, mergeFailed: '合并模块失败', selectModulesToDelete: '请选择要删除的模块', + keepAtLeastOneModule: '至少需要保留一个模块', deleteModulesTitle: '确认删除', deleteModulesContent: (count: number) => `确定要删除选中的 ${count} 个模块吗?此操作不可恢复。`, deleteModulesConfirm: '确认删除', @@ -1538,6 +1540,11 @@ const deleteSelectedModules = async () => { } if (!document.value) return; + if (selectedModules.value.length >= document.value.modules.length) { + Message.warning(pageText.value.keepAtLeastOneModule); + return; + } + Modal.warning({ title: pageText.value.deleteModulesTitle, content: pageText.value.deleteModulesContent(selectedModules.value.length),