diff --git a/apps/web/src/pages/health/components/VitalSignsChart.tsx b/apps/web/src/pages/health/components/VitalSignsChart.tsx index f9835f8..d6ddc21 100644 --- a/apps/web/src/pages/health/components/VitalSignsChart.tsx +++ b/apps/web/src/pages/health/components/VitalSignsChart.tsx @@ -8,13 +8,14 @@ const { Text } = Typography; interface Props { patientId: string; + refreshKey?: number; } const DEFAULT_INDICATOR = 'systolic_bp_morning'; const UNIT = 'mmHg'; const LABEL = '收缩压(晨)'; -export function VitalSignsChart({ patientId }: Props) { +export function VitalSignsChart({ patientId, refreshKey }: Props) { const [data, setData] = useState<{ date: string; value: number }[]>([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(false); @@ -32,7 +33,7 @@ export function VitalSignsChart({ patientId }: Props) { }) .catch(() => setError(true)) .finally(() => setLoading(false)); - }, [patientId]); + }, [patientId, refreshKey]); if (loading) { return ( diff --git a/apps/web/src/pages/health/components/VitalSignsTab.tsx b/apps/web/src/pages/health/components/VitalSignsTab.tsx index 91504a6..216441e 100644 --- a/apps/web/src/pages/health/components/VitalSignsTab.tsx +++ b/apps/web/src/pages/health/components/VitalSignsTab.tsx @@ -68,6 +68,7 @@ const columns = [ export function VitalSignsTab({ patientId }: Props) { const [modalOpen, setModalOpen] = useState(false); + const [chartRefreshKey, setChartRefreshKey] = useState(0); const [form] = Form.useForm(); const [submitting, setSubmitting] = useState(false); @@ -108,7 +109,7 @@ export function VitalSignsTab({ patientId }: Props) { setModalOpen(false); form.resetFields(); refresh(); - } catch { + setChartRefreshKey((k) => k + 1); } catch { message.error('录入失败'); } finally { setSubmitting(false); @@ -121,8 +122,8 @@ export function VitalSignsTab({ patientId }: Props) { return (