diff --git a/frontend/src/components/business/ms-detail-drawer/index.vue b/frontend/src/components/business/ms-detail-drawer/index.vue index 06bbc6cd7d..0d31a1063c 100644 --- a/frontend/src/components/business/ms-detail-drawer/index.vue +++ b/frontend/src/components/business/ms-detail-drawer/index.vue @@ -20,6 +20,7 @@ Promise; // 分页变更函数 + pageChange?: (page: number) => Promise; // 分页变更函数 getDetailFunc: (id: string) => Promise; // 获取详情的请求函数 }>(); - const emit = defineEmits(['update:visible', 'loaded', 'loadingDetail']); + const emit = defineEmits(['update:visible', 'loaded', 'loadingDetail', 'getDetail']); const prevNextButtonRef = ref>(); @@ -108,7 +109,11 @@ if (innerVisible.value) { nextTick(() => { // 为了确保 prevNextButtonRef 已渲染 - initDetail(); + if (props.tableData && props.pagination && props.pageChange) { + initDetail(); + } else { + emit('getDetail'); + } }); } }); diff --git a/frontend/src/components/business/ms-prev-next-button/index.vue b/frontend/src/components/business/ms-prev-next-button/index.vue index de0f9fde21..dc3726ac98 100644 --- a/frontend/src/components/business/ms-prev-next-button/index.vue +++ b/frontend/src/components/business/ms-prev-next-button/index.vue @@ -45,7 +45,7 @@ const props = defineProps<{ loading: boolean; detailId: string; // 详情 id - detailIndex: number; // 详情 下标 + detailIndex?: number; // 详情 下标 tableData: any[]; // 表格数据 pagination: MsPaginationI; // 分页器对象 pageChange: (page: number) => Promise; // 分页变更函数 @@ -82,12 +82,12 @@ { immediate: true } ); - const activeDetailIndex = ref(props.detailIndex); + const activeDetailIndex = ref(props.detailIndex || 0); watch( () => props.detailIndex, (val) => { - activeDetailIndex.value = val; + activeDetailIndex.value = val as number; } ); diff --git a/frontend/src/models/testPlan/testPlan.ts b/frontend/src/models/testPlan/testPlan.ts index ff85b9f1e9..fcbdb24c59 100644 --- a/frontend/src/models/testPlan/testPlan.ts +++ b/frontend/src/models/testPlan/testPlan.ts @@ -69,6 +69,7 @@ export interface TestPlanDetail extends AddTestPlanParams { reReviewedCount: number; underReviewedCount: number; functionalCaseCount?: number; + bugCount?: number; apiCaseCount?: number; apiScenarioCount?: number; } diff --git a/frontend/src/views/bug-management/components/bug-detail-drawer.vue b/frontend/src/views/bug-management/components/bug-detail-drawer.vue index 52d2defd83..9f2c80a8b6 100644 --- a/frontend/src/views/bug-management/components/bug-detail-drawer.vue +++ b/frontend/src/views/bug-management/components/bug-detail-drawer.vue @@ -17,6 +17,7 @@ :mask="false" @loading-detail="setDetailLoading" @loaded="loadedBug" + @get-detail="getDetail" >