ต่อ api บุคคลที่สามารถติดต่อได้

This commit is contained in:
Kittapath 2023-10-06 01:29:23 +07:00
parent 57d80e33cb
commit 468f27f74b
6 changed files with 254 additions and 183 deletions

View file

@ -7,6 +7,7 @@
v-model:formAddress="formAddress"
v-model:formOccupation="formOccupation"
v-model:formEducation="formEducation"
v-model:formContact="formContact"
/>
<!-- v-model:formFamily="formFamily" -->
<div class="text-center q-pt-sm">
@ -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<any>({})
const formAddress = ref<any>({})
const formEducation = ref<any>({})
const formOccupation = ref<any>({})
const formContact = ref<any>({})
const saveAuto = ref<boolean>(false)
const dialog = ref<boolean>(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, 'กรุณากรอกข้อมูลให้ครบถ้วน')
}