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

49 行
1.4 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_HOME_ASSET_SCAN_PERMISSIONS = [
"asset.manage",
"asset.transfer",
"asset.inventory",
] as const;
export const MOBILE_LEAVE_PERMISSIONS = ["leave.view_own", "leave.view_all"] as const;
export const MOBILE_PURCHASE_PERMISSIONS = [
"procurement.create",
"procurement.view_own",
"procurement.view_all",
"procurement.manage",
] as const;
export const MOBILE_REIMBURSEMENT_PERMISSIONS = ["expense.view_own", "expense.view_all"] as const;
export type MobileNavItem = {
key: "home" | "approvals" | "reimbursements" | "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" },
{ key: "reimbursements", to: "/mobile/reimbursements", label: "报销", icon: "request_quote", anyOf: MOBILE_REIMBURSEMENT_PERMISSIONS },
{ key: "me", to: "/mobile/me", label: "我的", icon: "person" },
];