From 2650120822e3314b70167fd348fb0416c8df8a82 Mon Sep 17 00:00:00 2001 From: teukkk Date: Mon, 3 Jun 2024 17:40:40 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92):?= =?UTF-8?q?=20=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92=E8=AF=A6=E6=83=85-?= =?UTF-8?q?=E7=BC=BA=E9=99=B7=E5=88=97=E8=A1=A8-=E7=82=B9id=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/ms-detail-drawer/index.vue | 17 ++++--- .../business/ms-prev-next-button/index.vue | 6 +-- frontend/src/models/testPlan/testPlan.ts | 1 + .../components/bug-detail-drawer.vue | 22 +++++++-- .../testPlan/detail/bugManagement/index.vue | 48 +++++++++++++------ .../views/test-plan/testPlan/detail/index.vue | 5 +- 6 files changed, 70 insertions(+), 29 deletions(-) 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" >