fix
This commit is contained in:
parent
6f1318b55c
commit
c95c4e9e8f
14 changed files with 363 additions and 229 deletions
|
|
@ -45,5 +45,8 @@ export default {
|
||||||
|
|
||||||
candidateReport: (candidateId: string) => `${env.API_URI}/placement/candidate/pdf/${candidateId}`,
|
candidateReport: (candidateId: string) => `${env.API_URI}/placement/candidate/pdf/${candidateId}`,
|
||||||
|
|
||||||
candidatePaymentExport: (examId: string) => `${candidate}period-exam/payment-export/${examId}`
|
candidatePaymentExport: (examId: string) => `${candidate}period-exam/payment-export/${examId}`,
|
||||||
|
|
||||||
|
registerConfirm: (examId: string, positionId: string) =>
|
||||||
|
`${candidate}register-confirm/${examId}/${positionId}`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,15 @@
|
||||||
<div class="text-bold col-12 row q-px-md q-py-sm items-center bg-grey-2">
|
<div class="text-bold col-12 row q-px-md q-py-sm items-center bg-grey-2">
|
||||||
ข้อมูลการสมัคร
|
ข้อมูลการสมัคร
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn dense size="12px" flat color="primary" @click="download" icon="mdi-download">
|
<q-btn
|
||||||
|
v-if="storeExam.isShowExamInfo"
|
||||||
|
dense
|
||||||
|
size="12px"
|
||||||
|
flat
|
||||||
|
color="primary"
|
||||||
|
@click="download"
|
||||||
|
icon="mdi-download"
|
||||||
|
>
|
||||||
<q-tooltip>ดาวน์โหลดใบสมัคร</q-tooltip>
|
<q-tooltip>ดาวน์โหลดใบสมัคร</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -17,11 +25,11 @@
|
||||||
<div class="">เลขประจำตัวประชาชน :</div>
|
<div class="">เลขประจำตัวประชาชน :</div>
|
||||||
<div class="text-black text-bold q-pl-sm">{{ citizenId }}</div>
|
<div class="text-black text-bold q-pl-sm">{{ citizenId }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pt-xs row">
|
<div v-if="storeExam.isShowExamInfo" class="q-pt-xs row">
|
||||||
<div class="">เลขประจำตัวผู้สมัคร :</div>
|
<div class="">เลขประจำตัวผู้สมัคร :</div>
|
||||||
<div class="text-black text-bold q-pl-sm">{{ examNumber }}</div>
|
<div class="text-black text-bold q-pl-sm">{{ examNumber }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pt-xs row">
|
<div v-if="storeExam.isShowExamInfo" class="q-pt-xs row">
|
||||||
<div class="">สนามสอบ :</div>
|
<div class="">สนามสอบ :</div>
|
||||||
<div class="text-black text-bold q-pl-sm">{{ examSeat }}</div>
|
<div class="text-black text-bold q-pl-sm">{{ examSeat }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -131,7 +139,7 @@
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
<q-card bordered flat class="col-12 row q-mt-md">
|
<!-- <q-card bordered flat class="col-12 row q-mt-md">
|
||||||
<div class="q-pa-md row">
|
<div class="q-pa-md row">
|
||||||
<div class="col-12 text-weight-bold row items-center">
|
<div class="col-12 text-weight-bold row items-center">
|
||||||
แบบสอบถามความพึงพอใจ
|
แบบสอบถามความพึงพอใจ
|
||||||
|
|
@ -153,7 +161,7 @@
|
||||||
<div class="col-xs-8 col-sm-6 q-pr-xs">{{ review }}</div>
|
<div class="col-xs-8 col-sm-6 q-pr-xs">{{ review }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
@ -165,11 +173,13 @@ import http from '@/plugins/http'
|
||||||
import config from '@/app.config'
|
import config from '@/app.config'
|
||||||
import { useCounterMixin } from '@/stores/mixin'
|
import { useCounterMixin } from '@/stores/mixin'
|
||||||
import { useDataStore } from '@/stores/data'
|
import { useDataStore } from '@/stores/data'
|
||||||
|
import { useExamDataStore } from '@/modules/01_exam/store'
|
||||||
|
|
||||||
import genReport from '@/plugins/genreport'
|
import genReport from '@/plugins/genreport'
|
||||||
|
|
||||||
const $q = useQuasar()
|
const $q = useQuasar()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
const storeExam = useExamDataStore()
|
||||||
const mixin = useCounterMixin() //เรียกฟังก์ชันกลาง
|
const mixin = useCounterMixin() //เรียกฟังก์ชันกลาง
|
||||||
const { date2Thai, messageError } = mixin
|
const { date2Thai, messageError } = mixin
|
||||||
const dataStore = useDataStore()
|
const dataStore = useDataStore()
|
||||||
|
|
@ -217,7 +227,7 @@ const fetchStatus = async () => {
|
||||||
.get(config.API.candidateCard(examId.value, positionId.value))
|
.get(config.API.candidateCard(examId.value, positionId.value))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const data = res.data.result
|
const data = res.data.result
|
||||||
fullName.value = data.prefix ? data.prefix : '' + data.firstName + ' ' + data.lastName
|
fullName.value = `${data.prefix ? data.prefix : ''}${data.firstName} ${data.lastName}`
|
||||||
examNumber.value = data.examIdenNumber
|
examNumber.value = data.examIdenNumber
|
||||||
citizenId.value = data.citizenId
|
citizenId.value = data.citizenId
|
||||||
examSeat.value = data.seatNumber
|
examSeat.value = data.seatNumber
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
size="22px"
|
size="22px"
|
||||||
color="orange-5"
|
color="orange-5"
|
||||||
class="q-mr-sm"
|
class="q-mr-sm"
|
||||||
/>รอยืนยันสถานะการสมัคร
|
/>ส่งใบสมัครแล้ว
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="status == 'checkPoint'" class="text-orange-6 text-bold">
|
<div v-else-if="status == 'checkPoint'" class="text-orange-6 text-bold">
|
||||||
<q-icon
|
<q-icon
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
<div>
|
<div>
|
||||||
<Profile
|
<Profile
|
||||||
:status="status"
|
:status="status"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
v-model:formInformation="formInformation"
|
v-model:formInformation="formInformation"
|
||||||
v-model:formAddress="formAddress"
|
v-model:formAddress="formAddress"
|
||||||
v-model:formOccupation="formOccupation"
|
v-model:formOccupation="formOccupation"
|
||||||
|
|
@ -14,7 +15,7 @@
|
||||||
<div class="text-center q-pt-sm">
|
<div class="text-center q-pt-sm">
|
||||||
<q-checkbox
|
<q-checkbox
|
||||||
v-model="acceptTermOfUse"
|
v-model="acceptTermOfUse"
|
||||||
:disable="(status !== 'register' && status !== 'rejectRegister') || statusEdit"
|
:disable="!isStatusRegister || statusEdit"
|
||||||
label="ข้าพเจ้าขอให้คำรับรองและแสดงความยินยอมตามเงื่อนไขทุกประการ"
|
label="ข้าพเจ้าขอให้คำรับรองและแสดงความยินยอมตามเงื่อนไขทุกประการ"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -54,7 +55,7 @@
|
||||||
outline
|
outline
|
||||||
icon="mdi-content-save"
|
icon="mdi-content-save"
|
||||||
@click="clickSave"
|
@click="clickSave"
|
||||||
v-if="status === 'register' || status === 'rejectRegister'"
|
v-if="isStatusRegister"
|
||||||
:disable="!acceptTermOfUse || statusEdit"
|
:disable="!acceptTermOfUse || statusEdit"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
|
@ -62,8 +63,8 @@
|
||||||
class="q-ml-md"
|
class="q-ml-md"
|
||||||
icon="mdi-check"
|
icon="mdi-check"
|
||||||
label="ส่งใบสมัคร"
|
label="ส่งใบสมัคร"
|
||||||
@click="dialogOpen"
|
@click="status === 'checkRegister' && !stepPayment ? (secondDialog = true) : dialogOpen()"
|
||||||
v-if="status === 'register' || status === 'rejectRegister'"
|
v-if="isStatusRegister"
|
||||||
:disable="!acceptTermOfUse || statusEdit"
|
:disable="!acceptTermOfUse || statusEdit"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -109,7 +110,37 @@
|
||||||
<q-btn class="" label="แก้ไข" color="red-5" outline @click="dialogClose" />
|
<q-btn class="" label="แก้ไข" color="red-5" outline @click="dialogClose" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6" align="center">
|
<div class="col-6" align="center">
|
||||||
<q-btn class="" label="ส่งใบสมัคร" color="primary" @click="okModalConfirm" />
|
<q-btn class="" label="ยืนยัน" color="primary" @click="okModalConfirm" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-card-actions>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
|
|
||||||
|
<q-dialog v-model="secondDialog" persistent transition-show="scale" transition-hide="scale">
|
||||||
|
<q-card style="width: 400px">
|
||||||
|
<q-card-section>
|
||||||
|
<!-- <div class="text-h6">เตือน</div> -->
|
||||||
|
</q-card-section>
|
||||||
|
|
||||||
|
<q-card-section>
|
||||||
|
<div class="text-body1 text-center text-red-8">
|
||||||
|
!!! โปรดตรวจสอบข้อมูลให้ถูกต้อง !!! <br />
|
||||||
|
ก่อนส่งใบสมัคร
|
||||||
|
<br />
|
||||||
|
เมื่อส่งใบสมัครแล้วจะแก้ไขไม่ได้ / สมัครใหม่ไม่ได้
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
|
||||||
|
<q-separator />
|
||||||
|
|
||||||
|
<q-card-actions align="right" class="bg-white text-teal">
|
||||||
|
<div class="col-12 row" align="center">
|
||||||
|
<div class="col-6" align="center">
|
||||||
|
<q-btn class="" label="แก้ไข" color="red-5" outline @click="secondDialog = false" />
|
||||||
|
</div>
|
||||||
|
<div class="col-6" align="center">
|
||||||
|
<q-btn class="" label="ส่งใบสมัคร" color="primary" @click="onSubmit" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
|
|
@ -156,6 +187,14 @@ const props = defineProps({
|
||||||
positionLevel: {
|
positionLevel: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
stepPayment: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -176,6 +215,7 @@ const formOccupation = ref<any>({})
|
||||||
const formContact = ref<any>({})
|
const formContact = ref<any>({})
|
||||||
const saveAuto = ref<boolean>(false)
|
const saveAuto = ref<boolean>(false)
|
||||||
const dialog = ref<boolean>(false)
|
const dialog = ref<boolean>(false)
|
||||||
|
const secondDialog = ref<boolean>(false)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await fetchStatus()
|
await fetchStatus()
|
||||||
|
|
@ -186,8 +226,6 @@ const dialogClose = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const dialogOpen = () => {
|
const dialogOpen = () => {
|
||||||
console.log(defaultInformation.value)
|
|
||||||
|
|
||||||
dialog.value = true
|
dialog.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -318,6 +356,10 @@ const saveData = async () => {
|
||||||
contacttel: defaultContact.value.contacttel
|
contacttel: defaultContact.value.contacttel
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
|
if (!props.stepPayment) {
|
||||||
|
dialog.value = false
|
||||||
|
secondDialog.value = true
|
||||||
|
}
|
||||||
success($q, 'บันทึกข้อมูลส่วนตัวสำเร็จ')
|
success($q, 'บันทึกข้อมูลส่วนตัวสำเร็จ')
|
||||||
await saveForm()
|
await saveForm()
|
||||||
await props.fetchStep()
|
await props.fetchStep()
|
||||||
|
|
@ -354,8 +396,8 @@ const saveData = async () => {
|
||||||
loaderPage(true)
|
loaderPage(true)
|
||||||
await http
|
await http
|
||||||
.post(config.API.candidateId(examId.value, positionId.value), {
|
.post(config.API.candidateId(examId.value, positionId.value), {
|
||||||
prefixId: defaultInformation.value.prefixId,
|
// prefixId: defaultInformation.value.prefixId,
|
||||||
prefixName: defaultInformation.value.prefixId,
|
prefixName: defaultInformation.value.prefix,
|
||||||
lastName: defaultInformation.value.lastname,
|
lastName: defaultInformation.value.lastname,
|
||||||
dateOfBirth:
|
dateOfBirth:
|
||||||
defaultInformation.value.birthDate == null
|
defaultInformation.value.birthDate == null
|
||||||
|
|
@ -363,7 +405,8 @@ const saveData = async () => {
|
||||||
: dateToISO(defaultInformation.value.birthDate),
|
: dateToISO(defaultInformation.value.birthDate),
|
||||||
citizenId: defaultInformation.value.cardid,
|
citizenId: defaultInformation.value.cardid,
|
||||||
firstName: defaultInformation.value.firstname,
|
firstName: defaultInformation.value.firstname,
|
||||||
religionId: defaultInformation.value.religionId,
|
// religionId: defaultInformation.value.religionId,
|
||||||
|
religionName: defaultInformation.value.religionName,
|
||||||
nationality: defaultInformation.value.nationality,
|
nationality: defaultInformation.value.nationality,
|
||||||
email: defaultInformation.value.email,
|
email: defaultInformation.value.email,
|
||||||
mobilePhone: defaultInformation.value.phone,
|
mobilePhone: defaultInformation.value.phone,
|
||||||
|
|
@ -400,7 +443,8 @@ const saveData = async () => {
|
||||||
educationScores: defaultEducation.value.educationScores,
|
educationScores: defaultEducation.value.educationScores,
|
||||||
educationLevelHighId: defaultEducation.value.educationLevelHighId,
|
educationLevelHighId: defaultEducation.value.educationLevelHighId,
|
||||||
|
|
||||||
contactprefixId: defaultContact.value.contactprefixId,
|
// contactprefixId: defaultContact.value.contactprefixId,
|
||||||
|
contactprefixName: defaultContact.value.contactprefixName,
|
||||||
contactfirstname: defaultContact.value.contactfirstname,
|
contactfirstname: defaultContact.value.contactfirstname,
|
||||||
contactlastname: defaultContact.value.contactlastname,
|
contactlastname: defaultContact.value.contactlastname,
|
||||||
contactrelations: defaultContact.value.contactrelations,
|
contactrelations: defaultContact.value.contactrelations,
|
||||||
|
|
@ -417,6 +461,16 @@ const saveData = async () => {
|
||||||
.finally(async () => {})
|
.finally(async () => {})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function onSubmit() {
|
||||||
|
try {
|
||||||
|
await http.post(config.API.registerConfirm(examId.value, positionId.value))
|
||||||
|
await props.fetchStep()
|
||||||
|
// do something
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|
|
||||||
|
|
@ -12,14 +12,14 @@
|
||||||
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
|
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
type="textarea"
|
type="textarea"
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultAddress.address"
|
v-model="defaultAddress.address"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ตามทะเบียนบ้าน'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ตามทะเบียนบ้าน'}`]"
|
||||||
:label="`${'ที่อยู่ตามทะเบียนบ้าน'}`"
|
:label="`${'ที่อยู่ตามทะเบียนบ้าน'}`"
|
||||||
|
|
@ -27,11 +27,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.provinceId"
|
v-model="defaultAddress.provinceId"
|
||||||
|
|
@ -46,11 +46,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.districtId"
|
v-model="defaultAddress.districtId"
|
||||||
|
|
@ -65,11 +65,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.subdistrictId"
|
v-model="defaultAddress.subdistrictId"
|
||||||
|
|
@ -84,12 +84,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'rejectRegister')"
|
:readonly="!(status == 'rejectRegister')"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
v-model="defaultAddress.code"
|
v-model="defaultAddress.code"
|
||||||
bottom-slots
|
bottom-slots
|
||||||
:label="`${'รหัสไปรษณีย์'}`"
|
:label="`${'รหัสไปรษณีย์'}`"
|
||||||
|
|
@ -109,7 +109,7 @@
|
||||||
val="1"
|
val="1"
|
||||||
label="ใช่"
|
label="ใช่"
|
||||||
dense
|
dense
|
||||||
:disable="!(status == 'register' || status == 'rejectRegister')"
|
:disable="!isStatusRegister"
|
||||||
/>
|
/>
|
||||||
<q-radio
|
<q-radio
|
||||||
v-model="defaultAddress.same"
|
v-model="defaultAddress.same"
|
||||||
|
|
@ -118,20 +118,20 @@
|
||||||
val="0"
|
val="0"
|
||||||
label="ไม่"
|
label="ไม่"
|
||||||
dense
|
dense
|
||||||
:disable="!(status == 'register' || status == 'rejectRegister')"
|
:disable="!isStatusRegister"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12" v-if="defaultAddress.same == '0'">
|
<div class="col-xs-12" v-if="defaultAddress.same == '0'">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
type="textarea"
|
type="textarea"
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultAddress.addressC"
|
v-model="defaultAddress.addressC"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ปัจจุบัน'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ปัจจุบัน'}`]"
|
||||||
:label="`${'ที่อยู่ปัจจุบัน'}`"
|
:label="`${'ที่อยู่ปัจจุบัน'}`"
|
||||||
|
|
@ -139,11 +139,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.provinceIdC"
|
v-model="defaultAddress.provinceIdC"
|
||||||
|
|
@ -158,11 +158,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.districtIdC"
|
v-model="defaultAddress.districtIdC"
|
||||||
|
|
@ -177,11 +177,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultAddress.subdistrictIdC"
|
v-model="defaultAddress.subdistrictIdC"
|
||||||
|
|
@ -196,13 +196,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
bottom-slots
|
bottom-slots
|
||||||
:readonly="!(status == 'rejectRegister')"
|
:readonly="!(status == 'rejectRegister')"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
v-model="defaultAddress.codeC"
|
v-model="defaultAddress.codeC"
|
||||||
:label="`${'รหัสไปรษณีย์'}`"
|
:label="`${'รหัสไปรษณีย์'}`"
|
||||||
/>
|
/>
|
||||||
|
|
@ -235,6 +235,10 @@ const props = defineProps({
|
||||||
form: {
|
form: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['update:form'])
|
const emit = defineEmits(['update:form'])
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@
|
||||||
:addData="false"
|
:addData="false"
|
||||||
:bottom="true"
|
:bottom="true"
|
||||||
:editBtn="false"
|
:editBtn="false"
|
||||||
:boss="status == 'register' || status == 'rejectRegister'"
|
:boss="isStatusRegister"
|
||||||
:editData="status == 'register' || status == 'rejectRegister'"
|
:editData="isStatusRegister"
|
||||||
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
|
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
|
||||||
icon="mdi-briefcase"
|
icon="mdi-briefcase"
|
||||||
:is-showfilter="false"
|
:is-showfilter="false"
|
||||||
|
|
@ -247,7 +247,7 @@
|
||||||
:validate="validateData"
|
:validate="validateData"
|
||||||
:clickNext="clickNext"
|
:clickNext="clickNext"
|
||||||
:clickPrevious="clickPrevious"
|
:clickPrevious="clickPrevious"
|
||||||
:editData="status == 'register' || status == 'rejectRegister'"
|
:editData="isStatusRegister"
|
||||||
v-model:editvisible="edit"
|
v-model:editvisible="edit"
|
||||||
v-model:next="next"
|
v-model:next="next"
|
||||||
v-model:previous="previous"
|
v-model:previous="previous"
|
||||||
|
|
@ -281,6 +281,10 @@ const props = defineProps({
|
||||||
status: {
|
status: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@
|
||||||
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
|
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<div class="col-xs-12 col-sm-3 col-md-2">
|
||||||
<!-- <q-select
|
<!-- <q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="status == 'register' || status == 'rejectRegister'"
|
||||||
dense
|
dense
|
||||||
|
|
@ -28,11 +28,11 @@
|
||||||
:label="`${'คำนำหน้า'}`"
|
:label="`${'คำนำหน้า'}`"
|
||||||
/> -->
|
/> -->
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultContact.contactprefixName"
|
v-model="defaultContact.contactprefixName"
|
||||||
|
|
@ -49,12 +49,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultContact.contactfirstname"
|
v-model="defaultContact.contactfirstname"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
||||||
:label="`${'ชื่อ'}`"
|
:label="`${'ชื่อ'}`"
|
||||||
|
|
@ -62,12 +62,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultContact.contactlastname"
|
v-model="defaultContact.contactlastname"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
||||||
:label="`${'นามสกุล'}`"
|
:label="`${'นามสกุล'}`"
|
||||||
|
|
@ -75,12 +75,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-4">
|
<div class="col-xs-12 col-sm-3 col-md-4">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultContact.contactrelations"
|
v-model="defaultContact.contactrelations"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอกความสัมพันธ์'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอกความสัมพันธ์'}`]"
|
||||||
:label="`${'เกี่ยวข้องเป็น'}`"
|
:label="`${'เกี่ยวข้องเป็น'}`"
|
||||||
|
|
@ -88,12 +88,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-4">
|
<div class="col-xs-12 col-sm-3 col-md-4">
|
||||||
<q-input
|
<q-input
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultContact.contacttel"
|
v-model="defaultContact.contacttel"
|
||||||
:label="`${'โทรศัพท์'}`"
|
:label="`${'โทรศัพท์'}`"
|
||||||
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
|
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
|
||||||
|
|
@ -134,6 +134,10 @@ const props = defineProps({
|
||||||
prefixOptions: {
|
prefixOptions: {
|
||||||
type: Array as PropType<DataOption[]>,
|
type: Array as PropType<DataOption[]>,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['update:form'])
|
const emit = defineEmits(['update:form'])
|
||||||
|
|
@ -173,7 +177,7 @@ const fetchData = async () => {
|
||||||
defaultContact.value.contactlastname = data.contactLastname
|
defaultContact.value.contactlastname = data.contactLastname
|
||||||
defaultContact.value.contactrelations = data.contactRelations
|
defaultContact.value.contactrelations = data.contactRelations
|
||||||
defaultContact.value.contacttel = data.contactTel
|
defaultContact.value.contacttel = data.contactTel
|
||||||
defaultContact.value.contactprefixName = data.contactPrefixName
|
defaultContact.value.contactprefixName = data.contactPrefix
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
<div class="col-12 row q-col-gutter-sm">
|
<div class="col-12 row q-col-gutter-sm">
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
emit-value
|
emit-value
|
||||||
|
|
@ -32,13 +32,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3" v-if="showEducationName">
|
<div class="col-xs-12 col-sm-3" v-if="showEducationName">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultEducation.educationName"
|
v-model="defaultEducation.educationName"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อปริญญา'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อปริญญา'}`]"
|
||||||
:label="`${'ชื่อปริญญา'}`"
|
:label="`${'ชื่อปริญญา'}`"
|
||||||
|
|
@ -46,13 +46,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultEducation.educationMajor"
|
v-model="defaultEducation.educationMajor"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก สาขาวิชา/วิชาเอก'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก สาขาวิชา/วิชาเอก'}`]"
|
||||||
:label="`${'สาขาวิชา/วิชาเอก'}`"
|
:label="`${'สาขาวิชา/วิชาเอก'}`"
|
||||||
|
|
@ -60,13 +60,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultEducation.educationLocation"
|
v-model="defaultEducation.educationLocation"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อสถานศึกษา'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อสถานศึกษา'}`]"
|
||||||
:label="`${'ชื่อสถานศึกษา'}`"
|
:label="`${'ชื่อสถานศึกษา'}`"
|
||||||
|
|
@ -74,10 +74,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
emit-value
|
emit-value
|
||||||
|
|
@ -92,14 +92,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<datepicker
|
<datepicker
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
v-model="defaultEducation.educationEndDate"
|
v-model="defaultEducation.educationEndDate"
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
:max-date="dateCondition"
|
:max-date="dateCondition"
|
||||||
:disabled="!(status == 'register' || status == 'rejectRegister')"
|
:disabled="!isStatusRegister"
|
||||||
>
|
>
|
||||||
<template #year="{ year }">
|
<template #year="{ year }">
|
||||||
{{ year + 543 }}
|
{{ year + 543 }}
|
||||||
|
|
@ -109,12 +109,12 @@
|
||||||
</template>
|
</template>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:model-value="
|
:model-value="
|
||||||
defaultEducation.educationEndDate == null
|
defaultEducation.educationEndDate == null
|
||||||
? null
|
? null
|
||||||
|
|
@ -141,13 +141,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
|
:readonly="!isStatusRegister"
|
||||||
|
:borderless="!isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
type="number"
|
type="number"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
|
||||||
v-model="defaultEducation.educationScores"
|
v-model="defaultEducation.educationScores"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก คะแนนเฉลี่ยสะสม'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก คะแนนเฉลี่ยสะสม'}`]"
|
||||||
:label="`${'คะแนนเฉลี่ยสะสม'}`"
|
:label="`${'คะแนนเฉลี่ยสะสม'}`"
|
||||||
|
|
@ -155,17 +155,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3">
|
<div class="col-xs-12 col-sm-3">
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
option-label="name"
|
option-label="name"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
:options="educationLevelOptions"
|
:options="educationLevelHigherOptions"
|
||||||
v-model="defaultEducation.educationLevelHighId"
|
v-model="defaultEducation.educationLevelHighId"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก วุฒิการศึกษาสูงสุด'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก วุฒิการศึกษาสูงสุด'}`]"
|
||||||
:label="`${'วุฒิการศึกษาสูงสุด'}`"
|
:label="`${'วุฒิการศึกษาสูงสุด'}`"
|
||||||
|
|
@ -203,6 +203,14 @@ const props = defineProps({
|
||||||
educationLevelOptions: {
|
educationLevelOptions: {
|
||||||
type: Array as PropType<DataOption[]>,
|
type: Array as PropType<DataOption[]>,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
educationLevelHigherOptions: {
|
||||||
|
type: Array as PropType<DataOption[]>,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-4">
|
<div class="col-xs-12 col-sm-3 col-md-4">
|
||||||
<q-field
|
<q-field
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
bottom-slots
|
bottom-slots
|
||||||
:stack-label="defaultInformation.cardid != null"
|
:stack-label="defaultInformation.cardid != null"
|
||||||
label="เลขประจำตัวประชาชน"
|
label="เลขประจำตัวประชาชน"
|
||||||
dense
|
dense
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val) =>
|
(val) =>
|
||||||
(val != null && val.length == 13) || `${'กรุณากรอกเลขประจำตัวประชาชนให้ถูกต้อง'}`,
|
(val != null && val.length == 13) || `${'กรุณากรอกเลขประจำตัวประชาชนให้ถูกต้อง'}`,
|
||||||
|
|
@ -48,15 +48,15 @@
|
||||||
</template>
|
</template>
|
||||||
</q-field>
|
</q-field>
|
||||||
<!-- <q-input
|
<!-- <q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
type="tel"
|
type="tel"
|
||||||
mask="#############"
|
mask="#############"
|
||||||
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
|
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.cardid"
|
v-model="defaultInformation.cardid"
|
||||||
maxlength="13"
|
maxlength="13"
|
||||||
:rules="[
|
:rules="[
|
||||||
|
|
@ -68,11 +68,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<div class="col-xs-12 col-sm-3 col-md-2">
|
||||||
<!-- <q-select
|
<!-- <q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultInformation.prefixId"
|
v-model="defaultInformation.prefixId"
|
||||||
|
|
@ -86,11 +86,11 @@
|
||||||
/> -->
|
/> -->
|
||||||
|
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultInformation.prefix"
|
v-model="defaultInformation.prefix"
|
||||||
|
|
@ -107,12 +107,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.firstname"
|
v-model="defaultInformation.firstname"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
||||||
:label="`${'ชื่อ (ภาษาไทย)'}`"
|
:label="`${'ชื่อ (ภาษาไทย)'}`"
|
||||||
|
|
@ -120,12 +120,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.lastname"
|
v-model="defaultInformation.lastname"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
||||||
:label="`${'นามสกุล (ภาษาไทย)'}`"
|
:label="`${'นามสกุล (ภาษาไทย)'}`"
|
||||||
|
|
@ -134,11 +134,11 @@
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<!-- :borderless="!false" -->
|
<!-- :borderless="!false" -->
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
dense
|
dense
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultInformation.nationality"
|
v-model="defaultInformation.nationality"
|
||||||
:options="opNat"
|
:options="opNat"
|
||||||
|
|
@ -148,11 +148,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<!-- <q-select
|
<!-- <q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultInformation.religionId"
|
v-model="defaultInformation.religionId"
|
||||||
|
|
@ -164,11 +164,11 @@
|
||||||
:label="`${'ศาสนา'}`"
|
:label="`${'ศาสนา'}`"
|
||||||
/> -->
|
/> -->
|
||||||
<q-select
|
<q-select
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
v-model="defaultInformation.religionName"
|
v-model="defaultInformation.religionName"
|
||||||
|
|
@ -203,12 +203,12 @@
|
||||||
</template>
|
</template>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:model-value="
|
:model-value="
|
||||||
defaultInformation.birthDate == null
|
defaultInformation.birthDate == null
|
||||||
? null
|
? null
|
||||||
|
|
@ -236,13 +236,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
bottom-slots
|
bottom-slots
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
:readonly="!(status == 'rejectRegister')"
|
:readonly="!(status == 'rejectRegister')"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
:model-value="
|
:model-value="
|
||||||
defaultInformation.birthDate == null ? null : calAge(defaultInformation.birthDate)
|
defaultInformation.birthDate == null ? null : calAge(defaultInformation.birthDate)
|
||||||
"
|
"
|
||||||
|
|
@ -251,12 +251,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.tel"
|
v-model="defaultInformation.tel"
|
||||||
:label="`${'โทรศัพท์'}`"
|
:label="`${'โทรศัพท์'}`"
|
||||||
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
|
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
|
||||||
|
|
@ -271,16 +271,16 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="col-xs-12 col-sm-3 col-md-3">
|
<!-- <div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<q-input
|
<q-input
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
|
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
type="tel"
|
type="tel"
|
||||||
mask="##########"
|
mask="##########"
|
||||||
maxlength="10"
|
maxlength="10"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.phone"
|
v-model="defaultInformation.phone"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val) => val.length == 10 || `${'กรุณากรอก โทรศัพท์มือถือ'}`,
|
(val) => val.length == 10 || `${'กรุณากรอก โทรศัพท์มือถือ'}`,
|
||||||
|
|
@ -292,13 +292,13 @@
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
<div class="col-xs-12 col-sm-3 col-md-3">
|
||||||
<!-- style="padding: 0 12px" -->
|
<!-- style="padding: 0 12px" -->
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
bottom-slots
|
bottom-slots
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
:readonly="!(status == 'rejectRegister')"
|
:readonly="!(status == 'rejectRegister')"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultInformation.email"
|
v-model="defaultInformation.email"
|
||||||
label="E-mail address"
|
label="E-mail address"
|
||||||
/>
|
/>
|
||||||
|
|
@ -339,11 +339,11 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="col-xs-12 col-sm-9 col-md-12">
|
<!-- <div class="col-xs-12 col-sm-9 col-md-12">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
||||||
v-model="defaultInformation.knowledge"
|
v-model="defaultInformation.knowledge"
|
||||||
label="ความรู้ความสามารถพิเศษ"
|
label="ความรู้ความสามารถพิเศษ"
|
||||||
|
|
@ -447,6 +447,10 @@ const props = defineProps({
|
||||||
form: {
|
form: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['update:form'])
|
const emit = defineEmits(['update:form'])
|
||||||
|
|
@ -520,8 +524,8 @@ const fetchData = async () => {
|
||||||
defaultInformation.value.phone = data.mobilePhone
|
defaultInformation.value.phone = data.mobilePhone
|
||||||
defaultInformation.value.tel = data.telephone
|
defaultInformation.value.tel = data.telephone
|
||||||
defaultInformation.value.knowledge = data.knowledge
|
defaultInformation.value.knowledge = data.knowledge
|
||||||
defaultInformation.value.prefix = data.prefixName
|
defaultInformation.value.prefix = data.prefix
|
||||||
defaultInformation.value.religionName = data.religionName
|
defaultInformation.value.religionName = data.religion
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
defaultInformation.value.email =
|
defaultInformation.value.email =
|
||||||
|
|
|
||||||
|
|
@ -16,33 +16,33 @@
|
||||||
label="ลูกจ้างประจำ"
|
label="ลูกจ้างประจำ"
|
||||||
color="teal"
|
color="teal"
|
||||||
val="prem"
|
val="prem"
|
||||||
:disable="!(status == 'register' || status == 'rejectRegister')"
|
:disable="!isStatusRegister"
|
||||||
/>
|
/>
|
||||||
<q-radio
|
<q-radio
|
||||||
v-model="defaultOccupation.positionType"
|
v-model="defaultOccupation.positionType"
|
||||||
label="ลูกจ้างชั่วคราว"
|
label="ลูกจ้างชั่วคราว"
|
||||||
color="teal"
|
color="teal"
|
||||||
val="temp"
|
val="temp"
|
||||||
:disable="!(status == 'register' || status == 'rejectRegister')"
|
:disable="!isStatusRegister"
|
||||||
/>
|
/>
|
||||||
<q-radio
|
<q-radio
|
||||||
v-model="defaultOccupation.positionType"
|
v-model="defaultOccupation.positionType"
|
||||||
label="ผู้ปฏิบัติงานอื่นในกรุงเทพมหานคร"
|
label="ผู้ปฏิบัติงานอื่นในกรุงเทพมหานคร"
|
||||||
color="teal"
|
color="teal"
|
||||||
val="other"
|
val="other"
|
||||||
:disable="!(status == 'register' || status == 'rejectRegister')"
|
:disable="!isStatusRegister"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 row">
|
<div class="col-12 row">
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultOccupation.position"
|
v-model="defaultOccupation.position"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อตำแหน่ง'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อตำแหน่ง'}`]"
|
||||||
:label="`${'ชื่อตำแหน่ง'}`"
|
:label="`${'ชื่อตำแหน่ง'}`"
|
||||||
|
|
@ -51,14 +51,14 @@
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<CurrencyInput
|
<CurrencyInput
|
||||||
class="q-pl-sm"
|
class="q-pl-sm"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
:options="{
|
:options="{
|
||||||
currency: 'THB'
|
currency: 'THB'
|
||||||
}"
|
}"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultOccupation.salary"
|
v-model="defaultOccupation.salary"
|
||||||
:rules="[(val:number| undefined) => !!val || `${'กรุณากรอก เงินเดือน'}`]"
|
:rules="[(val:number| undefined) => !!val || `${'กรุณากรอก เงินเดือน'}`]"
|
||||||
:label="`${'เงินเดือน'}`"
|
:label="`${'เงินเดือน'}`"
|
||||||
|
|
@ -68,13 +68,13 @@
|
||||||
<div class="col-12 row">
|
<div class="col-12 row">
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<q-input
|
<q-input
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultOccupation.group"
|
v-model="defaultOccupation.group"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก กลุ่ม/ฝ่าย'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก กลุ่ม/ฝ่าย'}`]"
|
||||||
:label="`${'กลุ่ม/ฝ่าย'}`"
|
:label="`${'กลุ่ม/ฝ่าย'}`"
|
||||||
|
|
@ -83,13 +83,13 @@
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<q-input
|
<q-input
|
||||||
class="q-pl-sm"
|
class="q-pl-sm"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultOccupation.pile"
|
v-model="defaultOccupation.pile"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก กอง'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก กอง'}`]"
|
||||||
:label="`${'กอง'}`"
|
:label="`${'กอง'}`"
|
||||||
|
|
@ -98,13 +98,13 @@
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<q-input
|
<q-input
|
||||||
class="q-pl-sm"
|
class="q-pl-sm"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
autogrow
|
autogrow
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
:readonly="!isStatusRegister"
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
:borderless="!isStatusRegister"
|
||||||
v-model="defaultOccupation.org"
|
v-model="defaultOccupation.org"
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอก สังกัด'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอก สังกัด'}`]"
|
||||||
:label="`${'สังกัด'}`"
|
:label="`${'สังกัด'}`"
|
||||||
|
|
@ -113,26 +113,22 @@
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<q-input
|
<q-input
|
||||||
class="q-pl-sm"
|
class="q-pl-sm"
|
||||||
:class="getClass(status == 'register' || status == 'rejectRegister')"
|
:class="getClass(isStatusRegister)"
|
||||||
:outlined="status == 'register' || status == 'rejectRegister'"
|
:outlined="isStatusRegister"
|
||||||
dense
|
dense
|
||||||
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
|
|
||||||
maxlength="10"
|
|
||||||
lazy-rules
|
lazy-rules
|
||||||
type="tel"
|
:readonly="!isStatusRegister"
|
||||||
mask="##########"
|
:borderless="!isStatusRegister"
|
||||||
autogrow
|
|
||||||
:readonly="!(status == 'register' || status == 'rejectRegister')"
|
|
||||||
:borderless="!(status == 'register' || status == 'rejectRegister')"
|
|
||||||
v-model="defaultOccupation.tel"
|
v-model="defaultOccupation.tel"
|
||||||
:rules="[
|
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
|
||||||
(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์',
|
|
||||||
(val) =>
|
|
||||||
(val.length >= 9 && val.length <= 10 && val.startsWith('0')) ||
|
|
||||||
'กรุณากรอกข้อมูลหมายเลขโทรศัพท์ให้ถูกต้อง'
|
|
||||||
]"
|
|
||||||
:label="`${'เบอร์โทรที่ทำงาน'}`"
|
:label="`${'เบอร์โทรที่ทำงาน'}`"
|
||||||
/>
|
/>
|
||||||
|
<!-- :counter="isStatusRegister ? true : false" -->
|
||||||
|
<!-- (val) =>
|
||||||
|
(val.length >= 9 && val.length <= 10 && val.startsWith('0')) ||
|
||||||
|
'กรุณากรอกข้อมูลหมายเลขโทรศัพท์ให้ถูกต้อง' -->
|
||||||
|
<!-- type="tel" mask="##########" autogrow -->
|
||||||
|
<!-- maxlength="10" -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -159,6 +155,10 @@ const props = defineProps({
|
||||||
form: {
|
form: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['update:form'])
|
const emit = defineEmits(['update:form'])
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
:provinceOptions="provinceOptions"
|
:provinceOptions="provinceOptions"
|
||||||
:status="status"
|
:status="status"
|
||||||
v-model:form="formInformation"
|
v-model:form="formInformation"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -19,29 +20,45 @@
|
||||||
<div class="q-px-sm">
|
<div class="q-px-sm">
|
||||||
<Education
|
<Education
|
||||||
:status="status"
|
:status="status"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
v-model:form="formEducation"
|
v-model:form="formEducation"
|
||||||
:educationLevelOptions="educationLevelOptions"
|
:educationLevelOptions="educationLevelOptions"
|
||||||
|
:educationLevelHigherOptions="educationLevelHigherOptions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator class="q-my-lg bg-gray" size="5px" />
|
<q-separator class="q-my-lg bg-gray" size="5px" />
|
||||||
<div class="q-px-sm">
|
<div class="q-px-sm">
|
||||||
<Occupation :status="status" v-model:form="formOccupation" />
|
<Occupation
|
||||||
|
:status="status"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
|
v-model:form="formOccupation"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator class="q-my-lg bg-gray" size="5px" />
|
<q-separator class="q-my-lg bg-gray" size="5px" />
|
||||||
<div class="q-px-sm">
|
<div class="q-px-sm">
|
||||||
<Career :status="status" />
|
<Career :status="status" :isStatusRegister="isStatusRegister" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator class="q-my-lg bg-gray" size="5px" />
|
<q-separator class="q-my-lg bg-gray" size="5px" />
|
||||||
<div class="q-px-sm">
|
<div class="q-px-sm">
|
||||||
<Address :provinceOptions="provinceOptions" :status="status" v-model:form="formAddress" />
|
<Address
|
||||||
|
:provinceOptions="provinceOptions"
|
||||||
|
:status="status"
|
||||||
|
v-model:form="formAddress"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator class="q-my-lg bg-gray" size="5px" />
|
<q-separator class="q-my-lg bg-gray" size="5px" />
|
||||||
<div class="q-px-sm">
|
<div class="q-px-sm">
|
||||||
<Contact :status="status" :prefixOptions="prefixOptions" v-model:form="formContact" />
|
<Contact
|
||||||
|
:status="status"
|
||||||
|
:prefixOptions="prefixOptions"
|
||||||
|
v-model:form="formContact"
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator class="q-my-lg bg-gray" size="5px" />
|
<q-separator class="q-my-lg bg-gray" size="5px" />
|
||||||
|
|
@ -91,6 +108,10 @@ const props = defineProps({
|
||||||
formContact: {
|
formContact: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
isStatusRegister: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const emit = defineEmits([
|
const emit = defineEmits([
|
||||||
|
|
@ -111,6 +132,7 @@ const prefixOptions = ref<DataOption[]>([])
|
||||||
const religionOptions = ref<DataOption[]>([])
|
const religionOptions = ref<DataOption[]>([])
|
||||||
const provinceOptions = ref<DataOption[]>([])
|
const provinceOptions = ref<DataOption[]>([])
|
||||||
const educationLevelOptions = ref<DataOption[]>([])
|
const educationLevelOptions = ref<DataOption[]>([])
|
||||||
|
const educationLevelHigherOptions = ref<DataOption[]>([])
|
||||||
const formInformation = ref<any>({})
|
const formInformation = ref<any>({})
|
||||||
const formAddress = ref<any>({})
|
const formAddress = ref<any>({})
|
||||||
const formEducation = ref<any>({})
|
const formEducation = ref<any>({})
|
||||||
|
|
@ -166,6 +188,8 @@ const fetchPerson = async () => {
|
||||||
provinceOptions.value = optionProvince
|
provinceOptions.value = optionProvince
|
||||||
|
|
||||||
let optionEducationLevel: DataOption[] = []
|
let optionEducationLevel: DataOption[] = []
|
||||||
|
let optionEducationLevelHigher: DataOption[] = []
|
||||||
|
|
||||||
let filterEducationLevels = data.educationLevels
|
let filterEducationLevels = data.educationLevels
|
||||||
|
|
||||||
if (examStore.educationLevel === 'BACHELOR') {
|
if (examStore.educationLevel === 'BACHELOR') {
|
||||||
|
|
@ -179,7 +203,12 @@ const fetchPerson = async () => {
|
||||||
filterEducationLevels.map((r: any) => {
|
filterEducationLevels.map((r: any) => {
|
||||||
optionEducationLevel.push({ id: r.id.toString(), name: r.name.toString() })
|
optionEducationLevel.push({ id: r.id.toString(), name: r.name.toString() })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
data.educationLevels.map((r: any) => {
|
||||||
|
optionEducationLevelHigher.push({ id: r.id.toString(), name: r.name.toString() })
|
||||||
|
})
|
||||||
educationLevelOptions.value = optionEducationLevel
|
educationLevelOptions.value = optionEducationLevel
|
||||||
|
educationLevelHigherOptions.value = optionEducationLevelHigher
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
messageError($q, e)
|
messageError($q, e)
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ export const useExamDataStore = defineStore('exam', () => {
|
||||||
|
|
||||||
const examInfo = ref<DataExam>()
|
const examInfo = ref<DataExam>()
|
||||||
const educationLevel = ref<string>('')
|
const educationLevel = ref<string>('')
|
||||||
|
const isShowExamInfo = ref<boolean>(false)
|
||||||
|
|
||||||
const consend = ref<boolean>(false)
|
const consend = ref<boolean>(false)
|
||||||
const status = ref<string>('')
|
const status = ref<string>('')
|
||||||
|
|
@ -57,6 +58,7 @@ export const useExamDataStore = defineStore('exam', () => {
|
||||||
status,
|
status,
|
||||||
changeStatus,
|
changeStatus,
|
||||||
examInfo,
|
examInfo,
|
||||||
educationLevel
|
educationLevel,
|
||||||
|
isShowExamInfo
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
{{ `ครั้งที่${round}/${yearly == null ? '' : yearly + 543}` }}
|
{{ `ครั้งที่${round}/${yearly == null ? '' : yearly + 543}` }}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
</q-toolbar> -->
|
</q-toolbar> -->
|
||||||
|
|
||||||
<q-stepper
|
<q-stepper
|
||||||
v-model="step"
|
v-model="step"
|
||||||
ref="stepper"
|
ref="stepper"
|
||||||
|
|
@ -41,11 +42,13 @@
|
||||||
</div>
|
</div>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
<ExamForm
|
<ExamForm
|
||||||
|
:isStatusRegister="isStatusRegister"
|
||||||
:fetchStep="fetchStep"
|
:fetchStep="fetchStep"
|
||||||
:status="status"
|
:status="status"
|
||||||
:editorConfirm="editorConfirm"
|
:editorConfirm="editorConfirm"
|
||||||
:position="position"
|
:position="position"
|
||||||
:positionLevel="positionLevel"
|
:positionLevel="positionLevel"
|
||||||
|
:stepPayment="stepPayment"
|
||||||
/>
|
/>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-step>
|
</q-step>
|
||||||
|
|
@ -117,7 +120,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref } from 'vue'
|
import { computed, onMounted, ref } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { useCounterMixin } from '@/stores/mixin'
|
import { useCounterMixin } from '@/stores/mixin'
|
||||||
import { useDataStore } from '@/stores/data'
|
import { useDataStore } from '@/stores/data'
|
||||||
|
|
@ -226,12 +229,13 @@ const fetchStep = async () => {
|
||||||
const data = res.data.result
|
const data = res.data.result
|
||||||
rejectMessage.value = data.rejectDetail
|
rejectMessage.value = data.rejectDetail
|
||||||
status.value = data.status
|
status.value = data.status
|
||||||
|
storeExam.isShowExamInfo = data.isShowExamInfo || false
|
||||||
if (status.value == 'register') {
|
if (status.value == 'register') {
|
||||||
stepRaw.value = 2
|
stepRaw.value = 2
|
||||||
step.value = 2
|
step.value = 2
|
||||||
} else if (status.value == 'checkRegister') {
|
} else if (status.value == 'checkRegister') {
|
||||||
stepRaw.value = 3
|
stepRaw.value = 2
|
||||||
step.value = 3
|
step.value = 2
|
||||||
} else if (status.value == 'payment') {
|
} else if (status.value == 'payment') {
|
||||||
stepRaw.value = 3
|
stepRaw.value = 3
|
||||||
step.value = 3
|
step.value = 3
|
||||||
|
|
@ -257,7 +261,8 @@ const fetchStep = async () => {
|
||||||
if (
|
if (
|
||||||
stepPayment.value == false &&
|
stepPayment.value == false &&
|
||||||
status.value != 'register' &&
|
status.value != 'register' &&
|
||||||
status.value != 'rejectRegister'
|
status.value != 'rejectRegister' &&
|
||||||
|
status.value != 'checkRegister'
|
||||||
) {
|
) {
|
||||||
stepRaw.value = 4
|
stepRaw.value = 4
|
||||||
step.value = 4
|
step.value = 4
|
||||||
|
|
@ -304,6 +309,13 @@ const consendOk = () => {
|
||||||
const logout = () => {
|
const logout = () => {
|
||||||
keycloak.logout()
|
keycloak.logout()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isStatusRegister = computed(() => {
|
||||||
|
const statuses = ['register', 'rejectRegister']
|
||||||
|
return stepPayment.value
|
||||||
|
? statuses.includes(status.value)
|
||||||
|
: [...statuses, 'checkRegister'].includes(status.value)
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.q-stepper {
|
.q-stepper {
|
||||||
|
|
|
||||||
|
|
@ -487,7 +487,7 @@ export const useCounterMixin = defineStore('mixin', () => {
|
||||||
case 'register':
|
case 'register':
|
||||||
return 'ยังไม่สมัครสอบ'
|
return 'ยังไม่สมัครสอบ'
|
||||||
case 'checkRegister':
|
case 'checkRegister':
|
||||||
return 'รอยืนยันสถานะการสมัคร'
|
return 'ส่งใบสมัครแล้ว'
|
||||||
case 'payment':
|
case 'payment':
|
||||||
return 'ชำระค่าสมัครสอบ'
|
return 'ชำระค่าสมัครสอบ'
|
||||||
case 'rejectRegister':
|
case 'rejectRegister':
|
||||||
|
|
@ -497,7 +497,7 @@ export const useCounterMixin = defineStore('mixin', () => {
|
||||||
case 'rejectPayment':
|
case 'rejectPayment':
|
||||||
return 'หลักฐานชำระเงินไม่ถูกต้อง'
|
return 'หลักฐานชำระเงินไม่ถูกต้อง'
|
||||||
case 'checkSeat':
|
case 'checkSeat':
|
||||||
return 'ได้รับใบสมัครแล้ว'
|
return 'ส่งใบสมัครแล้ว'
|
||||||
case 'checkPoint':
|
case 'checkPoint':
|
||||||
return 'ติดตามประกาศทาง Website'
|
return 'ติดตามประกาศทาง Website'
|
||||||
case 'done':
|
case 'done':
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue