From a7341c744097dfd173b16ff4c0117e7d55790eaa Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 5 May 2026 17:12:56 +0700 Subject: [PATCH] refactor(placement): DialogSelectOrg LoadPosition --- .../components/PersonalList/CardPosition.vue | 22 ++++++++----- .../PersonalList/DialogSelectOrg.vue | 32 ++++++++++++------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/src/modules/05_placement/components/PersonalList/CardPosition.vue b/src/modules/05_placement/components/PersonalList/CardPosition.vue index 4c9b0a277..70b0b117d 100644 --- a/src/modules/05_placement/components/PersonalList/CardPosition.vue +++ b/src/modules/05_placement/components/PersonalList/CardPosition.vue @@ -2,7 +2,7 @@ import { ref, onMounted, watch } from "vue"; /** importType*/ -import type { QTableProps } from "quasar"; +import { type QTableProps } from "quasar"; import type { Positions, FormPosType, @@ -23,13 +23,13 @@ const store = useSelectOrgStore(); const selected = defineModel("selectedPos", { required: true }); //ตำแหน่งที่เลือก const positionId = defineModel("positionId", { required: true }); //id ตำแหน่งที่เลือก const seletcId = defineModel("seletcId", { required: true }); // ตำแหน่งที่เลือก -const date = defineModel("datePos", { required: true }); //วันยที่รายงานคัว +const date = defineModel("datePos", { required: true }); //วันยที่รายงานคัว const positionData = defineModel("position", { required: true }); //ข้อมูลรายการเลขที่ตำแหน่ง const isAll = defineModel("isAll", { required: true }); //แสดงตำแหน่งทั้งหมด const isBlank = defineModel("isBlank", { required: true }); //แสดงเฉพาะตำแหน่งว่าง const isPosition = defineModel("isPosition", { required: true }); // const isPositionOld = defineModel("isPositionOld", { required: true }); //แสดงตำแหน่งที่ตรงกับประเภทและระดับเดิม -const posType = defineModel("posType", { required: true }); //ตำแหน่งประเภท +const posType = defineModel("posType", { required: true }); //ตำแหน่งประเภท const posLevel = defineModel("posLevel", { required: true }); //ระดับตำแหน่ง const optionPosType = defineModel("optionPosType", { required: true, @@ -47,6 +47,7 @@ const props = defineProps({ onPosType: Function, nodeId: String, nodeLevel: Number, + isLoadPosition: Boolean, }); //Table @@ -248,15 +249,20 @@ watch(positionData, (newVal, oldVal) => { } }); +watch( + () => props.isLoadPosition, + (newVal) => { + if (newVal && positionId.value) { + onClickSelectPos(positionId.value); + } + } +); + /** * ทำงานเมื่อ Components ถูกเรียกใช้งาน */ onMounted(async () => { - if (positionId.value) { - setTimeout(async () => { - await onClickSelectPos(positionId.value); - }, 1000); - } else { + if (!positionId.value) { positionRows.value = positionData.value; positionRowsData.value = positionData.value; } diff --git a/src/modules/05_placement/components/PersonalList/DialogSelectOrg.vue b/src/modules/05_placement/components/PersonalList/DialogSelectOrg.vue index 9d06a7da3..2eb316763 100644 --- a/src/modules/05_placement/components/PersonalList/DialogSelectOrg.vue +++ b/src/modules/05_placement/components/PersonalList/DialogSelectOrg.vue @@ -1,5 +1,5 @@