interface ListsData {
  id: string;
  leaveType: string;
  name: string;
  Date: Date;
  status: string;
}
interface QuerySting {
  year: number; //*ปีในการยื่นขอใบลา(ใช้เป็น คศ.)
  type: string; //*Id ประเภทการลา
  status: string; //*สถานะการของลา
  page: number; //*หน้า
  pageSize: number; //*จำนวนแถวต่อหน้า
  keyword: string; //keyword ค้นหา
}

interface DateFilter {
  year: number; //*ปีในการยื่นขอใบลา(ใช้เป็น คศ.)
  type: string; //*Id ประเภทการลา
  status: string; //*สถานะการของลา
  keyword: string; //keyword ค้นหา
}
interface FremData {
  id: string; //Id การยื่นขอลา
  reasonCommander: string; //เหตุผลผู้บังคับบัญชา
  reasonOligarch: string; //เหตุผลผู้มีอำนาจ
  positionName: string; //ตำแหน่งผู้ยื่นขอ
  positionLevelName: string; //ระดับผู้ยื่นขอ
  organizationName: string; //สังกัดผู้ยื่นขอ
  leaveTypeName: string; //Name ประเภทการลา
  leaveTypeId: string; //Id ประเภทการลา
  fullName: string; //คำนำหน้า ชื่อ นามสกุล คนขอลา
  dateSendLeave: Date | null; //วันที่ยื่นใบลา
  leaveDateStart: Date | null; //วันเริ่มการลา
  leaveDateEnd: Date | null; //วันสิ้นสุดการลา
  leaveCount: number;
  status: string; //สถานะการของลา
  leaveLimit: number; //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน
  leaveSummary: number; //ลาป่วยไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน
  leaveRemain: number; //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน
  // leaveStartDate: Date | null; //*วัน เดือน ปีเริ่มต้นลา
  // leaveEndDate: Date | null; //*วัน เดือน ปีสิ้นสุดลา
  leaveWrote: string; //เขียนที่
  leaveAddress: string; //สถานที่ติดต่อขณะลา
  leaveNumber: string; //หมายเลขที่ติดต่อขณะลา
  leaveDetail: string; //รายละเอียดการลา
  leaveDocument: string; //อัปโหลดเอกสารประกอบรายละเอียด
  leaveDraftDocument: string; //อัปโหลดแบบฟอร์มการลา
  leaveLastStart: Date | null; //ลาครั้งสุดท้ายในประเภทนั้นๆ เริ่มเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
  leaveLastEnd: Date | null; //ลาครั้งสุดท้ายในประเภทนั้นๆ สิ้นสุดเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
  leaveTotal: number; //จำนวนวันที่ลา(Auto)
  leavebirthDate: Date | null; //วันเดือนปีเกิด(Auto)
  leavegovernmentDate: Date | null; //วันที่เข้ารับราชการ(Auto)
  leaveSalary: string; //เงินเดือนปัจจุบัน(Auto)
  leaveSalaryText: String; //เงินเดือนปัจจุบัน(เขียนเป็นคำอ่าน)
  leaveTypeDay: string; //ประเภทการลาในวันนั้นเช่น
  wifeDayName: String; //ชื่อภรรยา(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
  wifeDayDateBorn: Date | null; //วันที่คลอด(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
  restDayOldTotal: Number; //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา(ลาพักผ่อน)(Auto)
  restDayCurrentTotal: number; //จำนวนวันลาพักผ่อนประจำปีปัจจุบัน(ลาพักผ่อน)(Auto)
  ordainDayStatus: Boolean; //เคย/ไม่เคยบวช (ให้เลือก) (ลาอุปสมบท)
  ordainDayLocationName: String; //สถานที่บวช ชื่อวัด(ลาอุปสมบท)
  ordainDayLocationAddress: String; //สถานที่บวช ที่อยู่(ลาอุปสมบท)
  ordainDayLocationNumber: String; //สถานที่บวช หมายเลขโทรศัพท์(ลาอุปสมบท)
  ordainDayOrdination: Date | null; //สถานที่บวช วันอุปสมบท(ลาอุปสมบท)
  ordainDayBuddhistLentName: String; //สถานที่จำพรรษา ชื่อวัด(ลาอุปสมบท)
  ordainDayBuddhistLentAddress: String; //สถานที่จำพรรษา ที่อยู่(ลาอุปสมบท)
  hajjDayStatus: Boolean; //เคย/ไม่เคยไปประกอบพิธีฮัจญ์ (ให้เลือก) (ลาประกอบพิธีฮัจญ์)
  absentDaySummon: String; //ได้รับหมายเรียกของ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
  absentDayLocation: String; //ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
  absentDayRegistorDate: Date | null; //ลงวันที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
  absentDayGetIn: String; //ให้เข้ารับการ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
  absentDayAt: String; //ณ ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
  studyDaySubject: String; //กรณีลาไปศึกษาต่อ ศึกษาวิชา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayDegreeLevel: String; //กรณีลาไปศึกษาต่อ ขั้นปริญญา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayUniversityName: String; //กรณีลาไปศึกษาต่อ ชื่อสถานศึกษา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayTrainingSubject: String; //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ด้าน/หลักสูตร (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayTrainingName: String; //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ณ สถานที่	(ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayCountry: String; //ประเทศ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  studyDayScholarship: String; //ด้วยทุน (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
  coupleDayName: String; //ชื่อคู่สมรส (ลาติดตามคู่สมรส)
  coupleDayPosition: String; //ตำแหน่งคู่สมรส (ลาติดตามคู่สมรส)
  coupleDayLevel: String; //ระดับคู่สมรส (ลาติดตามคู่สมรส)
  coupleDayLevelCountry: String; //ไปปฏิบัติราชการ ณ ประเทศ (ลาติดตามคู่สมรส)
  coupleDayCountryHistory: String; //ประวัติ ประเทศ (ลาติดตามคู่สมรส)
  coupleDayTotalHistory: String; //ประวัติ เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
  coupleDayStartDateHistory: Date | null; //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
  coupleDayEndDateHistory: Date | null; //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
  coupleDaySumTotalHistory: string; //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
  approveStep: string;
  dear: string;
  leaveRange?: string;
  profileType: string;
}

export type { ListsData, FremData, QuerySting, DateFilter };
