<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>
