diff --git a/src/modules/05_placement/components/probation/FormAssign.vue b/src/modules/05_placement/components/probation/FormAssign.vue index b6286f1b0..db26fcc87 100644 --- a/src/modules/05_placement/components/probation/FormAssign.vue +++ b/src/modules/05_placement/components/probation/FormAssign.vue @@ -1043,16 +1043,28 @@ function updateAppointMent() { /** เมื่อโหลดหน้า เรียกใช้งานฟังชั่น */ onMounted(async () => { - await getAssignNew(personalId); - await getLaw(personalId); - await getSkill(personalId); - await getKnowledge(personalId); - await getcompetency(personalId); - await getCompetencyGroup(personalId); - await getAppoint(personalId); + const promises = [ + getAssignNew(personalId), + getLaw(personalId), + getSkill(personalId), + getKnowledge(personalId), + getcompetency(personalId), + getCompetencyGroup(personalId), + getAppoint(personalId), + ]; + if (assignId.value !== undefined) { - await getAssign(); + promises.push(getAssign()); } + showLoader(); + await Promise.all(promises) + .then(() => {}) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); }); diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue index da2b0bf09..e27bf0ddf 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluate.vue @@ -102,7 +102,6 @@ const optionText = ref([ /** get ข้อมูลมอบหมายงาน */ async function fecthAssign() { - showLoader(); await http .get(config.API.evaluateCreate(assignId.value)) .then(async (res) => { @@ -116,15 +115,16 @@ async function fecthAssign() { date_finish.value = res.data.result.end_date; // } // Autherise.value = probationStore.director; + !probationStore.checkLoad && hideLoader(); }) .catch((e) => { messageError($q, e); + !probationStore.checkLoad && hideLoader(); }) .finally(() => { if (props.action == "edit") { fetchEvaluate(); } - hideLoader(); }); } diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue index 1c2d7245e..1f0d6811b 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormEvaluateScore.vue @@ -214,7 +214,6 @@ function cancel() { /** get ข้อมูล */ async function fecthAssign() { - showLoader(); await http .get(config.API.evaluateChairman(assignId.value)) .then(async (res: any) => { @@ -228,15 +227,16 @@ async function fecthAssign() { if (res.data.result.mentors.length != 0) { director_id3.value = res.data.result.mentors[0]; } + !probationStore.checkLoad && hideLoader(); }) .catch((e) => { messageError($q, e); + !probationStore.checkLoad && hideLoader(); }) .finally(() => { if (props.action == "edit") { fetchEvaluate(); } - hideLoader(); }); } diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue index 565275e47..56229f39a 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResult.vue @@ -105,8 +105,12 @@ async function fecthFormdata() { .then(async (res: any) => { await fecthAssignoutput(res.data.result); await fectFormfull(); + !probationStore.checkLoad && hideLoader() + }) + .catch((e: any) => { + messageError($q,e) + !probationStore.checkLoad && hideLoader() }) - .catch((e: any) => {}) .finally(() => { if (props.action == "edit") { fecthFormRound(); diff --git a/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResultCommader.vue b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResultCommader.vue index 943072bd0..3a0bfacdd 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResultCommader.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/FormSaveResultCommader.vue @@ -148,8 +148,11 @@ async function fecthFormdata() { .then(async (res: any) => { await fecthAssignoutput(res.data.result); await fectFormfull(); + !probationStore.checkLoad && hideLoader(); + }) + .catch((e: any) => { + !probationStore.checkLoad && hideLoader(); }) - .catch((e: any) => {}) .finally(() => { if (props.action == "edit") { fecthFormRound(); diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue index 010f2fa40..c842f43ae 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template1.vue @@ -32,6 +32,7 @@ const { showLoader, hideLoader, messageError } = mixin; const assignId = ref(route.params.form.toString()); const personalId = ref(route.params.personalId.toString()); + const tab = ref("save1"); const dataArrayNumber = ref(); const dataRole = ref("mentor"); @@ -51,7 +52,7 @@ async function fecthAssign(id: string) { // messageError($q, e); }) .finally(() => { - hideLoader(); + probationStore.checkLoad && hideLoader(); }); } diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template1Commader.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template1Commader.vue index a56be1a39..57b2eae47 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/Template1Commader.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template1Commader.vue @@ -53,7 +53,7 @@ async function fecthAssign(id: string) { // messageError($q, e); }) .finally(() => { - hideLoader(); + probationStore.checkLoad && hideLoader(); }); } diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue index 5b6559bce..f806db285 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template2.vue @@ -65,7 +65,7 @@ async function fecthAssign(id: string) { // messageError($q, e); }) .finally(() => { - hideLoader(); + probationStore.checkLoad && hideLoader(); }); } diff --git a/src/modules/05_placement/components/probation/FormEvaluation/Template2Format2.vue b/src/modules/05_placement/components/probation/FormEvaluation/Template2Format2.vue index f5a238c2a..886bec951 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation/Template2Format2.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation/Template2Format2.vue @@ -59,7 +59,7 @@ const fecthAssign = async (id: string) => { // messageError($q, e); }) .finally(() => { - hideLoader(); + probationStore.checkLoad && hideLoader(); }); }; diff --git a/src/modules/05_placement/storeProbation.ts b/src/modules/05_placement/storeProbation.ts index 436c6f71e..ed0ab7c71 100644 --- a/src/modules/05_placement/storeProbation.ts +++ b/src/modules/05_placement/storeProbation.ts @@ -13,15 +13,17 @@ export const useProbationDataStore = defineStore("probationStore", () => { const evaluate = ref([]); const tabs = ref([]); const mainTab = ref(""); - + const checkLoad = ref(false) const assignOutput = ref([]); const director = ref([]); const person = ref([]); const fecthdataAssign = async (data: any) => { + checkLoad.value = data.evaluate.length == 0 ? true:false assign.value = await data.assign; evaluate.value = await data.evaluate; tabs.value = await data.evaluate; + }; const fecthAssignoutput = (data: any) => { assignOutput.value = data.assign_output; @@ -111,6 +113,7 @@ export const useProbationDataStore = defineStore("probationStore", () => { behavior_no1, behavior_no2, behavior_no3, - dataPermissions + dataPermissions, + checkLoad }; });