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)