diff --git a/frontend/src/locale/en-US/common.ts b/frontend/src/locale/en-US/common.ts index e1ffb580d0..8e8e4d6b39 100644 --- a/frontend/src/locale/en-US/common.ts +++ b/frontend/src/locale/en-US/common.ts @@ -28,6 +28,8 @@ export default { 'common.updateSuccess': 'Update success', 'common.updateFailed': 'Update failed', 'common.deleteConfirm': 'Delete confirm', + 'common.deleteConfirmTitle': 'Delete confirm {name} 吗', + 'common.archiveConfirmTitle': 'Archive confirm {name} 吗', 'common.deleteSuccess': 'Delete success', 'common.deleteFailed': 'Delete failed', 'common.addSuccess': 'Added successfully', @@ -121,6 +123,7 @@ export default { 'common.move': 'Move', 'common.moveSuccess': 'Move successful', 'common.batchMove': 'Batch move', + 'common.batchArchiveSuccess': 'Archive successful', 'common.batchCopy': 'Batch copy', 'common.batchCopySuccess': 'Batch copy successful', 'common.batchMoveSuccess': 'Batch move successful', diff --git a/frontend/src/locale/zh-CN/common.ts b/frontend/src/locale/zh-CN/common.ts index f2dd45eada..dae6e4505f 100644 --- a/frontend/src/locale/zh-CN/common.ts +++ b/frontend/src/locale/zh-CN/common.ts @@ -30,6 +30,7 @@ export default { 'common.updateFailed': '更新失败', 'common.deleteConfirm': '确认删除?', 'common.deleteConfirmTitle': '确认删除 {name} 吗', + 'common.archiveConfirmTitle': '确认归档 {name} 吗', 'common.deleteSuccess': '删除成功', 'common.deleteFailed': '删除失败', 'common.addSuccess': '添加成功', @@ -122,6 +123,7 @@ export default { 'common.move': '移动', 'common.moveSuccess': '移动成功', 'common.batchMove': '批量移动', + 'common.batchArchiveSuccess': '归档成功!', 'common.batchCopy': '批量复制', 'common.batchCopySuccess': '批量复制成功', 'common.batchMoveSuccess': '批量移动成功', diff --git a/frontend/src/models/testPlan/testPlan.ts b/frontend/src/models/testPlan/testPlan.ts index 3e694923b4..a128374963 100644 --- a/frontend/src/models/testPlan/testPlan.ts +++ b/frontend/src/models/testPlan/testPlan.ts @@ -1,12 +1,14 @@ import { BatchApiParams } from '../common'; +export type planStatusType = 'PREPARED' | 'UNDERWAY' | 'COMPLETED' | 'ARCHIVED'; + // 计划分页 export interface TestPlanItem { id?: string; projectId: string; num: number; name: string; - status: string; + status: planStatusType; type: string; tags: string[]; schedule: string; // 是否定时 diff --git a/frontend/src/views/test-plan/testPlan/components/actionModal.vue b/frontend/src/views/test-plan/testPlan/components/actionModal.vue new file mode 100644 index 0000000000..8d7cbfdf5c --- /dev/null +++ b/frontend/src/views/test-plan/testPlan/components/actionModal.vue @@ -0,0 +1,101 @@ + + + + + + + {{ t('common.deleteConfirmTitle', { name: characterLimit(record?.name) }) }} + + + + {{ contentTip }} + + + + {{ t('common.cancel') }} + + + {{ t('common.confirmDelete') }} + + + {{ t('common.archive') }} + + + + + + + + + diff --git a/frontend/src/views/test-plan/testPlan/components/batchEditModal.vue b/frontend/src/views/test-plan/testPlan/components/batchEditModal.vue new file mode 100644 index 0000000000..41e954d774 --- /dev/null +++ b/frontend/src/views/test-plan/testPlan/components/batchEditModal.vue @@ -0,0 +1,180 @@ + + + + + + + + {{ t(item.name) }} + + + + + + + + + + {{ t(item.label) }} + + + + + + + + + + + diff --git a/frontend/src/views/test-plan/testPlan/components/planTable.vue b/frontend/src/views/test-plan/testPlan/components/planTable.vue index f4ffb8446d..d8d1494935 100644 --- a/frontend/src/views/test-plan/testPlan/components/planTable.vue +++ b/frontend/src/views/test-plan/testPlan/components/planTable.vue @@ -10,31 +10,47 @@ @refresh="fetchData" > - + + - + {{ + t('testPlan.testPlanIndex.testPlanGroup') + }} + --> + + + + {{ props.activeFolder === 'all' ? t('testPlan.testPlanIndex.allTestPlan') : props.nodeName }} + + ({{ props.modulesCount[props.activeFolder] || 0 }}) + + + + {{ props.nodeName }} + ({{ props.modulesCount[props.activeFolder] || 0 }}) + + + + - + + --- - - + {{ t('testPlan.testPlanIndex.scheduledTaskUnEnable') }} - + --> + + {{ record.num }} + + {{ + t('testPlan.testPlanIndex.timing') + }} + + + {{ t('testPlan.testPlanIndex.scheduledTaskOpened') }} + {{ t('testPlan.testPlanIndex.nextExecutionTime') }} + + {{ t('testPlan.testPlanIndex.scheduledTaskUnEnable') }} + + - + {{ t(columnConfig.title as string) }} @@ -75,13 +104,13 @@ - + - {{ t(reviewStatusMap[key as ReviewStatus].label) }} + {{ t(planStatusMap[key as planStatusType].label) }} @@ -103,38 +132,33 @@ - + {{ t(columnConfig.title as string) }} - + - - - - - + @@ -218,37 +242,51 @@ @save="handleMoveOrCopy" /> + +