import React from 'react'; import { Layout, Button, Typography, Divider, Flex } from 'antd'; import { ArrowLeftOutlined } from '@ant-design/icons'; import { useIntl } from 'react-intl'; import { useDispatch, useSelector } from 'react-redux'; import { switchToOperationPanel } from '../../../states/panelSwitchSliceForView'; import { setMeasurementAction, type MeasurementAction, } from '../../../states/view/measurementPanelSlice'; import type { RootState } from '../../../states/store'; import Icon from '@/components/Icon'; import '@/themes/truncateText.css'; const { Header, Content } = Layout; const { Title, Text } = Typography; const FunctionButton = ({ title, action, iconName, productId, }: { title: string; action: string; iconName: string; productId?: string; }) => { const dispatch = useDispatch(); const handleMeasurementAction = (action: string) => { console.log(`执行测量操作: ${action}`); // 通过 Redux 分发 action 到 ViewerContainer dispatch(setMeasurementAction(action as MeasurementAction)); }; return ( ); }; const MeasurementPanel = () => { const intl = useIntl(); const dispatch = useDispatch(); const productName = useSelector((state: RootState) => state.product.productName); const handleReturn = () => { dispatch(switchToOperationPanel()); }; return ( {/* 顶部导航栏 */}
{/* 主体内容 */} {/* 基础测量组 */}
{intl.formatMessage({ id: 'measurementPanel.basicMeasurements' })}
{intl.formatMessage({ id: 'measurementPanel.basicMeasurementsNote' })}
{/* 专业测量组 */}
{intl.formatMessage({ id: 'measurementPanel.professionalMeasurements' })}
{/* 宠物专用测量组 */} {productName === 'VETDROS' && (
{intl.formatMessage({ id: 'measurementPanel.petSpecificMeasurements' })}
)}
); }; export default MeasurementPanel;