From 1f18b56fbfcd5f9073e0b92a3bf2e6026e52ad11 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 15 Sep 2025 13:52:27 +0700 Subject: [PATCH] =?UTF-8?q?fix:sortBy=20,descending=20-=20=E0=B8=97?= =?UTF-8?q?=E0=B8=B3=20sortBy=20=E0=B9=80=E0=B8=89=E0=B8=9E=E0=B8=B2?= =?UTF-8?q?=E0=B8=B0=20API=20=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B8=A1=E0=B8=B5?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=97=E0=B8=B3=20paging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../05_leave/components/FormLeave/Form.vue | 12 ++++-- src/modules/05_leave/components/ListView.vue | 19 ++++++++-- src/modules/05_leave/components/Table.vue | 37 +++++++++++++++---- src/modules/05_leave/store.ts | 7 ++-- .../components/TableListEvaluate.vue | 10 ++--- src/modules/07_appealComplain/views/Main.vue | 6 +-- .../08_KPI/components/Evaluator/01_TabAll.vue | 8 ++-- .../components/Evaluator/02_TabOther.vue | 10 +++-- src/modules/08_KPI/interface/request/index.ts | 6 ++- src/modules/08_KPI/store.ts | 2 + src/modules/08_KPI/views/main.vue | 16 +++----- src/modules/08_KPI/views/mainEvaluator.vue | 18 ++++----- .../10_registry/views/requestEditMain.vue | 14 ++----- 13 files changed, 98 insertions(+), 67 deletions(-) diff --git a/src/modules/05_leave/components/FormLeave/Form.vue b/src/modules/05_leave/components/FormLeave/Form.vue index db9bd7b..e455ea9 100644 --- a/src/modules/05_leave/components/FormLeave/Form.vue +++ b/src/modules/05_leave/components/FormLeave/Form.vue @@ -44,11 +44,11 @@ const columns = ref([ style: "font-size: 14px", }, { - name: "fullName", + name: "firstName", align: "left", label: "ชื่อ-นามสกุล", sortable: true, - field: "fullName", + field: "firstName", format(val, row) { return `${row.prefix}${row.firstName} ${row.lastName}`; }, @@ -66,7 +66,7 @@ const columns = ref([ }, ]); const pagination = ref({ - sortBy: "createdAt", + sortBy: "", descending: true, page: 1, rowsPerPage: 10, @@ -83,6 +83,10 @@ async function getCommander() { page: pagination.value.page, pageSize: pagination.value.rowsPerPage, keycloakId: storeData.formData.keycloakId, + ...(pagination.value.sortBy && { + sortBy: pagination.value.sortBy, + descending: pagination.value.descending, + }), type: storeData.officerType.toLocaleUpperCase() == "OFFICER" ? "officer" @@ -117,7 +121,7 @@ function closeDialog() { rows.value = []; selected.value = []; pagination.value = { - sortBy: "createdAt", + sortBy: "", descending: true, page: 1, rowsPerPage: 10, diff --git a/src/modules/05_leave/components/ListView.vue b/src/modules/05_leave/components/ListView.vue index 3f4235a..c8f1efa 100644 --- a/src/modules/05_leave/components/ListView.vue +++ b/src/modules/05_leave/components/ListView.vue @@ -37,6 +37,8 @@ const maxPage = ref(1); const page = ref(1); const pageSize = ref(10); const total = ref(0); +const sortBy = ref("dateSendLeave"); +const descending = ref(true); /** function เรียกข้อมูลการลา*/ async function fetchDataTable() { isLoading.value = true; @@ -47,6 +49,10 @@ async function fetchDataTable() { page: page.value.toString(), //*หน้า pageSize: pageSize.value.toString(), //*จำนวนแถวต่อหน้า keyword: filter.value, //keyword ค้นหา + ...(sortBy.value && { + sortBy: sortBy.value, + descending: descending.value, + }), }; await http .post(config.API.leaveTableList(), body) @@ -141,9 +147,14 @@ async function updateFilterTable(y: number, t: string, s: string, k: string) { * function updatePagination * @param p หน้า * @param ps แถวต่อหน้า + * @param s เรียงลำดับตาม + * @param d เรียงลำดับจากน้อยไปมาก */ -async function updatePagination(p: number, ps: number) { - (page.value = p), (pageSize.value = ps); +async function updatePagination(p: number, ps: number, s: string, d: boolean) { + page.value = p; + pageSize.value = ps; + sortBy.value = s; + descending.value = d; await fetchDataTable(); } @@ -188,6 +199,8 @@ onMounted(async () => { :pageSize="pageSize" :leaveType="leaveType" :total="total" + :sortBy="sortBy" + :descending="descending" :isloadingData="isLoading" >