interface Persons { personId: string; //id อ้างอิง profile idcard: string; //เลขประจำตัวประชาชน prefix: string; //คำนำหน้า firstName: string; //ชื่อ lastName: string; //นามสกุล posNo: string; //เลขที่ตำแหน่ง position: string; //ตำแหน่ง positionLevel: string; //ระดับ salary: number; //เงินเดือน organization: string; //สังกัด name: string; report?: boolean; // ส่งไปสรุปผลแล้ว isSend?: string; // ส่งไปยุติแล้ว isSuspend?: string; //ส่งไปพักแล้ว statusDiscard?: string; //ส่งไปงดโทษ/เพิ่มโทษแล้ว } interface PersonsArray { id: string; //id อ้างอิง profile idcard: string; //เลขประจำตัวประชาชน prefix: string; //คำนำหน้า firstName: string; //ชื่อ lastName: string; //นามสกุล posNo: string; //เลขที่ตำแหน่ง position: string; //ตำแหน่ง positionLevel: string; //ระดับ salary: number; //เงินเดือน organization: string; //สังกัด name: string; report?: boolean; } interface Director { directorId?: string; duty?: string; email: string; firstName: string; id: string; lastName: string; phone: string; position: string; prefix: string; total?: number; } // interface Persons { // personId: string; //id อ้างอิง profile // idcard: string; //เลขประจำตัวประชาชน // prefix: string; //คำนำหน้า // firstName: string; //ชื่อ // lastName: string; //นามสกุล // posNo: string; //เลขที่ตำแหน่ง // position: string; //ตำแหน่ง // positionLevel: string; //ระดับ // salary: number; //เงินเดือน // organization: string; //สังกัด // } interface FormData { respondentType: string; organizationId: string; consideredAgency: string; disciplinaryDateAllegation: Date | null; disciplinaryDateEvident: Date | null; disciplinaryCaseFault: string; disciplinaryInvestigateAt: string; disciplinaryFaultLevel: string; disciplinaryRefLaw: string; disciplinarySummaryEvidence: string; disciplinaryRecordAccuser: string; disciplinaryWitnesses: string; result: string; directors: Director[]; persons: Persons[]; extendStatus: boolean; disciplinaryDateStart: Date | null|string; disciplinaryDateEnd: Date | null|string; daysExtend: number; disciplinaryDateInvestigation: Date | null; disciplinaryDateResult: Date | null; disciplinaryStatusResult: string; disciplinaryCauseText: string; disciplinaryResult: string; disciplinaryExtendHistory: ExtendHistoryObject[]; disciplinaryFaultLevelOther:string } interface ExtendHistoryObject { name: string; num: number; daysExtend: number | null; dateStart: Date; dateEnd: Date; } interface DisciplinaryRef { // respondentType: object | null; // organizationId: object | null; // disciplinaryDateAllegation: object | null; // disciplinaryDateEvident: object | null; // disciplinaryCaseFault: object | null; // disciplinaryInvestigateAt: object | null; // disciplinaryFaultLevel: object | null; // disciplinaryRefLaw: object | null; // disciplinarySummaryEvidence: object | null; // disciplinaryRecordAccuser: object | null; // disciplinaryWitnesses: object | null; // result: object | null; // date: object | null; // dateEnd: object | null; // daysExtend: object | null; // disciplinaryDateResult: object | null; // filesRecordAccuser: object | null; // filesWitnesses: object | null; // filesEtc: object | null; // casefault: object | null; // typefault: object | null; // faultLevel: object | null; // refLaw: object | null; // detailComplaint: object | null; // whereInvestigate: object | null; // trueDetail: object | null; // evidence: object | null; // recordAccuser: object | null; // witnesses: object | null; // InvestResults: object | null; [key: string]: any; } export type { FormData, DisciplinaryRef, Persons, Director, PersonsArray };