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

@ -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)