431 lines
29 KiB
Vue
431 lines
29 KiB
Vue
|
|
<script setup lang="ts">
|
||
|
|
import { ref, onMounted, reactive } from "vue"
|
||
|
|
|
||
|
|
//import form
|
||
|
|
import FormPart2 from "@/modules/05_leave/components/formEdit/Form.vue"
|
||
|
|
import WorkInternational from "../components/formEdit/formEdit_WorkInternational.vue"
|
||
|
|
import Rehabilitation from "../components/formEdit/formEdit_Rehabilitation.vue"
|
||
|
|
import Sick from "../components/formEdit/formEdit_Sick.vue"
|
||
|
|
import FollowSpouse from "../components/formEdit/formEdit_FollowSpouse.vue"
|
||
|
|
import Birth from "../components/formEdit/formEdit_Birth.vue"
|
||
|
|
import Vacation from "../components/formEdit/formEdit_Vacation.vue"
|
||
|
|
import HelpWifeBirth from "../components/formEdit/formEdit_HelpWifeBirth.vue"
|
||
|
|
import Ordination from "../components/formEdit/formEdit_Ordinationvue.vue"
|
||
|
|
import Haji from "../components/formEdit/formEdit_Hajj.vue"
|
||
|
|
import Millitary from "../components/formEdit/formEdit_Military.vue"
|
||
|
|
import Study from "../components/formEdit/formEdit_Study.vue"
|
||
|
|
|
||
|
|
import { useCounterMixin } from "@/stores/mixin"
|
||
|
|
import { useQuasar } from "quasar"
|
||
|
|
import { useRoute } from "vue-router"
|
||
|
|
import router from "@/router"
|
||
|
|
import http from "@/plugins/http"
|
||
|
|
import config from "@/app.config"
|
||
|
|
import { useLeaveStore } from "@/modules/05_leave/store"
|
||
|
|
|
||
|
|
const route = useRoute()
|
||
|
|
const personalId = ref<string>(route.params.id as string)
|
||
|
|
console.log(personalId.value)
|
||
|
|
const leaveId = ref<string>("")
|
||
|
|
const dataStore = useLeaveStore()
|
||
|
|
const $q = useQuasar()
|
||
|
|
const mixin = useCounterMixin()
|
||
|
|
const { messageError, showLoader, hideLoader, dialogConfirm, success, date2Thai, dateToISO } = mixin
|
||
|
|
|
||
|
|
const props = defineProps({
|
||
|
|
modal: {
|
||
|
|
type: Boolean,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
leaveId: {
|
||
|
|
type: String,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
onClickClose: {
|
||
|
|
type: Function,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
leaveType: {
|
||
|
|
type: Object,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
leaveStatus: {
|
||
|
|
type: String,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
fetchDataTable: {
|
||
|
|
type: Function,
|
||
|
|
require: true,
|
||
|
|
},
|
||
|
|
})
|
||
|
|
|
||
|
|
const titleName = ref<string>("")
|
||
|
|
const model = ref<string>("")
|
||
|
|
const modelSpecific = ref<string>("")
|
||
|
|
/** Form รายละเอียดข้อมูล*/
|
||
|
|
const formData = reactive<any>({
|
||
|
|
id: "", //Id การยื่นขอลา
|
||
|
|
leaveTypeName: "", // Name ประเภทการลา
|
||
|
|
leaveTypeId: "", //Id ประเภทการลา
|
||
|
|
fullname: "", //คำนำหน้า ชื่อ นามสกุล คนขอลา
|
||
|
|
dateSendLeave: new Date(), // วันที่ยืนใบลา
|
||
|
|
status: "", //สถานะการของลา
|
||
|
|
leaveDateStart: new Date(), //วันเริ่มการลา
|
||
|
|
leaveDateEnd: new Date(), //วันสิ้นสุดการลา
|
||
|
|
leaveCount: 0, //จำนวนวันลา
|
||
|
|
leaveWrote: "", //เขียนที่
|
||
|
|
leaveAddress: "", //สถานที่ติดต่อขณะลา
|
||
|
|
leaveNumber: "", //หมายเลขที่ติดต่อขณะลา
|
||
|
|
leaveDetail: "", //รายละเอียดการลา
|
||
|
|
leaveDocument: "", //อัปโหลดเอกสารประกอบรายละเอียด
|
||
|
|
leaveDraftDocument: "", //อัปโหลดแบบฟอร์มการลา
|
||
|
|
leaveLastStart: new Date(), //ลาครั้งสุดท้ายในประเภทนั้น ๆ เริ่มเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
|
||
|
|
leaveLastEnd: new Date(), //ลาครั้งสุดท้ายในประเภทนั้น ๆ สิ้นสุดเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
|
||
|
|
leaveTotal: 0, //จำนวนวันที่ลา(Auto)
|
||
|
|
leavebirthDate: new Date(), //วันเดือนปีเกิด(Auto)
|
||
|
|
leavegovernmentDate: new Date(), //วันที่เข้ารับราชการ(Auto)
|
||
|
|
leaveSalary: 0, //เงินเดือนปัจจุบัน(Auto)
|
||
|
|
leaveSalaryText: "", //เงินเดือนปัจจุบัน(เขียนเป็นคำอ่าน)
|
||
|
|
leaveTypeDay: "", //ประเภทการลาในวันนั้นเช่น
|
||
|
|
wifeDayName: "", //ชื่อภรรยา(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||
|
|
wifeDayDateBorn: new Date(), //วันที่คลอด(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||
|
|
restDayOldTotal: 0, //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา(ลาพักผ่อน)(Auto)
|
||
|
|
restDayCurrentTotal: 0, //จำนวนวันลาพักผ่อนประจำปีปัจจุบัน(ลาพักผ่อน)(Auto)
|
||
|
|
ordainDayStatus: "", //เคย/ไม่เคยบวช (ให้เลือก) (ลาอุปสมบท)
|
||
|
|
ordainDayLocationName: "", //สถานที่บวช ชื่อวัด(ลาอุปสมบท)
|
||
|
|
ordainDayLocationAddress: "", //สถานที่บวช ที่อยู่(ลาอุปสมบท)
|
||
|
|
ordainDayLocationNumber: "", //สถานที่บวช หมายเลขโทรศัพท์(ลาอุปสมบท)
|
||
|
|
ordainDayOrdination: new Date(), //สถานที่บวช วันอุปสมบท(ลาอุปสมบท)
|
||
|
|
ordainDayBuddhistLentName: "", //สถานที่จำพรรษา ชื่อวัด(ลาอุปสมบท)
|
||
|
|
ordainDayBuddhistLentAddress: "", //สถานที่จำพรรษา ที่อยู่(ลาอุปสมบท)
|
||
|
|
hajjDayStatus: "", //เคย/ไม่เคยไปประกอบพิธีฮัจญ์ (ให้เลือก) (ลาประกอบพิธีฮัจญ์)
|
||
|
|
absentDaySummon: "", //ได้รับหมายเรียกของ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayLocation: "", //ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayRegistorDate: new Date(), //ลงวันที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayGetIn: "", //ให้เข้ารับการ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayAt: "", //ณ ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
studyDaySubject: "", //กรณีลาไปศึกษาต่อ ศึกษาวิชา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayDegreeLevel: "", //กรณีลาไปศึกษาต่อ ขั้นปริญญา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayUniversityName: "", //กรณีลาไปศึกษาต่อ ชื่อสถานศึกษา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayTrainingSubject: "", //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ด้าน/หลักสูตร (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayTrainingName: "", //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ณ สถานที่ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayCountry: "", //ประเทศ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayScholarship: "", //ด้วยทุน (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
coupleDayName: "", //ชื่อคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayPosition: "", //ตำแหน่งคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayLevel: "", //ระดับคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayLevelCountry: "", //ไปปฏิบัติราชการ ณ ประเทศ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayCountryHistory: "", //ประวัติ ประเทศ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayTotalHistory: "", //ประวัติ เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||
|
|
approveStep: "",
|
||
|
|
dear: "",
|
||
|
|
})
|
||
|
|
|
||
|
|
/**เมื่อเริ่มโหลดหน้า
|
||
|
|
* เรียกใช้งาน fetchData เพื่อดึงข้อมูล
|
||
|
|
*/
|
||
|
|
onMounted(() => {
|
||
|
|
fetchDataDetail(personalId.value)
|
||
|
|
dataStore.fetchProfile()
|
||
|
|
})
|
||
|
|
|
||
|
|
/**
|
||
|
|
* get ข้อมูลเก่ากรณีแก้ไขข้อมูล
|
||
|
|
*/
|
||
|
|
const data = reactive<any>({
|
||
|
|
id: "", //Id การยื่นขอลา
|
||
|
|
leaveTypeName: "", // Name ประเภทการลา
|
||
|
|
leaveTypeId: "", //Id ประเภทการลา
|
||
|
|
fullname: "", //คำนำหน้า ชื่อ นามสกุล คนขอลา
|
||
|
|
dateSendLeave: new Date(), // วันที่ยืนใบลา
|
||
|
|
status: "", //สถานะการของลา
|
||
|
|
leaveDateStart: new Date(), //วันเริ่มการลา
|
||
|
|
leaveDateEnd: new Date(), //วันสิ้นสุดการลา
|
||
|
|
leaveCount: 0, //จำนวนวันลา
|
||
|
|
leaveWrote: "", //เขียนที่
|
||
|
|
leaveAddress: "", //สถานที่ติดต่อขณะลา
|
||
|
|
leaveNumber: "", //หมายเลขที่ติดต่อขณะลา
|
||
|
|
leaveDetail: "", //รายละเอียดการลา
|
||
|
|
leaveDocument: "", //อัปโหลดเอกสารประกอบรายละเอียด
|
||
|
|
leaveDraftDocument: "", //อัปโหลดแบบฟอร์มการลา
|
||
|
|
leaveLastStart: new Date(), //ลาครั้งสุดท้ายในประเภทนั้น ๆ เริ่มเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
|
||
|
|
leaveLastEnd: new Date(), //ลาครั้งสุดท้ายในประเภทนั้น ๆ สิ้นสุดเมื่อวันที่(ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว)(Auto)
|
||
|
|
leaveTotal: 0, //จำนวนวันที่ลา(Auto)
|
||
|
|
leavebirthDate: new Date(), //วันเดือนปีเกิด(Auto)
|
||
|
|
leavegovernmentDate: new Date(), //วันที่เข้ารับราชการ(Auto)
|
||
|
|
leaveSalary: 0, //เงินเดือนปัจจุบัน(Auto)
|
||
|
|
leaveSalaryText: "", //เงินเดือนปัจจุบัน(เขียนเป็นคำอ่าน)
|
||
|
|
leaveTypeDay: "", //ประเภทการลาในวันนั้นเช่น
|
||
|
|
wifeDayName: "", //ชื่อภรรยา(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||
|
|
wifeDayDateBorn: new Date(), //วันที่คลอด(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||
|
|
restDayOldTotal: 0, //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา(ลาพักผ่อน)(Auto)
|
||
|
|
restDayCurrentTotal: 0, //จำนวนวันลาพักผ่อนประจำปีปัจจุบัน(ลาพักผ่อน)(Auto)
|
||
|
|
ordainDayStatus: "", //เคย/ไม่เคยบวช (ให้เลือก) (ลาอุปสมบท)
|
||
|
|
ordainDayLocationName: "", //สถานที่บวช ชื่อวัด(ลาอุปสมบท)
|
||
|
|
ordainDayLocationAddress: "", //สถานที่บวช ที่อยู่(ลาอุปสมบท)
|
||
|
|
ordainDayLocationNumber: "", //สถานที่บวช หมายเลขโทรศัพท์(ลาอุปสมบท)
|
||
|
|
ordainDayOrdination: new Date(), //สถานที่บวช วันอุปสมบท(ลาอุปสมบท)
|
||
|
|
ordainDayBuddhistLentName: "", //สถานที่จำพรรษา ชื่อวัด(ลาอุปสมบท)
|
||
|
|
ordainDayBuddhistLentAddress: "", //สถานที่จำพรรษา ที่อยู่(ลาอุปสมบท)
|
||
|
|
hajjDayStatus: "", //เคย/ไม่เคยไปประกอบพิธีฮัจญ์ (ให้เลือก) (ลาประกอบพิธีฮัจญ์)
|
||
|
|
absentDaySummon: "", //ได้รับหมายเรียกของ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayLocation: "", //ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayRegistorDate: new Date(), //ลงวันที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayGetIn: "", //ให้เข้ารับการ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
absentDayAt: "", //ณ ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||
|
|
studyDaySubject: "", //กรณีลาไปศึกษาต่อ ศึกษาวิชา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayDegreeLevel: "", //กรณีลาไปศึกษาต่อ ขั้นปริญญา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayUniversityName: "", //กรณีลาไปศึกษาต่อ ชื่อสถานศึกษา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayTrainingSubject: "", //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ด้าน/หลักสูตร (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayTrainingName: "", //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ณ สถานที่ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayCountry: "", //ประเทศ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
studyDayScholarship: "", //ด้วยทุน (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||
|
|
coupleDayName: "", //ชื่อคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayPosition: "", //ตำแหน่งคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayLevel: "", //ระดับคู่สมรส (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayLevelCountry: "", //ไปปฏิบัติราชการ ณ ประเทศ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayCountryHistory: "", //ประวัติ ประเทศ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayTotalHistory: "", //ประวัติ เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||
|
|
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||
|
|
approveStep: "",
|
||
|
|
dear: "",
|
||
|
|
})
|
||
|
|
/**
|
||
|
|
* function เรียกข้อมูลการลา
|
||
|
|
* @param id การลา
|
||
|
|
*/
|
||
|
|
async function fetchDataDetail(id: string) {
|
||
|
|
showLoader()
|
||
|
|
await http
|
||
|
|
.get(config.API.leaveUserId(id), {})
|
||
|
|
.then(res => {
|
||
|
|
const data = res.data.result
|
||
|
|
titleName.value = data.fullName ?? "-"
|
||
|
|
formData.id = data.id ?? "-"
|
||
|
|
formData.leaveTypeName = data.leaveTypeName ?? "-"
|
||
|
|
formData.leaveTypeId = data.leaveTypeId ?? "-"
|
||
|
|
formData.fullname = data.fullName ?? "-"
|
||
|
|
formData.dateSendLeave = data.dateSendLeave && date2Thai(data.dateSendLeave)
|
||
|
|
formData.status = data.status ?? "-"
|
||
|
|
formData.leaveDateStart = data.leaveStartDate && date2Thai(data.leaveStartDate)
|
||
|
|
console.log(formData.leaveDateStart)
|
||
|
|
formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate)
|
||
|
|
console.log(formData.leaveDateEnd)
|
||
|
|
formData.leaveCount = data.leaveTotal ?? "-"
|
||
|
|
formData.leaveWrote = data.leaveWrote ?? "-"
|
||
|
|
formData.leaveAddress = data.leaveAddress ?? "-"
|
||
|
|
formData.leaveNumber = data.leaveNumber ?? "-"
|
||
|
|
formData.leaveDetail = data.leaveDetail ?? "-"
|
||
|
|
formData.leaveDocument = data.leaveDocument
|
||
|
|
formData.leaveDraftDocument = data.leaveDraftDocument
|
||
|
|
formData.leaveLastStart = data.leaveLastStart && date2Thai(data.leaveLastStart)
|
||
|
|
formData.leaveLastEnd = data.leaveLastStart && date2Thai(data.leaveLastEnd)
|
||
|
|
formData.leaveTotal = data.leaveTotal
|
||
|
|
formData.leavebirthDate = data.leaveBirthDate && date2Thai(data.leaveBirthDate)
|
||
|
|
formData.leavegovernmentDate = data.leaveGovernmentDate && date2Thai(data.leaveGovernmentDate)
|
||
|
|
formData.leaveSalary = data.leaveSalary ?? "-"
|
||
|
|
formData.leaveSalaryText = data.leaveSalaryText ?? "-"
|
||
|
|
formData.wifeDayName = data.wifeDayName ?? "-"
|
||
|
|
formData.wifeDayDateBorn = data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn)
|
||
|
|
formData.restDayOldTotal = data.restDayOldTotal ?? "-"
|
||
|
|
formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-"
|
||
|
|
formData.ordainDayStatus = data.ordainDayStatus ? "เคย" : "ไม่เคยบวช"
|
||
|
|
formData.ordainDayLocationName = data.ordainDayLocationName ?? "-"
|
||
|
|
formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-"
|
||
|
|
formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-"
|
||
|
|
formData.ordainDayOrdination = data.ordainDayOrdination && date2Thai(data.ordainDayOrdination)
|
||
|
|
formData.ordainDayBuddhistLentName = data.ordainDayBuddhistLentName ?? "-"
|
||
|
|
formData.ordainDayBuddhistLentAddress = data.ordainDayBuddhistLentAddress ?? "-"
|
||
|
|
formData.hajjDayStatus = data.hajjDayStatus ? "เคย" : "ไม่เคยไปประกอบพิธีฮัจญ์"
|
||
|
|
formData.absentDaySummon = data.absentDaySummon ?? "-"
|
||
|
|
formData.absentDayLocation = data.absentDayLocation ?? "-"
|
||
|
|
formData.absentDayRegistorDate = data.absentDayRegistorDate && date2Thai(data.absentDayRegistorDate)
|
||
|
|
formData.absentDayGetIn = data.absentDayGetIn ?? "-"
|
||
|
|
formData.absentDayAt = data.absentDayAt ?? "-"
|
||
|
|
formData.studyDaySubject = data.studyDaySubject ?? "-"
|
||
|
|
formData.studyDayDegreeLevel = data.studyDayDegreeLevel ?? "-"
|
||
|
|
formData.studyDayUniversityName = data.studyDayUniversityName ?? "-"
|
||
|
|
formData.studyDayTrainingSubject = data.studyDayTrainingSubject ?? "-" ?? "-"
|
||
|
|
formData.studyDayTrainingName = data.studyDayTrainingName ?? "-"
|
||
|
|
formData.studyDayCountry = data.studyDayCountry ?? "-"
|
||
|
|
formData.studyDayScholarship = data.studyDayScholarship ?? "-"
|
||
|
|
formData.coupleDayName = data.coupleDayName ?? "-"
|
||
|
|
formData.coupleDayPosition = data.coupleDayPosition ?? "-"
|
||
|
|
formData.coupleDayLevel = data.coupleDayLevel ?? "-"
|
||
|
|
formData.coupleDayLevelCountry = data.coupleDayLevelCountry ?? "-"
|
||
|
|
formData.coupleDayCountryHistory = data.coupleDayCountryHistory ?? "-"
|
||
|
|
formData.coupleDayTotalHistory = data.coupleDayTotalHistory ?? "-"
|
||
|
|
formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory && date2Thai(data.coupleDayStartDateHistory)
|
||
|
|
formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory)
|
||
|
|
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory ?? "-"
|
||
|
|
formData.approveStep = data.approveStep ?? "-"
|
||
|
|
formData.dear = data.dear ?? "-"
|
||
|
|
checkLeaveType(formData.leaveTypeId, formData.leaveTypeName)
|
||
|
|
})
|
||
|
|
.catch(err => {
|
||
|
|
props.onClickClose?.()
|
||
|
|
messageError($q, err)
|
||
|
|
})
|
||
|
|
.finally(() => {
|
||
|
|
hideLoader()
|
||
|
|
})
|
||
|
|
}
|
||
|
|
console.log(formData)
|
||
|
|
|
||
|
|
/**
|
||
|
|
* function check ประเภทการลา
|
||
|
|
* @param leaveTypeId ประเภทการลา
|
||
|
|
* @param leaveTypeName ประเภทการลา
|
||
|
|
*/
|
||
|
|
/**checkForm Form การลา*/
|
||
|
|
const checkForm = ref<string>("")
|
||
|
|
function checkLeaveType(leaveTypeId: string, leaveTypeName: string) {
|
||
|
|
if (props.leaveType) {
|
||
|
|
const filtertype = props.leaveType.find((e: any) => e.id === leaveTypeId)
|
||
|
|
const type = filtertype.code
|
||
|
|
if (type === "LV-001" || type === "LV-002" || type === "LV-003") {
|
||
|
|
checkForm.value = "FormLeave"
|
||
|
|
} else if (type === "LV-004") {
|
||
|
|
checkForm.value = "FormChildbirth"
|
||
|
|
} else if (type === "LV-005") {
|
||
|
|
checkForm.value = "FormHoliday"
|
||
|
|
} else if (type === "LV-006") {
|
||
|
|
checkForm.value = "FormUpasom"
|
||
|
|
} else if (type === "LV-006" && leaveTypeName === "พิธีฮัจญ์ฯ") {
|
||
|
|
checkForm.value = "FormHajj"
|
||
|
|
} else if (type === "LV-007") {
|
||
|
|
checkForm.value = "FormCheckSelect"
|
||
|
|
} else if (type === "LV-008" && leaveTypeName === "ลาไปศีกษา") {
|
||
|
|
checkForm.value = "FormStudy"
|
||
|
|
} else if (type === "LV-008") {
|
||
|
|
checkForm.value = "FormLeaveToTraining"
|
||
|
|
} else if (type === "LV-009") {
|
||
|
|
checkForm.value = "FormLeaveToWorkInternational"
|
||
|
|
} else if (type === "LV-010") {
|
||
|
|
checkForm.value = "FormSpouse"
|
||
|
|
} else if (type === "LV-011") {
|
||
|
|
checkForm.value = "FormVocationalRehabilitation"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* บันทึกข้อมูลที่เเก้ไข
|
||
|
|
* @param id ระบุ บุคคล
|
||
|
|
*/
|
||
|
|
function onSubmit(formData: FormData) {
|
||
|
|
// dialogConfirm($q, () => putData(formData));
|
||
|
|
console.log(personalId.value)
|
||
|
|
}
|
||
|
|
|
||
|
|
// function putData(formData: any) {
|
||
|
|
// showLoader();
|
||
|
|
// http
|
||
|
|
// .put(config.API.meetingById(personalId.value), {
|
||
|
|
// round: formData.rounded ?? "",
|
||
|
|
// tittle: formData.title,
|
||
|
|
// dateStart: dateToISO(formData.dateMeetingStart),
|
||
|
|
// dateEnd: dateToISO(formData.dateMeetingEnd),
|
||
|
|
// result: formData.consider,
|
||
|
|
// duration: formData.period,
|
||
|
|
// })
|
||
|
|
// .then((res) => {
|
||
|
|
// success($q, "บันทึกข้อมูลสำเร็จ");
|
||
|
|
// })
|
||
|
|
// .catch((e) => {
|
||
|
|
// messageError($q, e);
|
||
|
|
// })
|
||
|
|
// .finally(async () => {
|
||
|
|
// hideLoader();
|
||
|
|
// router.push(`/evaluate/meeting`);
|
||
|
|
// });
|
||
|
|
// }
|
||
|
|
</script>
|
||
|
|
<template>
|
||
|
|
<div class="col-12 row justify-center">
|
||
|
|
<div class="col-xs-12 col-sm-12 col-md-11">
|
||
|
|
<div class="toptitle text-white col-12 row items-center">
|
||
|
|
<q-btn to="/leave" icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" />
|
||
|
|
<div>แก้ไขยื่นใบลา {{ formData.leaveTypeName }} {{ leaveId }}</div>
|
||
|
|
</div>
|
||
|
|
<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 style="display: flex; align-items: center">
|
||
|
|
<q-icon name="mdi-numeric-1-circle" size="20px" color="primary" />
|
||
|
|
<div class="q-pl-sm text-weight-bold text-dark">เลือกประเภทการลา</div>
|
||
|
|
</div>
|
||
|
|
<div class="q-py-sm q-px-lg">
|
||
|
|
<div class="row">
|
||
|
|
<q-select
|
||
|
|
dense
|
||
|
|
class="col-12 col-sm-6 col-md-4 inputgreen"
|
||
|
|
outlined
|
||
|
|
v-model="formData.leaveTypeName"
|
||
|
|
option-value="code"
|
||
|
|
option-label="name"
|
||
|
|
emit-value
|
||
|
|
map-options
|
||
|
|
prefix="ประเภทใบลา :"
|
||
|
|
/>
|
||
|
|
</div>
|
||
|
|
<div class="row q-mt-sm">
|
||
|
|
<div class="col-12 col-sm-6 col-md-3" v-if="model === 'LV-006' || model === 'LV-008'">
|
||
|
|
<q-select
|
||
|
|
dense
|
||
|
|
outlined
|
||
|
|
v-model="modelSpecific"
|
||
|
|
:options="model === 'LV-006' ? dataStore.optionsOrdination : dataStore.optionsSpecific"
|
||
|
|
option-value="code"
|
||
|
|
option-label="name"
|
||
|
|
emit-value
|
||
|
|
map-options
|
||
|
|
prefix="ประเภทการลา :"
|
||
|
|
@update:model-value="dataStore.typeConvert(model, modelSpecific)"
|
||
|
|
/>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- v-if (ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์||ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน) -->
|
||
|
|
</div>
|
||
|
|
<div>
|
||
|
|
<div style="display: flex; align-items: center">
|
||
|
|
<q-icon name="mdi-numeric-2-circle" size="20px" color="primary" />
|
||
|
|
<div class="q-pl-sm text-weight-bold text-dark">ข้อมูลการลา</div>
|
||
|
|
</div>
|
||
|
|
<FormPart2 :model="model" :data="formData" :leaveTypeId="formData.leaveTypeId" />
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<div class="col-12">
|
||
|
|
<Sick :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาป่วย' || formData.leaveTypeName === 'ลากิจส่วนตัว'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Birth :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาคลอดบุตร'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<HelpWifeBirth :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาไปช่วยเหลือภริยาที่คลอดบุตร'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Vacation :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาพักผ่อน'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Ordination :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาอุปสมบทหรือการลาประกอบพิธีฮัจญ์ฯ'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Haji :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาอุปสมบทหรือการลาประกอบพิธีฮัจญ์ฯ'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Millitary :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<WorkInternational ::on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาไปปฏิบัติงานในองค์การระหว่างประเทศ'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Study :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<FollowSpouse :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาติดตามคู่สมรส'" :data="formData" :leaveId="leaveId" />
|
||
|
|
<Rehabilitation :on-submit="onSubmit" v-if="formData.leaveTypeName === 'ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ'" :data="formData" :leaveId="leaveId" />
|
||
|
|
</div>
|
||
|
|
<!-- <div class="toptitle col-12 row items-center">
|
||
|
|
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="" class="q-mr-sm" @click="router.push(`/evaluate/meeting`)" />
|
||
|
|
<div class="text-white q-pl-sm">ยื่นขอลา {{ formData.leaveTypeName }} {{ leaveId }}</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<WorkInternational v-if="checkForm === 'FormLeaveToWorkInternational'" :on-submit="onSubmit" :data="formData" />
|
||
|
|
v-if="checkForm === 'FormVocationalRehabilitation'" -->
|
||
|
|
</div>
|
||
|
|
</q-card>
|
||
|
|
</q-form>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</template>
|