แบบสอบถาม Exit interview
This commit is contained in:
parent
01fe8f97f4
commit
63e5abf7a0
3 changed files with 484 additions and 123 deletions
|
|
@ -4,8 +4,8 @@ import { useQuasar } from "quasar";
|
|||
import { useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
// import http from "@/plugins/http";
|
||||
// import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
// import keycloak from "@/plugins/keycloak";
|
||||
|
||||
import type { QForm } from "quasar";
|
||||
|
|
@ -14,7 +14,7 @@ const $q = useQuasar();
|
|||
const router = useRouter();
|
||||
const mixin = useCounterMixin();
|
||||
|
||||
const { messageError, showLoader, hideLoader } = mixin;
|
||||
const { messageError, showLoader, hideLoader,dialogConfirm ,success} = mixin;
|
||||
|
||||
const myForm = ref<QForm | null>(null);
|
||||
|
||||
|
|
@ -22,28 +22,14 @@ const myForm = ref<QForm | null>(null);
|
|||
const question1Desc = ref<string>(
|
||||
"เหตุใดท่านจึงตัดสินใจร่วมงานกับกรุงเทพมหานคร (เลือกได้มากกว่า 1 ข้อ)"
|
||||
);
|
||||
const question1Score = ref<number>(5);
|
||||
const question1Answer = ref<any>([
|
||||
"ความมั่นคงในการทำงาน",
|
||||
"สิทธิประโยชน์/สวัสดิการ",
|
||||
"อัตราเงินเดือน",
|
||||
"ลักษณะงาน",
|
||||
"วัฒนธรรมการทำงานของข้าราชการ",
|
||||
"นโยบายของหน่วยงาน",
|
||||
"ระบบการทำงาน",
|
||||
"สมดุลชีวิตการทำงาน",
|
||||
"บรรยากาศในการทำงาน",
|
||||
"การพัฒนาในสายอาชีพ",
|
||||
"โอกาสความก้าวหน้า",
|
||||
"การได้รับการยอมรับจากสังคม",
|
||||
// "อื่น ๆ (ระบุ)",
|
||||
]);
|
||||
const question1Score = ref<number>(0);
|
||||
const question1Answer = ref<any>([]);
|
||||
|
||||
// set คำถามที่ 2
|
||||
const question2Desc = ref<string>(
|
||||
"สำหรับการลาออกในครั้งนี ท่านได้คิดทบทวนอย่างจริงจังเป็นระยะเวลานานเท่าใด"
|
||||
);
|
||||
const question2Score = ref<number>(5);
|
||||
const question2Score = ref<number>(0);
|
||||
const question2Answer = ref<any>([
|
||||
"น้อยกว่า 2 สัปดาห์",
|
||||
"1 เดือน - 3 เดือน",
|
||||
|
|
@ -55,7 +41,7 @@ const question2Answer = ref<any>([
|
|||
const question3Desc = ref<string>(
|
||||
"ปัจจัยใดที่ทำให้ท่านตัดสินใจลาออกจากราชการ (เลือกได้มากกว่า 1 ข้อ)"
|
||||
);
|
||||
const question3Score = ref<number>(5);
|
||||
const question3Score = ref<number>(0);
|
||||
const question3Answer = ref<any>([
|
||||
"อัตราเงินเดือน",
|
||||
"สวัสดิการ",
|
||||
|
|
@ -78,7 +64,7 @@ const question3Answer = ref<any>([
|
|||
const question4Desc = ref<string>(
|
||||
"อะไรคือสิ่งที่ท่านเห็นว่าควรปรับปรุง (เลือกได้มากกว่า 1 ข้อ)"
|
||||
);
|
||||
const question4Score = ref<number>(5);
|
||||
const question4Score = ref<number>(0);
|
||||
const question4Answer = ref<any>([
|
||||
"อัตราเงินเดือน ",
|
||||
"สวัสดิการ",
|
||||
|
|
@ -101,35 +87,38 @@ const question4Answer = ref<any>([
|
|||
const question5Desc = ref<string>(
|
||||
"โปรดระบุสาเหตุที่แท้จริง ที่ทำให้ท่านตัดสินใจลาออกจากการปฏิบัติราชการกับกรุงเทพมหานคร ?"
|
||||
);
|
||||
const question5Score = ref<number>(5);
|
||||
const question5Answer = ref<any>([])
|
||||
const question5Score = ref<number>(0);
|
||||
// set คำถามที่ 6
|
||||
const question6Desc = ref<string>(
|
||||
"ปัจจัยใดที่จะช่วยทำให้ท่านเปลี่ยนใจ ไม่อยากลาออกจากการปฏิบัติราชการกับกรุงเทพมหานคร"
|
||||
);
|
||||
const question6Score = ref<number>(5);
|
||||
const question6Answer = ref<any>([])
|
||||
const question6Score = ref<number>(0);
|
||||
// set คำถามที่ 7
|
||||
const question7Desc = ref<string>(
|
||||
"ท่านมีงานใหม่หรือไม่ ถ้ามี (โปรดระบุ ชื่อบริษัทเอกชน/หน่วยงานภาครัฐ) และอะไรคือสิ่งที่ที่ทำงานใหม่ให้กับท่าน ซึ่งท่านรู้สึกว่าเป็นที่น่าพอใจมากกว่าการปฏิบัติราชการกับกรุงเทพมหานคร"
|
||||
);
|
||||
const question7Score = ref<number>(5);
|
||||
const question7Score = ref<number>(0);
|
||||
const question7Answer = ref<any>(["มี (ระบุ)", "ไม่มี"]);
|
||||
|
||||
// set คำถามที่ 8
|
||||
const question8Desc = ref<string>(
|
||||
"ท่านจะแนะนำเพื่อนให้มาร่วมงานกับกรุงเทพมหานครหรือไม่ (ถ้าไม่ โปรดระบุเหตุผล)"
|
||||
);
|
||||
const question8Score = ref<number>(5);
|
||||
const question8Score = ref<number>(0);
|
||||
const question8Answer = ref<any>(["แนะนำ", "ไม่แนะนำ (ระบุ)"]);
|
||||
|
||||
// set คำถามที่ 9
|
||||
const question9Desc = ref<string>(
|
||||
"หากท่านมีโอกาสในอนาคต ท่านอยากกลับมาร่วมงานกับกรุงเทพมหานครหรือไม่ (ถ้าไม่ โปรดระบุเหตุผล)"
|
||||
);
|
||||
const question9Score = ref<number>(5);
|
||||
const question9Score = ref<number>(0);
|
||||
const question9Answer = ref<any>(["อยาก", "ไม่อยาก (ระบุ)"]);
|
||||
// set คำถามที่ 10
|
||||
const question10Desc = ref<string>("ความคิดเห็นและข้อเสนอแนะอื่น ๆ");
|
||||
const question10Score = ref<number>(5);
|
||||
const question10Answer = ref<any>([])
|
||||
const question10Score = ref<number>(0);
|
||||
|
||||
const exitFactor = ref<any>([]);
|
||||
const reasonWork = ref<any>([]);
|
||||
|
|
@ -183,41 +172,111 @@ onMounted(async () => {
|
|||
|
||||
//นำข้อมูลมาแสดง
|
||||
const getData = async () => {
|
||||
// showLoader();
|
||||
// await http
|
||||
// .get(config.API.xxx)
|
||||
// .then((res: any) => {
|
||||
// const data = res.data.result;
|
||||
// avata.value = data.avatar ?? "";
|
||||
// Position.value = data.position ?? "";
|
||||
// PositionLevel.value = data.positionLevel ?? "";
|
||||
// Org.value = data.org ?? "";
|
||||
// fullname.value = data.fullname ?? "";
|
||||
// prefix.value = data.prefix ?? "";
|
||||
// reasonWork.value = data.reasonWork ?? [];
|
||||
// reasonWorkOther.value = data.reasonWorkOther ?? "";
|
||||
// timeThink.value = data.TimeThink ?? 0;
|
||||
// exitFactor.value = data.exitFactor ?? [];
|
||||
// exitFactorOther.value = data.exitFactorOther ?? 0;
|
||||
// adjust.value = data.adjust ?? [];
|
||||
// adjustOther.value = data.adjustOther ?? "";
|
||||
// realReason.value = data.realReason ?? "";
|
||||
// notExitFactor.value = data.notExitFactor ?? "";
|
||||
// haveJob.value = data.havejob ?? null;
|
||||
// haveJobReason.value = data.havejobReason ?? "";
|
||||
// suggestFriends.value = data.suggestFriends ?? null;
|
||||
// suggestFriendsReason.value = data.suggestFriendsReason ?? "";
|
||||
// futureWork.value = data.futureWork ?? null;
|
||||
// futureWorkReason.value = data.futureWorkReason ?? "";
|
||||
// suggestion.value = data.suggestion ?? "";
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// messageError($q, e);
|
||||
// })
|
||||
// .finally(() => {
|
||||
// hideLoader();
|
||||
// });
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.questionExitInterview())
|
||||
.then((res: any) => {
|
||||
const data = res.data.result;
|
||||
question1Score.value = data.question1Score ?? 0;
|
||||
question2Score.value = data.question2Score ?? 0;
|
||||
question3Score.value = data.question3Score ?? 0;
|
||||
question4Score.value = data.question4Score ?? 0;
|
||||
question5Score.value = data.question5Score ?? 0;
|
||||
question6Score.value = data.question6Score ?? 0;
|
||||
question7Score.value = data.question7Score ?? 0;
|
||||
question8Score.value = data.question8Score ?? 0;
|
||||
question9Score.value = data.question9Score ?? 0;
|
||||
question10Score.value = data.question10Score ?? 0;
|
||||
question1Desc.value = data.question1Desc
|
||||
question1Answer.value = data.question1Answer
|
||||
question2Desc.value = data.question1Desc
|
||||
question2Answer.value = data.question1Answer
|
||||
question3Desc.value = data.question1Desc
|
||||
question3Answer.value = data.question1Answer
|
||||
question4Desc.value = data.question1Desc
|
||||
question4Answer.value = data.question1Answer
|
||||
question5Desc.value = data.question1Desc
|
||||
question5Answer.value = data.question1Answer
|
||||
question6Desc.value = data.question1Desc
|
||||
question6Answer.value = data.question1Answer
|
||||
question7Desc.value = data.question1Desc
|
||||
question7Answer.value = data.question1Answer
|
||||
question8Desc.value = data.question1Desc
|
||||
question8Answer.value = data.question1Answer
|
||||
question9Desc.value = data.question1Desc
|
||||
question9Answer.value = data.question1Answer
|
||||
question10Desc.value = data.question1Desc
|
||||
question10Answer.value = data.question1Answer
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
};
|
||||
|
||||
const confirmClick = () =>{
|
||||
dialogConfirm($q,()=>putData())
|
||||
}
|
||||
const putData = () => {
|
||||
const body = {
|
||||
question1Desc:question1Desc.value,
|
||||
question1Score:question1Score.value,
|
||||
question1Answer:question1Answer.value,
|
||||
|
||||
question2Desc:question2Desc.value,
|
||||
question2Score:question2Score.value,
|
||||
question2Answer:question2Answer.value,
|
||||
|
||||
question3Desc:question3Desc.value,
|
||||
question3Score:question3Score.value,
|
||||
question3Answer:question3Answer.value,
|
||||
|
||||
question4Desc:question4Desc.value,
|
||||
question4Score:question4Score.value,
|
||||
question4Answer:question4Answer.value,
|
||||
|
||||
question5Desc:question5Desc.value,
|
||||
question5Score:question5Score.value,
|
||||
question5Answer:question5Answer.value,
|
||||
|
||||
question6Desc:question6Desc.value,
|
||||
question6Score:question6Score.value,
|
||||
question6Answer:question6Answer.value,
|
||||
|
||||
question7Desc:question7Desc.value,
|
||||
question7Score:question7Score.value,
|
||||
question7Answer:question7Answer.value,
|
||||
|
||||
question8Desc:question8Desc.value,
|
||||
question8Score:question8Score.value,
|
||||
question8Answer:question8Answer.value,
|
||||
|
||||
question9Desc:question9Desc.value,
|
||||
question9Score:question9Score.value,
|
||||
question9Answer:question9Answer.value,
|
||||
|
||||
question10Desc:question10Desc.value,
|
||||
question10Score:question10Score.value,
|
||||
question10Answer:question10Answer.value,
|
||||
|
||||
|
||||
|
||||
};
|
||||
showLoader();
|
||||
http
|
||||
.put(config.API.questionExitInterview(), body)
|
||||
.then((res) => {
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
router.push(`/exit-Interview`)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
|
|
@ -867,7 +926,7 @@ const getData = async () => {
|
|||
|
||||
<q-card-actions class="text-primary q-pa-md">
|
||||
<q-space />
|
||||
<q-btn unelevated label="บันทึก" color="public" @click=""> </q-btn>
|
||||
<q-btn unelevated label="บันทึก" color="public" @click="confirmClick"> </q-btn>
|
||||
</q-card-actions>
|
||||
</q-form>
|
||||
</q-card>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue