This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-11-19 11:03:58 +07:00
parent 6f1318b55c
commit c95c4e9e8f
14 changed files with 363 additions and 229 deletions

View file

@ -3,7 +3,15 @@
<div class="text-bold col-12 row q-px-md q-py-sm items-center bg-grey-2">
อมลการสมคร
<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-btn>
</div>
@ -17,11 +25,11 @@
<div class="">เลขประจำตวประชาชน :</div>
<div class="text-black text-bold q-pl-sm">{{ citizenId }}</div>
</div>
<div class="q-pt-xs row">
<div v-if="storeExam.isShowExamInfo" class="q-pt-xs row">
<div class="">เลขประจำตวผสมคร :</div>
<div class="text-black text-bold q-pl-sm">{{ examNumber }}</div>
</div>
<div class="q-pt-xs row">
<div v-if="storeExam.isShowExamInfo" class="q-pt-xs row">
<div class="">สนามสอบ :</div>
<div class="text-black text-bold q-pl-sm">{{ examSeat }}</div>
</div>
@ -131,7 +139,7 @@
</div> -->
</div>
</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="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>
</div>
</q-card>
</q-card> -->
</template>
<script setup lang="ts">
@ -165,11 +173,13 @@ import http from '@/plugins/http'
import config from '@/app.config'
import { useCounterMixin } from '@/stores/mixin'
import { useDataStore } from '@/stores/data'
import { useExamDataStore } from '@/modules/01_exam/store'
import genReport from '@/plugins/genreport'
const $q = useQuasar()
const route = useRoute()
const storeExam = useExamDataStore()
const mixin = useCounterMixin() //
const { date2Thai, messageError } = mixin
const dataStore = useDataStore()
@ -217,7 +227,7 @@ const fetchStatus = async () => {
.get(config.API.candidateCard(examId.value, positionId.value))
.then((res) => {
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
citizenId.value = data.citizenId
examSeat.value = data.seatNumber

View file

@ -8,7 +8,7 @@
size="22px"
color="orange-5"
class="q-mr-sm"
/>
/>
</div>
<div v-else-if="status == 'checkPoint'" class="text-orange-6 text-bold">
<q-icon

View file

@ -3,6 +3,7 @@
<div>
<Profile
:status="status"
:isStatusRegister="isStatusRegister"
v-model:formInformation="formInformation"
v-model:formAddress="formAddress"
v-model:formOccupation="formOccupation"
@ -14,7 +15,7 @@
<div class="text-center q-pt-sm">
<q-checkbox
v-model="acceptTermOfUse"
:disable="(status !== 'register' && status !== 'rejectRegister') || statusEdit"
:disable="!isStatusRegister || statusEdit"
label="ข้าพเจ้าขอให้คำรับรองและแสดงความยินยอมตามเงื่อนไขทุกประการ"
/>
</div>
@ -54,7 +55,7 @@
outline
icon="mdi-content-save"
@click="clickSave"
v-if="status === 'register' || status === 'rejectRegister'"
v-if="isStatusRegister"
:disable="!acceptTermOfUse || statusEdit"
/>
<q-btn
@ -62,8 +63,8 @@
class="q-ml-md"
icon="mdi-check"
label="ส่งใบสมัคร"
@click="dialogOpen"
v-if="status === 'register' || status === 'rejectRegister'"
@click="status === 'checkRegister' && !stepPayment ? (secondDialog = true) : dialogOpen()"
v-if="isStatusRegister"
:disable="!acceptTermOfUse || statusEdit"
/>
</div>
@ -109,7 +110,37 @@
<q-btn class="" label="แก้ไข" color="red-5" outline @click="dialogClose" />
</div>
<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>
</q-card-actions>
@ -156,6 +187,14 @@ const props = defineProps({
positionLevel: {
type: String,
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 saveAuto = ref<boolean>(false)
const dialog = ref<boolean>(false)
const secondDialog = ref<boolean>(false)
onMounted(async () => {
await fetchStatus()
@ -186,8 +226,6 @@ const dialogClose = () => {
}
const dialogOpen = () => {
console.log(defaultInformation.value)
dialog.value = true
}
@ -318,6 +356,10 @@ const saveData = async () => {
contacttel: defaultContact.value.contacttel
})
.then(async () => {
if (!props.stepPayment) {
dialog.value = false
secondDialog.value = true
}
success($q, 'บันทึกข้อมูลส่วนตัวสำเร็จ')
await saveForm()
await props.fetchStep()
@ -354,8 +396,8 @@ const saveData = async () => {
loaderPage(true)
await http
.post(config.API.candidateId(examId.value, positionId.value), {
prefixId: defaultInformation.value.prefixId,
prefixName: defaultInformation.value.prefixId,
// prefixId: defaultInformation.value.prefixId,
prefixName: defaultInformation.value.prefix,
lastName: defaultInformation.value.lastname,
dateOfBirth:
defaultInformation.value.birthDate == null
@ -363,7 +405,8 @@ const saveData = async () => {
: dateToISO(defaultInformation.value.birthDate),
citizenId: defaultInformation.value.cardid,
firstName: defaultInformation.value.firstname,
religionId: defaultInformation.value.religionId,
// religionId: defaultInformation.value.religionId,
religionName: defaultInformation.value.religionName,
nationality: defaultInformation.value.nationality,
email: defaultInformation.value.email,
mobilePhone: defaultInformation.value.phone,
@ -400,7 +443,8 @@ const saveData = async () => {
educationScores: defaultEducation.value.educationScores,
educationLevelHighId: defaultEducation.value.educationLevelHighId,
contactprefixId: defaultContact.value.contactprefixId,
// contactprefixId: defaultContact.value.contactprefixId,
contactprefixName: defaultContact.value.contactprefixName,
contactfirstname: defaultContact.value.contactfirstname,
contactlastname: defaultContact.value.contactlastname,
contactrelations: defaultContact.value.contactrelations,
@ -417,6 +461,16 @@ const saveData = 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>
<style lang="scss" scoped></style>

View file

@ -12,14 +12,14 @@
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
<div class="col-xs-12">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
type="textarea"
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultAddress.address"
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ตามทะเบียนบ้าน'}`]"
:label="`${'ที่อยู่ตามทะเบียนบ้าน'}`"
@ -27,11 +27,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.provinceId"
@ -46,11 +46,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.districtId"
@ -65,11 +65,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.subdistrictId"
@ -84,12 +84,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
dense
lazy-rules
:readonly="!(status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:borderless="!isStatusRegister"
:outlined="isStatusRegister"
v-model="defaultAddress.code"
bottom-slots
:label="`${'รหัสไปรษณีย์'}`"
@ -109,7 +109,7 @@
val="1"
label="ใช่"
dense
:disable="!(status == 'register' || status == 'rejectRegister')"
:disable="!isStatusRegister"
/>
<q-radio
v-model="defaultAddress.same"
@ -118,20 +118,20 @@
val="0"
label="ไม่"
dense
:disable="!(status == 'register' || status == 'rejectRegister')"
:disable="!isStatusRegister"
/>
</div>
<div class="col-xs-12" v-if="defaultAddress.same == '0'">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
type="textarea"
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultAddress.addressC"
:rules="[(val) => !!val || `${'กรุณากรอก ที่อยู่ปัจจุบัน'}`]"
:label="`${'ที่อยู่ปัจจุบัน'}`"
@ -139,11 +139,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.provinceIdC"
@ -158,11 +158,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.districtIdC"
@ -177,11 +177,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultAddress.subdistrictIdC"
@ -196,13 +196,13 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3" v-if="defaultAddress.same == '0'">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
dense
lazy-rules
bottom-slots
:readonly="!(status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:borderless="!isStatusRegister"
:outlined="isStatusRegister"
v-model="defaultAddress.codeC"
:label="`${'รหัสไปรษณีย์'}`"
/>
@ -235,6 +235,10 @@ const props = defineProps({
form: {
type: Object,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})
const emit = defineEmits(['update:form'])

View file

@ -14,8 +14,8 @@
:addData="false"
:bottom="true"
:editBtn="false"
:boss="status == 'register' || status == 'rejectRegister'"
:editData="status == 'register' || status == 'rejectRegister'"
:boss="isStatusRegister"
:editData="isStatusRegister"
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
icon="mdi-briefcase"
:is-showfilter="false"
@ -247,7 +247,7 @@
:validate="validateData"
:clickNext="clickNext"
:clickPrevious="clickPrevious"
:editData="status == 'register' || status == 'rejectRegister'"
:editData="isStatusRegister"
v-model:editvisible="edit"
v-model:next="next"
v-model:previous="previous"
@ -281,6 +281,10 @@ const props = defineProps({
status: {
type: String,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})

View file

@ -12,9 +12,9 @@
<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">
<!-- <q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
dense
@ -28,11 +28,11 @@
:label="`${'คำนำหน้า'}`"
/> -->
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultContact.contactprefixName"
@ -49,12 +49,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultContact.contactfirstname"
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
@ -62,12 +62,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultContact.contactlastname"
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
@ -75,12 +75,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-4">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultContact.contactrelations"
:rules="[(val) => !!val || `${'กรุณากรอกความสัมพันธ์'}`]"
:label="`${'เกี่ยวข้องเป็น'}`"
@ -88,12 +88,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-4">
<q-input
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultContact.contacttel"
:label="`${'โทรศัพท์'}`"
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
@ -134,6 +134,10 @@ const props = defineProps({
prefixOptions: {
type: Array as PropType<DataOption[]>,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})
const emit = defineEmits(['update:form'])
@ -173,7 +177,7 @@ const fetchData = async () => {
defaultContact.value.contactlastname = data.contactLastname
defaultContact.value.contactrelations = data.contactRelations
defaultContact.value.contacttel = data.contactTel
defaultContact.value.contactprefixName = data.contactPrefixName
defaultContact.value.contactprefixName = data.contactPrefix
}
})
.catch((e) => {

View file

@ -13,10 +13,10 @@
<div class="col-12 row q-col-gutter-sm">
<div class="col-xs-12 col-sm-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:outlined="isStatusRegister"
dense
lazy-rules
emit-value
@ -32,13 +32,13 @@
</div>
<div class="col-xs-12 col-sm-3" v-if="showEducationName">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultEducation.educationName"
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อปริญญา'}`]"
:label="`${'ชื่อปริญญา'}`"
@ -46,13 +46,13 @@
</div>
<div class="col-xs-12 col-sm-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultEducation.educationMajor"
:rules="[(val) => !!val || `${'กรุณากรอก สาขาวิชา/วิชาเอก'}`]"
:label="`${'สาขาวิชา/วิชาเอก'}`"
@ -60,13 +60,13 @@
</div>
<div class="col-xs-12 col-sm-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultEducation.educationLocation"
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อสถานศึกษา'}`]"
:label="`${'ชื่อสถานศึกษา'}`"
@ -74,10 +74,10 @@
</div>
<div class="col-xs-12 col-sm-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:outlined="isStatusRegister"
dense
lazy-rules
emit-value
@ -92,14 +92,14 @@
</div>
<div class="col-xs-12 col-sm-3">
<datepicker
:readonly="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
v-model="defaultEducation.educationEndDate"
:locale="'th'"
autoApply
:enableTimePicker="false"
week-start="0"
:max-date="dateCondition"
:disabled="!(status == 'register' || status == 'rejectRegister')"
:disabled="!isStatusRegister"
>
<template #year="{ year }">
{{ year + 543 }}
@ -109,12 +109,12 @@
</template>
<template #trigger>
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:model-value="
defaultEducation.educationEndDate == null
? null
@ -141,13 +141,13 @@
</div>
<div class="col-xs-12 col-sm-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
dense
lazy-rules
type="number"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultEducation.educationScores"
:rules="[(val) => !!val || `${'กรุณากรอก คะแนนเฉลี่ยสะสม'}`]"
:label="`${'คะแนนเฉลี่ยสะสม'}`"
@ -155,17 +155,17 @@
</div>
<div class="col-xs-12 col-sm-3">
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:outlined="isStatusRegister"
dense
lazy-rules
emit-value
map-options
option-label="name"
option-value="id"
:options="educationLevelOptions"
:options="educationLevelHigherOptions"
v-model="defaultEducation.educationLevelHighId"
:rules="[(val) => !!val || `${'กรุณาเลือก วุฒิการศึกษาสูงสุด'}`]"
:label="`${'วุฒิการศึกษาสูงสุด'}`"
@ -203,6 +203,14 @@ const props = defineProps({
educationLevelOptions: {
type: Array as PropType<DataOption[]>,
required: true
},
educationLevelHigherOptions: {
type: Array as PropType<DataOption[]>,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})

View file

@ -14,14 +14,14 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-4">
<q-field
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
bottom-slots
:stack-label="defaultInformation.cardid != null"
label="เลขประจำตัวประชาชน"
dense
:readonly="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:class="getClass(isStatusRegister)"
:borderless="!isStatusRegister"
:rules="[
(val) =>
(val != null && val.length == 13) || `${'กรุณากรอกเลขประจำตัวประชาชนให้ถูกต้อง'}`,
@ -48,15 +48,15 @@
</template>
</q-field>
<!-- <q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
type="tel"
mask="#############"
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultInformation.cardid"
maxlength="13"
:rules="[
@ -68,11 +68,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<!-- <q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultInformation.prefixId"
@ -86,11 +86,11 @@
/> -->
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก คำนำหน้า'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultInformation.prefix"
@ -107,12 +107,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultInformation.firstname"
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ (ภาษาไทย)'}`"
@ -120,12 +120,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultInformation.lastname"
:rules="[(val) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล (ภาษาไทย)'}`"
@ -134,11 +134,11 @@
<div class="col-xs-12 col-sm-3 col-md-3">
<!-- :borderless="!false" -->
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
dense
:outlined="status == 'register' || status == 'rejectRegister'"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:outlined="isStatusRegister"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
lazy-rules
v-model="defaultInformation.nationality"
:options="opNat"
@ -148,11 +148,11 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<!-- <q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultInformation.religionId"
@ -164,11 +164,11 @@
:label="`${'ศาสนา'}`"
/> -->
<q-select
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:rules="[(val) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
v-model="defaultInformation.religionName"
@ -203,12 +203,12 @@
</template>
<template #trigger>
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
:model-value="
defaultInformation.birthDate == null
? null
@ -236,13 +236,13 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
dense
lazy-rules
bottom-slots
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
:readonly="!(status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:borderless="!isStatusRegister"
:model-value="
defaultInformation.birthDate == null ? null : calAge(defaultInformation.birthDate)
"
@ -251,12 +251,12 @@
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
lazy-rules
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultInformation.tel"
:label="`${'โทรศัพท์'}`"
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
@ -271,16 +271,16 @@
</div>
<!-- <div class="col-xs-12 col-sm-3 col-md-3">
<q-input
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
dense
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
lazy-rules
type="tel"
mask="##########"
maxlength="10"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultInformation.phone"
:rules="[
(val) => val.length == 10 || `${'กรุณากรอก โทรศัพท์มือถือ'}`,
@ -292,13 +292,13 @@
<div class="col-xs-12 col-sm-3 col-md-3">
<!-- style="padding: 0 12px" -->
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:class="getClass(isStatusRegister)"
dense
lazy-rules
bottom-slots
:outlined="status == 'register' || status == 'rejectRegister'"
:outlined="isStatusRegister"
:readonly="!(status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:borderless="!isStatusRegister"
v-model="defaultInformation.email"
label="E-mail address"
/>
@ -339,11 +339,11 @@
</div>
<!-- <div class="col-xs-12 col-sm-9 col-md-12">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultInformation.knowledge"
label="ความรู้ความสามารถพิเศษ"
@ -447,6 +447,10 @@ const props = defineProps({
form: {
type: Object,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})
const emit = defineEmits(['update:form'])
@ -520,8 +524,8 @@ const fetchData = async () => {
defaultInformation.value.phone = data.mobilePhone
defaultInformation.value.tel = data.telephone
defaultInformation.value.knowledge = data.knowledge
defaultInformation.value.prefix = data.prefixName
defaultInformation.value.religionName = data.religionName
defaultInformation.value.prefix = data.prefix
defaultInformation.value.religionName = data.religion
})
.catch(() => {
defaultInformation.value.email =

View file

@ -16,33 +16,33 @@
label="ลูกจ้างประจำ"
color="teal"
val="prem"
:disable="!(status == 'register' || status == 'rejectRegister')"
:disable="!isStatusRegister"
/>
<q-radio
v-model="defaultOccupation.positionType"
label="ลูกจ้างชั่วคราว"
color="teal"
val="temp"
:disable="!(status == 'register' || status == 'rejectRegister')"
:disable="!isStatusRegister"
/>
<q-radio
v-model="defaultOccupation.positionType"
label="ผู้ปฏิบัติงานอื่นในกรุงเทพมหานคร"
color="teal"
val="other"
:disable="!(status == 'register' || status == 'rejectRegister')"
:disable="!isStatusRegister"
/>
</div>
<div class="col-12 row">
<div class="col-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.position"
:rules="[(val) => !!val || `${'กรุณากรอก ชื่อตำแหน่ง'}`]"
:label="`${'ชื่อตำแหน่ง'}`"
@ -51,14 +51,14 @@
<div class="col-3">
<CurrencyInput
class="q-pl-sm"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
:options="{
currency: 'THB'
}"
lazy-rules
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.salary"
:rules="[(val:number| undefined) => !!val || `${'กรุณากรอก เงินเดือน'}`]"
:label="`${'เงินเดือน'}`"
@ -68,13 +68,13 @@
<div class="col-12 row">
<div class="col-3">
<q-input
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.group"
:rules="[(val) => !!val || `${'กรุณากรอก กลุ่ม/ฝ่าย'}`]"
:label="`${'กลุ่ม/ฝ่าย'}`"
@ -83,13 +83,13 @@
<div class="col-3">
<q-input
class="q-pl-sm"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.pile"
:rules="[(val) => !!val || `${'กรุณากรอก กอง'}`]"
:label="`${'กอง'}`"
@ -98,13 +98,13 @@
<div class="col-3">
<q-input
class="q-pl-sm"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
lazy-rules
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.org"
:rules="[(val) => !!val || `${'กรุณากรอก สังกัด'}`]"
:label="`${'สังกัด'}`"
@ -113,26 +113,22 @@
<div class="col-3">
<q-input
class="q-pl-sm"
:class="getClass(status == 'register' || status == 'rejectRegister')"
:outlined="status == 'register' || status == 'rejectRegister'"
:class="getClass(isStatusRegister)"
:outlined="isStatusRegister"
dense
:counter="status == 'register' || status == 'rejectRegister' ? true : false"
maxlength="10"
lazy-rules
type="tel"
mask="##########"
autogrow
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
:readonly="!isStatusRegister"
:borderless="!isStatusRegister"
v-model="defaultOccupation.tel"
:rules="[
(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์',
(val) =>
(val.length >= 9 && val.length <= 10 && val.startsWith('0')) ||
'กรุณากรอกข้อมูลหมายเลขโทรศัพท์ให้ถูกต้อง'
]"
:rules="[(val) => !!val || '* กรุณากรอกข้อมูลหมายเลขโทรศัพท์']"
:label="`${'เบอร์โทรที่ทำงาน'}`"
/>
<!-- :counter="isStatusRegister ? true : false" -->
<!-- (val) =>
(val.length >= 9 && val.length <= 10 && val.startsWith('0')) ||
'กรุณากรอกข้อมูลหมายเลขโทรศัพท์ให้ถูกต้อง' -->
<!-- type="tel" mask="##########" autogrow -->
<!-- maxlength="10" -->
</div>
</div>
</div>
@ -159,6 +155,10 @@ const props = defineProps({
form: {
type: Object,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})
const emit = defineEmits(['update:form'])

View file

@ -7,6 +7,7 @@
:provinceOptions="provinceOptions"
:status="status"
v-model:form="formInformation"
:isStatusRegister="isStatusRegister"
/>
</div>
@ -19,29 +20,45 @@
<div class="q-px-sm">
<Education
:status="status"
:isStatusRegister="isStatusRegister"
v-model:form="formEducation"
:educationLevelOptions="educationLevelOptions"
:educationLevelHigherOptions="educationLevelHigherOptions"
/>
</div>
<q-separator class="q-my-lg bg-gray" size="5px" />
<div class="q-px-sm">
<Occupation :status="status" v-model:form="formOccupation" />
<Occupation
:status="status"
:isStatusRegister="isStatusRegister"
v-model:form="formOccupation"
/>
</div>
<q-separator class="q-my-lg bg-gray" size="5px" />
<div class="q-px-sm">
<Career :status="status" />
<Career :status="status" :isStatusRegister="isStatusRegister" />
</div>
<q-separator class="q-my-lg bg-gray" size="5px" />
<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>
<q-separator class="q-my-lg bg-gray" size="5px" />
<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>
<q-separator class="q-my-lg bg-gray" size="5px" />
@ -91,6 +108,10 @@ const props = defineProps({
formContact: {
type: Object,
required: true
},
isStatusRegister: {
type: Boolean,
required: true
}
})
const emit = defineEmits([
@ -111,6 +132,7 @@ const prefixOptions = ref<DataOption[]>([])
const religionOptions = ref<DataOption[]>([])
const provinceOptions = ref<DataOption[]>([])
const educationLevelOptions = ref<DataOption[]>([])
const educationLevelHigherOptions = ref<DataOption[]>([])
const formInformation = ref<any>({})
const formAddress = ref<any>({})
const formEducation = ref<any>({})
@ -166,6 +188,8 @@ const fetchPerson = async () => {
provinceOptions.value = optionProvince
let optionEducationLevel: DataOption[] = []
let optionEducationLevelHigher: DataOption[] = []
let filterEducationLevels = data.educationLevels
if (examStore.educationLevel === 'BACHELOR') {
@ -179,7 +203,12 @@ const fetchPerson = async () => {
filterEducationLevels.map((r: any) => {
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
educationLevelHigherOptions.value = optionEducationLevelHigher
})
.catch((e) => {
messageError($q, e)

View file

@ -31,6 +31,7 @@ export const useExamDataStore = defineStore('exam', () => {
const examInfo = ref<DataExam>()
const educationLevel = ref<string>('')
const isShowExamInfo = ref<boolean>(false)
const consend = ref<boolean>(false)
const status = ref<string>('')
@ -57,6 +58,7 @@ export const useExamDataStore = defineStore('exam', () => {
status,
changeStatus,
examInfo,
educationLevel
educationLevel,
isShowExamInfo
}
})

View file

@ -15,6 +15,7 @@
{{ `ครั้งที่${round}/${yearly == null ? '' : yearly + 543}` }}
</q-toolbar-title>
</q-toolbar> -->
<q-stepper
v-model="step"
ref="stepper"
@ -41,11 +42,13 @@
</div>
</q-card-actions>
<ExamForm
:isStatusRegister="isStatusRegister"
:fetchStep="fetchStep"
:status="status"
:editorConfirm="editorConfirm"
:position="position"
:positionLevel="positionLevel"
:stepPayment="stepPayment"
/>
</q-card>
</q-step>
@ -117,7 +120,7 @@
</template>
<script setup lang="ts">
import { onMounted, ref } from 'vue'
import { computed, onMounted, ref } from 'vue'
import { useRoute } from 'vue-router'
import { useCounterMixin } from '@/stores/mixin'
import { useDataStore } from '@/stores/data'
@ -226,12 +229,13 @@ const fetchStep = async () => {
const data = res.data.result
rejectMessage.value = data.rejectDetail
status.value = data.status
storeExam.isShowExamInfo = data.isShowExamInfo || false
if (status.value == 'register') {
stepRaw.value = 2
step.value = 2
} else if (status.value == 'checkRegister') {
stepRaw.value = 3
step.value = 3
stepRaw.value = 2
step.value = 2
} else if (status.value == 'payment') {
stepRaw.value = 3
step.value = 3
@ -257,7 +261,8 @@ const fetchStep = async () => {
if (
stepPayment.value == false &&
status.value != 'register' &&
status.value != 'rejectRegister'
status.value != 'rejectRegister' &&
status.value != 'checkRegister'
) {
stepRaw.value = 4
step.value = 4
@ -304,6 +309,13 @@ const consendOk = () => {
const logout = () => {
keycloak.logout()
}
const isStatusRegister = computed(() => {
const statuses = ['register', 'rejectRegister']
return stepPayment.value
? statuses.includes(status.value)
: [...statuses, 'checkRegister'].includes(status.value)
})
</script>
<style>
.q-stepper {