import { QTableProps } from 'quasar';

export const countryCode = [
  {
    label: 'thai',
    value: 'th',
  },
  {
    label: 'myanmar',
    value: 'mm',
  },
  {
    label: 'laos',
    value: 'lo',
  },
  {
    label: 'cambodian',
    value: 'kh',
  },
  {
    label: 'vietnam',
    value: 'vn',
  },
  {
    label: 'philippines',
    value: 'ph',
  },
  {
    label: 'china',
    value: 'cn',
  },
];

export const uploadFileListCustomer: {
  label: string;
  value: string;
  _meta?: Record<string, any>;
}[] = [
  {
    label: 'customer.typeFile.citizenId',
    value: 'citizen',
  },
  {
    label: 'customer.typeFile.registrationBook',
    value: 'registrationBook',
  },

  {
    label: 'customer.typeFile.houseMap',
    value: 'houseMap',
  },

  {
    label: 'customer.typeFile.businessRegistration',
    value: 'businessRegistration',
  },

  {
    label: 'customer.typeFile.dbdCertificate',
    value: 'dbdCertificate',
  },

  {
    label: 'customer.typeFile.vatRegistrationCertificate',
    value: 'vatRegistrationCertificate',
  },

  {
    label: 'customer.typeFile.powerOfAttorney',
    value: 'powerOfAttorney',
  },

  {
    label: 'customer.typeFile.others',
    value: 'others',
  },
];

export const uploadFileListEmployee: {
  label: string;
  value: string;
  _meta?: Record<string, any>;
}[] = [
  {
    label: 'customerEmployee.fileType.passport',
    value: 'passport',
  },
  {
    label: 'customerEmployee.fileType.visa',
    value: 'visa',
    _meta: {
      number: '',
      type: '',
      entryCount: 0,
      issueCountry: '',
      issuePlace: '',
      issueDate: new Date(),
      expireDate: new Date(),
      mrz: '',
      remark: '',
    },
  },
  {
    label: 'customerEmployee.fileType.tm6',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.workPermit',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.noticeJobEmployment',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.noticeJobEntry',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.historyJob',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.acceptJob',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.receipt',
    value: 'other',
  },
  {
    label: 'customerEmployee.fileType.other',
    value: 'other',
  },
];

export const formMenuIconEmployee = [
  {
    icon: 'mdi-briefcase-outline',
    color: 'hsl(var(--info-bg))',
    bgColor: 'var(--surface-1)',
  },
  {
    icon: 'mdi-map-marker-radius-outline',
    color: 'hsl(var(--info-bg))',
    bgColor: 'var(--surface-1)',
  },
];

export const columnsAttachment = [
  {
    name: 'orderNumber',
    align: 'center',
    label: 'general.orderNumber',
    field: 'branchNo',
  },
  {
    name: 'document',
    align: 'center',
    label: 'general.document',
    field: 'attachmentName',
  },
  {
    name: 'uploadDate',
    align: 'center',
    label: 'general.uploadDate',
    field: 'uploadDate',
  },

  {
    name: 'action',
    label: '',
    field: 'action',
  },
] satisfies QTableProps['columns'];

export const columnsEmployee = [
  {
    name: 'orderNumber',
    align: 'center',
    label: 'general.orderNumber',
    field: 'branchNo',
  },

  {
    name: 'firstName',
    align: 'left',
    label: 'general.name',
    field: 'firstName',
  },

  {
    name: 'general.age',
    align: 'left',
    label: 'general.age',
    field: 'dateOfBirth',
  },

  {
    name: 'formDialogInputNationality',
    align: 'left',
    label: 'general.nationality',
    field: 'nationality',
  },

  {
    name: 'formDialogInputPassportNo',
    align: 'left',
    label: 'customerEmployee.form.passportNo',
    field: 'passportNumber',
  },

  {
    name: 'passportExpiryDate',
    align: 'left',
    label: 'customerEmployee.form.passportExpireDate',
    field: 'passportExpiryDate',
  },

  {
    name: 'formDialogEmployeeNRCNo',
    align: 'left',
    label: 'customerEmployee.form.nrcNo',
    field: 'nrcNo',
  },

  {
    name: 'branchLabel',
    align: 'left',
    label: 'customerEmployee.branch',
    field: 'customerBranch',
  },

  {
    name: 'action',
    label: '',
    field: 'action',
  },
] satisfies QTableProps['columns'];

export const columnsCustomer = [
  {
    name: 'orderNumber',
    align: 'center',
    label: 'customer.table.orderNumber',
    field: 'branchNo',
  },

  {
    name: 'titleName',
    align: 'left',
    label: 'customer.table.titleName',
    field: 'titleName',
    sortable: true,
  },

  {
    name: 'businessTypePure',
    align: 'center',
    label: 'customer.table.businessTypePure',
    field: 'businessTypePure',
    sortable: true,
  },

  {
    name: 'jobPosition',
    align: 'center',
    label: 'customer.table.jobPosition',
    field: 'jobPosition',
    sortable: true,
  },

  {
    name: 'address',
    align: 'center',
    label: 'customer.table.address',
    field: 'address',
    sortable: true,
  },

  {
    name: 'contactName',
    align: 'center',
    label: 'customer.table.contactName',
    field: 'contactName',
    sortable: true,
  },

  {
    name: 'officeTel',
    align: 'left',
    label: 'customer.table.officeTel',
    field: 'officeTel',
  },
] satisfies QTableProps['columns'];
