import { readonly } from "vue";
interface Pagination {
  rowsPerPage: number;
}

interface DataOption {
  id: string;
  name: string;
  note?: string;
}

interface GovermentOption {
  id: string;
  shortName: string;
  agencyCode: string;
  governmentCode: string;
}

interface OrganizaOption {
  organizationOrganizationId: string; // หน่วยงาน
  organizationShortNameId: string; // Idย่อหน่วยงาน
  organizationShortName: string; // ชื่อย่อหน่วยงาน
  organizationAgencyCode: string; // รหัสหน่วยงาน
  organizationGovernmentCode: string; // รหัสส่วนราชการ
  organizationAgencyId: string; // หน่วยงานต้นสังกัด
  organizationGovernmentAgencyId: string; // ส่วนราชการต้นสังกัด
  organizationTypeId: string; // ประเภทหน่วยงาน
  organizationLevelId: string; //ระดับหน่วยงาน
  organizationInternalPhoneId: string; //เบอร์ติดต่อภายใน
  organizationExternalPhoneId: string; //เบอร์ติดต่อภายนอก
  organizationFaxId: string; //เบอร์โทรสาร
  organizationOrder: number; // ลำดับผังโครงสร้าง
  organizationUserNote: string; // User Note
  organizationStatusId: string; //status
  organizationGovernmentCodeOption: GovermentOption[];
  organizationGovernmentCodeOptionFilter: GovermentOption[];
  agency: string; // หน่วยงาน
  government: string; // ส่วนราชการ
  department: string; // ฝ่าย/ส่วน
  pile: string; // กอง
  isActive: boolean; //
  //   organizationAgencyCodeOption: GovermentOption[];
  //   organizationAgencyCodeOptionFilter: GovermentOption[];
}

// const organizationSet = readonly<OrganizaOption>({
//   organizationOrganizationId: "", // หน่วยงาน
//   organizationShortNameId: "", // รหัสส่วนราชการ
//   organizationShortName: "", // ชื่อย่อหน่วยงาน
//   organizationShortCode: "", // รหัสหน่วยงาน
//   organizationAgencyId: "", // หน่วยงานต้นสังกัด
//   organizationGovernmentAgencyId: "", // ส่วนราชการต้นสังกัด
//   organizationTypeId: "", // ประเภทหน่วยงาน
//   organizationLevelId: "", //ระดับหน่วยงาน
//   organizationInternalPhoneId: "", //เบอร์ติดต่อภายใน
//   organizationExternalPhoneId: "", //เบอร์ติดต่อภายนอก
//   organizationFaxId: "", //เบอร์โทรสาร
//   organizationOrder: 0, // ลำดับผังโครงสร้าง
//   organizationUserNote: "", // User Note
// });

interface UploadType {
  id: string;
  fileName: string;
  fileSize: number;
  fileType: string;
  detail: string;
}

interface Columns {
  [index: number]: {
    name: String;
    align: String;
    label: String;
    sortable: Boolean;
    field: String;
    headerStyle: String;
    style: String;
  };
}

// export { organizationSet };
export type {
  Pagination,
  DataOption,
  OrganizaOption,
  GovermentOption,
  UploadType,
  Columns,
};
