แก้ UI รายการลา

This commit is contained in:
setthawutttty 2025-04-25 16:01:57 +07:00
parent 3b6172ee03
commit ea7af9e29c
31 changed files with 2463 additions and 1341 deletions

View file

@ -99,9 +99,11 @@ const formData = reactive<FormData>({
coupleDayEndDateHistory: null, // ()
coupleDaySumTotalHistory: "", // ()
approveStep: "",
leaveRangeEnd: "",
dear: "",
leaveLast: "",
leaveRange: "",
leaveSubTypeName: "",
});
const model = computed(() => {
@ -109,23 +111,7 @@ const model = computed(() => {
dataStore.options.find((x) => x.id == formData.leaveTypeId)?.code ?? ""
);
});
const modelSpecific = computed(() => {
const code = dataStore.options.find(
(x) => x.id == formData.leaveTypeId
)?.code;
if (code == "LV-006" && formData.ordainDayLocationName != "") {
return "b1";
} else if (code == "LV-006" && formData.ordainDayLocationName == "") {
return "b2";
} else if (code == "LV-008" && formData.studyDayTrainingSubject == "") {
return "s1";
} else if (code == "LV-008" && formData.studyDayTrainingSubject != "") {
return "s2";
} else {
return "";
}
});
const modelSpecific = ref<string>("");
/**
* function เรยกขอมลการลา
@ -208,6 +194,11 @@ async function fetchDataDetail(id: string) {
formData.dear = data.dear ?? "-";
formData.leaveLast = data.leaveLast ?? "-";
formData.leaveRange = data.leaveRange;
formData.leaveRangeEnd =
data.leaveRangeEnd == "AFTERNOON" ? "ALL" : data.leaveRangeEnd;
formData.ordainDayLocationNumber = data.ordainDayLocationNumber;
formData.ordainDayStatus = data.ordainDayStatus;
modelSpecific.value = data.leaveSubTypeName;
dataStore.telephoneNumber =
data.leaveNumber && data.leaveNumber !== "-" ? data.leaveNumber : null;
@ -228,10 +219,16 @@ async function fetchDataDetail(id: string) {
* @param formData อมลใน formdata
* @param isLeave วแปรเชควาใชหน edit หรอไม
*/
function onSubmit(formData: FormData, isLeave: boolean = true) {
function onSubmit(formData: any, isLeave: boolean = true) {
if (isLeave) {
dialogConfirm($q, async () => {
showLoader();
if (model.value === "LV-006" || model.value === "LV-008") {
formData.append("leaveSubTypeName", modelSpecific.value);
}
if (formData.get("leaveEndDate") === formData.get("leaveStartDate")) {
formData.set("leaveRangeEnd", formData.get("leaveRange") as string);
}
await http
.put(config.API.leaveUserId(personalId.value), formData)
.then(async () => {
@ -386,14 +383,11 @@ onMounted(async () => {
? dataStore.optionsOrdination
: dataStore.optionsSpecific
"
option-value="code"
option-value="id"
option-label="name"
emit-value
map-options
prefix="ประเภทการลา :"
@update:model-value="
dataStore.typeConvert(model, modelSpecific)
"
/>
</div>
</div>
@ -447,14 +441,16 @@ onMounted(async () => {
:click-delete="clickDelete"
/>
<OrdinationForm
v-if="model === 'LV-006' && modelSpecific === 'b1'"
v-if="model === 'LV-006' && modelSpecific === 'ลาอุปสมบท'"
:data="formData"
:on-submit="onSubmit"
:on-confirm="onConfirm"
:click-delete="clickDelete"
/>
<HajjForm
v-if="model === 'LV-006' && modelSpecific === 'b2'"
v-if="
model === 'LV-006' && modelSpecific === 'ลาประกอบพิธีฮัจญ์'
"
:data="formData"
:on-submit="onSubmit"
:on-confirm="onConfirm"
@ -469,7 +465,7 @@ onMounted(async () => {
:click-delete="clickDelete"
/>
<StudyForm
v-if="model === 'LV-008' && modelSpecific === 's1'"
v-if="model === 'LV-008' && modelSpecific === 'ลาไปศึกษาต่อ'"
style="width: 100%"
:data="formData"
:on-submit="onSubmit"
@ -479,8 +475,7 @@ onMounted(async () => {
<TrainForm
v-if="
model === 'LV-008' &&
modelSpecific != 's1' &&
modelSpecific != ''
modelSpecific == 'ลาฝึกอบรม/ปฎิบัติการวิจัย/ดูงาน'
"
:data="formData"
:on-submit="onSubmit"