From b2c8c1e78f0115477a0548838b86cd0f1ee30f72 Mon Sep 17 00:00:00 2001 From: "xinxin.wu" Date: Tue, 17 Dec 2024 11:20:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E4=BD=9C=E5=8F=B0):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=B7=A5=E4=BD=9C=E5=8F=B0=E6=B5=8B=E8=AF=95=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=A6=82=E8=A7=88=E5=9B=BE=E4=BE=8B=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=99=BE=E5=88=86=E6=AF=94=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/workbench/homePage/utils.ts | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/frontend/src/views/workbench/homePage/utils.ts b/frontend/src/views/workbench/homePage/utils.ts index ddf5f84ea9..42893990bd 100644 --- a/frontend/src/views/workbench/homePage/utils.ts +++ b/frontend/src/views/workbench/homePage/utils.ts @@ -113,8 +113,6 @@ export function getCommonBarOptions( if (isTestPlan) { const unAssign = params[0].axisValueLabel === t('workbench.homePage.planUnExecutor'); paramsList = unAssign ? params.slice(0, 1) : params; - const [assigning, complete] = params; - const passRate = assigning.value > 0 ? `${((complete.value / assigning.value) * 100).toFixed(2)}%` : '0%'; testPlanHtml = unAssign ? `` : `
@@ -125,7 +123,7 @@ export function getCommonBarOptions( ${t('workbench.homePage.completeRate')}
-
${passRate}
+
${params[0].data.passRate}
`; } else { paramsList = params; @@ -668,12 +666,34 @@ export function getSeriesData( options.graphic.style.text = text; let maxAxis = 5; + + let result: number[][]; + + // 计算通过率 + if (isTestPlan) { + const columnCount = projectCountList[0]?.count.length || 0; + result = Array.from({ length: columnCount }, () => []); + projectCountList.forEach((item) => { + item.count.forEach((value, index) => { + result[index].push(value); + }); + }); + } + const seriesData = projectCountList.map((item, sid) => { - const countData: Record[] = item.count.map((e) => { + const countData: Record[] = item.count.map((e, i) => { + let passRate: string = '0.00%'; + if (isTestPlan) { + const testPlanPassParams = result[i]; + const [assigning, complete] = testPlanPassParams; + passRate = assigning > 0 ? `${((complete / assigning) * 100).toFixed(2)}%` : '0.00%'; + } + return { name: t(contentTabList[sid]?.label ?? ''), value: e, originValue: e, + passRate, tooltip: { show: true, trigger: 'item',