import 'package:cpt_sg/modules/agency/agency_add/agency_add_page.dart';
import 'package:cpt_sg/modules/agency/agency_category/agency_category_page.dart';
import 'package:cpt_sg/modules/agency/agency_list/agency_list_page.dart';
import 'package:cpt_sg/modules/agency/contract_add/contract_add_page.dart';
import 'package:cpt_sg/modules/agency/contract_list/contract_list_page.dart';
import 'package:cpt_sg/modules/agency/contract_rate_edit_list/contract_rate_edit_list_page.dart';
import 'package:cpt_sg/modules/agency/contract_rate_list/contract_rate_list_page.dart';
import 'package:cpt_sg/modules/agency/contract_rate_specific_day/contract_rate_specific_page.dart';
import 'package:cpt_sg/modules/agency/position_add/position_add_page.dart';
import 'package:cpt_sg/modules/agency/position_list/position_list_page.dart';
import 'package:cpt_sg/modules/main/main_page.dart';
import 'package:cpt_sg/modules/report/dashboard/dashboard_page.dart';
import 'package:cpt_sg/modules/review/attendance_review_workflow/attendance_review_workflow_page.dart';
import 'package:get/get.dart';
import 'package:router/path/router_path.dart';

import '../modules/agency/contract_rate_setting/contract_rate_setting_page.dart';
import '../modules/job/applied_staff/applied_staff_page.dart';
import '../modules/job/applied_staff_detail/applied_staff_detail_page.dart';
import '../modules/job/applied_staff_reviews/applied_staff_reviews_page.dart';
import '../modules/job/job_applied/job_applied_page.dart';
import '../modules/job/job_list_edit/job_list_edit_page.dart';
import '../modules/job/revise_add_edit/revise_add_edit_page.dart';
import '../modules/job/revise_applied/revise_applied_page.dart';
import '../modules/job/revise_list/revise_list_page.dart';
import '../modules/job/revise_log/revise_log_page.dart';
import '../modules/job/job_list/job_list_page.dart';
import '../modules/labour/job_template_add/job_template_add_page.dart';
import '../modules/labour/job_template_list/job_template_list_page.dart';
import '../modules/labour/job_title_list/job_title_list_page.dart';
import '../modules/labour/labour_request_add/labour_request_add_page.dart';
import '../modules/labour/labour_request_edit/labour_request_edit_page.dart';
import '../modules/labour/labour_request_list/labour_request_list_page.dart';
import '../modules/labour/labour_review_workflow/labour_request_workflow_page.dart';
import '../modules/report/device_list/device_list_page.dart';
import '../modules/report/report_finance/report_finance_page.dart';
import '../modules/report/report_labour/report_labour_page.dart';
import '../modules/report/report_list/report_list_page.dart';
import '../modules/report/report_staff_request/report_staff_request_page.dart';
import '../modules/review/attendance_review_list/attendance_review_page.dart';
import '../modules/review/labour_review_list/labour_review_page.dart';
import '../modules/review/labour_review_workflow/labour_review_workflow_page.dart';

/// SG模块路由配置
class SGPageRouter {
  static final routes = <GetPage<dynamic>>[
    GetPage(
      name: RouterPath.SGMain,
      page: () => SGMainPage(),
    ),

    // 新加坡工作列表已申请列表
    GetPage(
      name: RouterPath.jobListAppliedSG,
      page: () => JobAppliedPage(),
    ),

    GetPage(
      name: RouterPath.jobListAppliedStaffListSG,
      page: () => AppliedStaffPage(),
    ),

    GetPage(
      name: RouterPath.jobListAppliedStaffDetailSG,
      page: () => AppliedStaffDetailPage(),
    ),

    GetPage(
      name: RouterPath.jobListAppliedStaffReviewSG,
      page: () => AppliedStaffReviewsPage(),
    ),

    GetPage(
      name: RouterPath.reviseListSG,
      page: () => ReviseListPage(),
    ),

    GetPage(
      name: RouterPath.reviseLogSG,
      page: () => ReviseLogPage(),
    ),

    GetPage(
      name: RouterPath.reviseEditSG,
      page: () => ReviseAddEditPage(),
    ),

    GetPage(
      name: RouterPath.reviseAppliedSG,
      page: () => ReviseAppliedPage(),
    ),

    // 工作标题列表
    GetPage(
      name: RouterPath.jobTitleListSG,
      page: () => JobTitleListPage(),
    ),

    // 工作模板列表
    GetPage(
      name: RouterPath.jobTemplateListSG,
      page: () => JobTemplateListPage(),
    ),

    // 添加模板
    GetPage(
      name: RouterPath.jobTemplateAddSG,
      page: () => JobTemplateAddPage(),
    ),

    // 用工的编辑
    GetPage(
      name: RouterPath.labourRequestEditSG,
      page: () => LabourRequestEditPage(),
    ),

    // 用工请求
    GetPage(
      name: RouterPath.labourRequestSG,
      page: () => LabourRequestListPage(),
    ),

    // 用工请求添加
    GetPage(
      name: RouterPath.labourRequestAddSG,
      page: () => LabourRequestAddPage(),
    ),

    // 用工请求的工作流
    GetPage(
      name: RouterPath.labourRequestWorkflowSG,
      page: () => SGLabourRequestWorkflowPage(),
    ),

    // 新加坡工作列表
    GetPage(
      name: RouterPath.jobListSG,
      page: () => JobListPage(),
    ),

    // 新加坡工作列表编辑
    GetPage(
      name: RouterPath.jobListEditSG,
      page: () => JobListEditPage(),
    ),

    //设备列表
    GetPage(
      name: RouterPath.deviceListSG,
      page: () => DeviceListPage(),
    ),

    //报表列表
    GetPage(
      name: RouterPath.reportListSG,
      page: () => SGReportListPage(),
    ),

    //财务报表
    GetPage(
      name: RouterPath.reportFinanceSG,
      page: () => ReportFinancePage(),
    ),

    //员工申请
    GetPage(
      name: RouterPath.reportStaffRequestSG,
      page: () => ReportStaffRequestPage(),
    ),

    //用工统计
    GetPage(
      name: RouterPath.reportCasualLabourSG,
      page: () => ReportLabourPage(),
    ),

    //工作列表用工请求审核
    GetPage(
      name: RouterPath.SGLabourReviewList,
      page: () => SGLabourReviewPage(),
    ),

    //工作列表用工请求审核的操作流
    GetPage(
      name: RouterPath.SGLabourReviewWorkflow,
      page: () => SGLabourReviewWorkflowPage(),
    ),

    //考勤的审核列表
    GetPage(
      name: RouterPath.SGAttendanceReviewList,
      page: () => SGAttendanceReviewPage(),
    ),

    //考勤的审核列表
    GetPage(
      name: RouterPath.SGAttendanceReviewWorkflow,
      page: () => SGAttendanceReviewWorkflowPage(),
    ),

    //新加坡中介模块的分类
    GetPage(
      name: RouterPath.SGAgencyCategory,
      page: () => SGAgencyCategoryPage(),
    ),

    //新加坡中介公司列表
    GetPage(
      name: RouterPath.SGAgencyList,
      page: () => SGAgencyListPage(),
    ),

    //新加坡中介公司添加与编辑
    GetPage(
      name: RouterPath.SGAgencyAdd,
      page: () => SGAgencyAddPage(),
    ),

    //新加坡的合同列表
    GetPage(
      name: RouterPath.SGContractList,
      page: () => SGContractListPage(),
    ),

    //新加坡的合同列表添加与编辑
    GetPage(
      name: RouterPath.SGContractAdd,
      page: () => SGContractAddPage(),
    ),

    //新加坡的指定合同的时薪管理列表
    GetPage(
      name: RouterPath.SGContractRateList,
      page: () => SGContractRateListPage(),
    ),

    //新加坡的指定合同的时薪管理的具体日期列表
    GetPage(
      name: RouterPath.SGContractRateDayEdit,
      page: () => SGContractRateEditListPage(),
    ),

    //新加坡的指定合同的时薪管理的具体日期列表
    GetPage(
      name: RouterPath.SGContractRateSetting,
      page: () => ContractRateSettingPage(),
    ),

    //设置指定日期的时薪
    GetPage(
      name: RouterPath.SGContractRateSpecificDay,
      page: () => SGContractRateSpecificPage(),
    ),

    //职位列表
    GetPage(
      name: RouterPath.SGPositionList,
      page: () => SGPositionListPage(),
    ),

    //职位的添加与编辑
    GetPage(
      name: RouterPath.SGPositionAdd,
      page: () => SGPositionAddPage(),
    ),

    //新加坡的 Dashboard 列表
    GetPage(
      name: RouterPath.dashboardSG,
      page: () => SGDashboardPage(),
    ),

  ];
}
