From 0ffa431fcb32067ac50077f6707b15ff6e17d159 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 7 Jul 2025 17:04:11 +0700 Subject: [PATCH 1/2] =?UTF-8?q?fix=20page=20=3D=3D>=20=20=E0=B8=A3?= =?UTF-8?q?=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=9C=E0=B8=B1?= =?UTF-8?q?=E0=B8=87=E0=B8=9A=E0=B8=B1=E0=B8=8D=E0=B8=8A=E0=B8=B5=E0=B9=80?= =?UTF-8?q?=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD?= =?UTF-8?q?=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/13_salary/views/01_salaryMain.vue | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/modules/13_salary/views/01_salaryMain.vue b/src/modules/13_salary/views/01_salaryMain.vue index 94db2813a..114a110ad 100644 --- a/src/modules/13_salary/views/01_salaryMain.vue +++ b/src/modules/13_salary/views/01_salaryMain.vue @@ -171,9 +171,15 @@ function onClickCoppy(id: string) { * @param id บัญชีเงินเดือน */ function onClickDelete(id: string) { - dialogRemove($q, () => { + dialogRemove($q, async () => { showLoader(); - http + formQuery.page = + formQuery.page !== 1 && + formQuery.page === maxPage.value && + rows.value.length === 1 + ? formQuery.page - 1 + : formQuery.page; + await http .delete(config.API.salaryChartByid(id)) .then(async () => { await fetchListSalaly(); @@ -218,11 +224,14 @@ function filterFn(page: number) { } /** - * callbackFunction ทำงานเมื่อมีการ เปลี่ยนหน้าหรือ แถว + * callbackFunction ทำงานเมื่อมีการ เปลี่ยนแถว */ -watch([() => formQuery.page, () => formQuery.pageSize], () => { - fetchListSalaly(); -}); +watch( + () => formQuery.pageSize, + () => { + fetchListSalaly(); + } +); /** hooklifecycle*/ onMounted(() => { @@ -483,6 +492,7 @@ onMounted(() => { boundary-links direction-links :max-pages="5" + @update:model-value="fetchListSalaly()" > From 98103951f9e8a4b49a7300ad7244aefd7aba4d80 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 7 Jul 2025 17:27:28 +0700 Subject: [PATCH 2/2] =?UTF-8?q?fix=20Page=20=3D=3D=3D>=20=E0=B8=AD?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=A3=E0=B8=B2=E0=B9=80=E0=B8=87=E0=B8=B4?= =?UTF-8?q?=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../13_salary/views/page01_salaryRate.vue | 50 ++++++++++++++----- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/src/modules/13_salary/views/page01_salaryRate.vue b/src/modules/13_salary/views/page01_salaryRate.vue index f9ddae054..2f0caf1bc 100644 --- a/src/modules/13_salary/views/page01_salaryRate.vue +++ b/src/modules/13_salary/views/page01_salaryRate.vue @@ -138,8 +138,7 @@ const dataSalaryRate = ref(); //ข้อมูลรายการ /** * fetch รายการอัตราเงินเดือน */ -async function fetchListSalalyRate() { - showLoader(); +async function fetchListSalaryRate() { const page = formQuery.page.toString(); const pageSize = formQuery.pageSize.toString(); const keyword = formQuery.keyword.toString(); @@ -156,9 +155,6 @@ async function fetchListSalalyRate() { }) .catch((err) => { messageError($q, err); - }) - .finally(() => { - hideLoader(); }); } @@ -180,12 +176,18 @@ function onClickSalaryRate(type: string, data: SalaryRate | null) { * @param id รายการอัตราเงินเดือน */ function onClickDelete(id: string) { - dialogRemove($q, () => { + dialogRemove($q, async () => { showLoader(); - http + formQuery.page = + formQuery.page !== 1 && + formQuery.page === maxPage.value && + rows.value.length === 1 + ? formQuery.page - 1 + : formQuery.page; + await http .delete(config.API.salaryRateListByid(id)) .then(async () => { - await fetchListSalalyRate(); + await fetchListSalaryRateNew(); await success($q, "ลบข้อมูลสำเร็จ"); }) .catch((err) => { @@ -241,15 +243,36 @@ function updatePagination(newPagination: NewPagination) { formQuery.pageSize = newPagination.rowsPerPage; } +async function fetchListSalaryRateNew() { + try { + showLoader(); + await fetchListSalaryRate(); + } catch (error) { + messageError($q, error); + } finally { + hideLoader(); + } +} + /** * ทำงานเมื่อมีการ เปลี่ยนหน้าหรือ แถว */ -watch([() => formQuery.page, () => formQuery.pageSize], async () => { - await fetchListSalalyRate(); -}); +watch( + () => formQuery.pageSize, + async () => { + await fetchListSalaryRateNew(); + } +); onMounted(async () => { - await Promise.all([fetchDataSalary(), fetchListSalalyRate()]); + try { + showLoader(); + await Promise.all([fetchDataSalary(), fetchListSalaryRate()]); + } catch (error) { + messageError($q, error); + } finally { + hideLoader(); + } }); @@ -405,6 +428,7 @@ onMounted(async () => { boundary-links direction-links :max-pages="5" + @update:model-value="fetchListSalaryRateNew()" > @@ -414,7 +438,7 @@ onMounted(async () => {