备份:修复前完整项目快照 2026-04-19

This commit is contained in:
root
2026-04-19 19:15:01 +08:00
parent 5266d7732b
commit d00f41a120
449 changed files with 89577 additions and 23251 deletions
+82
View File
@@ -0,0 +1,82 @@
import React, { Suspense } from 'react'
import { Routes, Route, Navigate } from 'react-router-dom'
import { Spin, Layout } from 'antd'
const { Content } = Layout
// 懒加载页面组件
const ProjectsPage = React.lazy(() => import('./pages/projects/ProjectsPage'))
const ProjectDetail = React.lazy(() => import('./pages/projects/ProjectDetail'))
// 施工管理页面
const ConstructionList = React.lazy(() => import('./pages/construction/ConstructionList'))
const ConstructionLog = React.lazy(() => import('./pages/construction/ConstructionLog'))
const ConstructionMilestones = React.lazy(() => import('./pages/construction/ConstructionMilestones'))
const BudgetProjectList = React.lazy(() => import('./pages/budget/BudgetProjectList'))
const BudgetProjectCreate = React.lazy(() => import('./pages/budget/BudgetProjectCreate'))
// 加载中组件
const LoadingFallback = () => (
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh'
}}>
<Spin size="large" />
</div>
)
// 简单布局
const SimpleLayout: React.FC<{ children: React.ReactNode }> = ({ children }) => (
<Layout style={{ minHeight: '100vh' }}>
<Content style={{ background: '#f0f2f5' }}>
{children}
</Content>
</Layout>
)
const App: React.FC = () => {
return (
<SimpleLayout>
<Suspense fallback={<LoadingFallback />}>
<Routes>
{/* 项目管理路由 */}
<Route path="/projects" element={<ProjectsPage />} />
<Route path="/projects/:id" element={<ProjectDetail />} />
{/* 预算报价路由 */}
<Route path="/budget-projects" element={<BudgetProjectList />} />
<Route path="/budget-projects/create" element={<BudgetProjectCreate />} />
<Route path="/budget-projects/:id" element={<BudgetProjectList />} />
{/* 施工管理路由 */}
<Route path="/construction" element={<ConstructionList />} />
<Route path="/construction/:id/logs" element={<ConstructionLog />} />
<Route path="/construction/:id/milestones" element={<ConstructionMilestones />} />
{/* 默认重定向到项目列表 */}
<Route path="/" element={<Navigate to="/projects" replace />} />
{/* 404页面 */}
<Route path="*" element={
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh',
flexDirection: 'column',
gap: 16
}}>
<h1>404 - </h1>
<p>访</p>
<a href="/"></a>
</div>
} />
</Routes>
</Suspense>
</SimpleLayout>
)
}
export default App