@@ -128,7 +129,8 @@ import {
defaultInformation,
defaultOccupation,
defaultAddress,
- defaultEducation
+ defaultEducation,
+ defaultContact
} from '@/modules/01_exam/interface/index/Main'
import Profile from '@/modules/01_exam/components/Form/Profile.vue'
@@ -170,6 +172,7 @@ const formInformation = ref
({})
const formAddress = ref({})
const formEducation = ref({})
const formOccupation = ref({})
+const formContact = ref({})
const saveAuto = ref(false)
const dialog = ref(false)
@@ -242,69 +245,81 @@ const saveData = async () => {
if (suc) {
await formOccupation.value.validate().then(async (suc: boolean) => {
if (suc) {
- loaderPage(true)
- await http
- .post(config.API.candidateId(examId.value, positionId.value), {
- prefixId: defaultInformation.value.prefixId,
- prefixName: defaultInformation.value.prefixId,
- lastName: defaultInformation.value.lastname,
- dateOfBirth:
- defaultInformation.value.birthDate == null
- ? null
- : dateToISO(defaultInformation.value.birthDate),
- citizenId: defaultInformation.value.cardid,
- firstName: defaultInformation.value.firstname,
- religionId: defaultInformation.value.religionId,
- nationality: defaultInformation.value.nationality,
- email: defaultInformation.value.email,
- mobilePhone: defaultInformation.value.phone,
- telephone: defaultInformation.value.tel,
- knowledge: defaultInformation.value.knowledge,
- occupationOrg: defaultOccupation.value.org,
- occupationPile: defaultOccupation.value.pile,
- occupationGroup: defaultOccupation.value.group,
- occupationSalary: defaultOccupation.value.salary,
- occupationPosition: defaultOccupation.value.position,
- occupationPositionType: defaultOccupation.value.positionType,
- occupationTelephone: defaultOccupation.value.tel,
- registAddress: defaultAddress.value.address,
- currentAddress: defaultAddress.value.addressC,
- registProvinceId: defaultAddress.value.provinceId,
- currentProvinceId: defaultAddress.value.provinceIdC,
- registDistrictId: defaultAddress.value.districtId,
- currentDistrictId: defaultAddress.value.districtIdC,
- registSubDistrictId: defaultAddress.value.subdistrictId,
- currentSubDistrictId: defaultAddress.value.subdistrictIdC,
- registZipCode: defaultAddress.value.code,
- currentZipCode: defaultAddress.value.codeC,
- registSame:
- defaultAddress.value.same == '1'
- ? true
- : defaultAddress.value.same == '0'
- ? false
- : null,
- educationLevelExamId: defaultEducation.value.educationLevelExamId,
- educationName: defaultEducation.value.educationName,
- educationMajor: defaultEducation.value.educationMajor,
- educationLocation: defaultEducation.value.educationLocation,
- educationType: defaultEducation.value.educationType,
- educationEndDate:
- defaultEducation.value.educationEndDate == null
- ? null
- : dateToISO(defaultEducation.value.educationEndDate),
- educationScores: defaultEducation.value.educationScores,
- educationLevelHighId: defaultEducation.value.educationLevelHighId
- })
- .then(async () => {
- success($q, 'บันทึกข้อมูลส่วนตัวสำเร็จ')
- if (saveAuto.value) await saveForm()
- await props.fetchStep()
- })
- .catch((e) => {
- messageError($q, e)
- loaderPage(false)
- })
- .finally(async () => {})
+ await formContact.value.validate().then(async (suc: boolean) => {
+ if (suc) {
+ loaderPage(true)
+ await http
+ .post(config.API.candidateId(examId.value, positionId.value), {
+ prefixId: defaultInformation.value.prefixId,
+ prefixName: defaultInformation.value.prefixId,
+ lastName: defaultInformation.value.lastname,
+ dateOfBirth:
+ defaultInformation.value.birthDate == null
+ ? null
+ : dateToISO(defaultInformation.value.birthDate),
+ citizenId: defaultInformation.value.cardid,
+ firstName: defaultInformation.value.firstname,
+ religionId: defaultInformation.value.religionId,
+ nationality: defaultInformation.value.nationality,
+ email: defaultInformation.value.email,
+ mobilePhone: defaultInformation.value.phone,
+ telephone: defaultInformation.value.tel,
+ knowledge: defaultInformation.value.knowledge,
+ occupationOrg: defaultOccupation.value.org,
+ occupationPile: defaultOccupation.value.pile,
+ occupationGroup: defaultOccupation.value.group,
+ occupationSalary: defaultOccupation.value.salary,
+ occupationPosition: defaultOccupation.value.position,
+ occupationPositionType: defaultOccupation.value.positionType,
+ occupationTelephone: defaultOccupation.value.tel,
+ registAddress: defaultAddress.value.address,
+ currentAddress: defaultAddress.value.addressC,
+ registProvinceId: defaultAddress.value.provinceId,
+ currentProvinceId: defaultAddress.value.provinceIdC,
+ registDistrictId: defaultAddress.value.districtId,
+ currentDistrictId: defaultAddress.value.districtIdC,
+ registSubDistrictId: defaultAddress.value.subdistrictId,
+ currentSubDistrictId: defaultAddress.value.subdistrictIdC,
+ registZipCode: defaultAddress.value.code,
+ currentZipCode: defaultAddress.value.codeC,
+ registSame:
+ defaultAddress.value.same == '1'
+ ? true
+ : defaultAddress.value.same == '0'
+ ? false
+ : null,
+ educationLevelExamId: defaultEducation.value.educationLevelExamId,
+ educationName: defaultEducation.value.educationName,
+ educationMajor: defaultEducation.value.educationMajor,
+ educationLocation: defaultEducation.value.educationLocation,
+ educationType: defaultEducation.value.educationType,
+ educationEndDate:
+ defaultEducation.value.educationEndDate == null
+ ? null
+ : dateToISO(defaultEducation.value.educationEndDate),
+ educationScores: defaultEducation.value.educationScores,
+ educationLevelHighId: defaultEducation.value.educationLevelHighId,
+
+ contactprefixId: defaultContact.value.contactprefixId,
+ contactfirstname: defaultContact.value.contactfirstname,
+ contactlastname: defaultContact.value.contactlastname,
+ contactrelations: defaultContact.value.contactrelations,
+ contacttel: defaultContact.value.contacttel
+ })
+ .then(async () => {
+ success($q, 'บันทึกข้อมูลส่วนตัวสำเร็จ')
+ if (saveAuto.value) await saveForm()
+ await props.fetchStep()
+ })
+ .catch((e) => {
+ messageError($q, e)
+ loaderPage(false)
+ })
+ .finally(async () => {})
+ } else {
+ notifyError($q, 'กรุณากรอกข้อมูลให้ครบถ้วน')
+ }
+ })
} else {
notifyError($q, 'กรุณากรอกข้อมูลให้ครบถ้วน')
}
diff --git a/src/modules/01_exam/components/Form/Contact.vue b/src/modules/01_exam/components/Form/Contact.vue
index 389714a..f71beff 100644
--- a/src/modules/01_exam/components/Form/Contact.vue
+++ b/src/modules/01_exam/components/Form/Contact.vue
@@ -1,146 +1,167 @@
-
-
-
-
- selectPrefix()"
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/src/modules/01_exam/components/Form/Profile.vue b/src/modules/01_exam/components/Form/Profile.vue
index c40c205..234daa1 100644
--- a/src/modules/01_exam/components/Form/Profile.vue
+++ b/src/modules/01_exam/components/Form/Profile.vue
@@ -41,13 +41,13 @@
-
+
-
+