diff --git a/src/modules/03_recruiting/components/Table.vue b/src/modules/03_recruiting/components/Table.vue index b5f2877f6..6ff82cda4 100644 --- a/src/modules/03_recruiting/components/Table.vue +++ b/src/modules/03_recruiting/components/Table.vue @@ -56,6 +56,7 @@ const optionsStatus = ref([ { label: "ขาดสอบ", value: "missed_exam" }, { label: "ผ่าน", value: "pass" }, { label: "ไม่ผ่าน", value: "notpass" }, + { label: "อื่น ๆ", value: "other" }, ]); const emit = defineEmits([ diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue index 6017dcaa3..07e8a2409 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue @@ -97,6 +97,8 @@ const develop_result_option = ref([ const isCheckFile = ref(false); +const isSelectionPartfour = ref(false); + // score const score1 = computed(() => { if ( @@ -212,20 +214,21 @@ const percent_sum: any = computed(() => { }); const score4 = computed(() => { return ( - (Number(orientation.value) + - Number(self_learning.value) + - Number(training_seminar.value) + - Number(other_training.value)) / - 4 + Number(orientation.value) + + Number(self_learning.value) + + Number(training_seminar.value) + + (isSelectionPartfour.value ? Number(other_training.value) : 0) ); }); const score5 = computed(() => { - const total = + const rawTotal = (Number(orientation_percent.value) + Number(self_learning_percent.value) + Number(training_seminar_percent.value) + Number(other_training_percent.value)) / - 4; + (isSelectionPartfour.value ? 4 : 3); + + const total = Math.trunc(rawTotal); develop_result.value = total > 60 ? 1 : 0; @@ -1133,10 +1136,20 @@ onMounted(async () => {
+ 4. การอบรมอื่น ๆ ตามที่หน่วยงานกำหนด (ถ้ามี)
{
([ // footer const dateAutherise = ref(null); +const isSelectionPartfour = ref(false); + onMounted(() => { fecthAssign(assignId.value); }); @@ -239,20 +241,21 @@ const percent_sum: any = computed(() => { }); const score4 = computed(() => { return ( - (Number(orientation.value) + - Number(self_learning.value) + - Number(training_seminar.value) + - Number(other_training.value)) / - 4 + Number(orientation.value) + + Number(self_learning.value) + + Number(training_seminar.value) + + (isSelectionPartfour.value ? Number(other_training.value) : 0) ); }); const score5 = computed(() => { - const total = + const rawTotal = (Number(orientation_percent.value) + Number(self_learning_percent.value) + Number(training_seminar_percent.value) + Number(other_training_percent.value)) / - 4; + (isSelectionPartfour.value ? 4 : 3); + + const total = Math.trunc(rawTotal); develop_result.value = total > 60 ? 1 : 0; @@ -1214,10 +1217,20 @@ watch(lengthdiscipline_level, (newLength) => {
+ 4. การอบรมอื่น ๆ ตามที่หน่วยงานกำหนด (ถ้ามี)
{ outlined dense type="number" + :disable="!isSelectionPartfour" v-model="other_training_percent" :rules="[(val:number) => val <= 100 || 'ร้อยละต้องไม่เกิน 100']" hide-bottom-space diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts index 40ea41b3c..8ef179cf0 100644 --- a/src/stores/mixin.ts +++ b/src/stores/mixin.ts @@ -362,13 +362,21 @@ export const useCounterMixin = defineStore("mixin", () => { const messageError = (q: any, e: any = "", msg: string = "") => { if (e.response !== undefined) { if (e.response.data.status !== undefined) { - if (e.response.data.status == 401) { + if ( + e.response.data.status == 401 || + (e.response.data.status == 404 && + e.response.data.message == "ไม่พบข้อมูลสิทธิ์") + ) { //invalid_token + const msg = + e.response.data.status == 401 + ? "ล็อกอินหมดอายุ กรุณาล็อกอินใหม่อีกครั้ง" + : e.response.data.message; q.dialog({ component: CustomComponent, componentProps: { title: `พบข้อผิดพลาด`, - message: `ล็อกอินหมดอายุ กรุณาล็อกอินใหม่อีกครั้ง`, + message: msg, icon: "warning", color: "red", onlycancel: true,