文件
hyb-oa/client/src/features/mobile/navigation.ts
T

36 行
1.1 KiB
TypeScript

export const MOBILE_APPROVAL_PERMISSIONS = [
"expense.approve",
"leave.approve",
"procurement.approve",
"travel.approve",
] as const;
export const MOBILE_CAPTURE_PERMISSIONS = ["invoice.upload", "invoice.manage"] as const;
export const MOBILE_ASSET_SCAN_PERMISSIONS = [
"asset.view_own",
"asset.view_all",
"asset.manage",
"asset.transfer",
"asset.inventory",
] as const;
export const MOBILE_LEAVE_PERMISSIONS = ["leave.view_own", "leave.view_all"] as const;
export const MOBILE_REIMBURSEMENT_PERMISSIONS = ["expense.view_own", "expense.view_all"] as const;
export type MobileNavItem = {
key: "home" | "approvals" | "capture" | "me";
to: string;
label: string;
icon: string;
anyOf?: readonly string[];
};
export const MOBILE_NAV_ITEMS: MobileNavItem[] = [
{ key: "home", to: "/mobile", label: "首页", icon: "home" },
{ key: "approvals", to: "/mobile/approvals", label: "审批", icon: "fact_check", anyOf: MOBILE_APPROVAL_PERMISSIONS },
{ key: "capture", to: "/mobile/capture", label: "票据", icon: "receipt_long", anyOf: MOBILE_CAPTURE_PERMISSIONS },
{ key: "me", to: "/mobile/me", label: "我的", icon: "person" },
];