/**
 * 路由工具函数
 * 统一管理应用中的路由生成逻辑
 */

/**
 * 生成审批详情页URL
 * @param businessType 业务类型 (overtime, expense, purchase, etc.)
 * @param instanceId 流程实例ID
 * @returns 审批详情页URL
 */
export function getApprovalDetailUrl(businessType: string, instanceId: string): string {
  return `/approval/${businessType}/${instanceId}`;
}

/**
 * 生成审批详情页URL（仅使用实例ID）
 * @param instanceId 流程实例ID
 * @returns 审批详情页URL
 */
export function getApprovalDetailUrlById(instanceId: string): string {
  // 如果未来改为只使用 instanceId 的路由，只需修改这里
  return `/approval/overtime/${instanceId}`; // 默认使用 overtime，实际应该从 instance 获取
}

/**
 * 路由常量
 */
export const ROUTES = {
  // 首页和总览
  HOME: '/',
  OVERVIEW: '/overview',
  DASHBOARD: '/overview', // 别名

  // 审批中心
  APPROVAL: {
    PENDING: '/approvals/pending',      // 待我处理
    CREATED: '/approvals/created',      // 我创建的
    PROCESSED: '/approvals/processed',  // 我已处理
    CC: '/approvals/cc',                // 抄送我的
    DETAIL: (businessType: string, instanceId: string) => 
      `/approval/${businessType}/${instanceId}`,
  },

  // 工作记录
  WORK_RECORD: {
    MY: '/work-record/my',
    CREATE: '/work-record/my/create',
    DATA: '/work-record/data',
    APPROVAL: (instanceId: string) => `/approval/overtime/${instanceId}`,
  },

  // 报销申请
  EXPENSE: {
    MY: '/expense/my',
    CREATE: '/expense/my/create',
    DATA: '/expense/data',
    APPROVAL: (instanceId: string) => `/approval/expense/${instanceId}`,
  },

  // 采购申请
  PURCHASE: {
    MY: '/purchase/my',
    CREATE: '/purchase/my/create',
    DATA: '/purchase/data',
    APPROVAL: (instanceId: string) => `/approval/purchase/${instanceId}`,
  },

  // 其他模块...
} as const;

