history ข้อมูลครอบครัว

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-09-14 14:33:48 +07:00
parent c4d42eb66f
commit fc86ff1e22
3 changed files with 706 additions and 366 deletions

View file

@ -13,7 +13,7 @@
:addEmployee="statusAdd()" :addEmployee="statusAdd()"
/> />
<q-form ref="myform" class="col-12"> <q-form ref="myform" class="col-12">
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs"> <div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
<div class="col-12 row q-pb-sm q-pt-md"> <div class="col-12 row q-pb-sm q-pt-md">
<div class="col-xs-2 col-sm-1 text-weight-bold"> ดา</div> <div class="col-xs-2 col-sm-1 text-weight-bold"> ดา</div>
<div class="q-gutter-sm"> <div class="q-gutter-sm">
@ -548,6 +548,7 @@
</div> </div>
</q-form> </q-form>
</q-card> </q-card>
<DialogHistory <DialogHistory
v-model:modal="modal" v-model:modal="modal"
v-model:fix="fix" v-model:fix="fix"
@ -586,7 +587,90 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<div class="col-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherCitizenId"
:label="`${'เลขที่บัตรประชาชน'}`"
maxlength="13"
mask="#############"
/>
</div>
<div class="col-2">
<selector
:hide-dropdown-icon="true"
hide-bottom-space
:class="getClass(false)"
:readonly="true"
:borderless="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
:outlined="false"
dense
lazy-rules
v-model="familyDataHistory[indexRow].fatherPrefixId"
emit-value
map-options
option-label="name"
:options="Ops.prefixOps"
option-value="id"
:label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) "
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherCareer"
:label="`${'อาชีพ'}`"
/>
</div>
</div>
<!-- <div class="col-xs-6 col-sm-2 col-md-2">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
@ -626,7 +710,6 @@
) " ) "
/> />
</div> </div>
<div class="col-xs-6 col-sm-3 col-md-3"> <div class="col-xs-6 col-sm-3 col-md-3">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
@ -667,7 +750,7 @@
v-model="familyDataHistory[indexRow].fatherCareer" v-model="familyDataHistory[indexRow].fatherCareer"
:label="`${'อาชีพ'}`" :label="`${'อาชีพ'}`"
/> />
</div> </div> -->
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
<div class="col-xs-12 text-weight-bold"> <div class="col-xs-12 text-weight-bold">
@ -691,7 +774,89 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<div class="col-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].motherCitizenId"
:label="`${'เลขที่บัตรประชาชน'}`"
maxlength="13"
mask="#############"
/>
</div>
<div class="col-2">
<selector
:hide-dropdown-icon="true"
hide-bottom-space
:class="getClass(false)"
:readonly="true"
:borderless="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
:outlined="false"
dense
lazy-rules
v-model="familyDataHistory[indexRow].motherPrefixId"
emit-value
map-options
option-label="name"
:options="Ops.prefixOps"
option-value="id"
:label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) "
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].motherFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].motherLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].motherCareer"
:label="`${'อาชีพ'}`"
/>
</div>
</div>
<!-- <div class="col-xs-6 col-sm-2 col-md-2">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
@ -772,7 +937,7 @@
v-model="familyDataHistory[indexRow].motherCareer" v-model="familyDataHistory[indexRow].motherCareer"
:label="`${'อาชีพ'}`" :label="`${'อาชีพ'}`"
/> />
</div> </div> -->
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
<div class="col-xs-12 q-gutter-sm items-center flex q-my-sm"> <div class="col-xs-12 q-gutter-sm items-center flex q-my-sm">
<label class="text-weight-bold"> สมรส</label> <label class="text-weight-bold"> สมรส</label>
@ -827,7 +992,107 @@
/> />
</div> </div>
</div> </div>
<div <div
class="row col-12"
v-if="familyDataHistory[indexRow].couple == '1'"
>
<div class="col-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleCitizenId"
:label="`${'เลขที่บัตรประชาชน'}`"
maxlength="13"
mask="#############"
/>
</div>
<div class="col-2">
<selector
:hide-dropdown-icon="true"
hide-bottom-space
:class="getClass(false)"
:readonly="true"
:borderless="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
:outlined="false"
dense
lazy-rules
v-model="familyDataHistory[indexRow].couplePrefixId"
emit-value
map-options
option-label="name"
:options="Ops.prefixOps"
option-value="id"
:label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) "
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleLastNameOld"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล(เดิม)'}`]"
:label="`${'นามสกุล(เดิม)'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleCareer"
:label="`${'อาชีพ'}`"
/>
</div>
</div>
<!-- <div
class="col-xs-6 col-sm-2 col-md-2" class="col-xs-6 col-sm-2 col-md-2"
v-if="familyDataHistory[indexRow].couple == '1'" v-if="familyDataHistory[indexRow].couple == '1'"
> >
@ -876,7 +1141,7 @@
</div> </div>
<div <div
class="col-xs-6 col-sm-3 col-md-3" class="col-xs-6 col-sm-2 col-md-2"
v-if="familyDataHistory[indexRow].couple == '1'" v-if="familyDataHistory[indexRow].couple == '1'"
> >
<q-input <q-input
@ -893,7 +1158,7 @@
/> />
</div> </div>
<div <div
class="col-xs-6 col-sm-3 col-md-3" class="col-xs-6 col-sm-2 col-md-2"
v-if="familyDataHistory[indexRow].couple == '1'" v-if="familyDataHistory[indexRow].couple == '1'"
> >
<q-input <q-input
@ -941,7 +1206,7 @@
v-model="familyDataHistory[indexRow].coupleCareer" v-model="familyDataHistory[indexRow].coupleCareer"
:label="`${'อาชีพ'}`" :label="`${'อาชีพ'}`"
/> />
</div> </div> -->
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
</div> </div>
@ -977,7 +1242,89 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<div class="col-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="items.childrenCitizenId"
:label="`${'เลขที่บัตรประชาชน'}`"
maxlength="13"
mask="#############"
/>
</div>
<div class="col-2">
<selector
:hide-dropdown-icon="true"
hide-bottom-space
:class="getClass(false)"
:readonly="true"
:borderless="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
:outlined="false"
dense
lazy-rules
v-model="items.childrenPrefixId"
emit-value
map-options
option-label="name"
:options="Ops.prefixOps"
option-value="id"
:label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) "
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="items.childrenFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="items.childrenLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="items.childrenCareer"
:label="`${'อาชีพ'}`"
/>
</div>
</div>
<!-- <div class="col-xs-6 col-sm-2 col-md-2">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
@ -1057,7 +1404,7 @@
v-model="items.childrenCareer" v-model="items.childrenCareer"
:label="`${'อาชีพ'}`" :label="`${'อาชีพ'}`"
/> />
</div> </div> -->
</div> </div>
</div> </div>
</template> </template>

View file

@ -193,7 +193,7 @@ const clickAdd = (props: any) => {
// console.log(""); // console.log("");
await http await http
.put(config.API.profileRetire(retireld.value), { profileId: data }) .put(config.API.profileRetire(retireld.value), { profileId: data })
.then((res) => { .then(() => {
success($q, "เพิ่มข้อมูลสำเร็จ"); success($q, "เพิ่มข้อมูลสำเร็จ");
updateListData(retireld.value, data); updateListData(retireld.value, data);
}) })
@ -239,10 +239,9 @@ const paginationLabel = (start: number, end: number, total: number) => {
> >
<q-dialog v-model="modal"> <q-dialog v-model="modal">
<q-card style="width: 850px; max-width: 80vw" class="q-pb-md"> <q-card style="width: 900px; max-width: 80vw" class="q-pb-md">
<q-toolbar class="q-py-md"> <q-toolbar class="q-py-md">
<q-toolbar-title class="text-h6">เพมรายช <q-toolbar-title class="text-h6">เพมรายช </q-toolbar-title>
</q-toolbar-title>
<q-btn <q-btn
icon="close" icon="close"
unelevated unelevated

View file

@ -13,7 +13,7 @@
:addEmployee="statusAdd()" :addEmployee="statusAdd()"
/> />
<q-form ref="myform" class="col-12"> <q-form ref="myform" class="col-12">
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs"> <div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
<div class="col-12 row q-pb-sm q-pt-md"> <div class="col-12 row q-pb-sm q-pt-md">
<div class="col-xs-2 col-sm-1 text-weight-bold"> ดา</div> <div class="col-xs-2 col-sm-1 text-weight-bold"> ดา</div>
<div class="q-gutter-sm"> <div class="q-gutter-sm">
@ -409,7 +409,7 @@
</div> </div>
<div <div
class="row col-12 q-col-gutter-xs" class="row col-12 q-col-gutter-xs"
v-for="(items, index) in familyData.childrens" v-for="(items, index) in familyData.childrens"
:key="index" :key="index"
> >
@ -586,90 +586,90 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<q-input <div class="col-3">
:class="getClass(false)" <q-input
hide-bottom-space :class="getClass(false)"
:outlined="false" hide-bottom-space
dense :outlined="false"
lazy-rules dense
:readonly="true" lazy-rules
:borderless="true" :readonly="true"
v-model="familyDataHistory[indexRow].fatherCitizenId" :borderless="true"
:label="`${'เลขที่บัตรประชาชน'}`" v-model="familyDataHistory[indexRow].fatherCitizenId"
maxlength="13" :label="`${'เลขที่บัตรประชาชน'}`"
mask="#############" maxlength="13"
/> mask="#############"
</div> />
<div class="col-xs-12 col-sm-2 col-md-2"> </div>
<selector <div class="col-2">
:hide-dropdown-icon="true" <selector
hide-bottom-space :hide-dropdown-icon="true"
:class="getClass(false)" hide-bottom-space
:readonly="true" :class="getClass(false)"
:borderless="true" :readonly="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]" :borderless="true"
:outlined="false" :rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
dense :outlined="false"
lazy-rules dense
v-model="familyDataHistory[indexRow].fatherPrefixId" lazy-rules
emit-value v-model="familyDataHistory[indexRow].fatherPrefixId"
map-options emit-value
option-label="name" map-options
:options="Ops.prefixOps" option-label="name"
option-value="id" :options="Ops.prefixOps"
:label="`${'คำนำหน้าชื่อ'}`" option-value="id"
use-input :label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0" input-debounce="0"
@filter="(inputValue:any, @filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps' doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) " ) "
/> />
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherCareer"
:label="`${'อาชีพ'}`"
/>
</div>
</div> </div>
<div class="col-xs-6 col-sm-3 col-md-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`"
/>
</div>
<div class="col-xs-6 col-sm-3 col-md-3">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`"
/>
</div>
<div class="col-xs-12 col-sm-2 col-md-2">
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].fatherCareer"
:label="`${'อาชีพ'}`"
/>
</div>
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
<div class="col-xs-12 text-weight-bold"> <div class="col-xs-12 text-weight-bold">
มารดา มารดา
<q-radio <q-radio
@ -691,89 +691,90 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<q-input <div class="col-3">
:class="getClass(false)" <q-input
hide-bottom-space :class="getClass(false)"
:outlined="false" hide-bottom-space
dense :outlined="false"
lazy-rules dense
:readonly="true" lazy-rules
:borderless="true" :readonly="true"
v-model="familyDataHistory[indexRow].motherCitizenId" :borderless="true"
:label="`${'เลขที่บัตรประชาชน'}`" v-model="familyDataHistory[indexRow].motherCitizenId"
maxlength="13" :label="`${'เลขที่บัตรประชาชน'}`"
mask="#############" maxlength="13"
/> mask="#############"
</div> />
<div class="col-xs-12 col-sm-2 col-md-2"> </div>
<selector <div class="col-2">
:hide-dropdown-icon="true" <selector
hide-bottom-space :hide-dropdown-icon="true"
:class="getClass(false)" hide-bottom-space
:readonly="true" :class="getClass(false)"
:borderless="true" :readonly="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]" :borderless="true"
:outlined="false" :rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
dense :outlined="false"
lazy-rules dense
v-model="familyDataHistory[indexRow].motherPrefixId" lazy-rules
emit-value v-model="familyDataHistory[indexRow].motherPrefixId"
map-options emit-value
option-label="name" map-options
:options="Ops.prefixOps" option-label="name"
option-value="id" :options="Ops.prefixOps"
:label="`${'คำนำหน้าชื่อ'}`" option-value="id"
use-input :label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0" input-debounce="0"
@filter="(inputValue:any, @filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps' doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) " ) "
/> />
</div> </div>
<div class="col">
<div class="col-xs-6 col-sm-3 col-md-3"> <q-input
<q-input :class="getClass(false)"
:class="getClass(false)" hide-bottom-space
hide-bottom-space :outlined="false"
:outlined="false" dense
dense lazy-rules
lazy-rules :readonly="true"
:readonly="true" :borderless="true"
:borderless="true" v-model="familyDataHistory[indexRow].motherFirstName"
v-model="familyDataHistory[indexRow].motherFirstName" :rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]" :label="`${'ชื่อ'}`"
:label="`${'ชื่อ'}`" />
/> </div>
</div> <div class="col">
<div class="col-xs-6 col-sm-3 col-md-3"> <q-input
<q-input :class="getClass(false)"
:class="getClass(false)" hide-bottom-space
hide-bottom-space :outlined="false"
:outlined="false" dense
dense lazy-rules
lazy-rules :readonly="true"
:readonly="true" :borderless="true"
:borderless="true" v-model="familyDataHistory[indexRow].motherLastName"
v-model="familyDataHistory[indexRow].motherLastName" :rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]" :label="`${'นามสกุล'}`"
:label="`${'นามสกุล'}`" />
/> </div>
</div> <div class="col">
<div class="col-xs-12 col-sm-2 col-md-2"> <q-input
<q-input :class="getClass(false)"
:class="getClass(false)" hide-bottom-space
hide-bottom-space :outlined="false"
:outlined="false" dense
dense lazy-rules
lazy-rules :readonly="true"
:readonly="true" :borderless="true"
:borderless="true" v-model="familyDataHistory[indexRow].motherCareer"
v-model="familyDataHistory[indexRow].motherCareer" :label="`${'อาชีพ'}`"
:label="`${'อาชีพ'}`" />
/> </div>
</div> </div>
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
<div class="col-xs-12 q-gutter-sm items-center flex q-my-sm"> <div class="col-xs-12 q-gutter-sm items-center flex q-my-sm">
<label class="text-weight-bold"> สมรส</label> <label class="text-weight-bold"> สมรส</label>
<q-radio <q-radio
@ -827,120 +828,105 @@
/> />
</div> </div>
</div> </div>
<div
class="col-xs-6 col-sm-2 col-md-2"
v-if="familyDataHistory[indexRow].couple == '1'"
>
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleCitizenId"
:label="`${'เลขที่บัตรประชาชน'}`"
maxlength="13"
mask="#############"
/>
</div>
<div <div
class="col-xs-12 col-sm-2 col-md-2" class="row col-12"
v-if="familyDataHistory[indexRow].couple == '1'" v-if="familyDataHistory[indexRow].couple == '1'"
> >
<selector <div class="col-3">
:hide-dropdown-icon="true" <q-input
hide-bottom-space :class="getClass(false)"
:class="getClass(false)" hide-bottom-space
:readonly="true" :outlined="false"
:borderless="true" dense
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]" lazy-rules
:outlined="false" :readonly="true"
dense :borderless="true"
lazy-rules v-model="familyDataHistory[indexRow].coupleCitizenId"
v-model="familyDataHistory[indexRow].couplePrefixId" :label="`${'เลขที่บัตรประชาชน'}`"
emit-value maxlength="13"
map-options mask="#############"
option-label="name" />
:options="Ops.prefixOps" </div>
option-value="id" <div class="col-2">
:label="`${'คำนำหน้าชื่อ'}`" <selector
use-input :hide-dropdown-icon="true"
input-debounce="0" hide-bottom-space
@filter="(inputValue:any, :class="getClass(false)"
:readonly="true"
:borderless="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
:outlined="false"
dense
lazy-rules
v-model="familyDataHistory[indexRow].couplePrefixId"
emit-value
map-options
option-label="name"
:options="Ops.prefixOps"
option-value="id"
:label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps' doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) " ) "
/> />
</div> </div>
<div class="col">
<div <q-input
class="col-xs-6 col-sm-3 col-md-3" :class="getClass(false)"
v-if="familyDataHistory[indexRow].couple == '1'" hide-bottom-space
> :outlined="false"
<q-input dense
:class="getClass(false)" lazy-rules
hide-bottom-space :readonly="true"
:outlined="false" :borderless="true"
dense v-model="familyDataHistory[indexRow].coupleFirstName"
lazy-rules :rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:readonly="true" :label="`${'ชื่อ'}`"
:borderless="true" />
v-model="familyDataHistory[indexRow].coupleFirstName" </div>
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]" <div class="col">
:label="`${'ชื่อ'}`" <q-input
/> :class="getClass(false)"
</div> hide-bottom-space
<div :outlined="false"
class="col-xs-6 col-sm-3 col-md-3" dense
v-if="familyDataHistory[indexRow].couple == '1'" lazy-rules
> :readonly="true"
<q-input :borderless="true"
:class="getClass(false)" v-model="familyDataHistory[indexRow].coupleLastName"
hide-bottom-space :rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:outlined="false" :label="`${'นามสกุล'}`"
dense />
lazy-rules </div>
:readonly="true" <div class="col">
:borderless="true" <q-input
v-model="familyDataHistory[indexRow].coupleLastName" :class="getClass(false)"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]" hide-bottom-space
:label="`${'นามสกุล'}`" :outlined="false"
/> dense
</div> lazy-rules
<div :readonly="true"
class="col-xs-6 col-sm-2 col-md-2" :borderless="true"
v-if="familyDataHistory[indexRow].couple == '1'" v-model="familyDataHistory[indexRow].coupleLastNameOld"
> :rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล(เดิม)'}`]"
<q-input :label="`${'นามสกุล(เดิม)'}`"
:class="getClass(false)" />
hide-bottom-space </div>
:outlined="false" <div class="col">
dense <q-input
lazy-rules :class="getClass(false)"
:readonly="true" hide-bottom-space
:borderless="true" :outlined="false"
v-model="familyDataHistory[indexRow].coupleLastNameOld" dense
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล(เดิม)'}`]" lazy-rules
:label="`${'นามสกุล(เดิม)'}`" :readonly="true"
/> :borderless="true"
</div> v-model="familyDataHistory[indexRow].coupleCareer"
<div :label="`${'อาชีพ'}`"
class="col-xs-12 col-sm-2 col-md-2" />
v-if="familyDataHistory[indexRow].couple == '1'" </div>
>
<q-input
:class="getClass(false)"
hide-bottom-space
:outlined="false"
dense
lazy-rules
:readonly="true"
:borderless="true"
v-model="familyDataHistory[indexRow].coupleCareer"
:label="`${'อาชีพ'}`"
/>
</div> </div>
<div class="col-12 q-pt-md q-pb-sm"><q-separator /></div> <div class="col-12 q-pt-md q-pb-sm"><q-separator /></div>
@ -977,86 +963,87 @@
:disable="true" :disable="true"
/> />
</div> </div>
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="row col-12">
<q-input <div class="col-3">
:class="getClass(false)" <q-input
hide-bottom-space :class="getClass(false)"
:outlined="false" hide-bottom-space
dense :outlined="false"
lazy-rules dense
:readonly="true" lazy-rules
:borderless="true" :readonly="true"
v-model="items.childrenCitizenId" :borderless="true"
:label="`${'เลขที่บัตรประชาชน'}`" v-model="items.childrenCitizenId"
maxlength="13" :label="`${'เลขที่บัตรประชาชน'}`"
mask="#############" maxlength="13"
/> mask="#############"
</div> />
<div class="col-xs-6 col-sm-2 col-md-2"> </div>
<selector <div class="col-2">
:hide-dropdown-icon="true" <selector
hide-bottom-space :hide-dropdown-icon="true"
:class="getClass(false)" hide-bottom-space
:readonly="true" :class="getClass(false)"
:borderless="true" :readonly="true"
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]" :borderless="true"
:outlined="false" :rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
dense :outlined="false"
lazy-rules dense
v-model="items.childrenPrefixId" lazy-rules
emit-value v-model="items.childrenPrefixId"
map-options emit-value
option-label="name" map-options
:options="Ops.prefixOps" option-label="name"
option-value="id" :options="Ops.prefixOps"
:label="`${'คำนำหน้าชื่อ'}`" option-value="id"
use-input :label="`${'คำนำหน้าชื่อ'}`"
input-debounce="0" input-debounce="0"
@filter="(inputValue:any, @filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps' doneFn:Function) => filterSelector(inputValue, doneFn,'prefixOps'
) " ) "
/> />
</div> </div>
<div class="col-xs-6 col-sm-3 col-md-3"> <div class="col">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
:outlined="false" :outlined="false"
dense dense
lazy-rules lazy-rules
:readonly="true" :readonly="true"
:borderless="true" :borderless="true"
v-model="items.childrenFirstName" v-model="items.childrenFirstName"
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
:label="`${'ชื่อ'}`" :label="`${'ชื่อ'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3 col-md-3"> <div class="col">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
:outlined="false" :outlined="false"
dense dense
lazy-rules lazy-rules
:readonly="true" :readonly="true"
:borderless="true" :borderless="true"
v-model="items.childrenLastName" v-model="items.childrenLastName"
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
:label="`${'นามสกุล'}`" :label="`${'นามสกุล'}`"
/> />
</div> </div>
<div class="col-xs-12 col-sm-2 col-md-2"> <div class="col">
<q-input <q-input
:class="getClass(false)" :class="getClass(false)"
hide-bottom-space hide-bottom-space
:outlined="false" :outlined="false"
dense dense
lazy-rules lazy-rules
:readonly="true" :readonly="true"
:borderless="true" :borderless="true"
v-model="items.childrenCareer" v-model="items.childrenCareer"
:label="`${'อาชีพ'}`" :label="`${'อาชีพ'}`"
/> />
</div>
</div> </div>
</div> </div>
</div> </div>
@ -1126,7 +1113,14 @@ const route = useRoute();
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { date2Thai, success, messageError, showLoader, hideLoader ,dialogConfirm} = mixin; const {
date2Thai,
success,
messageError,
showLoader,
hideLoader,
dialogConfirm,
} = mixin;
const edit = ref<boolean>(false); const edit = ref<boolean>(false);
const fix = ref<boolean>(true); const fix = ref<boolean>(true);
const myform = ref<QForm | null>(null); const myform = ref<QForm | null>(null);
@ -1456,9 +1450,9 @@ const addData = async () => {
// await changeBirth(informaData.value.birthDate ?? new Date()); // await changeBirth(informaData.value.birthDate ?? new Date());
// }); // });
}; };
const saveData = () =>{ const saveData = () => {
dialogConfirm($q,() => Datasave()) dialogConfirm($q, () => Datasave());
} };
const Datasave = async () => { const Datasave = async () => {
await myform.value?.validate().then(async (success: boolean) => { await myform.value?.validate().then(async (success: boolean) => {
if (success) { if (success) {