/**
 * Router บรรจุ แต่งตั้ง ย้าย โอน (Placement)
 */

//รายการสอบแข่งขัน / คัดเลือก
const PlacementMain = () => import("@/modules/05_placement/views/01_Main.vue");
const PlacementDetail = () =>
  import("@/modules/05_placement/components/PersonalList/PersonalListPage.vue");
const PlacementPersonalDetail = () =>
  import("@/modules/05_placement/components/PersonalDetail/DetailMain.vue");

// รายการขอโอน
const transfer = () =>
  import("@/modules/05_placement/views/02_transferMain.vue");
const transferbyId = () =>
  import("@/modules/05_placement/components/Transfer/TransferDetail.vue");

//รายการรับโอน
const receiveMain = () =>
  import("@/modules/05_placement/views/03_receiveMain.vue");
const ReceiveAdd = () =>
  import("@/modules/05_placement/components/Receive/ReceiveAddPerson.vue");
const receiveDetail2 = () =>
  import("@/modules/05_placement/components/Receive/receiveDetail.vue");

//รายการช่วยราชการ
const helpgovernment = () =>
  import("@/modules/05_placement/views/04_helpGovernmentMain.vue");
const helpgovernmentbyId = () =>
  import(
    "@/modules/05_placement/components/Help-Government/HelpGovernmentDetail.vue"
  );

//รายการส่งตัวกลับ
const repatriate = () =>
  import("@/modules/05_placement/views/05_repatriateMain.vue");
const repatriatebyId = () =>
  import("@/modules/05_placement/components/Repatriate/RepatriateDetail.vue");

//รายการแต่งตั้ง-เลื่อน-ย้าย
const AppointmentMain = () =>
  import("@/modules/05_placement/views/06_appointPromoteMain.vue");
const AppointmentDetail = () =>
  import("@/modules/05_placement/components/AppointMent/AppointMentDetail.vue");

//รายการปรับระดับชั้นงานลูกจ้าง
const AppointEmployeeMain = () =>
  import("@/modules/05_placement/views/07_appointEmployeeMain.vue");
const AppointEmployeeDetail = () =>
  import(
    "@/modules/05_placement/components/AppointEmployee/AppointEmployeeDetail.vue"
  );

//อื่นๆ
const OtherMain = () => import("@/modules/05_placement/views/08_otherMain.vue");
const OthertDetail = () =>
  import("@/modules/05_placement/components/Other/OtherDetail.vue");

// ระบบทดลองงาน
const mainProbation = () =>
  import("@/modules/05_placement/components/probation/MainTabs.vue");
const probationDetail = () =>
  import("@/modules/05_placement/components/probation/ProbationDetail.vue");
const probationFormEvaluation = () =>
  import("@/modules/05_placement/components/probation/MainDetail.vue");
const probationFormEvaluationDetail = () =>
  import("@/modules/05_placement/components/probation/MainDetail.vue");
const probationWorkAdd = () =>
  import("@/modules/05_placement/components/probation/MainDetail.vue");
const probationFormAssign = () =>
  import("@/modules/05_placement/components/probation/FormAssign.vue");
const FormSaveResultAdd = () =>
  import(
    "@/modules/05_placement/components/probation/FormEvaluation/FormSaveResultAdd.vue"
  );
const FormEvaluateAdd = () =>
  import(
    "@/modules/05_placement/components/probation/FormEvaluation/FormEvaluateAdd.vue"
  );
const FormEvaluateScoreAdd = () =>
  import(
    "@/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScoreAdd.vue"
  );
const FormSaveResultAddCommander = () =>
  import(
    "./components/probation/FormEvaluation/FormSaveResultAddCommander.vue"
  );
const FormAppointPage = () =>
  import("./components/probation/FormAppoint/FormAppoint.vue");
const FormAppointPageDetail = () =>
  import("./components/probation/FormAppoint/FormAppoint.vue");
export default [
  {
    path: "/placement",
    name: "placement",
    component: PlacementMain,
    meta: {
      Auth: true,
      Key: "SYS_PLACEMENT_PASS",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/personal-list/:examId",
    name: "placementDetail",
    component: PlacementDetail,
    meta: {
      Auth: true,
      Key: "SYS_PLACEMENT_PASS",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/personal-detail/:personalId",
    name: "PlacementPersonalDetail",
    component: PlacementPersonalDetail,
    meta: {
      Auth: true,
      Key: "SYS_PLACEMENT_PASS",
      Role: "STAFF",
    },
  },
  {
    path: "/probation",
    name: "probation",
    component: mainProbation,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/:id",
    name: "probationDetail",
    component: probationDetail,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/:personalId/:form",
    name: "probationForm",
    component: probationFormEvaluation,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail-view/:personalId/:form",
    name: "probationFormDetail",
    component: probationFormEvaluationDetail,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/addresult/:id/:form",
    name: "probationFormAddresult",
    component: FormSaveResultAdd,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/addevalua/:id/:form",
    name: "probationFormAddevalua",
    component: FormEvaluateAdd,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/addevaluacommander/:id/:form",
    name: "probationFormAddevaluaCommander",
    component: FormSaveResultAddCommander,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/detail/addevaluascore/:id/:form",
    name: "probationFormAddevaluascore",
    component: FormEvaluateScoreAdd,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/work/add",
    name: "probationWorkAdd",
    component: probationWorkAdd,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/work/:id",
    name: "probationWork",
    component: probationWorkAdd,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/add/:personalId",
    name: "probationWorkAdd",
    component: probationFormAssign,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },

  // รายการขอโอน
  {
    path: "/placement/transfer",
    name: "transfer",
    component: transfer,
    meta: {
      Auth: true,
      Key: "SYS_TRANSFER_REQ",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/transfer/:id",
    name: "transfer-id",
    component: transferbyId,
    meta: {
      Auth: true,
      Key: "SYS_TRANSFER_REQ",
      Role: "STAFF",
    },
  },

  //รายการรับโอน
  {
    path: "/placement/receive",
    name: "receive",
    component: receiveMain,
    meta: {
      Auth: true,
      Key: "SYS_TRANSFER_RECEIVE",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/receive/add",
    name: "receiveAdd",
    component: ReceiveAdd,
    meta: {
      Auth: true,
      Key: "SYS_TRANSFER_RECEIVE",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/receive/:id",
    name: "receiveDetail",
    component: receiveDetail2,
    meta: {
      Auth: true,
      Key: "SYS_TRANSFER_RECEIVE",
      Role: "STAFF",
    },
  },

  //รายการช่วยราชการ
  {
    path: "/placement/help-government",
    name: "help-government",
    component: helpgovernment,
    meta: {
      Auth: true,
      Key: "SYS_TEMPDUTY",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/help-government/detail/:id",
    name: "help-governmentbyId",
    component: helpgovernmentbyId,
    meta: {
      Auth: true,
      Key: "SYS_TEMPDUTY",
      Role: "STAFF",
    },
  },

  // รายการส่งตัวกลับ
  {
    path: "/placement/repatriate",
    name: "repatriate",
    component: repatriate,
    meta: {
      Auth: true,
      Key: "SYS_TEMPDUTY2",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/repatriate/detail/:id",
    name: "repatriatebyId",
    component: repatriatebyId,
    meta: {
      Auth: true,
      Key: "SYS_TEMPDUTY2",
      Role: "STAFF",
    },
  },

  // รายการแต่งตั้ง-เลื่อน-ย้าย
  {
    path: "/placement/appoint-promote",
    name: "appoint-promote",
    component: AppointmentMain,
    meta: {
      Auth: true,
      Key: "SYS_PROMOTION_OFFICER",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/appoint-promote/detail/:id",
    name: "appoint-promote-detail",
    component: AppointmentDetail,
    meta: {
      Auth: true,
      Key: "SYS_PROMOTION_OFFICER",
      Role: "STAFF",
    },
  },

  //รายการปรับระดับชั้นงานลูกจ้าง
  {
    path: "/placement/appoint-employee",
    name: "appoint-employee",
    component: AppointEmployeeMain,
    meta: {
      Auth: true,
      Key: "SYS_PROMOTION_EMP",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/appoint-employee/detail/:id",
    name: "appoint-employee-detail",
    component: AppointEmployeeDetail,
    meta: {
      Auth: true,
      Key: "SYS_PROMOTION_EMP",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/other",
    name: "other",
    component: OtherMain,
    meta: {
      Auth: true,
      Key: "SYS_PLACEMENT_OTHER",
      Role: "STAFF",
    },
  },
  {
    path: "/placement/other/detail/:id",
    name: "other-detail",
    component: OthertDetail,
    meta: {
      Auth: true,
      Key: "SYS_PLACEMENT_OTHER",
      Role: "STAFF",
    },
  },
  {
    path: "/probation-detail/assign/:id",
    name: "probationAppointDetail",
    component: FormAppointPageDetail,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
  {
    path: "/probation/assign/:id",
    name: "probationAppoint",
    component: FormAppointPage,
    meta: {
      Auth: true,
      Key: "SYS_PROBATION",
      Role: "STAFF",
    },
  },
];
