diff --git a/src/components/shared/select/SelectBusinessType.vue b/src/components/shared/select/SelectBusinessType.vue
index 211ed07e..12b6172e 100644
--- a/src/components/shared/select/SelectBusinessType.vue
+++ b/src/components/shared/select/SelectBusinessType.vue
@@ -158,6 +158,39 @@ function setDefaultValue() {
+
+
+
+
+
+
+ {{ $t('general.add', { text: $t('menu.manage.businessType') }) }}
+
+
+ {{ creatableDisabledText }}
+
+
+
+
+
+
+
+
diff --git a/src/pages/03_customer-management/MainPage.vue b/src/pages/03_customer-management/MainPage.vue
index e02a381e..539a4a01 100644
--- a/src/pages/03_customer-management/MainPage.vue
+++ b/src/pages/03_customer-management/MainPage.vue
@@ -2263,7 +2263,7 @@ const emptyCreateDialog = ref(false);
customerFormData.customerBranch[0].legalPersonNo
"
v-model:business-type="
- customerFormData.customerBranch[0].businessType
+ customerFormData.customerBranch[0].businessTypeId
"
v-model:job-position="
customerFormData.customerBranch[0].jobPosition
diff --git a/src/pages/03_customer-management/components/employer/EmployerFormBusiness.vue b/src/pages/03_customer-management/components/employer/EmployerFormBusiness.vue
index 0717d54f..26b0d659 100644
--- a/src/pages/03_customer-management/components/employer/EmployerFormBusiness.vue
+++ b/src/pages/03_customer-management/components/employer/EmployerFormBusiness.vue
@@ -10,10 +10,25 @@ import { useI18n } from 'vue-i18n';
import ThaiBahtText from 'thai-baht-text';
import SelectBusinessType from 'src/components/shared/select/SelectBusinessType.vue';
+import BusinessTypeDialog from 'src/pages/16_business-type-management/BusinessTypeDialog.vue';
+
+import useBusinessTypeStore from 'src/stores/business-type';
+
const { locale } = useI18n({ useScope: 'global' });
const rawOption = ref();
+const businessTypeDialog = ref(false);
+const formDataBusinessType = ref<{
+ name: string;
+ nameEN: string;
+}>({
+ name: '',
+ nameEN: '',
+});
+
+const useBusinessType = useBusinessTypeStore();
+
const businessTypeId = defineModel('businessTypeId');
const jobPosition = defineModel('jobPosition');
const jobDescription = defineModel('jobDescription');
@@ -29,6 +44,8 @@ const typeBusinessENOption = ref([]);
const jobPositionOption = ref([]);
const jobPositionENOption = ref([]);
+const keySelect = ref(0);
+
defineProps<{
title?: string;
dense?: boolean;
@@ -38,6 +55,20 @@ defineProps<{
showTitle?: boolean;
}>();
+function resetFormBusinessType() {
+ businessTypeDialog.value = false;
+ formDataBusinessType.value = { name: '', nameEN: '' };
+}
+
+async function submitBusinessType() {
+ const res = await useBusinessType.create(formDataBusinessType.value);
+ if (res) {
+ businessTypeId.value = res.id;
+ resetFormBusinessType();
+ keySelect.value++;
+ }
+}
+
onMounted(async () => {
const resultOption = await fetch('/option/option.json');
rawOption.value = await resultOption.json();
@@ -121,16 +152,24 @@ let jobPositionENFilter = selectFilterOptionRefMod(
(businessTypeDialog = true)"
/>
(businessTypeDialog = true)"
/>
+
+