feat(08-05-contract-detail-workspace): 完成合同详情与终止状态治理

这个提交包含在:
2026-08-08 02:02:52 +08:00
父节点 7546d372d6
当前提交 21851774dd
共修改 25 个文件,包含 2516 行新增和 1021 行删除
+18
查看文件
@@ -59,6 +59,8 @@ import {
ProjectsPage,
ProjectDetailPage,
ContractsRegistryPage,
ContractRegistryCreatePage,
ContractRegistryDetailPage,
SystemSettingsPage,
TeamPresencePage,
TodosPage,
@@ -165,6 +167,22 @@ const routeElements = (
</RequirePermission>
}
/>
<Route
path="contracts-registry/new"
element={
<RequirePermission anyOf={["project.view_all", "project.manage", "system.settings"]}>
{withRouteFallback(<ContractRegistryCreatePage />)}
</RequirePermission>
}
/>
<Route
path="contracts-registry/:contractId"
element={
<RequirePermission anyOf={["project.view_own", "project.view_all", "project.manage", "system.settings"]}>
{withRouteFallback(<ContractRegistryDetailPage />)}
</RequirePermission>
}
/>
<Route path="weekly-reports" element={withRouteFallback(<WeeklyReportsPage />)} />
<Route path="todos" element={withRouteFallback(<TodosPage />)} />
<Route path="dashboard" element={<DashboardPage />} />
@@ -0,0 +1 @@
export { ContractRegistryCreatePage as default } from "../../pages/ContractRegistryWorkspacePage";
@@ -0,0 +1 @@
export { ContractRegistryDetailPage as default } from "../../pages/ContractRegistryWorkspacePage";
+2
查看文件
@@ -50,6 +50,8 @@ export const PortalHomePage = lazy(() => import("./PortalHomePage"));
export const ProjectsPage = lazy(() => import("./ProjectsPage"));
export const ProjectDetailPage = lazy(() => import("./ProjectDetailPage"));
export const ContractsRegistryPage = lazy(() => import("./ContractsRegistryPage"));
export const ContractRegistryCreatePage = lazy(() => import("./ContractRegistryCreatePage"));
export const ContractRegistryDetailPage = lazy(() => import("./ContractRegistryDetailPage"));
export const PurchaseRequestsPage = lazy(() => import("./PurchaseRequestsPage"));
export const PurchaseRequestDetailPage = lazy(() => import("./PurchaseRequestDetailPage"));
export const ReimbursementDetailPage = lazy(() => import("./ReimbursementDetailPage"));