diff --git a/src/modules/04_registryPerson/interface/request/Main.ts b/src/modules/04_registryPerson/interface/request/Main.ts index 07e7f4828..d20ab2e35 100644 --- a/src/modules/04_registryPerson/interface/request/Main.ts +++ b/src/modules/04_registryPerson/interface/request/Main.ts @@ -13,6 +13,7 @@ interface FormFilter { isAll?: boolean; nodeId?: string | null; node?: string | null | number; + retireType?: null | string; } interface FormAddPerson { @@ -54,6 +55,7 @@ interface QueryParams { node?: number | string | null | undefined; nodeId?: string; isAll?: boolean; + retireType?: string | null; } interface FormChangeName { @@ -81,9 +83,9 @@ interface FormDataIDP { createdAt?: Date | null; } -interface RangeAge{ - min:number - max:number +interface RangeAge { + min: number; + max: number; } export type { FormFilter, @@ -93,5 +95,5 @@ export type { QueryParams, FormChangeName, FormDataIDP, - RangeAge + RangeAge, }; diff --git a/src/modules/04_registryPerson/store.ts b/src/modules/04_registryPerson/store.ts index 9ed0bf85d..21ef6f2ca 100644 --- a/src/modules/04_registryPerson/store.ts +++ b/src/modules/04_registryPerson/store.ts @@ -71,6 +71,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { nodeId: null, node: null, searchType: "fullName", + retireType: null, }); const labelOption = reactive({ @@ -79,6 +80,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { posLevel: "ทั้งหมด", retireYear: "", node: "เลือกหน่วยงาน", + retireType: "ทั้งหมด", }); function convertTypeRetired(val: string) { @@ -103,12 +105,30 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { case "PLACEMENT_TRANSFER": return "โอนออก "; case "RETIRE_RESIGN_EMP": - return "ให้ออกจากราชการ(ลูกจ้าง) "; + return "ให้ออกจากราชการ(ลูกจ้าง)"; default: return ""; } } + const retireTypeOps = ref([ + { id: "RETIRE", name: "เกษียณ" }, + { id: "RETIRE_RESIGN", name: "ลาออก" }, + { id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" }, + { id: "RETIRE_OUT", name: "ให้ออกจากราชการ" }, + { id: "DISCIPLINE_RESULT_REMOVE", name: "ปลดออกจากราชการ" }, + { id: "DISCIPLINE_RESULT_DISMISS", name: "ไล่ออกจากราชการ" }, + { id: "DISCIPLINE_SUSPEND", name: "ถูกพักจากราชการ" }, + { id: "PROBATION_REPORT", name: "ไม่ผ่านทดลองงาน" }, + ]); + + const retireTypeEmpOps = ref([ + { id: "RETIRE", name: "เกษียณ" }, + { id: "RETIRE_RESIGN", name: "ลาออก" }, + { id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" }, + { id: "RETIRE_RESIGN_EMP", name: "ให้ออกจากราชการ" }, + ]); + return { fetchType, fetchLevel, @@ -125,5 +145,7 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => { tabs, tabsManu, convertTypeRetired, + retireTypeOps, + retireTypeEmpOps, }; }); diff --git a/src/modules/04_registryPerson/views/listView.vue b/src/modules/04_registryPerson/views/listView.vue index c7b38a2a5..fbc49b091 100644 --- a/src/modules/04_registryPerson/views/listView.vue +++ b/src/modules/04_registryPerson/views/listView.vue @@ -108,6 +108,9 @@ async function fetchDataPerson() { if (store.formFilter.isShowRetire != null) { queryParams.isRetire = store.formFilter.isShowRetire; + queryParams.retireType = queryParams.isRetire + ? store.formFilter.retireType + : undefined; } if (empType.value !== "officer") { @@ -187,9 +190,7 @@ async function insertAvatar(items: DataPerson[]) { ); } -/** - * funciotn ค้นหาข้อมูล - */ +/** funciotn ค้นหาข้อมูล */ function onclickSearch() { store.formFilter.page = 1; store.formFilter.keyword = @@ -203,15 +204,16 @@ function onclickSearch() { */ function selectType() { empType.value = route.name == "registryNew" ? "officer" : "perm"; + store.formFilter.isShowRetire = false; + store.labelOption.retireType = "ทั้งหมด"; + store.formFilter.retireType = null; + store.formFilter.keyword = ""; if (empType.value !== "officer") { - store.formFilter.isShowRetire = null; store.formFilter.isProbation = null; - store.formFilter.keyword = ""; fetchOptionGroup(); } else { - store.formFilter.isShowRetire = false; store.formFilter.isProbation = false; - store.formFilter.keyword = ""; + fetchType(); } @@ -267,6 +269,17 @@ function selectPosLevel(item: DataOption) { fetchDataPerson(); } +/** + * function เลือกประเภทตำแหน่ง + * @param item ประเภทระดับ + */ +function selectRetireType(item: DataOption) { + store.labelOption.retireType = item.name; + store.formFilter.page = 1; + store.formFilter.retireType = item.id; + fetchDataPerson(); +} + /** * function เคลีย์ตัวเลือก * @param t ประเภทตัวเลือก @@ -291,6 +304,9 @@ function clearSelect(t: string) { empType.value === "officer" ? "เลือกหน่วยงาน/ส่วนราชการ" : "เลือกหน่วยงาน"; + } else if (t === "retireType") { + store.labelOption.retireType = "ทั้งหมด"; + store.formFilter.retireType = null; } store.formFilter.page = 1; fetchDataPerson(); @@ -554,6 +570,57 @@ onMounted(async () => { @update:model-value="getSearch" /> +
+ + + + + + + + {{ item.name }} + + + + +
{ label="แสดงตำแหน่งทั้งหมด" @update:model-value="getSearch" /> + + + + + + + {{ item.name }} + + + +