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" >