From 78de1bd91e4bd336f4024d884d733a653e4014d5 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 19 Feb 2025 13:10:35 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=20filter=20dateAppoint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GovernmentInformation/07_Position.vue | 11 +++ .../detail/GovernmentInformation/Main.vue | 6 +- .../interface/request/Main.ts | 2 + src/modules/04_registryPerson/store.ts | 11 ++- .../04_registryPerson/views/listView.vue | 88 ++++++++++++++++++- 5 files changed, 111 insertions(+), 7 deletions(-) create mode 100644 src/modules/04_registryPerson/components/detail/GovernmentInformation/07_Position.vue diff --git a/src/modules/04_registryPerson/components/detail/GovernmentInformation/07_Position.vue b/src/modules/04_registryPerson/components/detail/GovernmentInformation/07_Position.vue new file mode 100644 index 000000000..6b440a7d0 --- /dev/null +++ b/src/modules/04_registryPerson/components/detail/GovernmentInformation/07_Position.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/modules/04_registryPerson/components/detail/GovernmentInformation/Main.vue b/src/modules/04_registryPerson/components/detail/GovernmentInformation/Main.vue index 1dee6b8de..4cfe2ed29 100644 --- a/src/modules/04_registryPerson/components/detail/GovernmentInformation/Main.vue +++ b/src/modules/04_registryPerson/components/detail/GovernmentInformation/Main.vue @@ -8,7 +8,7 @@ import Leave from "@/modules/04_registryPerson/components/detail/GovernmentInfor import PerformSpecialWork from "@/modules/04_registryPerson/components/detail/GovernmentInformation/04_PerformSpecialWork.vue"; //ปฏิบัติราชการพิเศษ import ActingPos from "@/modules/04_registryPerson/components/detail/GovernmentInformation/05_ActingPos.vue"; //รักษาการในตำแหน่ง import HelpGovernmentDetail from "@/modules/04_registryPerson/components/detail/GovernmentInformation/06_HelpGovernment.vue"; //ช่วยราชการ - +import Postion from "@/modules/04_registryPerson/components/detail/GovernmentInformation/07_Position.vue"; import { useRegistryNewDataStore } from "@/modules/04_registryPerson/store"; const tab = ref("1"); @@ -34,6 +34,7 @@ const storeRegistry = useRegistryNewDataStore(); class="text-grey q-pl-sm" > + @@ -61,6 +62,9 @@ const storeRegistry = useRegistryNewDataStore(); + + + diff --git a/src/modules/04_registryPerson/interface/request/Main.ts b/src/modules/04_registryPerson/interface/request/Main.ts index d20ab2e35..b20996743 100644 --- a/src/modules/04_registryPerson/interface/request/Main.ts +++ b/src/modules/04_registryPerson/interface/request/Main.ts @@ -14,6 +14,7 @@ interface FormFilter { nodeId?: string | null; node?: string | null | number; retireType?: null | string; + dateAppoint?: string; } interface FormAddPerson { @@ -56,6 +57,7 @@ interface QueryParams { nodeId?: string; isAll?: boolean; retireType?: string | null; + dateAppoint?: string; } interface FormChangeName { diff --git a/src/modules/04_registryPerson/store.ts b/src/modules/04_registryPerson/store.ts index 73587c996..1c6cb0058 100644 --- a/src/modules/04_registryPerson/store.ts +++ b/src/modules/04_registryPerson/store.ts @@ -20,7 +20,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { { id: "perm", name: "ลูกจ้างประจำ" }, // { id: "temp", name: "ลูกจ้างชั่วคราว" }, ]); - const citizenId = ref('') + const citizenId = ref(""); const posTypeOps = ref([]); const posTypeMain = ref([]); const posLevelOps = ref([]); @@ -73,6 +73,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { node: null, searchType: "fullName", retireType: null, + dateAppoint: "", }); const labelOption = reactive({ @@ -130,6 +131,11 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { { id: "RETIRE_RESIGN_EMP", name: "ให้ออกจากราชการ" }, ]); + const displayOrderOps = ref([ + { id: "ASC", name: "เรียงตามวันที่บรรจุแต่งตั้ง (ล่าสุด-เก่า)" }, + { id: "DESC", name: "เรียงตามวันที่บรรจุแต่งตั้ง (เก่า-ล่าสุด)" }, + ]); + return { fetchType, fetchLevel, @@ -148,6 +154,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { convertTypeRetired, retireTypeOps, retireTypeEmpOps, - citizenId + citizenId, + displayOrderOps, }; }); diff --git a/src/modules/04_registryPerson/views/listView.vue b/src/modules/04_registryPerson/views/listView.vue index c55283255..f3e42bb88 100644 --- a/src/modules/04_registryPerson/views/listView.vue +++ b/src/modules/04_registryPerson/views/listView.vue @@ -128,6 +128,10 @@ async function fetchDataPerson() { queryParams.isAll = store.formFilter.isAll; } + if (store.formFilter.dateAppoint) { + queryParams.dateAppoint = store.formFilter.dateAppoint; + } + await http .get( config.API.registryNew(empType.value !== "officer" ? "-employee" : ""), @@ -215,7 +219,6 @@ function selectType() { fetchOptionGroup(); } else { store.formFilter.isProbation = false; - fetchType(); } @@ -224,6 +227,7 @@ function selectType() { store.labelOption.posType = "ทั้งหมด"; store.labelOption.posLevel = "ทั้งหมด"; store.formFilter.type = empType.value; + store.formFilter.dateAppoint = ""; store.labelOption.node = empType.value === "officer" ? "เลือกหน่วยงาน/ส่วนราชการ" @@ -237,7 +241,8 @@ function selectType() { store.labelOption.posLevel != "ทั้งหมด" || store.formFilter.isShowRetire || store.formFilter.isProbation || - store.formFilter.nodeId != null + store.formFilter.nodeId != null || + store.formFilter.dateAppoint != "" ) { store.formFilter.page = 1; fetchDataPerson(); @@ -282,6 +287,12 @@ function selectRetireType(item: DataOption) { fetchDataPerson(); } +function selectDisplayOrderType(item: DataOption) { + store.formFilter.page = 1; + store.formFilter.dateAppoint = item.id; + fetchDataPerson(); +} + /** * function เคลีย์ตัวเลือก * @param t ประเภทตัวเลือก @@ -362,12 +373,12 @@ watch(selectNode, () => { isLoad.value && hideLoader(); }); -/** hook เมื่อมีการเรียกใช้ Components*/ function getSearch() { store.formFilter.page = 1; fetchDataPerson(); } +/** hook เมื่อมีการเรียกใช้ Components*/ onMounted(async () => { await Promise.all([selectType(), fetchTree()]); }); @@ -582,7 +593,6 @@ onMounted(async () => { label="แสดงข้อมูลผู้พ้นจากราชการ" @update:model-value="getSearch" /> - { + + + + + + + + {{ item.name }} + + + +
{ + + + + + + + + {{ item.name }} + + + +