ต่อ api เพิ่ม form การลา
This commit is contained in:
parent
8b7d83e1d7
commit
26667a4d22
20 changed files with 1555 additions and 750 deletions
|
|
@ -23,6 +23,7 @@ import type { QForm } from "quasar"
|
|||
import { useCounterMixin } from "@/stores/mixin"
|
||||
|
||||
const dataStore = useLeaveStore()
|
||||
const { fetchLeaveType } = dataStore
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai, dialogConfirm, success, messageError } = mixin
|
||||
const router = useRouter()
|
||||
|
|
@ -33,7 +34,9 @@ const $q = useQuasar()
|
|||
const model = ref<string>("")
|
||||
const modelSpecific = ref<string>("")
|
||||
|
||||
// onMounted(() => {});
|
||||
onMounted(async () => {
|
||||
await fectOptionType()
|
||||
})
|
||||
|
||||
const saveAbsence = () => {
|
||||
$q.dialog({
|
||||
|
|
@ -47,9 +50,9 @@ const saveAbsence = () => {
|
|||
})
|
||||
.onOk(() => {
|
||||
// createFormresign()
|
||||
if (model.value !== "7") {
|
||||
if (model.value !== "LV-007") {
|
||||
console.log(1)
|
||||
} else if (model.value === "7") {
|
||||
} else if (model.value === "LV-007") {
|
||||
console.log(2)
|
||||
}
|
||||
router.push(`/leave`)
|
||||
|
|
@ -58,69 +61,107 @@ const saveAbsence = () => {
|
|||
.onDismiss(() => {})
|
||||
}
|
||||
/** ฟังก์ชั่น บันทึก */
|
||||
const onSubmit = async (formData: any) => {
|
||||
const onSubmit = async () => {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
console.log(formData)
|
||||
saveformdata(formData)
|
||||
await saveformdata()
|
||||
},
|
||||
"ยืนยันการยื่นใบลา",
|
||||
"ต้องการยืนยันการยื่นใบลานี้ใช่หรือไม่ ?"
|
||||
)
|
||||
console.log(formData)
|
||||
console.log(formData.leaveWrote)
|
||||
|
||||
console.log("save")
|
||||
}
|
||||
|
||||
async function saveformdata(formData: any) {
|
||||
async function fectOptionType() {
|
||||
await http
|
||||
.get(config.API.leaveType())
|
||||
.then(async res => {
|
||||
const data = res.data.result
|
||||
await fetchLeaveType(data)
|
||||
})
|
||||
.catch(err => {
|
||||
messageError($q, err)
|
||||
})
|
||||
}
|
||||
|
||||
async function FetchCheck(formData: any) {
|
||||
await http
|
||||
.post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, leaveStartDate: formData.leaveStartDate ?? null, leaveEndDate: formData.leaveEndDate ?? null })
|
||||
.then((res: any) => {
|
||||
const data = res.data.result
|
||||
formData.dateStart = data.isLeave
|
||||
formData.subject = data.sumDateWork
|
||||
formData.leaveabsentDaySummon = data.totalDate
|
||||
})
|
||||
.catch((e: any) => {
|
||||
messageError($q, e)
|
||||
})
|
||||
}
|
||||
|
||||
async function saveformdata() {
|
||||
const formData = new FormData()
|
||||
|
||||
// if (formDataLeave.value.leaveDocument > 0) {
|
||||
// const blob = formDataLeave.value.leaveDocument.slice(0, formDataLeave.value.leaveDocument[0].size)
|
||||
// const newFile = new File(blob, nameFile.value, {
|
||||
// type: formDataLeave.value.leaveDocument[0].type,
|
||||
// })
|
||||
// formData.append("leaveDocument", newFile)
|
||||
// }
|
||||
// if (formDataLeave.value.leaveDraftDocument > 0) {
|
||||
// const blob = formDataLeave.value.leaveDraftDocument.slice(0, formDataLeave.value.leaveDraftDocument[0].size)
|
||||
// const newFileDraft = new File(blob, nameFile.value, {
|
||||
// type: formDataLeave.value.leaveDraftDocument[0].type,
|
||||
// })
|
||||
// formData.append("leaveDraftDocument", newFileDraft)
|
||||
// }
|
||||
formData.append("type", "6d8430db-da6d-4234-8499-6c98ea1de1cd")
|
||||
// formData.append("leaveStartDate", formDataLeave.value.leaveStartDate)
|
||||
// formData.append("leaveEndDate", formDataLeave.value.leaveEndDate)
|
||||
// formData.append("leaveWrote", formDataLeave.value.leaveWrote)
|
||||
// formData.append("leaveAddress", formDataLeave.value.leaveAddress)
|
||||
// formData.append("leaveNumber", formDataLeave.value.leaveNumber)
|
||||
// formData.append("leaveDetail", formDataLeave.value.leaveDetail)
|
||||
// formData.append("leaveSalaryText", formDataLeave.value.leaveSalaryText)
|
||||
// formData.append("wifeDayName", formDataLeave.value.wifeDayName)
|
||||
// formData.append("wifeDayDateBorn", formDataLeave.value.wifeDayDateBorn)
|
||||
// formData.append("restDayOldTotal", formDataLeave.value.restDayOldTotal)
|
||||
// formData.append("restDayCurrentTotal", formDataLeave.value.restDayCurrentTotal)
|
||||
// formData.append("ordainDayStatus", formDataLeave.value.ordainDayStatus)
|
||||
// formData.append("ordainDayLocationName", formDataLeave.value.ordainDayLocationName)
|
||||
// formData.append("ordainDayLocationAddress", formDataLeave.value.ordainDayLocationAddress)
|
||||
// formData.append("ordainDayLocationNumber", formDataLeave.value.ordainDayLocationNumber)
|
||||
// formData.append("ordainDayOrdination", formDataLeave.value.ordainDayOrdination)
|
||||
// formData.append("ordainDayBuddhistLentName", formDataLeave.value.ordainDayBuddhistLentName)
|
||||
// formData.append("ordainDayBuddhistLentAddress", formDataLeave.value.ordainDayBuddhistLentAddress)
|
||||
// formData.append("hajjDayStatus", formDataLeave.value.hajjDayStatus)
|
||||
// formData.append("absentDaySummon", formDataLeave.value.absentDaySummon)
|
||||
// formData.append("absentDayLocation", formDataLeave.value.absentDayLocation)
|
||||
// formData.append("absentDayRegistorDate", formDataLeave.value.absentDayRegistorDate)
|
||||
// formData.append("absentDayGetIn", formDataLeave.value.absentDayGetIn)
|
||||
// formData.append("absentDayAt", formDataLeave.value.absentDayAt)
|
||||
// formData.append("studyDaySubject", formDataLeave.value.studyDaySubject)
|
||||
// formData.append("studyDayDegreeLevel", formDataLeave.value.studyDayDegreeLevel)
|
||||
// formData.append("studyDayUniversityName", formDataLeave.value.studyDayUniversityName)
|
||||
// formData.append("studyDayTrainingSubject", formDataLeave.value.studyDayTrainingSubject)
|
||||
// formData.append("studyDayTrainingName", formDataLeave.value.studyDayTrainingName)
|
||||
// formData.append("studyDayCountry", formDataLeave.value.studyDayCountry)
|
||||
// formData.append("studyDayScholarship", formDataLeave.value.studyDayScholarship)
|
||||
// formData.append("coupleDayName", formDataLeave.value.coupleDayName)
|
||||
// formData.append("coupleDayPosition", formDataLeave.value.coupleDayPosition)
|
||||
// formData.append("coupleDayLevel", formDataLeave.value.coupleDayLevel)
|
||||
// formData.append("coupleDayLevelCountry", formDataLeave.value.coupleDayLevelCountry)
|
||||
// formData.append("coupleDayCountryHistory", formDataLeave.value.coupleDayCountryHistory)
|
||||
// formData.append("coupleDayTotalHistory", formDataLeave.value.coupleDayTotalHistory)
|
||||
// formData.append("coupleDayStartDateHistory", formDataLeave.value.coupleDayStartDateHistory)
|
||||
// formData.append("coupleDayEndDateHistory", formDataLeave.value.coupleDayEndDateHistory)
|
||||
// formData.append("coupleDaySumTotalHistory", formDataLeave.value.coupleDaySumTotalHistory)
|
||||
// formData.append("leaveSalary", formDataLeave.value.leaveSalary)
|
||||
await http
|
||||
.post(config.API.leaveUser(), {
|
||||
type: formData.id ?? null,
|
||||
leaveStartDate: formData.leaveStartDate ?? null,
|
||||
leaveEndDate: formData.leaveEndDate ?? null,
|
||||
leaveWrote: formData.leaveWrote ?? null ?? null, //เขียนที่
|
||||
leaveAddress: formData.leaveAddress ?? null, //สถานที่ติดต่อขณะลา
|
||||
leaveNumber: formData.leaveNumber ?? null, //หมายเลขที่ติดต่อขณะลา
|
||||
leaveDetail: formData.leaveDetail ?? null, //รายละเอียดการลา
|
||||
leaveDocument: formData.leaveDocument ?? null, //อัปโหลดเอกสารประกอบรายละเอียด
|
||||
leaveDraftDocument: formData.leaveDraftDocument ?? null, //อัปโหลดแบบฟอร์มการลา
|
||||
leaveSalaryText: formData.leaveSalaryText ?? null, //เงินเดือนปัจจุบัน (เขียนเป็นคำอ่าน)
|
||||
wifeDayName: formData.wifeDayName ?? null, //ชื่อภรรยา(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||||
wifeDayDateBorn: formData.wifeDayDateBorn ?? null, //วันที่คลอด(ลาไปช่วยเหลือภริยาที่คลอดบุตร)
|
||||
restDayOldTotal: formData.restDayOldTotal ?? null, //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา(ลาพักผ่อน)(Auto)
|
||||
restDayCurrentTotal: formData.restDayCurrentTotal ?? null, //จำนวนวันลาพักผ่อนประจำปีปัจจุบัน(ลาพักผ่อน)(Auto)
|
||||
ordainDayStatus: formData.ordainDayStatus ?? null, //เคย/ไม่เคยบวช (ให้เลือก) (ลาอุปสมบท)
|
||||
ordainDayLocationName: formData.ordainDayLocationName ?? null, //สถานที่บวช ชื่อวัด(ลาอุปสมบท)
|
||||
ordainDayLocationAddress: formData.ordainDayLocationAddress ?? null, //สถานที่บวช ที่อยู่(ลาอุปสมบท)
|
||||
ordainDayLocationNumber: formData.ordainDayLocationNumber ?? null, //สถานที่บวช หมายเลขโทรศัพท์(ลาอุปสมบท)
|
||||
ordainDayOrdination: formData.ordainDayOrdination ?? null, //สถานที่บวช วันอุปสมบท(ลาอุปสมบท)
|
||||
ordainDayBuddhistLentName: formData.ordainDayBuddhistLentName ?? null, //สถานที่จำพรรษา ชื่อวัด(ลาอุปสมบท)
|
||||
ordainDayBuddhistLentAddress: formData.ordainDayBuddhistLentAddress ?? null, //สถานที่จำพรรษา ที่อยู่(ลาอุปสมบท)
|
||||
hajjDayStatus: formData.hajjDayStatus ?? null, //เคย/ไม่เคยไปประกอบพิธีฮัจย์ (ให้เลือก) (ลาประกอบพิธีฮัจย์)
|
||||
absentDaySummon: formData.absentDaySummon ?? null, //ได้รับหมายเรียกของ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||||
absentDayLocation: formData.absentDayLocation ?? null, //ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||||
absentDayRegistorDate: formData.absentDayRegistorDate ?? null, //ลงวันที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||||
absentDayGetIn: formData.absentDayGetIn ?? null, //ให้เข้ารับการ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||||
absentDayAt: formData.absentDayAt ?? null, //ณ ที่ (ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล)
|
||||
studyDaySubject: formData.studyDaySubject ?? null, //กรณีลาไปศึกษาต่อ ศึกษาวิชา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayDegreeLevel: formData.studyDayDegreeLevel ?? null, //กรณีลาไปศึกษาต่อ ขั้นปริญญา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayUniversityName: formData.studyDayUniversityName ?? null, //กรณีลาไปศึกษาต่อ ชื่อสถานศึกษา (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayTrainingSubject: formData.studyDayTrainingSubject ?? null, //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ด้าน/หลักสูตร (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayTrainingName: formData.studyDayTrainingName ?? null, //กรณีลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน ณ สถานที่ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayCountry: formData.studyDayCountry ?? null, //ประเทศ (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
studyDayScholarship: formData.studyDayScholarship ?? null, //ด้วยทุน (ลาไปศึกษา ฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน)
|
||||
coupleDayName: formData.coupleDayName ?? null, //ชื่อคู่สมรส (ลาติดตามคู่สมรส)
|
||||
coupleDayPosition: formData.coupleDayPosition ?? null, //ตำแหน่งคู่สมรส (ลาติดตามคู่สมรส)
|
||||
coupleDayLevel: formData.coupleDayLevel ?? null, //ระดับคู่สมรส (ลาติดตามคู่สมรส)
|
||||
coupleDayLevelCountry: formData.coupleDayLevelCountry ?? null, //ไปปฏิบัติราชการ ณ ประเทศ (ลาติดตามคู่สมรส)
|
||||
coupleDayCountryHistory: formData.coupleDayCountryHistory ?? null, //ประวัติ ประเทศ (ลาติดตามคู่สมรส)
|
||||
coupleDayTotalHistory: formData.coupleDayTotalHistory ?? null, //ประวัติ เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||
coupleDayStartDateHistory: formData.coupleDayStartDateHistory ?? null, //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||||
coupleDayEndDateHistory: formData.coupleDayEndDateHistory ?? null, //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||||
coupleDaySumTotalHistory: formData.coupleDaySumTotalHistory ?? null, //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||
leaveSalary: formData.leaveSalary,
|
||||
formData,
|
||||
})
|
||||
.then((res: any) => {
|
||||
success($q, "บันทึกสำเร็จ")
|
||||
|
|
@ -156,22 +197,22 @@ async function saveformdata(formData: any) {
|
|||
outlined
|
||||
v-model="model"
|
||||
:options="dataStore.options"
|
||||
option-value="id"
|
||||
option-value="code"
|
||||
option-label="name"
|
||||
emit-value
|
||||
map-options
|
||||
prefix="ประเภทใบลา :"
|
||||
@update:model-value="dataStore.typeConvert(model, null), (modelSpecific = '')"
|
||||
@update:model-value="dataStore.typeConvert(model, null), (modelSpecific = ''), dataStore.fetchProfile()"
|
||||
/>
|
||||
</div>
|
||||
<div class="row q-mt-sm">
|
||||
<div class="col-12 col-sm-6 col-md-3" v-if="model === '6' || model === '8'">
|
||||
<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 === '6' ? dataStore.optionsOrdination : dataStore.optionsSpecific"
|
||||
option-value="id"
|
||||
:options="model === 'LV-006' ? dataStore.optionsOrdination : dataStore.optionsSpecific"
|
||||
option-value="code"
|
||||
option-label="name"
|
||||
emit-value
|
||||
map-options
|
||||
|
|
@ -193,18 +234,18 @@ async function saveformdata(formData: any) {
|
|||
</div>
|
||||
</div>
|
||||
<div v-if="model" class="col-12">
|
||||
<SickForm :on-submit="onSubmit" v-if="model === '1' || model === '2'" />
|
||||
<FormBirth :on-submit="onSubmit" v-if="model === '3'" />
|
||||
<HelpWifeBirthForm :on-submit="onSubmit" v-if="model === '4'" />
|
||||
<VacationForm :on-submit="onSubmit" v-if="model === '5'" />
|
||||
<OrdinationForm :on-submit="onSubmit" v-if="model === '6' && modelSpecific === '0'" />
|
||||
<HajjForm :on-submit="onSubmit" v-if="model === '6' && modelSpecific === '1'" />
|
||||
<MilitaryForm :on-submit="onSubmit" v-if="model === '7'" style="width: 100%" />
|
||||
<StudyForm :on-submit="onSubmit" v-if="model === '8' && modelSpecific === 's0'" style="width: 100%" />
|
||||
<TrainForm :on-submit="onSubmit" v-if="model === '8' && modelSpecific != 's0' && modelSpecific != ''" />
|
||||
<WorkInternationalForm :on-submit="onSubmit" v-if="model === '9'" />
|
||||
<FollowSpouseForm :on-submit="onSubmit" v-if="model === '10'" />
|
||||
<RehabilitationForm :on-submit="onSubmit" v-if="model === '11'" />
|
||||
<SickForm :on-submit="onSubmit" v-if="model === 'LV-001' || model === 'LV-002'" />
|
||||
<FormBirth :on-submit="onSubmit" v-if="model === 'LV-003'" />
|
||||
<HelpWifeBirthForm :on-submit="onSubmit" v-if="model === 'LV-004'" />
|
||||
<VacationForm :on-submit="onSubmit" v-if="model === 'LV-005'" />
|
||||
<OrdinationForm :on-submit="onSubmit" v-if="model === 'LV-006' && modelSpecific === '0'" />
|
||||
<HajjForm :on-submit="onSubmit" v-if="model === 'LV-006' && modelSpecific === '1'" />
|
||||
<MilitaryForm :on-submit="onSubmit" v-if="model === 'LV-007'" style="width: 100%" />
|
||||
<StudyForm :on-submit="onSubmit" v-if="model === 'LV-008' && modelSpecific === 's0'" style="width: 100%" />
|
||||
<TrainForm :on-submit="onSubmit" v-if="model === 'LV-008' && modelSpecific != 's0' && modelSpecific != ''" />
|
||||
<WorkInternationalForm :on-submit="onSubmit" v-if="model === 'LV-009'" />
|
||||
<FollowSpouseForm :on-submit="onSubmit" v-if="model === 'LV-010'" />
|
||||
<RehabilitationForm :on-submit="onSubmit" v-if="model === 'LV-011'" />
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue