diff --git a/src/modules/02_organization/components/MainView.vue b/src/modules/02_organization/components/MainView.vue index 8d2138358..97840779a 100644 --- a/src/modules/02_organization/components/MainView.vue +++ b/src/modules/02_organization/components/MainView.vue @@ -118,18 +118,24 @@ async function fetchDataTable(id: string, level: number, action: boolean) { .then(async (res) => { const dataMain: PosMaster[] = []; totalPage.value = Math.ceil(res.data.result.total / reqMaster.pageSize); - totalData.value = res.data.result.total; res.data.result.data.forEach((e: PosMaster) => { const p = e.positions; - if (p.length !== 0) { - const a = p.find((el: Position) => el.positionIsSelected === true); - const { id, ...rest } = a ? a : p[0]; - const test = { - ...e, - ...rest, - }; - dataMain.push(test); + let positionData = {}; + + if (p?.length > 0) { + const selectedPos = p.find( + (el: Position) => el.positionIsSelected === true + ); + const targetPosition = selectedPos || p[0]; + const { id, ...rest } = targetPosition; + positionData = rest; } + + const newDataMain = { + ...e, + ...positionData, + }; + dataMain.push(newDataMain); }); posMaster.value = store.fetchPosMaster(dataMain); }) diff --git a/src/modules/02_organization/components/TableMain.vue b/src/modules/02_organization/components/TableMain.vue index 8cbdd1b2b..fd4294361 100644 --- a/src/modules/02_organization/components/TableMain.vue +++ b/src/modules/02_organization/components/TableMain.vue @@ -1050,7 +1050,7 @@ watch( v-model:reqMaster="reqMaster" :fetchDataTable="props.fetchDataTable" :getSummary="getSummary" - :is-position-holder="isPositionHolder" + v-model:is-position-holder="isPositionHolder" :position-holder-info="positionHolderInfo" />