'use client'; import { useEffect } from 'react'; import { Card } from '@/components/ui/card'; import { toast } from 'sonner'; import { FieldSelector } from './components/FieldSelector'; import { ChartRadarAnalysis } from './components/RadarChart'; import { YieldComparison } from './components/YieldComparison'; import { NutrientComparison } from './components/NutrientComparison'; import { MapComparison } from './components/MapComparison'; import { useChartAnalysis, FieldData } from './components/chartAnalysisReducer'; // 模拟地块数据 const mockFieldsData: FieldData[] = [ { id: 'field-1', name: '东区1号地', area: 50.5, location: '东经120.15°, 北纬30.25°', soilType: '壤土', ph: 6.5, organicMatter: 32, nitrogen: 1.8, phosphorus: 1.2, potassium: 18, soilDepth: 85, slope: 3, currentCrop: '水稻', yield: 750, suitabilityScore: 87, suitabilityGrade: '高度适宜', irrigation: '喷灌', drainage: '良好', }, { id: 'field-2', name: '西区2号地', area: 45.2, location: '东经120.12°, 北纬30.28°', soilType: '粘土', ph: 7.8, organicMatter: 22, nitrogen: 1.3, phosphorus: 0.9, potassium: 14, soilDepth: 55, slope: 5, currentCrop: '玉米', yield: 650, suitabilityScore: 72, suitabilityGrade: '一般适宜', irrigation: '滴灌', drainage: '中等', }, { id: 'field-3', name: '南区3号地', area: 38.8, location: '东经120.18°, 北纬30.22°', soilType: '砂土', ph: 8.5, organicMatter: 15, nitrogen: 0.8, phosphorus: 0.6, potassium: 10, soilDepth: 42, slope: 8, currentCrop: '小麦', yield: 480, suitabilityScore: 58, suitabilityGrade: '不适宜', irrigation: '漫灌', drainage: '较差', }, { id: 'field-4', name: '北区4号地', area: 55.0, location: '东经120.20°, 北纬30.30°', soilType: '壤土', ph: 6.8, organicMatter: 28, nitrogen: 1.6, phosphorus: 1.0, potassium: 16, soilDepth: 75, slope: 2, currentCrop: '大豆', yield: 380, suitabilityScore: 82, suitabilityGrade: '高度适宜', irrigation: '喷灌', drainage: '良好', }, ]; export default function ChartPage() { const { setFields, state } = useChartAnalysis(); // 初始化数据 useEffect(() => { // 直接使用模拟数据,确保数据可用 setFields(mockFieldsData); localStorage.setItem('chart-analysis-fields', JSON.stringify(mockFieldsData)); }, [setFields]); // 如果数据还没有加载,显示loading状态 if (state.fields.length === 0) { return (

可视化图表分析

多维度指标可视化展示与对比分析

正在加载数据...

); } return (

可视化图表分析

多维度指标可视化展示与对比分析

{/* 地块选择器 */} {/* 图表分析区域 */}
{/* 雷达图 */} {/* 产量与有机质对比 */} {/* 养分对比 */} {/* 地图对比 */}
); }