|
|
@@ -25,32 +25,154 @@ export default function FinancialDashboard() {
|
|
|
</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>
|
|
|
+ <div className="absolute h-[74px] left-0 top-px w-[1920px]" data-name="头部">
|
|
|
+ {/* 右侧装饰 */}
|
|
|
+ <div className="absolute contents left-[1269px] top-[-3.98px]">
|
|
|
+ <div className="absolute flex h-[65px] items-center justify-center left-[calc(50%+638px)] top-[calc(50%+-5.48px)] translate-x-[-50%] translate-y-[-50%] w-[658px]">
|
|
|
+ <div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
|
|
+ <div className="h-[65px] relative w-[658px]" data-name="装饰_左">
|
|
|
+ <div className="absolute h-[64.5px] left-0 top-0 w-[663px]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-6.svg" />
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-[8px] left-[124.5px] top-[27px] w-[301px]">
|
|
|
+ <div className="absolute bottom-[-12.5%] left-0 right-0 top-[-12.5%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-7.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-0 left-0 top-[22px] w-[162px]">
|
|
|
+ <div className="absolute bottom-[-1px] left-0 right-0 top-[-1px]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-8.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute content-stretch flex gap-[4px] items-start left-[438px] top-[27px]">
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] shrink-0 w-[10px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-80 shrink-0 w-[6px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter opacity-60 shrink-0 size-[5px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-40 shrink-0 w-[4px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-20 shrink-0 w-[3px]" />
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-[22.5px] left-0 top-[42px] w-[661px]">
|
|
|
+ <div className="absolute bottom-[-2.22%] left-0 right-0 top-[-2.22%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-9.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute flex inset-[-5.37%_30.52%_22.94%_66.51%] items-center justify-center">
|
|
|
+ <div className="flex-none h-[61px] rotate-[180deg] scale-y-[-100%] w-[57px]">
|
|
|
+ <div className="relative size-full" data-name="Union">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-10.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* 左侧装饰 */}
|
|
|
+ <div className="absolute content-stretch flex gap-[6px] items-center left-[calc(50%+-831px)] top-1/2 translate-x-[-50%] translate-y-[-50%]">
|
|
|
+ <div className="overflow-clip relative shrink-0 size-[24px]">
|
|
|
+ {/* 时间图标 - 使用现有的TimeIcon组件 */}
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/icon-path.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* 左侧装饰镜像 */}
|
|
|
+ <div className="absolute bottom-[13.48%] contents left-0 right-[65.73%] top-[-5.37%]">
|
|
|
+ <div className="absolute bottom-[13.48%] left-0 right-[65.73%] top-[-1.32%]" data-name="装饰_左">
|
|
|
+ <div className="absolute h-[64.5px] left-0 top-0 w-[663px]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-6.svg" />
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-[8px] left-[124.5px] top-[27px] w-[301px]">
|
|
|
+ <div className="absolute bottom-[-12.5%] left-0 right-0 top-[-12.5%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-7.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-0 left-0 top-[22px] w-[162px]">
|
|
|
+ <div className="absolute bottom-[-1px] left-0 right-0 top-[-1px]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-8.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute content-stretch flex gap-[4px] items-start left-[438px] top-[27px]">
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] shrink-0 w-[10px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-80 shrink-0 w-[6px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter opacity-60 shrink-0 size-[5px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-40 shrink-0 w-[4px]" />
|
|
|
+ <div className="bg-[#a2beff] blur-[0.25px] filter h-[5px] opacity-20 shrink-0 w-[3px]" />
|
|
|
+ </div>
|
|
|
+ <div className="absolute h-[22.5px] left-0 top-[42px] w-[661px]">
|
|
|
+ <div className="absolute bottom-[-2.22%] left-0 right-0 top-[-2.22%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-9.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute inset-[-5.37%_66.15%_22.94%_30.89%]" data-name="Union">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-decoration-10.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* 标题区域 */}
|
|
|
+ <div className="absolute h-[74px] left-[calc(50%+4px)] top-[calc(50%+-502px)] translate-x-[-50%] translate-y-[-50%] w-[690px]" data-name="标题">
|
|
|
+ <div className="absolute bottom-[-12.16%] left-[9.13%] right-[9.13%] top-full" data-name="发光边_下模糊掉的">
|
|
|
+ <div className="absolute inset-[-22.22%_-0.35%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-glow-border.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute bottom-0 left-[0.14%] right-0 top-0" data-name="标题背景">
|
|
|
+ <div className="absolute inset-[-10.81%_-3.48%_-16.22%_-3.48%]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-title-bg.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p className="[text-shadow:0px_0px_20px_#041441] absolute bg-clip-text bg-gradient-to-t font-['HarmonyOS_Sans_SC:Regular',sans-serif] from-[#cbced1] inset-[27.03%_36.23%_29.73%_35.94%] leading-[32px] not-italic text-[36px] text-center to-[#ffffff] to-[37.5%] tracking-[3px]" style={{ WebkitTextFillColor: "transparent" }}>
|
|
|
+ 战 略 部 署
|
|
|
+ </p>
|
|
|
+ <div className="absolute bottom-0 left-[18.55%] right-[18.26%] top-full" data-name="顶部导航">
|
|
|
+ <div className="absolute bottom-[-2px] left-0 right-0 top-[-2px]">
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/header-top-nav.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- {/* 四个数据模块容器 */}
|
|
|
- <div className="absolute top-[100px] left-0 w-full h-[900px] grid grid-cols-2 grid-rows-2 gap-6 p-6">
|
|
|
- {/* 资产负债率模块 */}
|
|
|
- <AssetMetrics />
|
|
|
+ {/* 四个数据模块容器 - 两列布局 */}
|
|
|
+ <div className="absolute content-stretch flex gap-[20px] items-center left-1/2 top-[79.5px] translate-x-[-50%]">
|
|
|
+ <div className="content-stretch flex gap-[20px] items-start relative shrink-0 w-[934.496px]">
|
|
|
+ {/* 左侧列 */}
|
|
|
+ <div className="content-stretch flex flex-col gap-[16px] items-start relative shrink-0 w-[457.248px]">
|
|
|
+ {/* 资产负债率模块 */}
|
|
|
+ <AssetMetrics />
|
|
|
|
|
|
- {/* 收入模块 */}
|
|
|
- <IncomeMetrics />
|
|
|
+ {/* 收入模块 */}
|
|
|
+ <IncomeMetrics />
|
|
|
+ </div>
|
|
|
|
|
|
- {/* 利润总额与净利润模块 */}
|
|
|
- <ProfitMetrics />
|
|
|
+ {/* 右侧列 */}
|
|
|
+ <div className="content-stretch flex flex-col gap-[16px] items-start relative shrink-0 w-[457.248px]">
|
|
|
+ {/* 利润总额与净利润模块 */}
|
|
|
+ <ProfitMetrics />
|
|
|
|
|
|
- {/* 资产负债率(百分比)模块 */}
|
|
|
- <DebtRatioMetrics />
|
|
|
+ {/* 资产负债率(百分比)模块 */}
|
|
|
+ <DebtRatioMetrics />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
{/* 右下角浮动按钮 */}
|
|
|
- <button className="absolute bottom-8 right-8 bg-blue-600 hover:bg-blue-700 text-white rounded-full w-12 h-12 flex items-center justify-center shadow-lg">
|
|
|
- <span className="text-xl">+</span>
|
|
|
- </button>
|
|
|
+ <div className="absolute contents left-[1765px] top-[923px]" data-name="浮动icon">
|
|
|
+ <div className="absolute contents left-[1765px] top-[923px]">
|
|
|
+ <div className="absolute flex items-center justify-center left-[1765px] size-[108px] top-[923px]">
|
|
|
+ <div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
|
|
+ <div className="relative size-[108px]">
|
|
|
+ {/* 使用现有的Icon组件 */}
|
|
|
+ <img alt="" className="block max-w-none size-full" src="/financial-dashboard/icon-path.svg" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className="absolute font-['PingFang_SC:Medium',sans-serif] h-[51px] leading-[normal] left-[1818.5px] not-italic text-[20px] text-center text-white top-[952px] tracking-[0.6349px] translate-x-[-50%] w-[55px] whitespace-pre-wrap">
|
|
|
+ <p className="mb-0">变动</p>
|
|
|
+ <p>幅度</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
);
|
|
|
}
|