เพิ่มวันที่สมัคร

This commit is contained in:
Kittapath 2023-10-13 04:27:51 +07:00
parent 0e0a220651
commit 2417548672
3 changed files with 625 additions and 504 deletions

View file

@ -1,14 +1,31 @@
<!-- tab ประวการทำงาน (งแตเรมปฏงานกบกรงเทพมหานคร - จจ) --> <!-- tab ประวการทำงาน (งแตเรมปฏงานกบกรงเทพมหานคร - จจ) -->
<template> <template>
<q-form ref="myForm"> <q-form ref="myForm">
<Table :rows="rows" :columns="columns" :filter="filter" :visible-columns="visibleColumns" <Table
v-model:inputfilter="filter" v-model:inputvisible="visibleColumns" v-model:editvisible="edit" :add="clickAdd" :rows="rows"
:edit="clickEdit" :addData="false" :bottom="true" :editData="status == 'checkRegister' || status == 'payment'" :columns="columns"
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)" icon="mdi-briefcase"> :filter="filter"
:visible-columns="visibleColumns"
v-model:inputfilter="filter"
v-model:inputvisible="visibleColumns"
v-model:editvisible="edit"
:add="clickAdd"
:edit="clickEdit"
:addData="false"
:bottom="true"
:editData="status == 'checkRegister' || status == 'payment'"
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
icon="mdi-briefcase"
>
<template #columns="props"> <template #columns="props">
<q-tr :props="props"> <q-tr :props="props">
<q-td v-for="col in props.cols" :key="col.name" :props="props" @click="selectData(props)" <q-td
class="cursor-pointer"> v-for="col in props.cols"
:key="col.name"
:props="props"
@click="selectData(props)"
class="cursor-pointer"
>
<div v-if="col.name == 'startDate' || col.name == 'endDate'"> <div v-if="col.name == 'startDate' || col.name == 'endDate'">
{{ date2Thai(col.value) }} {{ date2Thai(col.value) }}
</div> </div>
@ -16,17 +33,36 @@
{{ col.value }} {{ col.value }}
</div> </div>
</q-td> </q-td>
<q-td style="width:5% !important;" v-if="status == 'checkRegister' || status == 'payment'"> <q-td
<q-btn color="red" flat dense round size="14px" icon="mdi-trash-can-outline" style="width: 5% !important"
@click="checkDelete(props.row)" /> v-if="status == 'checkRegister' || status == 'payment'"
>
<q-btn
color="red"
flat
dense
round
size="14px"
icon="mdi-trash-can-outline"
@click="checkDelete(props.row)"
/>
</q-td> </q-td>
</q-tr> </q-tr>
</template> </template>
<template #bottom="props"> <template #bottom="props">
<div style="width:75% !important;" /> <div style="width: 60% !important" />
<div :props="props" style="width:25% !important;padding-left: 12px;"> <div
<span class="text-weight-medium text-subtitle2 q-py-sm">รวมระยะเวลา : <span class="q-pl-sm">{{ total :props="props"
}}</span></span> class="row"
style="width: 18.4% !important; padding-left: 20px"
>
<div
class="text-weight-medium text-subtitle2 q-py-sm row col-12 justify-between"
>
<div>รวมระยะเวลา :</div>
<div>{{ total }}</div>
</div>
</div> </div>
</template> </template>
</Table> </Table>
@ -35,22 +71,45 @@
<q-dialog v-model="modal" persistent> <q-dialog v-model="modal" persistent>
<q-card style="width: 600px"> <q-card style="width: 600px">
<q-form ref="myForm"> <q-form ref="myForm">
<DialogHeader tittle="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)" <DialogHeader
:close="checkClose" /> tittle="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
:close="checkClose"
/>
<q-separator /> <q-separator />
<q-card-section class="q-p-sm"> <q-card-section class="q-p-sm">
<div class="row col-12 items-center q-col-gutter-x-xs q-col-gutter-y-xs"> <div
class="row col-12 items-center q-col-gutter-x-xs q-col-gutter-y-xs"
>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<q-input :class="getClass(edit)" :outlined="edit" dense lazy-rules :readonly="!edit" <q-input
:borderless="!edit" v-model="position" :class="getClass(edit)"
:outlined="edit"
dense
lazy-rules
:readonly="!edit"
:borderless="!edit"
v-model="position"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง/ลักษณะงาน'}`]" :rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง/ลักษณะงาน'}`]"
:label="`${'ตำแหน่ง/ลักษณะงาน'}`" @update:modelValue="clickEditRow" hide-bottom-space /> :label="`${'ตำแหน่ง/ลักษณะงาน'}`"
@update:modelValue="clickEditRow"
hide-bottom-space
/>
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<q-select :class="getClass(edit)" :outlined="edit" dense lazy-rules :readonly="!edit" <q-select
:borderless="!edit" v-model="type" :options="opType" :class="getClass(edit)"
:rules="[(val) => !!val || `${'กรุณาเลือกประเภท'}`]" :label="`${'ประเภท'}`" :outlined="edit"
@update:modelValue="clickEditRow" hide-bottom-space /> dense
lazy-rules
:readonly="!edit"
:borderless="!edit"
v-model="type"
:options="opType"
:rules="[(val) => !!val || `${'กรุณาเลือกประเภท'}`]"
:label="`${'ประเภท'}`"
@update:modelValue="clickEditRow"
hide-bottom-space
/>
</div> </div>
<!-- <div class="col-xs-12 col-sm-6 col-md-6"> <!-- <div class="col-xs-12 col-sm-6 col-md-6">
<q-input <q-input
@ -98,8 +157,16 @@
/> />
</div> --> </div> -->
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<datepicker menu-class-name="modalfix" :readonly="!edit" v-model="startDate" :locale="'th'" <datepicker
autoApply :enableTimePicker="false" @update:modelValue="clickEditRow" week-start="0"> menu-class-name="modalfix"
:readonly="!edit"
v-model="startDate"
:locale="'th'"
autoApply
:enableTimePicker="false"
@update:modelValue="clickEditRow"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -107,15 +174,27 @@
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input :class="getClass(edit)" :outlined="edit" dense lazy-rules :borderless="!edit" <q-input
:class="getClass(edit)"
:outlined="edit"
dense
lazy-rules
:borderless="!edit"
:model-value="date2Thai(startDate)" :model-value="date2Thai(startDate)"
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่เริ่ม'}`]" hide-bottom-space :rules="[(val) => !!val || `${'กรุณาเลือกวันที่เริ่ม'}`]"
:label="`${'วันที่เริ่ม'}`"> hide-bottom-space
:label="`${'วันที่เริ่ม'}`"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" :style="edit <q-icon
name="event"
class="cursor-pointer"
:style="
edit
? 'color: var(--q-primary)' ? 'color: var(--q-primary)'
: 'color: var(--q-grey)' : 'color: var(--q-grey)'
"> "
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -123,8 +202,16 @@
</datepicker> </datepicker>
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<datepicker menu-class-name="modalfix" :readonly="!edit" v-model="endDate" :locale="'th'" <datepicker
autoApply :enableTimePicker="false" @update:modelValue="clickEditRow" week-start="0"> menu-class-name="modalfix"
:readonly="!edit"
v-model="endDate"
:locale="'th'"
autoApply
:enableTimePicker="false"
@update:modelValue="clickEditRow"
week-start="0"
>
<template #year="{ year }"> <template #year="{ year }">
{{ year + 543 }} {{ year + 543 }}
</template> </template>
@ -132,15 +219,30 @@
{{ parseInt(value + 543) }} {{ parseInt(value + 543) }}
</template> </template>
<template #trigger> <template #trigger>
<q-input :class="getClass(edit)" :outlined="edit" dense lazy-rules :borderless="!edit" <q-input
:class="getClass(edit)"
:outlined="edit"
dense
lazy-rules
:borderless="!edit"
:model-value="date2Thai(endDate)" :model-value="date2Thai(endDate)"
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่สิ้นสุด'}`, endDateValidation]" :rules="[
hide-bottom-space :label="`${'วันที่สิ้นสุด'}`"> (val) => !!val || `${'กรุณาเลือกวันที่สิ้นสุด'}`,
endDateValidation,
]"
hide-bottom-space
:label="`${'วันที่สิ้นสุด'}`"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="event" class="cursor-pointer" :style="edit <q-icon
name="event"
class="cursor-pointer"
:style="
edit
? 'color: var(--q-primary)' ? 'color: var(--q-primary)'
: 'color: var(--q-grey)' : 'color: var(--q-grey)'
"> "
>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
@ -148,16 +250,33 @@
</datepicker> </datepicker>
</div> </div>
<div class="col-xs-12 col-sm-12 col-md-12"> <div class="col-xs-12 col-sm-12 col-md-12">
<q-input :class="getClass(false)" :outlined="false" dense lazy-rules :readonly="!false" <q-input
:borderless="!false" v-model="rangeDate" :label="`${'ระยะเวลา'}`" hide-bottom-space /> :class="getClass(false)"
:outlined="false"
dense
lazy-rules
:readonly="!false"
:borderless="!false"
v-model="rangeDate"
:label="`${'ระยะเวลา'}`"
hide-bottom-space
/>
</div> </div>
</div> </div>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
<DialogFooter :edit="clickEdit" :save="clickSave" :validate="validateData" :clickNext="clickNext" <DialogFooter
:clickPrevious="clickPrevious" :editData="status == 'checkRegister' || status == 'payment'" :edit="clickEdit"
v-model:editvisible="edit" v-model:next="next" v-model:previous="previous" :save="clickSave"
v-model:modalEdit="modalEdit" /> :validate="validateData"
:clickNext="clickNext"
:clickPrevious="clickPrevious"
:editData="status == 'checkRegister' || status == 'payment'"
v-model:editvisible="edit"
v-model:next="next"
v-model:previous="previous"
v-model:modalEdit="modalEdit"
/>
</q-form> </q-form>
</q-card> </q-card>
</q-dialog> </q-dialog>
@ -379,7 +498,8 @@ const calDate = async () => {
} }
dayDiff += daysInMonth[_startDate.getMonth()]; dayDiff += daysInMonth[_startDate.getMonth()];
} }
rangeDate.value = `${yearDiff > 0 ? yearDiff + " ปี " : ""}${monthDiff > 0 ? monthDiff + " เดือน " : "" rangeDate.value = `${yearDiff > 0 ? yearDiff + " ปี " : ""}${
monthDiff > 0 ? monthDiff + " เดือน " : ""
}${dayDiff > 0 ? dayDiff + " วัน " : ""}`; }${dayDiff > 0 ? dayDiff + " วัน " : ""}`;
}; };
@ -453,7 +573,8 @@ const fetchData = async () => {
yearDiff = yearDiff + parseInt((monthDiff / 12).toString()); yearDiff = yearDiff + parseInt((monthDiff / 12).toString());
monthDiff = monthDiff % 12; monthDiff = monthDiff % 12;
} }
total.value = `${yearDiff > 0 ? yearDiff + " ปี " : ""}${monthDiff > 0 ? monthDiff + " เดือน " : "" total.value = `${yearDiff > 0 ? yearDiff + " ปี " : ""}${
monthDiff > 0 ? monthDiff + " เดือน " : ""
}${dayDiff > 0 ? dayDiff + " วัน " : ""}`; }${dayDiff > 0 ? dayDiff + " วัน " : ""}`;
} }
); );

File diff suppressed because one or more lines are too long

View file

@ -481,7 +481,7 @@ const fetchData = async () => {
avatar: r.profileImg != null ? r.profileImg.detail : "", avatar: r.profileImg != null ? r.profileImg.detail : "",
citizenId: r.citizenId, citizenId: r.citizenId,
number: r.number, number: r.number,
registerDate: date2Thai(r.registerDate), registerDate: date2Thai(r.registerDate, false, true),
examIdenNumber: r.examIdenNumber, examIdenNumber: r.examIdenNumber,
seatNumber: r.seatNumber, seatNumber: r.seatNumber,
resultC: r.resultC, resultC: r.resultC,