- ปรับ dialog รับ v-model

- เพิ่มคำแนะนำตอนส่ง process ของเลื่อนเงินเดือน
This commit is contained in:
Warunee Tamkoo 2024-03-08 17:49:08 +07:00
parent d09f09cada
commit 4471912ffb
10 changed files with 86 additions and 100 deletions

View file

@ -3,11 +3,12 @@ import { ref, watch } from "vue";
import DialogHeader from "@/components/DialogHeader.vue";
const reason = ref<string | undefined>("");
const modal = defineModel<boolean>("modal", { required: true });
const props = defineProps({
modal: {
type: Boolean,
default: false,
},
// modal: {
// type: Boolean,
// default: false,
// },
title: {
type: String,
default: "",
@ -16,10 +17,10 @@ const props = defineProps({
type: String,
default: "",
},
clickClose: {
type: Function,
default: () => {},
},
// clickClose: {
// type: Function,
// default: () => {},
// },
savaForm: {
type: Function,
default: () => {},
@ -29,7 +30,7 @@ const props = defineProps({
},
});
watch(props, () => {
if (props.modal === true && props.textReport == "") {
if (modal.value === true && props.textReport == "") {
reason.value = "";
} else {
reason.value = props.textReport;
@ -44,13 +45,17 @@ const submit = () => {
}
});
};
function closeModal() {
modal.value = false
}
</script>
<template>
<q-dialog v-model="props.modal" persistent>
<q-dialog v-model="modal" persistent>
<q-card style="width: 40vw; max-width: 40vw">
<q-form ref="myForm">
<DialogHeader :tittle="props.title" :close="clickClose" />
<DialogHeader :tittle="props.title" :close="closeModal" />
<q-separator />
<q-card-section class="q-pa-sm bg-grey-1">
<div class="row col-12 q-col-gutter-sm">

View file

@ -416,7 +416,7 @@ const saveEdiitReport = (reason: string) => {
})
.finally(() => {
fecthlistprofile(retireld.value);
closemodalEditReport();
modalEdit.value = false;
});
},
"ยืนยันการแก้ไขข้อมูล",
@ -429,11 +429,6 @@ const openmodalEditReport = () => {
modalEdit.value = true;
};
// popup
const closemodalEditReport = () => {
modalEdit.value = false;
};
/** Setting Pagination */
const paging = ref<boolean>(true);
const pagination = ref({
@ -876,10 +871,9 @@ function updatemodalPersonal(modal: boolean) {
</q-dialog>
<DialogPopupReason
:modal="modalEdit"
v-model:modal="modalEdit"
title="แก้ไขมติ อ.ก.ก."
label="มติ อ.ก.ก."
:click-close="closemodalEditReport"
:savaForm="saveEdiitReport"
:textReport="textReport"
/>

View file

@ -479,11 +479,6 @@ function clickReject(id: string) {
rowid.value = id;
}
/** function closePopup ไม่ยืนขอ*/
function closemodelPopupReject() {
modelPopupReject.value = false;
}
/**
* function นยนการไมนขอ
* @param reason หมายเหต
@ -520,7 +515,7 @@ async function listreject(profileId: string, reason: string) {
props.tab
);
}
await closemodelPopupReject();
modelPopupReject.value = await false;
});
}
@ -1375,10 +1370,9 @@ onMounted(async () => {
<!-- popup เหตผลไมนขอ -->
<DialogPopupReason
:modal="modelPopupReject"
v-model:modal="modelPopupReject"
title="เหตุผลการไม่ยื่นขอ"
label="หมายเหตุ"
:click-close="closemodelPopupReject"
:savaForm="savaReasonReject"
/>
<!-- เหตผลทลบออก -->

View file

@ -233,20 +233,12 @@ async function sendToDirector() {
async function popupBackToEdit() {
modalPopupBackToEdit.value = true;
}
/** function close popup แก้ไข*/
async function closeModalPopupBackToEdit() {
modalPopupBackToEdit.value = false;
}
const modalbackInsignia2Role = ref<boolean>(false);
/**function open popup ตีกลับ admin*/
const popupBackToInsignia2Role = async () => {
modalbackInsignia2Role.value = true;
};
/**function close popup ตีกลับ admin*/
const closepopupBackToInsignia2Role = async () => {
modalbackInsignia2Role.value = false;
};
/**
* funtion นยนการ กลบรอบการเสนอขอ เฉพาะ รอบท requestStatus st3 และ insignia2Role
@ -277,7 +269,7 @@ async function backToEdit(reason: string) {
messageError($q, err);
})
.finally(() => {
closeModalPopupBackToEdit();
modalPopupBackToEdit.value = false;
hideLoader();
});
},
@ -339,7 +331,7 @@ async function backToEditinsignia2Role(reason: string) {
messageError($q, err);
})
.finally(() => {
closepopupBackToInsignia2Role();
modalbackInsignia2Role.value = false;
});
});
}
@ -660,17 +652,15 @@ onMounted(async () => {
<!-- popup หมายเหต -->
<DialogPopupReason
:modal="modalPopupBackToEdit"
v-model:modal="modalPopupBackToEdit"
title="หมายเหตุการตีกลับ"
label="หมายเหตุ"
:click-close="closeModalPopupBackToEdit"
:savaForm="backToEdit"
/>
<DialogPopupReason
:modal="modalbackInsignia2Role"
v-model:modal="modalbackInsignia2Role"
title="หมายเหตุการตีกลับ"
label="หมายเหตุ"
:click-close="closepopupBackToInsignia2Role"
:savaForm="backToEditinsignia2Role"
/>
</q-card>

View file

@ -211,11 +211,6 @@ function clickClose() {
modal.value = false;
}
/** function closePopupNote*/
function clickCloseNote() {
addNote.value = false;
}
/** function openPopupAdd*/
function clickAdd() {
modal.value = true;
@ -499,10 +494,9 @@ const resetFilter2 = () => {
</q-card>
</q-dialog>
<DialogPopupReason
:modal="addNote"
v-model:modal="addNote"
title="คืนเครื่องราชฯ"
label="กรอกเหตุผลที่ต้องการคืนเครื่องราชฯ"
:click-close="clickCloseNote"
:savaForm="saveNote"
/>
</template>

View file

@ -51,9 +51,6 @@ const typePdf = ref<string>("pdf");
const dialogTitleUnapprove = ref<string>("ไม่อนุมัติ");
const dialogTitle = ref<string>("อนุมัติ");
const dialogLabel = ref<string>("เหตุผล");
const closeDialog = () => {
modalApprove.value = false;
};
/**
* consolelog ไวอน
@ -816,10 +813,9 @@ function formattedNumber(x: number) {
</div>
</q-card>
<DialogReason
:modal="modalApprove"
v-model:modal="modalApprove"
:title="dialogTitle"
:label="dialogLabel"
:click-close="closeDialog"
:savaForm="clickSave"
/>
</template>

View file

@ -52,9 +52,6 @@ const typePdf = ref<string>("pdf");
const modalApprove = ref(false);
const dialogTitleUnapprove = ref<string>("ไม่อนุมัติ");
const dialogTitle = ref<string>("อนุมัติ");
const closeDialog = () => {
modalApprove.value = false;
};
/**
* consolelog ไวอน
@ -755,9 +752,8 @@ async function onClickDownloadFile(id: string, fileName: string, type: string) {
</div>
</q-card>
<DialogReason
:modal="modalApprove"
v-model:modal="modalApprove"
:title="dialogTitle"
:click-close="closeDialog"
label="เหตุผล"
:savaForm="clickSave"
/>

View file

@ -89,7 +89,7 @@ interface FremData {
coupleDaySumTotalHistory: string; //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
approveStep: string;
dear: string;
leaveRange: string;
leaveRange?: string;
}
export type { ListsData, FremData, QuerySting, DateFilter };

View file

@ -363,10 +363,9 @@ const monthYearThai = (val: any) => {
</q-card>
<DialogReason
:modal="modalUnapprove"
v-model:modal="modalUnapprove"
:title="dialogTitle"
:desc="dialogDesc"
:click-close="closeDialog"
label="เหตุผล"
:savaForm="clickSave"
/>

View file

@ -12,7 +12,7 @@ const $q = useQuasar(); //ใช้ noti quasar
const mixin = useCounterMixin();
const { messageError, dialogConfirm, showLoader, hideLoader, success } = mixin;
const sendStep = ref<number>(1);
const sendStep = ref<number>(4);
const fileUpload = ref<any>(null);
const document = ref<string>("");
/**
@ -47,50 +47,60 @@ async function uploadFile(event: any) {
);
}
function saveReccommend() {
modalRecommend.value = false;
}
function sendToDirector() {}
const modalRecommend = ref<boolean>(false);
const titleRecommend = ref<string>("");
function sendAndRecommend(title: string) {
modalRecommend.value = true;
titleRecommend.value = title;
}
</script>
<template>
<div class="row col-12 q-pa-md">
<q-toolbar class="text-primary">
<div>
<q-file
v-if="sendStep == 1"
bg-color="white"
clearable
outlined
dense
v-model="fileUpload"
accept=".pdf"
label="อัปโหลดไฟล์"
>
<template v-slot:prepend>
<q-icon color="light-blue" name="attach_file" />
<q-tooltip>ปโหลดไฟล</q-tooltip>
</template>
</q-file>
<q-toolbar>
<q-file
v-if="sendStep == 1"
bg-color="white"
clearable
outlined
dense
v-model="fileUpload"
accept=".pdf"
label="อัปโหลดไฟล์"
>
<template v-slot:prepend>
<q-icon color="light-blue" name="attach_file" />
<q-tooltip>ปโหลดไฟล</q-tooltip>
</template>
</q-file>
<q-btn
flat
color="light-blue"
icon="upload"
@click="uploadFile(fileUpload)"
v-if="fileUpload !== null"
/>
<div v-if="document">
<q-btn
flat
color="light-blue"
icon="upload"
@click="uploadFile(fileUpload)"
v-if="fileUpload !== null"
/>
<div v-if="document">
<q-btn
dense
color="primary"
icon-right="mdi-download"
label="ดาวน์โหลดไฟล์"
outline
:href="document"
target="_blank"
>
<q-tooltip>ดาวนโหลด</q-tooltip></q-btn
>
</div>
dense
color="primary"
icon-right="mdi-download"
label="ดาวน์โหลดไฟล์"
outline
:href="document"
target="_blank"
>
<q-tooltip>ดาวนโหลด</q-tooltip></q-btn
>
</div>
<q-toolbar-title>
<!-- Toolbar -->
</q-toolbar-title>
@ -128,7 +138,7 @@ function sendToDirector() {}
unelevated
color="public"
label="ส่งคำแนะนำให้ ผอ. ตรวจสอบ"
@click="sendToDirector()"
@click="sendAndRecommend('ส่งคำแนะนำให้ ผอ. ตรวจสอบ')"
/>
<!-- ผอ.หนวยงานสงคำแนะนำใหการเจาหนาทหนวยงาน -->
@ -137,10 +147,18 @@ function sendToDirector() {}
unelevated
color="public"
label="ส่งคำแนะนำให้การเจ้าหน้าที่หน่วยงาน"
@click="sendToDirector()"
@click="sendAndRecommend('ส่งคำแนะนำให้ ผอ. ตรวจสอบ')"
/>
</div>
</q-toolbar>
<DialogPopupReason
v-model:modal="modalRecommend"
:title="titleRecommend"
label="คำแนะนำ"
:savaForm="saveReccommend"
textReport=""
/>
</div>
</template>