import { Link } from 'react-router-dom' import { useEffect, useRef, useState } from 'react' import { useQuoteModal } from '../contexts/QuoteModalContext' import './Home.css' function Home() { const { openQuoteModal } = useQuoteModal() const [currentSection, setCurrentSection] = useState(0) const sectionsRef = useRef<(HTMLElement | null)[]>([]) useEffect(() => { const handleWheel = (e: WheelEvent) => { e.preventDefault() const delta = e.deltaY > 0 ? 1 : -1 const nextSection = Math.max(0, Math.min(sectionsRef.current.length - 1, currentSection + delta)) if (nextSection !== currentSection) { setCurrentSection(nextSection) sectionsRef.current[nextSection]?.scrollIntoView({ behavior: 'smooth' }) } } window.addEventListener('wheel', handleWheel, { passive: false }) return () => window.removeEventListener('wheel', handleWheel) }, [currentSection]) useEffect(() => { const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const index = sectionsRef.current.indexOf(entry.target as HTMLElement) if (index !== -1) { setCurrentSection(index) } } }) }, { threshold: 0.5 } ) sectionsRef.current.forEach((section) => { if (section) observer.observe(section) }) return () => observer.disconnect() }, []) return (
患者安全始终第一
提供全流程风险评估与风险减量解决方案
系统化的数据收集、监测和分析,识别潜在风险信号
了解更多 →为临床试验提供全面的保险保障服务
了解更多 →上市后药物安全与风险管理保障
了解更多 →分享我们对行业的洞见和风险资讯
最新的法律法规与实践指南
保险方案设计与风险管理知识
药物警戒与保险的深度融合
解答您关心的问题
获取RMO最新资讯,第一时间了解我们的企业动态