From 21cb24bbaf81492d26757bdfcf5b75a968b1cc2b Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 24 Jun 2024 17:54:53 +0700 Subject: [PATCH] fix bug --- .../04_registryNew/components/TableView.vue | 54 ++++-- src/modules/04_registryNew/store.ts | 2 +- .../components/ListRetirement/AddList.vue | 164 ++++++++++++------ .../09_leave/components/2_Leave/TableList.vue | 2 +- .../components/3_Report/LeaveReport.vue | 13 +- 5 files changed, 162 insertions(+), 73 deletions(-) diff --git a/src/modules/04_registryNew/components/TableView.vue b/src/modules/04_registryNew/components/TableView.vue index 2bf0609fe..54d1feae6 100644 --- a/src/modules/04_registryNew/components/TableView.vue +++ b/src/modules/04_registryNew/components/TableView.vue @@ -366,8 +366,42 @@ watch( - - + +
ตำแหน่งเลขที่
+
+ {{ props.row.posNo ? props.row.posNo : "-" }} +
+ +
+ {{ empType === "officer" ? `ตำแหน่งในสายงาน` : `ตำแหน่ง` }} +
+
+ {{ props.row.position ? props.row.position : "-" }} +
+ +
+ {{ empType === "officer" ? "ตำแหน่งประเภท" : "กลุ่มงาน" }} +
+
+ {{ props.row.posType ? props.row.posType : "-" }} +
+ +
+ {{ empType === "officer" ? "ระดับ" : "ระดับชั้นงาน" }} +
+
+ {{ + props.row.posLevel + ? props.row.posTypeShortName + ? `${props.row.posTypeShortName} ${props.row.posLevel}` + : props.row.posLevel + : "-" + }} +
+
+ + + - + - + - + +
diff --git a/src/modules/04_registryNew/store.ts b/src/modules/04_registryNew/store.ts index e4aea4edc..8acdab20f 100644 --- a/src/modules/04_registryNew/store.ts +++ b/src/modules/04_registryNew/store.ts @@ -23,7 +23,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { const posTypeMain = ref([]); const posLevelOps = ref([]); const yearOps = ref([]); - const mode = ref("card"); + const mode = ref("table"); function fetchType(data: DataType[]) { posTypeMain.value = data; diff --git a/src/modules/06_retirement/components/ListRetirement/AddList.vue b/src/modules/06_retirement/components/ListRetirement/AddList.vue index 458848879..3eba31b4a 100644 --- a/src/modules/06_retirement/components/ListRetirement/AddList.vue +++ b/src/modules/06_retirement/components/ListRetirement/AddList.vue @@ -9,7 +9,14 @@ import { useRoute } from "vue-router"; /** Use */ const $q = useQuasar(); //ใช้ noti quasar const mixin = useCounterMixin(); -const { messageError, success, showLoader, hideLoader, dialogConfirm } = mixin; +const { + messageError, + success, + showLoader, + hideLoader, + dialogConfirm, + findOrgName, +} = mixin; const route = useRoute(); const retireld_params = route.params.id; @@ -82,7 +89,7 @@ watch(modal, () => { } }); -function findOrgName(obj: any) { +function findOrgChildName(obj: any) { if (obj) { let name = obj.orgChild4Name != null && obj.orgChild3Name != null @@ -120,36 +127,77 @@ function findOrgName(obj: any) { const formPagePersonList = reactive({ keyword: "", pageSize: 10, page: 1 }); const maxPage = ref(1); +const totalList = ref(0); // fecth profile const fecthProfile = async () => { - showLoader(); - await http - .post(config.API.orgProfileProbation, formPagePersonList) - .then((res) => { - maxPage.value = Math.ceil( - res.data.result.total / formPagePersonList.pageSize - ); - rows.value = res.data.result.data.map((e: any) => ({ - id: e.id, - prefix:e.prefix, - firstName:e.firstName, - lastName:e.lastName, - fullname: e.prefix + e.firstName + " " + e.lastName, - position: e.position, - level: - e.posTypeName && e.posLevelName - ? e.posTypeName + " (" + e.posLevelName + ")" - : "-", - organizationOrganization: findOrgName(e), - })); - }) - .catch((err) => { - messageError($q, err); - }) - .finally(() => { - hideLoader(); - }); + if (props?.dataProfile?.type === "OFFICER") { + showLoader(); + formPagePersonList.keyword = + formPagePersonList.keyword === null ? "" : formPagePersonList.keyword; + await http + .post(config.API.orgProfileProbation, formPagePersonList) + .then((res) => { + maxPage.value = Math.ceil( + res.data.result.total / formPagePersonList.pageSize + ); + totalList.value = res.data.result.total; + rows.value = res.data.result.data.map((e: any) => ({ + id: e.id, + prefix: e.prefix, + firstName: e.firstName, + lastName: e.lastName, + fullname: e.prefix + e.firstName + " " + e.lastName, + position: e.position, + level: + e.posTypeName && e.posLevelName + ? e.posTypeName + " (" + e.posLevelName + ")" + : "-", + organizationOrganization: findOrgChildName(e), + })); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); + } else { + let queryParams: any = { + page: formPagePersonList.page, + pageSize: formPagePersonList.pageSize, + searchKeyword: formPagePersonList.keyword, + searchField: "fullName", + type: "perm", + }; + http + .get(config.API.registryNew("-employee"), { params: queryParams }) + .then((res) => { + maxPage.value = Math.ceil( + res.data.result.total / formPagePersonList.pageSize + ); + totalList.value = res.data.result.total; + rows.value = res.data.result.data.map((e: any) => ({ + id: e.id, + prefix: e.prefix, + firstName: e.firstName, + lastName: e.lastName, + fullname: e.prefix + e.firstName + " " + e.lastName, + position: e.position, + level: + e.posTypeName && e.posLevelName + ? e.posTypeName + " (" + e.posLevelName + ")" + : "-", + organizationOrganization: findOrgName(e), + })); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); + } }; // ยืนยันการเพิ่มราชชื่อ @@ -183,20 +231,17 @@ const updateListData = (retireld: string, pId: string) => { props.UpdateListId(retireld, pId); }; -/** - * Setiting Pagination - */ -const paging = ref(true); -const pagination = ref({ - sortBy: "fullname", - descending: true, - page: 1, - rowsPerPage: 10, -}); -const paginationLabel = (start: number, end: number, total: number) => { - if (paging.value == true) return " " + start + "-" + end + " ใน " + total; - else return start + "-" + end + " ใน " + total; -}; +function updatePageSize(newPagination: any) { + formPagePersonList.page = 1; + formPagePersonList.pageSize = newPagination.rowsPerPage; +} + +watch( + () => formPagePersonList.pageSize, + () => { + fecthProfile(); + } +);