- 新增 AttendanceRecord 与 AttendancePolicy 模型 - 上下班打卡、今日状态、月度统计端点 - 考勤管理页面(我的/团队/设置三 Tab) - 移动端快速打卡入口 - 管理员补卡与审计日志 - 单测覆盖打卡幂等、迟到计算、工时计算、权限边界
54 行
3.9 KiB
TypeScript
54 行
3.9 KiB
TypeScript
import { lazy } from "react";
|
|
|
|
export const ApOperationsPage = lazy(() => import("./ApOperationsPage"));
|
|
export const AttendancePage = lazy(() => import("./AttendancePage"));
|
|
export const AuditLogsPage = lazy(() => import("./AuditLogsPage"));
|
|
export const ApprovalRulesPage = lazy(() => import("./ApprovalRulesPage"));
|
|
export const AssetRegistryPage = lazy(() => import("./AssetRegistryPage"));
|
|
export const CutoverConsolePage = lazy(() => import("./CutoverConsolePage"));
|
|
export const DelegationsPage = lazy(() => import("./DelegationsPage"));
|
|
export const DepartmentsPage = lazy(() => import("./DepartmentsPage"));
|
|
export const ErpIntegrationPage = lazy(() => import("./ErpIntegrationPage"));
|
|
export const ExpenseStandardsPage = lazy(() => import("./ExpenseStandardsPage"));
|
|
export const FeatureFlagsPage = lazy(() => import("./FeatureFlagsPage"));
|
|
export const InventoryChecksPage = lazy(() => import("./InventoryChecksPage"));
|
|
export const InvoicePoolPage = lazy(() => import("./InvoicePoolPage"));
|
|
export const LeaveRequestPage = lazy(() => import("./LeaveRequestPage"));
|
|
export const MasterDataPage = lazy(() => import("./MasterDataPage"));
|
|
export const MobileApprovalsPage = lazy(() => import("./MobileApprovalsPage"));
|
|
export const MobileAssetScanPage = lazy(() => import("./MobileAssetScanPage"));
|
|
export const MobileCapturePage = lazy(() => import("./MobileCapturePage"));
|
|
export const MobileMePage = lazy(() => import("./MobileMePage"));
|
|
export const MobilePortalPage = lazy(() => import("./MobilePortalPage"));
|
|
export const NotificationChannelsPage = lazy(() => import("./NotificationChannelsPage"));
|
|
export const NotificationsPage = lazy(() => import("./NotificationsPage"));
|
|
export const AnnouncementsPage = lazy(() => import("./AnnouncementsPage"));
|
|
export const PaymentBatchesPage = lazy(() => import("./PaymentBatchesPage"));
|
|
export const PeoplePage = lazy(() => import("./PeoplePage"));
|
|
export const PeopleStatsPage = lazy(() => import("./PeopleStatsPage"));
|
|
export const PerformancePage = lazy(() => import("./PerformancePage"));
|
|
export const PayrollPage = lazy(() => import("./PayrollPage"));
|
|
export const OrganizationPage = lazy(() => import("./OrganizationPage"));
|
|
export const EmployeeProfilePage = lazy(() => import("./EmployeeProfilePage"));
|
|
export const TeamPresencePage = lazy(() => import("./TeamPresencePage"));
|
|
export const WeeklyReportsPage = lazy(() => import("./WeeklyReportsPage"));
|
|
export const TodosPage = lazy(() => import("./TodosPage"));
|
|
export const WorkspaceSetupPage = lazy(() => import("./WorkspaceSetupPage"));
|
|
export const SystemSettingsPage = lazy(() => import("./SystemSettingsPage"));
|
|
export const PortalAnnouncementsPage = lazy(() => import("./PortalAnnouncementsPage"));
|
|
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 PurchaseRequestsPage = lazy(() => import("./PurchaseRequestsPage"));
|
|
export const ReimbursementDetailPage = lazy(() => import("./ReimbursementDetailPage"));
|
|
export const ReimbursementDashboardPage = lazy(() => import("./ReimbursementDashboardPage"));
|
|
export const ReimbursementPrintPage = lazy(() => import("./ReimbursementPrintPage"));
|
|
export const ReimbursementsPage = lazy(() => import("./ReimbursementsPage"));
|
|
export const ReimbursementTemplatesPage = lazy(() => import("./ReimbursementTemplatesPage"));
|
|
export const TravelRequestsPage = lazy(() => import("./TravelRequestsPage"));
|
|
export const UserManagementPage = lazy(() => import("./UserManagementPage"));
|
|
export const WorkflowDefinitionsPage = lazy(() => import("./WorkflowDefinitionsPage"));
|
|
export const WorkflowTaskDetailPage = lazy(() => import("./WorkflowTaskDetailPage"));
|
|
export const WorkflowTasksPage = lazy(() => import("./WorkflowTasksPage"));
|