From dc590d37e97f3925f9edc134d80aa8817a12413d Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Thu, 2 Jul 2026 16:26:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8C=BB=E7=94=9F=E7=BB=B4?= =?UTF-8?q?=E5=BA=A6=E6=8E=A5=E8=AF=8A=E7=8E=87=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/views/stats/conversion/index.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/admin/src/views/stats/conversion/index.vue b/admin/src/views/stats/conversion/index.vue index ec4e8889..738c9b64 100644 --- a/admin/src/views/stats/conversion/index.vue +++ b/admin/src/views/stats/conversion/index.vue @@ -742,9 +742,18 @@ const handleReset = () => { fetchOverview() } +const calcDoctorReceiveRate = (source: Record) => { + const completedOrderCount = Number(source?.completed_order_count || 0) + const interviewCount = Number(source?.interview_count || 0) + if (interviewCount <= 0) return 0 + return (completedOrderCount / interviewCount) * 100 +} + const renderMetric = (key: string, source: Record, type = 'count', placeholder = false) => { if (placeholder) return '—' - const value = source?.[key] ?? 0 + const value = isDoctorDimension.value && key === 'receive_rate' + ? calcDoctorReceiveRate(source) + : source?.[key] ?? 0 if (type === 'money') return `¥${Number(value || 0).toFixed(2)}` if (type === 'percent') return `${Number(value || 0).toFixed(2)}%` if (type === 'ratio') return Number(value || 0).toFixed(2)