เพิ่มเนู บันทึกผลการจ่ายใบกำกับ
This commit is contained in:
parent
a646ad3d6d
commit
98156c072b
3 changed files with 397 additions and 160 deletions
|
|
@ -351,6 +351,12 @@ const menuList = readonly<any[]>([
|
||||||
path: "insigniaRecord",
|
path: "insigniaRecord",
|
||||||
role: "insignia",
|
role: "insignia",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "บันทึกผลการจ่ายใบกำกับ",
|
||||||
|
path: "VatInsignia",
|
||||||
|
role: "insignia",
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: "จัดสรรเครื่องราชฯ",
|
label: "จัดสรรเครื่องราชฯ",
|
||||||
path: "insigniaAllocate",
|
path: "insigniaAllocate",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,17 @@
|
||||||
v-model:statusEdit="statusEdit"
|
v-model:statusEdit="statusEdit"
|
||||||
:profileType="profileType"
|
:profileType="profileType"
|
||||||
/> -->
|
/> -->
|
||||||
<Information v-model:statusEdit="statusEdit" :fetchDataProfile="fetchData" />
|
<Information
|
||||||
|
v-model:statusEdit="statusEdit"
|
||||||
|
:fetchDataProfile="fetchData"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="government" name="16" class="row col-12 q-mt-md">
|
<div id="government" name="16" class="row col-12 q-mt-md">
|
||||||
<Government v-model:statusEdit="statusEdit" :profileType="profileType" :employeeClass="employeeClass" />
|
<Government
|
||||||
|
v-model:statusEdit="statusEdit"
|
||||||
|
:profileType="profileType"
|
||||||
|
:employeeClass="employeeClass"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="address" name="17" class="row col-12 q-mt-md">
|
<div id="address" name="17" class="row col-12 q-mt-md">
|
||||||
<Address v-model:statusEdit="statusEdit" />
|
<Address v-model:statusEdit="statusEdit" />
|
||||||
|
|
@ -33,11 +40,20 @@
|
||||||
<CoinedVue v-model:statusEdit="statusEdit" :profileType="profileType" />
|
<CoinedVue v-model:statusEdit="statusEdit" :profileType="profileType" />
|
||||||
</div>
|
</div>
|
||||||
<div id="assessment" name="6" class="row col-12 q-mt-md">
|
<div id="assessment" name="6" class="row col-12 q-mt-md">
|
||||||
<AssessmentVue v-model:statusEdit="statusEdit" :profileType="profileType" />
|
<AssessmentVue
|
||||||
|
v-model:statusEdit="statusEdit"
|
||||||
|
:profileType="profileType"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="position" name="7" class="row col-12 q-mt-md">
|
<div id="position" name="7" class="row col-12 q-mt-md">
|
||||||
<SalaryVue v-model:statusEdit="statusEdit" v-if="profileType === 'officer'" />
|
<SalaryVue
|
||||||
<SalaryEmployeeTempVue v-model:statusEdit="statusEdit" v-else-if="employeeClass === 'temp'" />
|
v-model:statusEdit="statusEdit"
|
||||||
|
v-if="profileType === 'officer'"
|
||||||
|
/>
|
||||||
|
<SalaryEmployeeTempVue
|
||||||
|
v-model:statusEdit="statusEdit"
|
||||||
|
v-else-if="employeeClass === 'temp'"
|
||||||
|
/>
|
||||||
<SalaryEmployeeVue v-model:statusEdit="statusEdit" v-else />
|
<SalaryEmployeeVue v-model:statusEdit="statusEdit" v-else />
|
||||||
</div>
|
</div>
|
||||||
<div id="rule" name="8" class="row col-12 q-mt-md">
|
<div id="rule" name="8" class="row col-12 q-mt-md">
|
||||||
|
|
@ -62,29 +78,70 @@
|
||||||
<DocumentVue v-model:statusEdit="statusEdit" />
|
<DocumentVue v-model:statusEdit="statusEdit" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<q-page-sticky position="top" expand class="bg-grey-2 text-white" style="z-index: 99; padding: 0% 1% 0% 1%">
|
<q-page-sticky
|
||||||
<div class="row col-12 q-gutter-sm q-pb-sm text-dark no-wrap items-center">
|
position="top"
|
||||||
<q-btn flat round class="bg-teal-1 full-height" color="primary" icon="mdi-chevron-left" dense
|
expand
|
||||||
@click="router.go(-1)">
|
class="bg-grey-2 text-white"
|
||||||
|
style="z-index: 99; padding: 0% 1% 0% 1%"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="row col-12 q-gutter-sm q-pb-sm text-dark no-wrap items-center"
|
||||||
|
>
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
class="bg-teal-1 full-height"
|
||||||
|
color="primary"
|
||||||
|
icon="mdi-chevron-left"
|
||||||
|
dense
|
||||||
|
@click="router.go(-1)"
|
||||||
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-avatar v-if="imageUrl == null" size="65px" rounded class="containerimage">
|
<q-avatar
|
||||||
<img src="@/assets/avatar_user.jpg" class="bg-grey-3" style="object-fit: cover" />
|
v-if="imageUrl == null"
|
||||||
<div class="overlay absolute-bottom text-subtitle2 text-center cursor-pointer" @click="clickImage()">
|
size="65px"
|
||||||
|
rounded
|
||||||
|
class="containerimage"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src="@/assets/avatar_user.jpg"
|
||||||
|
class="bg-grey-3"
|
||||||
|
style="object-fit: cover"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="overlay absolute-bottom text-subtitle2 text-center cursor-pointer"
|
||||||
|
@click="clickImage()"
|
||||||
|
>
|
||||||
<q-icon name="mdi-camera" size="18px" color="blue">
|
<q-icon name="mdi-camera" size="18px" color="blue">
|
||||||
<q-tooltip>อัปเดตรูปภาพ</q-tooltip>
|
<q-tooltip>อัปเดตรูปภาพ</q-tooltip>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
|
|
||||||
<input type="file" style="display: none" ref="inputImage" accept="image/*" @change="uploadImage" />
|
<input
|
||||||
|
type="file"
|
||||||
|
style="display: none"
|
||||||
|
ref="inputImage"
|
||||||
|
accept="image/*"
|
||||||
|
@change="uploadImage"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
<q-avatar v-else size="65px" rounded class="containerimage">
|
<q-avatar v-else size="65px" rounded class="containerimage">
|
||||||
<img :src="imageUrl" class="bg-grey-3" style="object-fit: cover" />
|
<img :src="imageUrl" class="bg-grey-3" style="object-fit: cover" />
|
||||||
<div class="overlay absolute-bottom text-subtitle2 text-center cursor-pointer" @click="clickImage()">
|
<div
|
||||||
|
class="overlay absolute-bottom text-subtitle2 text-center cursor-pointer"
|
||||||
|
@click="clickImage()"
|
||||||
|
>
|
||||||
<q-icon name="mdi-camera" size="18px" color="blue">
|
<q-icon name="mdi-camera" size="18px" color="blue">
|
||||||
<q-tooltip>อัปเดตรูปภาพ</q-tooltip>
|
<q-tooltip>อัปเดตรูปภาพ</q-tooltip>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
|
|
||||||
<input type="file" style="display: none" ref="inputImage" accept="image/*" @change="uploadImage" />
|
<input
|
||||||
|
type="file"
|
||||||
|
style="display: none"
|
||||||
|
ref="inputImage"
|
||||||
|
accept="image/*"
|
||||||
|
@change="uploadImage"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
<div class="row items-center text-dark q-ml-md">
|
<div class="row items-center text-dark q-ml-md">
|
||||||
|
|
@ -158,8 +215,15 @@
|
||||||
</q-menu>
|
</q-menu>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
<q-btn round flat :color="reasonStatus ? 'primary' : 'pink-5'" @click="clickRetire()" :icon="reasonStatus ? 'mdi-home-import-outline' : 'mdi-home-export-outline'
|
<q-btn
|
||||||
">
|
round
|
||||||
|
flat
|
||||||
|
:color="reasonStatus ? 'primary' : 'pink-5'"
|
||||||
|
@click="clickRetire()"
|
||||||
|
:icon="
|
||||||
|
reasonStatus ? 'mdi-home-import-outline' : 'mdi-home-export-outline'
|
||||||
|
"
|
||||||
|
>
|
||||||
<q-tooltip>{{
|
<q-tooltip>{{
|
||||||
reasonStatus ? "การกลับเข้ารับราชการ" : "การออกจากราชการ"
|
reasonStatus ? "การกลับเข้ารับราชการ" : "การออกจากราชการ"
|
||||||
}}</q-tooltip>
|
}}</q-tooltip>
|
||||||
|
|
@ -173,7 +237,9 @@
|
||||||
<q-item-section class="text-blue">ก.พ.7/ก.ก.1</q-item-section>
|
<q-item-section class="text-blue">ก.พ.7/ก.ก.1</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item clickable v-close-popup @click="clickKp7Short()">
|
<q-item clickable v-close-popup @click="clickKp7Short()">
|
||||||
<q-item-section class="text-primary">ประวัติแบบย่อ</q-item-section>
|
<q-item-section class="text-primary"
|
||||||
|
>ประวัติแบบย่อ</q-item-section
|
||||||
|
>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-menu>
|
</q-menu>
|
||||||
|
|
@ -185,8 +251,20 @@
|
||||||
<q-card style="width: 90vw; max-width: 80vw">
|
<q-card style="width: 90vw; max-width: 80vw">
|
||||||
<q-card-section class="row items-center q-pb-xs col-12">
|
<q-card-section class="row items-center q-pb-xs col-12">
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn @click="downloadKP7()" unelevated class="btn_purple q-mr-sm" label="ดาวน์โหลด ก.พ.7/ก.ก.1"></q-btn>
|
<q-btn
|
||||||
<q-btn icon="close" unelevated round dense @click="closeKp7" style="color: #ff8080; background-color: #ffdede" />
|
@click="downloadKP7()"
|
||||||
|
unelevated
|
||||||
|
class="btn_purple q-mr-sm"
|
||||||
|
label="ดาวน์โหลด ก.พ.7/ก.ก.1"
|
||||||
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
icon="close"
|
||||||
|
unelevated
|
||||||
|
round
|
||||||
|
dense
|
||||||
|
@click="closeKp7"
|
||||||
|
style="color: #ff8080; background-color: #ffdede"
|
||||||
|
/>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-section class="q-p-sm">
|
<q-card-section class="q-p-sm">
|
||||||
<!-- <viewpdf
|
<!-- <viewpdf
|
||||||
|
|
@ -201,9 +279,20 @@
|
||||||
<q-card style="width: 90vw; max-width: 80vw">
|
<q-card style="width: 90vw; max-width: 80vw">
|
||||||
<q-card-section class="row items-center q-pb-xs col-12">
|
<q-card-section class="row items-center q-pb-xs col-12">
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn @click="downloadKP7Short()" unelevated class="btn_purple q-mr-sm" label="ดาวน์โหลด ประวัติแบบย่อ"></q-btn>
|
<q-btn
|
||||||
<q-btn icon="close" unelevated round dense @click="closeKp7Short"
|
@click="downloadKP7Short()"
|
||||||
style="color: #ff8080; background-color: #ffdede" />
|
unelevated
|
||||||
|
class="btn_purple q-mr-sm"
|
||||||
|
label="ดาวน์โหลด ประวัติแบบย่อ"
|
||||||
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
icon="close"
|
||||||
|
unelevated
|
||||||
|
round
|
||||||
|
dense
|
||||||
|
@click="closeKp7Short"
|
||||||
|
style="color: #ff8080; background-color: #ffdede"
|
||||||
|
/>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-section class="q-p-sm">
|
<q-card-section class="q-p-sm">
|
||||||
<!-- <viewpdf
|
<!-- <viewpdf
|
||||||
|
|
@ -220,28 +309,50 @@
|
||||||
<q-card-section class="q-py-sm row">
|
<q-card-section class="q-py-sm row">
|
||||||
<div class="text-h6">เลือกรูปภาพ</div>
|
<div class="text-h6">เลือกรูปภาพ</div>
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn icon="close" unelevated round dense @click="closeImage" style="color: #ff8080; background-color: #ffdede">
|
<q-btn
|
||||||
|
icon="close"
|
||||||
|
unelevated
|
||||||
|
round
|
||||||
|
dense
|
||||||
|
@click="closeImage"
|
||||||
|
style="color: #ff8080; background-color: #ffdede"
|
||||||
|
>
|
||||||
<q-tooltip>ปิดหน้านี้</q-tooltip>
|
<q-tooltip>ปิดหน้านี้</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section class="col-12 row">
|
<q-card-section class="col-12 row">
|
||||||
<div class="row wrap items-start col-12 q-col-gutter-sm" style="height: 320px; overflow: auto">
|
<div
|
||||||
|
class="row wrap items-start col-12 q-col-gutter-sm"
|
||||||
|
style="height: 320px; overflow: auto"
|
||||||
|
>
|
||||||
<div class="col-3" @click="addNewImage">
|
<div class="col-3" @click="addNewImage">
|
||||||
<div style="
|
<div
|
||||||
|
style="
|
||||||
height: 160px;
|
height: 160px;
|
||||||
max-width: 15vw;
|
max-width: 15vw;
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
" class="column rounded-borders cursor-pointer bg-active-image text-white">
|
"
|
||||||
|
class="column rounded-borders cursor-pointer bg-active-image text-white"
|
||||||
|
>
|
||||||
<q-icon name="add" size="60px" color="white" />
|
<q-icon name="add" size="60px" color="white" />
|
||||||
<strong>อัปโหลดรูปภาพ</strong>
|
<strong>อัปโหลดรูปภาพ</strong>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="n in images" :key="n" class="col-3" @click="imageActive(n)">
|
<div
|
||||||
|
v-for="n in images"
|
||||||
|
:key="n"
|
||||||
|
class="col-3"
|
||||||
|
@click="imageActive(n)"
|
||||||
|
>
|
||||||
<div :class="getClass(n)">
|
<div :class="getClass(n)">
|
||||||
<q-img v-if="n.avatar != null" :src="n.avatar" :class="imageClass(n)">
|
<q-img
|
||||||
|
v-if="n.avatar != null"
|
||||||
|
:src="n.avatar"
|
||||||
|
:class="imageClass(n)"
|
||||||
|
>
|
||||||
<!-- <div
|
<!-- <div
|
||||||
class="absolute-top bg-transparent cursor-pointer text-right"
|
class="absolute-top bg-transparent cursor-pointer text-right"
|
||||||
style="padding: 5px"
|
style="padding: 5px"
|
||||||
|
|
@ -255,11 +366,21 @@
|
||||||
style="color: #ff8080"
|
style="color: #ff8080"
|
||||||
/>
|
/>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="absolute-bottom col-12 cursor-pointer flex justify-between items-center" style="padding: 5px">
|
<div
|
||||||
|
class="absolute-bottom col-12 cursor-pointer flex justify-between items-center"
|
||||||
|
style="padding: 5px"
|
||||||
|
>
|
||||||
{{ date2Thai(n.createdDate) }}
|
{{ date2Thai(n.createdDate) }}
|
||||||
|
|
||||||
<q-btn v-if="!n.isActive" icon="delete" unelevated dense @click="deletePhoto(n.id)" class="bg-white"
|
<q-btn
|
||||||
style="color: #ff8080" />
|
v-if="!n.isActive"
|
||||||
|
icon="delete"
|
||||||
|
unelevated
|
||||||
|
dense
|
||||||
|
@click="deletePhoto(n.id)"
|
||||||
|
class="bg-white"
|
||||||
|
style="color: #ff8080"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-img>
|
</q-img>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -277,7 +398,14 @@
|
||||||
>
|
>
|
||||||
<q-tooltip>ลบรูปภาพ</q-tooltip>
|
<q-tooltip>ลบรูปภาพ</q-tooltip>
|
||||||
</q-btn> -->
|
</q-btn> -->
|
||||||
<q-btn icon="check" dense flat round @click="selectAvatarHistory" color="positive">
|
<q-btn
|
||||||
|
icon="check"
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
@click="selectAvatarHistory"
|
||||||
|
color="positive"
|
||||||
|
>
|
||||||
<q-tooltip>เลือกรูปภาพ</q-tooltip>
|
<q-tooltip>เลือกรูปภาพ</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
|
|
@ -291,18 +419,38 @@
|
||||||
<q-card-section class="q-py-sm row">
|
<q-card-section class="q-py-sm row">
|
||||||
<DialogHeader tittle="ถึงแก่กรรม" :close="closePassaway" />
|
<DialogHeader tittle="ถึงแก่กรรม" :close="closePassaway" />
|
||||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||||
<q-file class="col-12 col-sm-6 col-md-5" outlined dense v-model="filePassaway" label="แนบใบมรณบัตร"
|
<q-file
|
||||||
hide-bottom-space lazy-rules>
|
class="col-12 col-sm-6 col-md-5"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
v-model="filePassaway"
|
||||||
|
label="แนบใบมรณบัตร"
|
||||||
|
hide-bottom-space
|
||||||
|
lazy-rules
|
||||||
|
>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon name="attach_file" />
|
<q-icon name="attach_file" />
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</q-file>
|
||||||
<q-input class="col-12 col-sm-6 col-md-7" dense outlined v-model="deathCertificateNo"
|
<q-input
|
||||||
label="เลขที่ใบมรณบัตร" />
|
class="col-12 col-sm-6 col-md-7"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
v-model="deathCertificateNo"
|
||||||
|
label="เลขที่ใบมรณบัตร"
|
||||||
|
/>
|
||||||
|
|
||||||
<datepicker class="col-12 col-sm-6 col-md-5" menu-class-name="modalfix" v-model="dateDeath" :locale="'th'"
|
<datepicker
|
||||||
autoApply borderless :enableTimePicker="false" week-start="0">
|
class="col-12 col-sm-6 col-md-5"
|
||||||
|
menu-class-name="modalfix"
|
||||||
|
v-model="dateDeath"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
borderless
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
<template #year="{ year }">
|
<template #year="{ year }">
|
||||||
{{ year + 543 }}
|
{{ year + 543 }}
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -310,32 +458,63 @@
|
||||||
{{ parseInt(value + 543) }}
|
{{ parseInt(value + 543) }}
|
||||||
</template>
|
</template>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<q-input outlined dense class="full-width datepicker" :model-value="dateDeath != null ? date2Thai(dateDeath) : null
|
<q-input
|
||||||
" :label="`${'วันที่เสียชีวิต'}`" :rules="[
|
outlined
|
||||||
(val) => !!val || `${'กรุณาเลือกวันที่เสียชีวิต'}`,
|
dense
|
||||||
]">
|
class="full-width datepicker"
|
||||||
|
:model-value="
|
||||||
|
dateDeath != null ? date2Thai(dateDeath) : null
|
||||||
|
"
|
||||||
|
:label="`${'วันที่เสียชีวิต'}`"
|
||||||
|
:rules="[
|
||||||
|
(val) => !!val || `${'กรุณาเลือกวันที่เสียชีวิต'}`,
|
||||||
|
]"
|
||||||
|
>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
<q-icon
|
||||||
|
name="event"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="color: var(--q-primary)"
|
||||||
|
>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
|
|
||||||
<q-input class="col-12 col-sm-6 col-md-7" dense outlined v-model="placeDeathCertificate"
|
<q-input
|
||||||
label="สถานที่ออกใบมรณบัตร" />
|
class="col-12 col-sm-6 col-md-7"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
v-model="placeDeathCertificate"
|
||||||
|
label="สถานที่ออกใบมรณบัตร"
|
||||||
|
/>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-input class="col-12" dense outlined v-model="reasonDeath" label="เหตุผลการเสีบชีวิต" type="textarea" />
|
<q-input
|
||||||
|
class="col-12"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
v-model="reasonDeath"
|
||||||
|
label="เหตุผลการเสีบชีวิต"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<q-space />
|
<q-space />
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="flex justify-end q-pa-sm q-gutter-sm">
|
<div class="flex justify-end q-pa-sm q-gutter-sm">
|
||||||
<q-btn unelevated label="บันทึก" color="public" @click="clickSaveDeceased" :disable="filePassaway === null ||
|
<q-btn
|
||||||
deathCertificateNo === '' ||
|
unelevated
|
||||||
placeDeathCertificate === '' ||
|
label="บันทึก"
|
||||||
reasonDeath === ''
|
color="public"
|
||||||
">
|
@click="clickSaveDeceased"
|
||||||
|
:disable="
|
||||||
|
filePassaway === null ||
|
||||||
|
deathCertificateNo === '' ||
|
||||||
|
placeDeathCertificate === '' ||
|
||||||
|
reasonDeath === ''
|
||||||
|
"
|
||||||
|
>
|
||||||
<q-tooltip>บันทึก</q-tooltip>
|
<q-tooltip>บันทึก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -353,34 +532,71 @@
|
||||||
<q-dialog v-model="dialogLeave" persistent>
|
<q-dialog v-model="dialogLeave" persistent>
|
||||||
<q-card style="width: 600px">
|
<q-card style="width: 600px">
|
||||||
<q-toolbar>
|
<q-toolbar>
|
||||||
<q-toolbar-title class="text-subtitle2 text-bold">ประเภทการพ้นราชการ
|
<q-toolbar-title class="text-subtitle2 text-bold"
|
||||||
|
>ประเภทการพ้นราชการ
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn icon="close" unelevated round dense @click="closeLeave"
|
<q-btn
|
||||||
style="color: #ff8080; background-color: #ffdede" />
|
icon="close"
|
||||||
|
unelevated
|
||||||
|
round
|
||||||
|
dense
|
||||||
|
@click="closeLeave"
|
||||||
|
style="color: #ff8080; background-color: #ffdede"
|
||||||
|
/>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
|
|
||||||
<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-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<q-select class="full-width inputgreen cursor-pointer" outlined dense lazy-rules v-model="reason"
|
<q-select
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือกประเภทการพ้นราชการ'}`]" hide-bottom-space
|
class="full-width inputgreen cursor-pointer"
|
||||||
:label="`${'ประเภทการพ้นราชการ'}`" emit-value map-options option-label="name" :options="reasonOptions"
|
outlined
|
||||||
option-value="id" />
|
dense
|
||||||
|
lazy-rules
|
||||||
|
v-model="reason"
|
||||||
|
:rules="[(val) => !!val || `${'กรุณาเลือกประเภทการพ้นราชการ'}`]"
|
||||||
|
hide-bottom-space
|
||||||
|
:label="`${'ประเภทการพ้นราชการ'}`"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
:options="reasonOptions"
|
||||||
|
option-value="id"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<datepicker menu-class-name="modalfix" v-model="leaveDate" :locale="'th'" autoApply :enableTimePicker="false"
|
<datepicker
|
||||||
week-start="0">
|
menu-class-name="modalfix"
|
||||||
|
v-model="leaveDate"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
<template #year="{ year }">{{ year + 543 }}</template>
|
<template #year="{ year }">{{ year + 543 }}</template>
|
||||||
<template #year-overlay-value="{ value }">{{
|
<template #year-overlay-value="{ value }">{{
|
||||||
parseInt(value + 543)
|
parseInt(value + 543)
|
||||||
}}</template>
|
}}</template>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<q-input class="full-width inputgreen cursor-pointer" outlined dense lazy-rules
|
<q-input
|
||||||
:model-value="date2Thai(leaveDate)" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่พ้นราชการ'}`]"
|
class="full-width inputgreen cursor-pointer"
|
||||||
hide-bottom-space :label="`${'วันที่พ้นราชการ'}`">
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
:model-value="date2Thai(leaveDate)"
|
||||||
|
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่พ้นราชการ'}`]"
|
||||||
|
hide-bottom-space
|
||||||
|
:label="`${'วันที่พ้นราชการ'}`"
|
||||||
|
>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
<q-icon
|
||||||
|
name="event"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="color: var(--q-primary)"
|
||||||
|
>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
|
|
@ -388,30 +604,64 @@
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<q-input class="full-width inputgreen cursor-pointer" outlined dense lazy-rules autogrow v-model="leaveDetail"
|
<q-input
|
||||||
|
class="full-width inputgreen cursor-pointer"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
autogrow
|
||||||
|
v-model="leaveDetail"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val) =>
|
(val) =>
|
||||||
!!val || `${'กรุณากรอกสาเหตุ/เหตุผลของการพ้นจากราชการ'}`,
|
!!val || `${'กรุณากรอกสาเหตุ/เหตุผลของการพ้นจากราชการ'}`,
|
||||||
]" hide-bottom-space :label="`${'สาเหตุ/เหตุผลของการพ้นจากราชการ'}`" />
|
]"
|
||||||
|
hide-bottom-space
|
||||||
|
:label="`${'สาเหตุ/เหตุผลของการพ้นจากราชการ'}`"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<q-input class="full-width inputgreen cursor-pointer" outlined dense lazy-rules autogrow
|
<q-input
|
||||||
v-model="leaveNumberOrder" :rules="[(val) => !!val || `${'กรุณากรอกคำสั่ง/เอกสารอ้างอิง'}`]"
|
class="full-width inputgreen cursor-pointer"
|
||||||
hide-bottom-space :label="`${'คำสั่ง/เอกสารอ้างอิง'}`" />
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
autogrow
|
||||||
|
v-model="leaveNumberOrder"
|
||||||
|
:rules="[(val) => !!val || `${'กรุณากรอกคำสั่ง/เอกสารอ้างอิง'}`]"
|
||||||
|
hide-bottom-space
|
||||||
|
:label="`${'คำสั่ง/เอกสารอ้างอิง'}`"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<datepicker menu-class-name="modalfix" v-model="leaveDateOrder" :locale="'th'" autoApply
|
<datepicker
|
||||||
:enableTimePicker="false" week-start="0">
|
menu-class-name="modalfix"
|
||||||
|
v-model="leaveDateOrder"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
<template #year="{ year }">{{ year + 543 }}</template>
|
<template #year="{ year }">{{ year + 543 }}</template>
|
||||||
<template #year-overlay-value="{ value }">{{
|
<template #year-overlay-value="{ value }">{{
|
||||||
parseInt(value + 543)
|
parseInt(value + 543)
|
||||||
}}</template>
|
}}</template>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<q-input class="full-width inputgreen cursor-pointer" outlined dense lazy-rules
|
<q-input
|
||||||
:model-value="date2Thai(leaveDateOrder)" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่ออกคำสั่ง'}`]"
|
class="full-width inputgreen cursor-pointer"
|
||||||
hide-bottom-space :label="`${'วันที่ออกคำสั่ง'}`">
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
:model-value="date2Thai(leaveDateOrder)"
|
||||||
|
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่ออกคำสั่ง'}`]"
|
||||||
|
hide-bottom-space
|
||||||
|
:label="`${'วันที่ออกคำสั่ง'}`"
|
||||||
|
>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
<q-icon
|
||||||
|
name="event"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="color: var(--q-primary)"
|
||||||
|
>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
|
|
@ -422,7 +672,13 @@
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-actions align="right">
|
<q-card-actions align="right">
|
||||||
<q-btn flat round color="public" @click="Retire" icon="mdi-content-save-outline">
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="public"
|
||||||
|
@click="Retire"
|
||||||
|
icon="mdi-content-save-outline"
|
||||||
|
>
|
||||||
<q-tooltip>บันทึก</q-tooltip>
|
<q-tooltip>บันทึก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
|
|
@ -478,7 +734,7 @@ const {
|
||||||
success,
|
success,
|
||||||
showLoader,
|
showLoader,
|
||||||
hideLoader,
|
hideLoader,
|
||||||
dialogConfirm
|
dialogConfirm,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
@ -552,7 +808,7 @@ const reasonOptions = ref<DataOption[]>([
|
||||||
]);
|
]);
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await checkProfileData();
|
// await checkProfileData();
|
||||||
await fetchData();
|
await fetchData();
|
||||||
await changeTab("information");
|
await changeTab("information");
|
||||||
});
|
});
|
||||||
|
|
@ -637,7 +893,7 @@ const uploadImage = async (e: any) => {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.post(config.API.profileAvatarId(profileId.value), formData)
|
.post(config.API.profileAvatarId(profileId.value), formData)
|
||||||
.then((res) => { })
|
.then((res) => {})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
messageError($q, e);
|
messageError($q, e);
|
||||||
})
|
})
|
||||||
|
|
@ -762,96 +1018,72 @@ const closeKp7Short = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const helpPost = () => {
|
const helpPost = () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.placemenHelpGov, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.placemenHelpGov, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const repatriationPost = async () => {
|
const repatriationPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.placemenRepatriation, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.placemenRepatriation, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const appointPost = async () => {
|
const appointPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.placemenAppointment, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.placemenAppointment, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const relocationPost = async () => {
|
const relocationPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.placemenRelocation, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.placemenRelocation, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const outPost = async () => {
|
const outPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.retirementOut, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.retirementOut, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const dischargePost = async () => {
|
const dischargePost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.retirementDischarge, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.retirementDischarge, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const expulsionPost = async () => {
|
const expulsionPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.retirementExpulsion, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.retirementExpulsion, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const otherPost = async () => {
|
const otherPost = async () => {
|
||||||
dialogConfirm(
|
dialogConfirm($q, async () => {
|
||||||
$q,
|
const formData = new FormData();
|
||||||
async () => {
|
formData.append("id", profileId.value);
|
||||||
const formData = new FormData();
|
await http.post(config.API.placemenOther, formData);
|
||||||
formData.append("id", profileId.value);
|
});
|
||||||
await http.post(config.API.placemenOther, formData);
|
};
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const downloadKP7 = () => { };
|
const downloadKP7 = () => {};
|
||||||
|
|
||||||
const downloadKP7Short = () => { };
|
const downloadKP7Short = () => {};
|
||||||
|
|
||||||
const clickKp7 = async () => {
|
const clickKp7 = async () => {
|
||||||
window.open(config.API.profileReportId(profileId.value));
|
window.open(config.API.profileReportId(profileId.value));
|
||||||
|
|
@ -1094,7 +1326,6 @@ const clickSaveDeceased = async () => {
|
||||||
.then(() => {
|
.then(() => {
|
||||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||||
router.push("/deceased");
|
router.push("/deceased");
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
|
|
@ -1102,10 +1333,10 @@ const clickSaveDeceased = async () => {
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
hideLoader();
|
hideLoader();
|
||||||
})
|
});
|
||||||
})
|
})
|
||||||
.onCancel(() => { })
|
.onCancel(() => {})
|
||||||
.onDismiss(() => { });
|
.onDismiss(() => {});
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
icon-right="mdi-open-in-new"
|
icon-right="mdi-open-in-new"
|
||||||
class="q-px-sm"
|
class="q-px-sm"
|
||||||
label="ดูข้อมูลทะเบียนประวัติ"
|
label="ดูข้อมูลทะเบียนประวัติ"
|
||||||
@click="router.push(`/registry/${profileId}`)"
|
@click="router.push(`/registry/${paramsId}`)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12"><q-separator /></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue