From 4bcd54aea2ada969256ebb8305cdf61f27ef0ad1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 22 Aug 2025 15:10:36 +0700 Subject: [PATCH] =?UTF-8?q?[fix]=20=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=E0=B8=81=E0=B8=A3=E0=B8=93=E0=B8=B5=E0=B9=81=E0=B8=81?= =?UTF-8?q?=E0=B9=89=E0=B9=84=E0=B8=82=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB?= =?UTF-8?q?=E0=B8=99=E0=B9=88=E0=B8=87/=E0=B9=81=E0=B8=81=E0=B9=89?= =?UTF-8?q?=E0=B9=84=E0=B8=82=E0=B8=AD=E0=B8=B1=E0=B8=95=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=81=E0=B8=B3=E0=B8=A5=E0=B8=B1=E0=B8=87=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B9=89=E0=B8=A7=E0=B8=A1=E0=B8=B5=E0=B8=84=E0=B8=99=E0=B8=84?= =?UTF-8?q?=E0=B8=A3=E0=B8=AD=E0=B8=87=E0=B8=AD=E0=B8=A2=E0=B8=B9=E0=B9=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../02_organization/components/DialogFormPosition.vue | 11 +++++++++-- src/modules/02_organization/interface/index/Main.ts | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/02_organization/components/DialogFormPosition.vue b/src/modules/02_organization/components/DialogFormPosition.vue index bb82d762d..594b1d881 100644 --- a/src/modules/02_organization/components/DialogFormPosition.vue +++ b/src/modules/02_organization/components/DialogFormPosition.vue @@ -282,7 +282,7 @@ function onSubmit() { dialogConfirm($q, async () => { const positionsData = rows.value.map( (e: RowDetailPositions, index: number) => ({ - id: e.id, //id รายการตำแหน่ง + id: !e.isNew ? e.id : null, //id รายการตำแหน่ง posDictName: e.positionName, //ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) posDictField: e.positionField, //สายงาน posTypeId: e.posTypeId, //*ตำแหน่งประเภท @@ -426,7 +426,8 @@ async function addPosition(data: RowDetailPositions) { item.positionName == data.positionName && item.isSpecial == data.isSpecial ); - data.id = null; // Reset id to ensure a new entry + // data.id = null; // Reset id to ensure a new entry + data.isNew = true; // Mark as new entry if (!isIdExist) { rows.value = [...rows.value, data]; } @@ -441,6 +442,12 @@ function deleteData(id: string) { const updatedRows = dataRow.filter( (item: RowDetailPositions) => item.id !== id ); + + //เช็คว่าตำแหน่งที่ถูกลบมีการเลือกอยู่หรือไม่ถ้ามีให้ลบออกจาก selectedPos + if (dataRow.find((item) => item.id === id)?.positionIsSelected) { + selectedPos.value = []; + } + rows.value = updatedRows; } diff --git a/src/modules/02_organization/interface/index/Main.ts b/src/modules/02_organization/interface/index/Main.ts index f8c37bdf2..8550b47e9 100644 --- a/src/modules/02_organization/interface/index/Main.ts +++ b/src/modules/02_organization/interface/index/Main.ts @@ -145,6 +145,7 @@ interface RowDetailPositions { posExecutiveId: string; isSpecial: boolean; positionIsSelected: string; + isNew?: boolean; } interface DataOption2 {