diff --git a/src/components/03_customer-management/FormEmployeeVisa.vue b/src/components/03_customer-management/FormEmployeeVisa.vue index 876c7a52..bba22dad 100644 --- a/src/components/03_customer-management/FormEmployeeVisa.vue +++ b/src/components/03_customer-management/FormEmployeeVisa.vue @@ -78,6 +78,12 @@ onMounted(async () => { await fetchProvince(); }); +const visaIssueCountryOptions = ref[]>([]); +let visaIssueCountryFilter: ( + value: string, + update: (callbackFn: () => void, afterFn?: (ref: QSelect) => void) => void, +) => void; + const visaTypeOptions = ref[]>([]); let visaTypeFilter: ( value: string, @@ -97,6 +103,12 @@ onMounted(() => { 'label', ); + visaIssueCountryFilter = selectFilterOptionRefMod( + ref(optionStore.globalOption?.nationality), + visaIssueCountryOptions, + 'label', + ); + workerTypeFilter = selectFilterOptionRefMod( ref(optionStore.globalOption?.workerType), workerTypeOptions, @@ -107,8 +119,14 @@ onMounted(() => { watch( () => optionStore.globalOption, () => { + visaIssueCountryFilter = selectFilterOptionRefMod( + ref(optionStore.globalOption?.nationality), + visaIssueCountryOptions, + 'label', + ); + visaTypeFilter = selectFilterOptionRefMod( - optionStore.globalOption.nationality, + optionStore.globalOption.visaType, visaTypeOptions, 'label', ); @@ -422,11 +440,11 @@ watch( class="col-md-4 col-6" :dense="dense" :readonly="readonly" - :options="visaTypeOptions" + :options="visaIssueCountryOptions" :hide-dropdown-icon="readonly" :for="`${prefixId}-select-issue-country`" :label="$t('customerEmployee.form.issueCountry')" - @filter="visaTypeFilter" + @filter="visaIssueCountryFilter" :model-value="readonly ? issueCountry || '-' : issueCountry" @update:model-value=" (v) => (typeof v === 'string' ? (issueCountry = v) : '')