import { readonly } from "vue";
interface ScrollType {
  position: number;
  direction: string;
  directionChanged: boolean;
  inflectionPoint: number;
  delta: number;
}

interface tabType {
  key: number;
  label: string;
  tag: string;
}
interface childrenType {
  key: number;
  label: string;
  path?: string;
}

interface menuType {
  key: number;
  icon: string;
  activeIcon: string;
  label: string;
  path: string;
  children?: childrenType[];
}

interface notiType {
  id: string;
  sender: string;
  body: string;
  timereceive: Date;
}

interface optionType {
  icon: string;
  label: string;
  value: string;
  color: string;
}

const menuList = readonly<any[]>([
  {
    key: 1,
    icon: "mdi-home-variant-outline",
    activeIcon: "mdi-home-variant",
    label: "หน้าแรก",
    path: "dashboard",
    role: "dashboard",
  },
  {
    key: 2,
    icon: "o_person",
    activeIcon: "person",
    label: "ข้อมูลหลัก",
    path: "metadata",
    role: "metadata",
  },
  {
    key: 3,
    icon: "o_groups",
    activeIcon: "groups",
    label: "โครงสร้างอัตรากำลัง",
    path: "organizational",
    role: "organization",
    children: [
      {
        key: 3.1,
        label: "จัดการตำแหน่ง",
        path: "organizationalMapping",
      },
      {
        key: 3.2,
        label: "แผนภูมิโครงสร้าง",
        path: "organizationalStructChart",
      },
      {
        key: 3.3,
        label: "แผนภูมิองค์กร",
        path: "organizationalOrgChart",
      },
      {
        key: 3.4,
        label: "ผังโครงสร้าง",
        path: "organizationalTree",
      },
      {
        key: 3.5,
        label: "ผังโครงสร้างลูกจ้าง",
        path: "organizationalEmployee",
      },
      {
        key: 3.6,
        label: "จัดการบัญชี 2",
        path: "manageReport2",
      },
      {
        key: 3.7,
        label: "รายงานบัญชี",
        path: "organizationalReport",
      },
    ],
  },
  {
    key: 4,
    icon: "o_contact_page",
    activeIcon: "contact_page",
    label: "ทะเบียนประวัติ",
    path: "registry",
    role: "registry",
  },
  {
    key: 10,
    icon: "o_contact_page",
    activeIcon: "registry_employee_page",
    label: "ทะเบียนประวัติลูกจ้าง",
    path: "registry-employee",
    role: "registryEmployee",
  },
  {
    key: 10,
    icon: "mdi-file-certificate-outline",
    activeIcon: "order",
    label: "ออกคำสั่ง",
    path: "order",
    role: "order",
  },
  {
    key: 5,
    icon: "o_search",
    activeIcon: "search",
    label: "สรรหา",
    path: "recruiting",
    role: "recruit",
    children: [
      {
        label: "ตั้งค่าเว็บสรรหา",
        path: "editorweb",
        key: 5.1,
        role: "recruit",
      },
      {
        label: "สอบแข่งขัน",
        path: "",
        key: 5.2,
        role: "recruit",
        children: [
          {
            label: "จัดการรอบสอบแข่งขัน" /* แข่งขัน */,
            path: "competePeriod",
            role: "recruit",
          },
          {
            label: "สถิติสมัครสอบแข่งขัน" /* แข่งขัน */,
            path: "competePeriodStat",
            role: "recruit",
          },
        ],
      },
      {
        label: "คัดเลือก",
        path: "",
        key: 5.3,
        role: "recruit",
        children: [
          {
            label: "จัดการรอบคัดเลือก",
            path: "qualifyPeriod",
            role: "recruit",
          },
          {
            label: "จัดการรอบคัดเลือกคนพิการ",
            path: "disablePeriod",
            role: "recruit",
          },
          {
            label: "จัดการรายชื่อคัดเลือก",
            path: "manage",
            role: "recruit",
          },
          {
            label: "สถิติสมัครคัดเลือก",
            path: "qualifyPeriodStat",
            role: "recruit",
          },
          {
            label: "สถิติสมัครคัดเลือกคนพิการ",
            path: "qualifyPeriodStatDisable",
            role: "recruit",
          },
        ],
      },
    ],
  },
  {
    key: 6,
    path: "placement",
    icon: "how_to_reg",
    activeIcon: "how_to_reg",
    label: "บรรจุ แต่งตั้ง ย้าย โอน",
    role: "placement",
    children: [
      {
        key: 6.1,
        label: "รายชื่อผู้สอบผ่าน",
        path: "placement",
        role: "placement",
      },
      // {
      //   key: 6.2,
      //   label: "ออกคำสั่ง",
      //   path: "Orderplacement",
      //   role: "placement",
      // },
      {
        key: 6.3,
        label: "การทดลองปฏิบัติหน้าที่ราชการ",
        path: "probation",
        role: "probation",
      },
      {
        key: 6.4,
        label: "รายการขอโอน",
        path: "transfer",
        role: "placement",
      },
      {
        key: 6.5,
        label: "รายการรับโอน",
        path: "receive",
        role: "placement",
      },
      {
        key: 6.6,
        label: "รายการช่วยราชการ",
        path: "help-government",
        role: "placement",
      },
      {
        key: 6.7,
        label: "รายการส่งตัวกลับ",
        path: "repatriate",
        role: "placement",
      },
      {
        key: 6.8,
        label: "รายการแต่งตั้ง-เลื่อน-ย้าย",
        path: "appoint-promote",
        role: "placement",
      },
      // {
      //   key: 6.9,
      //   label: "รายการย้าย",
      //   path: "relocation",
      //   role: "placement",
      // },
      {
        key: 6.1,
        label: "รายการอื่นๆ",
        path: "other",
        role: "placement",
      },
    ],
  },
  {
    key: 7,
    icon: "mdi-account-cancel-outline",
    activeIcon: "mdi-account-cancel",
    label: "พ้นจากราชการ",
    path: "retirement",
    role: "retirement",
    children: [
      {
        key: 7.1,
        label: "ประกาศเกษียณ",
        path: "retirement",
        role: "retirement",
      },
      {
        key: 7.2,
        label: "รายการลาออก",
        path: "resign",
        role: "retirement",
      },
      // {
      //   key: 7.3,
      //   label: "คำสั่งลาออก",
      //   path: "resign-order",
      //   role: "retirement",
      // },
      {
        key: 7.3,
        label: "Exit interview",
        path: "exit-Interview",
        role: "retirement",
      },
      {
        key: 7.4,
        label: "รายการบันทึกการถึงแก่กรรม",
        path: "deceased",
        role: "retirement",
      },
      {
        key: 7.5,
        label: "รายการให้ออก",
        path: "dismiss-order",
        role: "retirement",
      },
      {
        key: 7.6,
        label: "รายการปลดออก",
        path: "discharged",
        role: "retirement",
      },
      {
        key: 7.7,
        label: "รายการไล่ออก",
        path: "expulsion",
        role: "retirement",
      },
    ],
  },
  {
    key: 8,
    icon: "mdi-medal-outline",
    activeIcon: "mdi-medal",
    label: "เครื่องราชฯ",
    path: "insignia",
    role: "insignia",
    children: [
      {
        key: 8.1,
        label: "รอบการเสนอขอ",
        path: "insigniaProposals",
        role: "insignia",
      },
      {
        key: 8.2,
        label: "จัดการคำขอ",
        path: "insigniaManage",
        role: "insignia",
      },
      {
        key: 8.3,
        label: "บันทึกผลการเสนอขอ",
        path: "insigniaRecord",
        role: "insignia",
      },
      {
        key: 8.4,
        label: "จัดสรรเครื่องราชฯ",
        path: "insigniaAllocate",
        role: "insignia",
      },
      {
        key: 8.6,
        label: "ยืม-คืนเครื่องราชฯ",
        path: "insigniaBorrow",
        role: "insignia",
      },
      {
        key: 8.5,
        label: "รายงาน",
        path: "insigniaReport",
        role: "insignia",
      },
    ],
  },
  // {
  //   key: 8,
  //   icon: "mdi-medal-outline",
  //   activeIcon: "mdi-medal",
  //   label: "เครื่องราชฯ",
  //   path: "insignia",
  //   role: "insignia",
  //   children: [
  //     {
  //       key: 8.1,
  //       label: "เครื่องราชฯ",
  //       path: "",
  //       role: "insignia",
  //       children: [
  //         {
  //           label: "รอบการเสนอขอ",
  //           path: "insigniaProposals",
  //           role: "insignia",
  //         },
  //         {
  //           label: "จัดการคำขอ",
  //           path: "insigniaManage",
  //           role: "insignia",
  //         },
  //         {
  //           label: "บันทึกผลการได้รับพระราช...",
  //           path: "insigniaRecord",
  //           role: "insignia",
  //         },
  //         {
  //           label: "บันทึกผลการจ่ายใบกำกับ",
  //           path: "VatInsignia",
  //           role: "insignia",
  //         },

  //         {
  //           label: "จัดสรรเครื่องราชฯ",
  //           path: "insigniaAllocate",
  //           role: "insignia",
  //         },
  //         {
  //           label: "รายงาน",
  //           path: "insigniaReport",
  //           role: "insignia",
  //         },
  //       ],
  //     },
  //     {
  //       key: 8.2,
  //       label: "เหรียญจักรพรรดิมาลา",
  //       path: "",
  //       role: "coin",
  //       children: [
  //         {
  //           label: "รอบการเสนอขอ",
  //           path: "coinProposals",
  //           role: "coin",
  //         },
  //         {
  //           label: "จัดการคำขอ",
  //           path: "coinManage",
  //           role: "coin",
  //         },
  //         {
  //           label: "บันทึกผลการได้รับพระราชทานเหรียญจักรพรรดิมาลา",
  //           path: "coinReceive",
  //           role: "coin",
  //         },
  //         {
  //           label: "บันทึกผลการจ่ายใบกำกับ",
  //           path: "coinPayment",
  //           role: "coin",
  //         },
  //         {
  //           label:
  //             "รายชื่อที่ยื่นคำร้องขอแก้ไขข้อมูลการขอพระราชทานเหรียญจักรพรรดิมาลา",
  //           path: "coinRequest",
  //           role: "coin",
  //         },
  //         // {
  //         //   label: "ประวัติการยื่นขอ",
  //         //   path: "coinHistory",
  //         //   role: "coin",
  //         // },
  //         {
  //           label: "จัดสรรเหรียญตรา",
  //           path: "coinAllocate",
  //           role: "coin",
  //         },
  //         {
  //           label: "รายงาน",
  //           path: "coinReport",
  //           role: "coin",
  //         },
  //       ],
  //     },
    // ],
  // },
]);

const tabList = readonly<tabType[]>([
  {
    key: 1,
    label: "ข้อมูลทั่วไป",
    tag: "information",
  },
  {
    key: 19,
    label: "ประวัติการเปลี่ยนชื่อ",
    tag: "oldName",
  },
  {
    key: 16,
    label: "ข้อมูลราชการ",
    tag: "government",
  },
  {
    key: 17,
    label: "ข้อมูลที่อยู่",
    tag: "address",
  },
  {
    key: 18,
    label: "ข้อมูลครอบครัว",
    tag: "family",
  },
  {
    key: 15,
    label: "ใบอนุญาตประกอบอาชีพ",
    tag: "certicate",
  },
  {
    key: 2,
    label: "ประวัติการศึกษา",
    tag: "education",
  },
  {
    key: 3,
    label: "การฝึกอบรม/ดูงาน",
    tag: "training",
  },
  {
    key: 4,
    label: "เครื่องราชอิสริยาภรณ์",
    tag: "insignia",
  },
  {
    key: 5,
    label: "ประกาศเกียรติคุณ",
    tag: "coined",
  },
  {
    key: 6,
    label: "ผลการประเมินปฏิบัติราชการ",
    tag: "assessment",
  },
  {
    key: 7,
    label: "ตำแหน่ง/เงินเดือน/ค่าจ้าง",
    tag: "position",
  },
  {
    key: 8,
    label: "วินัย",
    tag: "rule",
  },
  {
    key: 9,
    label: "การลา",
    tag: "leave",
  },
  {
    key: 10,
    label: "ความสามารถพิเศษ",
    tag: "talent",
  },
  {
    key: 11,
    label: "ปฎิบัติราชการพิเศษ",
    tag: "work",
  },
  {
    key: 12,
    label: "บันทึกวันที่ไม่ได้รับเงินเดือนฯ",
    tag: "record",
  },
  {
    key: 13,
    label: "อื่นๆ",
    tag: "other",
  },
  {
    key: 14,
    label: "เอกสารหลักฐาน",
    tag: "document",
  },
]);

const tabListPlacement = readonly<tabType[]>([
  {
    key: 1,
    label: "ข้อมูลทั่วไป",
    tag: "information",
  },
  {
    key: 2,
    label: "ใบอนุญาตประกอบอาชีพ",
    tag: "certicate",
  },
  {
    key: 3,
    label: "ประวัติการศึกษา",
    tag: "education",
  },
  {
    key: 4,
    label: "ผลการสอบ",
    tag: "examresult",
  },
  {
    key: 5,
    label: "การคัดกรองคุณสมบัติ",
    tag: "qualification",
  },
]);

export { menuList, tabList, tabListPlacement };
export type { ScrollType, tabType, menuType, notiType, optionType };
