|
|
@@ -1,36 +1,9 @@
|
|
|
-
|
|
|
-// 静态数据定义 - 基于故事中的示例数据
|
|
|
-const assetData = [
|
|
|
- { year: '2021年', assetTotal: 200.46, assetNet: 55.40 },
|
|
|
- { year: '2022年', assetTotal: 243.27, assetNet: 57.49 },
|
|
|
- { year: '2023年', assetTotal: 509.08, assetNet: 247.29 },
|
|
|
- { year: '2024年', assetTotal: 772.66, assetNet: 407.68 },
|
|
|
- { year: '2025年', assetTotal: 840.12, assetNet: 421.55 }
|
|
|
-];
|
|
|
-
|
|
|
-const profitData = [
|
|
|
- { year: '2021年', profitTotal: -1.5, profitNet: -1.7 },
|
|
|
- { year: '2022年', profitTotal: 0.8, profitNet: 0.59 },
|
|
|
- { year: '2023年', profitTotal: 1.28, profitNet: 0.6 },
|
|
|
- { year: '2024年', profitTotal: 1.65, profitNet: 1.22 },
|
|
|
- { year: '2025年', profitTotal: 1.34, profitNet: 1.00 }
|
|
|
-];
|
|
|
-
|
|
|
-const incomeData = [
|
|
|
- { year: '2021年', income: 161.29 },
|
|
|
- { year: '2022年', income: 243.27 },
|
|
|
- { year: '2023年', income: 509.08 },
|
|
|
- { year: '2024年', income: 772.66 },
|
|
|
- { year: '2025年', income: 840.12 }
|
|
|
-];
|
|
|
-
|
|
|
-const debtRatioData = [
|
|
|
- { year: '2021年', ratio: 73.37 },
|
|
|
- { year: '2022年', ratio: 76.37 },
|
|
|
- { year: '2023年', ratio: 51.42 },
|
|
|
- { year: '2024年', ratio: 47.24 },
|
|
|
- { year: '2025年', ratio: 49.82 }
|
|
|
-];
|
|
|
+import { AssetMetrics } from './components/AssetMetrics';
|
|
|
+import { ProfitMetrics } from './components/ProfitMetrics';
|
|
|
+import { IncomeMetrics } from './components/IncomeMetrics';
|
|
|
+import { DebtRatioMetrics } from './components/DebtRatioMetrics';
|
|
|
+import GridBackground from './components/GridBackground';
|
|
|
+import BackgroundOverlay from './components/BackgroundOverlay';
|
|
|
|
|
|
export default function FinancialDashboard() {
|
|
|
return (
|
|
|
@@ -47,72 +20,31 @@ export default function FinancialDashboard() {
|
|
|
|
|
|
{/* 底部网格和背景 */}
|
|
|
<div className="absolute inset-0">
|
|
|
- {/* 网格背景和常规界面组件将在后续实现 */}
|
|
|
+ <BackgroundOverlay />
|
|
|
+ <GridBackground />
|
|
|
</div>
|
|
|
|
|
|
{/* 头部区域 */}
|
|
|
<div className="absolute top-0 left-0 w-full h-[74px] bg-gradient-to-r from-blue-900/80 to-purple-900/80">
|
|
|
{/* 头部装饰将在后续实现 */}
|
|
|
<div className="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2">
|
|
|
- <h1 className="text-2xl font-bold text-white">财务数据可视化大屏</h1>
|
|
|
+ <h1 className="text-2xl font-bold text-white">战略部署</h1>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
{/* 四个数据模块容器 */}
|
|
|
<div className="absolute top-[100px] left-0 w-full h-[900px] grid grid-cols-2 grid-rows-2 gap-6 p-6">
|
|
|
{/* 资产负债率模块 */}
|
|
|
- <div className="bg-gray-800/80 rounded-lg p-4 border border-gray-600">
|
|
|
- <h2 className="text-lg font-semibold mb-4">资产负债率</h2>
|
|
|
- <div className="space-y-2">
|
|
|
- {assetData.map((item, index) => (
|
|
|
- <div key={index} className="flex justify-between">
|
|
|
- <span>{item.year}</span>
|
|
|
- <span>资产总额: {item.assetTotal}亿</span>
|
|
|
- <span>资产净额: {item.assetNet}亿</span>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <AssetMetrics />
|
|
|
|
|
|
{/* 收入模块 */}
|
|
|
- <div className="bg-gray-800/80 rounded-lg p-4 border border-gray-600">
|
|
|
- <h2 className="text-lg font-semibold mb-4">收入</h2>
|
|
|
- <div className="space-y-2">
|
|
|
- {incomeData.map((item, index) => (
|
|
|
- <div key={index} className="flex justify-between">
|
|
|
- <span>{item.year}</span>
|
|
|
- <span>{item.income}亿</span>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <IncomeMetrics />
|
|
|
|
|
|
{/* 利润总额与净利润模块 */}
|
|
|
- <div className="bg-gray-800/80 rounded-lg p-4 border border-gray-600">
|
|
|
- <h2 className="text-lg font-semibold mb-4">利润总额与净利润</h2>
|
|
|
- <div className="space-y-2">
|
|
|
- {profitData.map((item, index) => (
|
|
|
- <div key={index} className="flex justify-between">
|
|
|
- <span>{item.year}</span>
|
|
|
- <span>利润总额: {item.profitTotal}亿</span>
|
|
|
- <span>净利润: {item.profitNet}亿</span>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <ProfitMetrics />
|
|
|
|
|
|
{/* 资产负债率(百分比)模块 */}
|
|
|
- <div className="bg-gray-800/80 rounded-lg p-4 border border-gray-600">
|
|
|
- <h2 className="text-lg font-semibold mb-4">资产负债率(百分比)</h2>
|
|
|
- <div className="space-y-2">
|
|
|
- {debtRatioData.map((item, index) => (
|
|
|
- <div key={index} className="flex justify-between">
|
|
|
- <span>{item.year}</span>
|
|
|
- <span>{item.ratio}%</span>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <DebtRatioMetrics />
|
|
|
</div>
|
|
|
|
|
|
{/* 右下角浮动按钮 */}
|