เพิ่มเงื่อนไขกรอกให้ครบก่อนส่ง
This commit is contained in:
parent
2143c05a42
commit
0bbf5cde0b
3 changed files with 778 additions and 1099 deletions
|
|
@ -6,13 +6,30 @@
|
|||
<div v-if="routeName == 'addTransfer'">เพิ่มเรื่องขอโอน</div>
|
||||
<div v-else>รายละเอียดเรื่องขอโอน</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-form ref="myform" class="col-12">
|
||||
<q-card bordered>
|
||||
<div class="col-12 row q-col-gutter-md q-pa-md">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-input class="col-12" dense outlined v-model="tranferOrg" label="หน่วยงานที่ขอโอนไป" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12" dense outlined v-model="noteReason" label="เหตุผล" type="textarea" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input
|
||||
class="col-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="tranferOrg"
|
||||
label="หน่วยงานที่ขอโอนไป"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอกหน่วยงานที่ขอโอนไป'}`]"
|
||||
/>
|
||||
<q-input
|
||||
class="col-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="noteReason"
|
||||
label="เหตุผล"
|
||||
type="textarea"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอกเหตุผล'}`]"
|
||||
/>
|
||||
<div class="col-12 row">
|
||||
<q-uploader
|
||||
bordered
|
||||
|
|
@ -25,261 +42,16 @@
|
|||
@added="fileUploadDoc"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- <q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
multiple
|
||||
v-model="file"
|
||||
label="เอกสารเพิ่มเติม"
|
||||
hide-bottom-space
|
||||
accept=".jpg,.png,.pdf,.csv,.doc"
|
||||
lazy-rules
|
||||
:rules="[val => val || 'กรุณาเลือกไฟล์เอกสารเพิ่มเติม']"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12 row q-col-gutter-md q-pa-md">
|
||||
<div class="col-xs-12 col-sm-8 row">
|
||||
<q-card bordered flat>
|
||||
<div class="q-pa-xs bg-grey-2 row items-center q-py-sm q-px-md justify-center text-bold">ข้อมูลการดํารงตําแหน่ง</div>
|
||||
<q-separator />
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-input class="col-12" dense outlined v-model="typeServant" label="ประเภทข้าราชการ(สามัญ/ครู)" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="position" label="ตําแหน่ง" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="level" label="ระดับ" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="positionNum" label="ตําแหน่งเลขที่" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="groupOrga" label="ฝ่าย/กลุ่มงานที่สังกัด" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="affiliation" label="ส่วนที่สังกัด (ถ้ามี)" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="affiliationPart" label="ส่วนราชการที่สังกัด" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="OrganizationPart" label="หน่วยงานที่สังกัด" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="servantAge" label="อายุราชการ" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="salary" label="อัตราเงินเดือน" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="extraSalary" label="เงินเพิ่มพิเศษ" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input
|
||||
class="col-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="positionHistory"
|
||||
label="ประวัติการดํารงตําแหน่ง (ดึงข้อมูลจากระบบทะเบียนประวัติในส่วนของการแต่งตั้งย้ายเลื่อน)"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
/>
|
||||
<q-input class="col-12" dense outlined v-model="transfer" label=" ประวัติเกี่ยวกับวินัย" type="textarea" :readonly="routeName != 'addTransfer'" />
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-8 row">
|
||||
<q-card bordered flat>
|
||||
<div class="q-pa-xs bg-grey-2 row items-center q-py-sm q-px-md justify-center text-bold">ตําแหน่ง ระดับ เลขที่ตําแหน่ง และสังกัดที่ขอโอน</div>
|
||||
<q-separator />
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-input class="col-xs-12 col-sm-6" dense outlined v-model="positionNew" label="ตำแหน่ง" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-xs-12 col-sm-6" dense outlined v-model="salaryNew" label="ระดับ" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="transfer" label="เลขที่ตําแหน่ง" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12 col-sm-6" dense outlined v-model="note" label="สังกัดที่ขอโอน" :readonly="routeName != 'addTransfer'" />
|
||||
<q-input class="col-12" dense outlined v-model="note" label="เหตุผลที่ขอโอน" type="textarea" :readonly="routeName != 'addTransfer'" />
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 row">
|
||||
<q-card bordered flat>
|
||||
<div class="q-pa-xs bg-grey-2 row items-center q-py-sm q-px-md justify-center text-bold">เอกสารหลักฐานที่แนบ</div>
|
||||
<q-separator />
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEdu"
|
||||
label="สําเนาหลักฐานการศึกษา (ปริญญาบัตรประกาศนียบัตร)"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
:rules="[val => val || 'กรุณาเลือกไฟล์สําเนาหลักฐานการศึกษา (ปริญญาบัตรประกาศนียบัตร)']"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileKorkor1"
|
||||
label="สําเนาประวัติราชการ (ก.ก.1)"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
:rules="[val => val || 'กรุณาเลือกไฟล์สําเนาประวัติราชการ (ก.ก.1)']"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file class="col-xs-12 col-sm-12" outlined dense v-model="fileEtc" label="สําเนาเอกสารหลักฐานอื่นๆ" hide-bottom-space lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</q-card>
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<q-card bordered flat>
|
||||
<div class="q-pa-xs bg-grey-2 row items-center q-py-sm q-px-md justify-center text-bold">ความเห็น</div>
|
||||
<q-separator />
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-input
|
||||
class="col-12 col-sm-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="note"
|
||||
label="ความเห็นผู้บังคับบัญชาชั้นต้น (หัวหน้าฝ่าย/กลุ่มงาน)"
|
||||
type="textarea"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
/>
|
||||
<q-input
|
||||
class="col-12 col-sm-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="note"
|
||||
label="ความเห็นผู้บังคับบัญชาเหนือขึ้นไป (ผู้อํานวยการส่วน) (ถ้ามี)"
|
||||
type="textarea"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
/>
|
||||
<q-input
|
||||
class="col-12 col-sm-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="note"
|
||||
label="ความเห็นหัวหน้าส่วนราชการผู้ขอโอน (ผอ. กอง)"
|
||||
type="textarea"
|
||||
:readonly="routeName != 'addTransfer'"
|
||||
/>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<q-card bordered flat>
|
||||
<div class="q-pa-xs bg-grey-2 row items-center q-py-sm q-px-md justify-center text-bold">เอกสารหลักฐาน</div>
|
||||
<q-separator />
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEdu"
|
||||
label="หนังสือถึงหน่วยงานที่รับโอน"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
:rules="[val => val || 'กรุณาเลือกไฟล์หนังสือถึงหน่วยงานที่รับโอน']"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileKorkor1"
|
||||
label="หนังสือถึงสกจ. เพื่อตรวจสอบพฤติการณ์ทางวินัยและภาระหนี้สิน (เงินกู้สวัสดิการข้าราชการ) ของข้าราชการ"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
:rules="[val => val || 'กรุณาเลือกไฟล์หนังสือถึงสกจ. เพื่อตรวจสอบพฤติการณ์ทางวินัยและภาระหนี้สิน (เงินกู้สวัสดิการข้าราชการ) ของข้าราชการ']"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEtc"
|
||||
label="หนังสือถึงสพท. เพื่อตรวจสอบภาระผูกพันกับกรุงเทพมหานครเกี่ยวกับการลาศึกษาอบรมของข้าราชการ"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEtc"
|
||||
label="หนังสือถึงผู้จัดการสหกรณ์ออมทรัพย์กทม. เพื่อตรวจสอบหนี้สินและภาระผูกพันของข้าราชการ"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEtc"
|
||||
label="หนังสือสําคัญการโอนอัตราและจ่ายเงินเดือนสําหรับรับรองการจ่ายเงินเดือนครั้งสุดท้ายและโอนอัตราเงินเดือนตามตัวไปตั้งจ่าย"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file
|
||||
class="col-xs-12 col-sm-12"
|
||||
outlined
|
||||
dense
|
||||
v-model="fileEtc"
|
||||
label="แบบประเมินประสิทธิภาพและประสิทธิผลการปฏิบัติงานของข้าราชการพลเรือนสามัญ"
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file class="col-xs-12 col-sm-12" outlined dense v-model="fileEtc" label="หนังสือรับรองวันลา" hide-bottom-space lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file class="col-xs-12 col-sm-12" outlined dense v-model="fileEtc" label="หนังสือขอโอนจากกทม. ถึงหน่วยงานที่ประสงค์จะโอน" hide-bottom-space lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file class="col-xs-12 col-sm-12" outlined dense v-model="fileEtc" label="หนังสือตอบรับการโอนจากหน่วยงานที่ประสงค์จะโอน" hide-bottom-space lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
<q-file class="col-xs-12 col-sm-12" outlined dense v-model="fileEtc" label="คําสั่งรับโอนจากหน่วยงานที่ประสงค์จะโอน" hide-bottom-space lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>-->
|
||||
<q-separator v-if="routeName == 'addTransfer'" />
|
||||
<div class="row col-12 q-pa-md" v-if="routeName == 'addTransfer'">
|
||||
<q-space />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="primary" label="ยื่นเรื่องขอโอน" @click="saveTransfer" />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="primary" label="ยื่นเรื่องขอโอน" @click="saveData" />
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</q-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -291,11 +63,13 @@ import { useRouter, useRoute } from "vue-router"
|
|||
import { useCounterMixin } from "@/stores/mixin"
|
||||
import http from "@/plugins/http"
|
||||
import config from "@/app.config"
|
||||
import type { QForm } from "quasar"
|
||||
|
||||
const router = useRouter()
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dateToISO, success, messageError, showLoader, hideLoader } = mixin
|
||||
const myform = ref<QForm | null>(null)
|
||||
const { date2Thai, fails, success, messageError, showLoader, hideLoader } = mixin
|
||||
const fileDocDataUpload = ref<File[]>([])
|
||||
const route = useRoute()
|
||||
const files = ref<any>()
|
||||
|
|
@ -313,6 +87,17 @@ onMounted(() => {
|
|||
}
|
||||
})
|
||||
|
||||
const saveData = async () => {
|
||||
console.log(myform.value)
|
||||
if (myform.value != null) {
|
||||
await myform.value.validate().then(async (saveDataTest: Boolean) => {
|
||||
if (saveDataTest) {
|
||||
saveTransfer()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const saveTransfer = () => {
|
||||
$q.dialog({
|
||||
title: "ยืนยันการยื่นข้อมูลการโอน",
|
||||
|
|
@ -327,7 +112,9 @@ const saveTransfer = () => {
|
|||
createTransfer()
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {})
|
||||
.onDismiss(() => {
|
||||
fails($q, "กรุณากรอกอัพโหลดเอกสารเพิ่มเติม")
|
||||
})
|
||||
}
|
||||
|
||||
const createTransfer = async () => {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,20 @@
|
|||
<div v-if="routeName == 'AddLeave'">เพิ่มเรื่องลาออก</div>
|
||||
<div v-else>รายละเอียดเรื่องลาออก</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<q-form ref="myform" class="col-12">
|
||||
<q-card bordered>
|
||||
<div class="col-12 row q-col-gutter-md q-pa-md">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
||||
<q-input class="col-8" dense outlined v-model="tranferOrg" label="สถานที่ยื่นขอลาออกจากราชการ" :readonly="routeName != 'AddLeave'" />
|
||||
<q-input
|
||||
class="col-8"
|
||||
dense
|
||||
outlined
|
||||
v-model="tranferOrg"
|
||||
label="สถานที่ยื่นขอลาออกจากราชการ"
|
||||
:readonly="routeName != 'AddLeave'"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอกสถานที่ยื่นขอลาออกจากราชการ'}`]"
|
||||
/>
|
||||
<datepicker class="col-2" menu-class-name="modalfix" v-model="dateCommand" :locale="'th'" autoApply readonly borderless :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
|
|
@ -70,7 +78,16 @@
|
|||
</q-input>
|
||||
</template>
|
||||
</datepicker>
|
||||
<q-input class="col-12" dense outlined v-model="noteReason" label="เหตุผลที่ลาออกจากราชการ" type="textarea" :readonly="routeName != 'AddLeave'" />
|
||||
<q-input
|
||||
class="col-12"
|
||||
dense
|
||||
outlined
|
||||
v-model="noteReason"
|
||||
label="เหตุผลที่ลาออกจากราชการ"
|
||||
type="textarea"
|
||||
:readonly="routeName != 'AddLeave'"
|
||||
:rules="[val => !!val || `${'กรุณากรอกเหตุผลที่ลาออกจากราชการ'}`]"
|
||||
/>
|
||||
|
||||
<div class="col-12 row">
|
||||
<q-uploader
|
||||
|
|
@ -88,128 +105,80 @@
|
|||
</div>
|
||||
</div>
|
||||
<q-card bordered class="row col-12 text-dark q-mt-sm">
|
||||
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">
|
||||
ผลการพิจารณาของผู้บังคับบัญชา
|
||||
</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">สถานะ</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{
|
||||
dataDetail.commanderReject !== null
|
||||
? statusOrder(dataDetail.commanderReject)
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">วันสุดท้ายที่ยับยั้ง</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{
|
||||
dataDetail.commanderRejectDate !== null
|
||||
? date2Thai(dataDetail.commanderRejectDate)
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 row items-start">
|
||||
<div class="col-12 text-top">ความคิดเห็นและเหตุผล</div>
|
||||
<div
|
||||
class="col-12 text-detail"
|
||||
v-if="dataDetail.commanderReject === false"
|
||||
>
|
||||
{{
|
||||
dataDetail.commanderApproveReason !== null
|
||||
? dataDetail.commanderApproveReason
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
<div
|
||||
class="col-12 text-detail"
|
||||
v-if="dataDetail.commanderReject === true"
|
||||
>
|
||||
{{
|
||||
dataDetail.commanderRejectReason !== null
|
||||
? dataDetail.commanderRejectReason
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">ผลการพิจารณาของผู้บังคับบัญชา</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">สถานะ</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{ dataDetail.commanderReject !== null ? statusOrder(dataDetail.commanderReject) : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">วันสุดท้ายที่ยับยั้ง</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{ dataDetail.commanderRejectDate !== null ? date2Thai(dataDetail.commanderRejectDate) : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 row items-start">
|
||||
<div class="col-12 text-top">ความคิดเห็นและเหตุผล</div>
|
||||
<div class="col-12 text-detail" v-if="dataDetail.commanderReject === false">
|
||||
{{ dataDetail.commanderApproveReason !== null ? dataDetail.commanderApproveReason : "-" }}
|
||||
</div>
|
||||
<div class="col-12 text-detail" v-if="dataDetail.commanderReject === true">
|
||||
{{ dataDetail.commanderRejectReason !== null ? dataDetail.commanderRejectReason : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
|
||||
<q-card bordered class="row col-12 text-dark q-mt-sm">
|
||||
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">
|
||||
ผลการพิจารณาของผู้มีอำนาจ
|
||||
</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">สถานะ</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{
|
||||
dataDetail.oligarchReject !== null
|
||||
? statusOrder(dataDetail.oligarchReject)
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">วันสุดท้ายที่ยับยั้ง</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{
|
||||
dataDetail.oligarchRejectDate !== null
|
||||
? date2Thai(dataDetail.oligarchRejectDate)
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 row items-start">
|
||||
<div class="col-12 text-top">ความคิดเห็นและเหตุผล</div>
|
||||
<div
|
||||
class="col-12 text-detail"
|
||||
v-if="dataDetail.oligarchReject == false"
|
||||
>
|
||||
{{
|
||||
dataDetail.oligarchApproveReason !== null
|
||||
? dataDetail.oligarchApproveReason
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
<div
|
||||
class="col-12 text-detail"
|
||||
v-else-if="dataDetail.oligarchReject == true"
|
||||
>
|
||||
{{
|
||||
dataDetail.oligarchRejectReason !== null
|
||||
? dataDetail.oligarchRejectReason
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
<div class="row col-12 q-pa-md" v-if="routeName != 'AddLeave'">
|
||||
<q-space />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="orange" label="ยกเลิกการลาออก" @click="cancelResing(id.value)" :disable="tranferOrg == '' && noteReason == ''" />
|
||||
</div>
|
||||
<q-card bordered class="row col-12 text-dark q-mt-sm">
|
||||
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">ผลการพิจารณาของผู้มีอำนาจ</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">สถานะ</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{ dataDetail.oligarchReject !== null ? statusOrder(dataDetail.oligarchReject) : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-top">วันสุดท้ายที่ยับยั้ง</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{ dataDetail.oligarchRejectDate !== null ? date2Thai(dataDetail.oligarchRejectDate) : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 row items-start">
|
||||
<div class="col-12 text-top">ความคิดเห็นและเหตุผล</div>
|
||||
<div class="col-12 text-detail" v-if="dataDetail.oligarchReject == false">
|
||||
{{ dataDetail.oligarchApproveReason !== null ? dataDetail.oligarchApproveReason : "-" }}
|
||||
</div>
|
||||
<div class="col-12 text-detail" v-else-if="dataDetail.oligarchReject == true">
|
||||
{{ dataDetail.oligarchRejectReason !== null ? dataDetail.oligarchRejectReason : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
<div class="row col-12 q-pa-md" v-if="routeName != 'AddLeave'">
|
||||
<q-space />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="orange" label="ยกเลิกการลาออก" @click="cancelResing" :disable="tranferOrg == '' && noteReason == ''" />
|
||||
</div>
|
||||
</div>
|
||||
<q-separator v-if="routeName == 'AddLeave'" />
|
||||
<div class="row col-12 q-pa-md" v-if="routeName == 'AddLeave'">
|
||||
<q-space />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="primary" label="ยื่นเรื่องขอลาออก" @click="saveResing" :disable="tranferOrg == '' && noteReason == ''" />
|
||||
<q-btn unelevated dense class="q-px-md items-center" color="primary" label="ยื่นเรื่องขอลาออก" @click="saveData" :disable="tranferOrg == '' && noteReason == ''" />
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</q-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -221,11 +190,13 @@ import { useRouter, useRoute } from "vue-router"
|
|||
import { useCounterMixin } from "@/stores/mixin"
|
||||
import http from "@/plugins/http"
|
||||
import config from "@/app.config"
|
||||
import type { QForm } from "quasar"
|
||||
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dateToISO, success, messageError, showLoader, hideLoader } = mixin
|
||||
const { date2Thai, dateToISO, success, messageError, showLoader, hideLoader, fails } = mixin
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const myform = ref<QForm | null>(null)
|
||||
const $q = useQuasar()
|
||||
const routeName = router.currentRoute.value.name
|
||||
const id = ref<string>("")
|
||||
|
|
@ -238,36 +209,36 @@ const noteReason = ref("")
|
|||
const nameFile = ref<string>("")
|
||||
|
||||
const dataDetail = ref<any>({
|
||||
datetext: "",
|
||||
activeDate: new Date(),
|
||||
createdAt: new Date(),
|
||||
firstName: "",
|
||||
id: "",
|
||||
isActive: true,
|
||||
lastName: "",
|
||||
location: "",
|
||||
organizationPositionOld: "",
|
||||
positionLevelOld: "",
|
||||
positionNumberOld: "",
|
||||
positionTypeOld: "",
|
||||
prefix: "",
|
||||
profileId: "",
|
||||
reason: "",
|
||||
salary: 0,
|
||||
sendDate: new Date(),
|
||||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
});
|
||||
datetext: "",
|
||||
activeDate: new Date(),
|
||||
createdAt: new Date(),
|
||||
firstName: "",
|
||||
id: "",
|
||||
isActive: true,
|
||||
lastName: "",
|
||||
location: "",
|
||||
organizationPositionOld: "",
|
||||
positionLevelOld: "",
|
||||
positionNumberOld: "",
|
||||
positionTypeOld: "",
|
||||
prefix: "",
|
||||
profileId: "",
|
||||
reason: "",
|
||||
salary: 0,
|
||||
sendDate: new Date(),
|
||||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
})
|
||||
|
||||
const statusOrder = (val: boolean) => {
|
||||
switch (val) {
|
||||
case true:
|
||||
return "ยับยั้งการลาออก";
|
||||
case false:
|
||||
return "อนุมัติการลาออก";
|
||||
}
|
||||
};
|
||||
switch (val) {
|
||||
case true:
|
||||
return "ยับยั้งการลาออก"
|
||||
case false:
|
||||
return "อนุมัติการลาออก"
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
if (route.params.id !== undefined) {
|
||||
|
|
@ -275,6 +246,18 @@ onMounted(() => {
|
|||
fectDataresign(id.value)
|
||||
}
|
||||
})
|
||||
|
||||
const saveData = async () => {
|
||||
console.log(myform.value)
|
||||
if (myform.value != null) {
|
||||
await myform.value.validate().then(async (saveDataTest: Boolean) => {
|
||||
if (saveDataTest) {
|
||||
saveResing()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const saveResing = () => {
|
||||
$q.dialog({
|
||||
title: "ยืนยันการยื่นข้อมูลแบบสอบถาม",
|
||||
|
|
@ -289,12 +272,14 @@ const saveResing = () => {
|
|||
createFormresign()
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {})
|
||||
.onDismiss(() => {
|
||||
fails($q, "กรุณากรอกอัพโหลดเอกสารเพิ่มเติม")
|
||||
})
|
||||
}
|
||||
|
||||
const cancelResing = () => {
|
||||
console.log(id);
|
||||
|
||||
console.log(id)
|
||||
|
||||
$q.dialog({
|
||||
title: "ยืนยันการยกเลิกการลาออก",
|
||||
message: "ต้องการยื่นข้อมูลยกเลิกการลาออกนี้ใช่หรือไม่?",
|
||||
|
|
@ -305,33 +290,30 @@ const cancelResing = () => {
|
|||
persistent: true,
|
||||
})
|
||||
.onOk(async () => {
|
||||
if (route.params.id !== undefined) {
|
||||
id.value = route.params.id.toString()
|
||||
deleteResting(id.value)
|
||||
}
|
||||
|
||||
if (route.params.id !== undefined) {
|
||||
id.value = route.params.id.toString()
|
||||
deleteResting(id.value)
|
||||
}
|
||||
})
|
||||
.onCancel(() => {})
|
||||
.onDismiss(() => {})
|
||||
}
|
||||
|
||||
|
||||
const deleteResting = async(id :string) => {
|
||||
const deleteResting = async (id: string) => {
|
||||
showLoader()
|
||||
await http
|
||||
.delete(config.API.resingByid(id))
|
||||
.then(() => {
|
||||
success($q, "ยกเลิกการลาออกขอสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
.delete(config.API.resingByid(id))
|
||||
.then(() => {
|
||||
success($q, "ยกเลิกการลาออกขอสำเร็จ")
|
||||
})
|
||||
.catch(e => {
|
||||
messageError($q, e)
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader()
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const createFormresign = async () => {
|
||||
const formData = new FormData()
|
||||
const blob = files.value.slice(0, files.value[0].size)
|
||||
|
|
@ -364,8 +346,12 @@ const fectDataresign = async (id: string) => {
|
|||
.then((res: any) => {
|
||||
let data = res.data.result
|
||||
// console.log(data);
|
||||
;(tranferOrg.value = data.location), (dateCommand.value = data.sendDate), (dateLeave.value = data.activeDate), (noteReason.value = data.reason), (files.value = data.docs) ,(dataDetail.value = data)
|
||||
|
||||
;(tranferOrg.value = data.location),
|
||||
(dateCommand.value = data.sendDate),
|
||||
(dateLeave.value = data.activeDate),
|
||||
(noteReason.value = data.reason),
|
||||
(files.value = data.docs),
|
||||
(dataDetail.value = data)
|
||||
})
|
||||
.catch((e: any) => {
|
||||
console.log(e)
|
||||
|
|
|
|||
1260
src/stores/mixin.ts
1260
src/stores/mixin.ts
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue