diff --git a/app/components/app/patient/_common/select-job.vue b/app/components/app/patient/_common/select-job.vue index b9804bb5..8f1d4867 100644 --- a/app/components/app/patient/_common/select-job.vue +++ b/app/components/app/patient/_common/select-job.vue @@ -4,7 +4,8 @@ import Combobox from '~/components/pub/my-ui/form/combobox.vue' import FieldGroup from '~/components/pub/my-ui/form/field-group.vue' import Field from '~/components/pub/my-ui/form/field.vue' import Label from '~/components/pub/my-ui/form/label.vue' -import { cn } from '~/lib/utils' +import { cn, mapToComboboxOptList } from '~/lib/utils' +import { occupationCodes } from '~/lib/constants' const props = defineProps<{ fieldName?: string @@ -28,94 +29,8 @@ const { labelClass, } = props -const jobOptions = [ - { label: 'Tidak diketahui', value: 'unknown', priority: 100 }, - { label: 'Belum/Tidak Bekerja', value: 'tidak_bekerja', priority: 99 }, - { label: 'Mengurus Rumah Tangga', value: 'mengurus_rumah_tangga' }, - { label: 'Pelajar/Mahasiswa', value: 'pelajar' }, - { label: 'Pensiunan', value: 'pensiunan' }, - { label: 'Pegawai Negeri Sipil', value: 'pns' }, - { label: 'Tentara Nasional Indonesia', value: 'tni' }, - { label: 'Kepolisian RI', value: 'polri' }, - { label: 'Perdagangan', value: 'perdagangan' }, - { label: 'Petani/Pekebun', value: 'petani' }, - { label: 'Peternak', value: 'peternak' }, - { label: 'Nelayan/Perikanan', value: 'nelayan' }, - { label: 'Industri', value: 'industri' }, - { label: 'Konstruksi', value: 'konstruksi' }, - { label: 'Transportasi', value: 'transportasi' }, - { label: 'Karyawan Swasta', value: 'karyawan_swasta' }, - { label: 'Karyawan BUMN', value: 'karyawan_bumn' }, - { label: 'Karyawan BUMD', value: 'karyawan_bumd' }, - { label: 'Karyawan Honorer', value: 'karyawan_honorer' }, - { label: 'Buruh Harian Lepas', value: 'buruh_harian' }, - { label: 'Buruh Tani/Perkebunan', value: 'buruh_tani' }, - { label: 'Buruh Nelayan/Perikanan', value: 'buruh_nelayan' }, - { label: 'Buruh Peternakan', value: 'buruh_peternakan' }, - { label: 'Pembantu Rumah Tangga', value: 'pembantu_rumah_tangga' }, - { label: 'Tukang Cukur', value: 'tukang_cukur' }, - { label: 'Tukang Listrik', value: 'tukang_listrik' }, - { label: 'Tukang Batu', value: 'tukang_batu' }, - { label: 'Tukang Kayu', value: 'tukang_kayu' }, - { label: 'Tukang Sol Sepatu', value: 'tukang_sol_sepatu' }, - { label: 'Tukang Jahit', value: 'tukang_jahit' }, - { label: 'Tukang Gigi', value: 'tukang_gigi' }, - { label: 'Penata Rias', value: 'penata_rias' }, - { label: 'Penata Busana', value: 'penata_busana' }, - { label: 'Penata Rambut', value: 'penata_rambut' }, - { label: 'Mekanik', value: 'mekanik' }, - { label: 'Seniman', value: 'seniman' }, - { label: 'Tabib', value: 'tabib' }, - { label: 'Paraji', value: 'paraji' }, - { label: 'Perancang Busana', value: 'perancang_busana' }, - { label: 'Penterjemah', value: 'penterjemah' }, - { label: 'Imam Mesjid', value: 'imam_mesjid' }, - { label: 'Pendeta', value: 'pendeta' }, - { label: 'Pastor', value: 'pastor' }, - { label: 'Wartawan', value: 'wartawan' }, - { label: 'Ustadz/Mubaligh', value: 'ustadz' }, - { label: 'Juru Masak', value: 'juru_masak' }, - { label: 'Promotor Acara', value: 'promotor' }, - { label: 'Anggota DPR-RI', value: 'dpr_ri' }, - { label: 'Anggota DPD', value: 'dpd' }, - { label: 'Anggota BPK', value: 'bpk' }, - { label: 'Presiden', value: 'presiden' }, - { label: 'Wakil Presiden', value: 'wakil_presiden' }, - { label: 'Anggota Mahkamah Konstitusi', value: 'mk' }, - { label: 'Anggota Kabinet/Kementrian', value: 'kabinet' }, - { label: 'Duta Besar', value: 'dubes' }, - { label: 'Gubernur', value: 'gubernur' }, - { label: 'Wakil Gubernur', value: 'wakil_gubernur' }, - { label: 'Bupati', value: 'bupati' }, - { label: 'Wakil Bupati', value: 'wakil_bupati' }, - { label: 'Walikota', value: 'walikota' }, - { label: 'Wakil Walikota', value: 'wakil_walikota' }, - { label: 'Anggota DPRD Provinsi', value: 'dprd_provinsi' }, - { label: 'Anggota DPRD Kabupaten/Kota', value: 'dprd_kabkota' }, - { label: 'Dosen', value: 'dosen' }, - { label: 'Guru', value: 'guru' }, - { label: 'Pilot', value: 'pilot' }, - { label: 'Pengacara', value: 'pengacara' }, - { label: 'Arsitek', value: 'arsitek' }, - { label: 'Akuntan', value: 'akuntan' }, - { label: 'Konsultan', value: 'konsultan' }, - { label: 'Dokter', value: 'dokter' }, - { label: 'Bidan', value: 'bidan' }, - { label: 'Apoteker', value: 'apoteker' }, - { label: 'Psikiater/Psikolog', value: 'psikolog' }, - { label: 'Penyiar Televisi', value: 'penyiar_tv' }, - { label: 'Penyiar Radio', value: 'penyiar_radio' }, - { label: 'Pelaut', value: 'pelaut' }, - { label: 'Sopir', value: 'sopir' }, - { label: 'Pialang', value: 'pialang' }, - { label: 'Paranormal', value: 'paranormal' }, - { label: 'Pedagang', value: 'pedagang' }, - { label: 'Perangkat Desa', value: 'perangkat_desa' }, - { label: 'Kepala Desa', value: 'kepala_desa' }, - { label: 'Biarawati', value: 'biarawati' }, - { label: 'Wiraswasta', value: 'wiraswasta' }, - { label: 'Lainnya', value: 'lainnya', priority: -100 }, -] +// Generate job options from constants, sama seperti pola genderCodes +const jobOptions = mapToComboboxOptList(occupationCodes)