diff --git a/src/modules/07_insignia/components/2_Manage/Tab1.vue b/src/modules/07_insignia/components/2_Manage/Tab1.vue index eb88cffc5..f3186f5c3 100644 --- a/src/modules/07_insignia/components/2_Manage/Tab1.vue +++ b/src/modules/07_insignia/components/2_Manage/Tab1.vue @@ -39,7 +39,8 @@ const organization = ref(""); const dialogNote = ref(false); const dialogTitle = ref(""); const dialogDesc = ref(""); - +const typeinsigniaOptions = ref(DataStore.typeinsigniaOptions); +const employeeClassOps = ref(DataStore.employeeClassOps); // แจ้งเตือน const dialogWarn = ref(false); const checkboxData = ref([ @@ -57,6 +58,7 @@ const checkboxData = ref([ ]); const organizationOptions = ref([{ id: "1", name: "ทั้งหมด" }]); +const filterOrganizationOP = ref([]); const visibleColumns = ref([ "no", "citizenId", @@ -286,6 +288,7 @@ onMounted(async () => { DataStore.mainTab = props.tab; } } + filterOrganizationOP.value = organizationOptions.value; }); // เช็คสถานนะแสดงปุ่มเพิ่ม const checkStatus = computed(() => { @@ -298,8 +301,8 @@ const checkStatus = computed(() => { }); // เลือกหน่วยงาน const changtypeOc = () => { - if (props.fecthInsigniaByOc) { - props.fecthInsigniaByOc( + if (organization.value !== null) { + props.fecthInsigniaByOc?.( props.roundId, organization.value, "officer", @@ -644,6 +647,41 @@ const clickCloseReson = () => { const clickShowWarn = () => { dialogWarn.value = true; }; + +const filterSelector = (val: any, update: Function, name: any) => { + update(() => { + const needle = val.toLowerCase(); + if (name === 'typeinsigniaOptions') { + DataStore.typeinsignia = '' + typeinsigniaOptions.value = DataStore.typeinsigniaOptions.filter( + (v: any) => v.name.toLowerCase().indexOf(needle) > -1 + ); + } + else if(name === 'employeeClassOps'){ + DataStore.employeeClass = '' + employeeClassOps.value = DataStore.employeeClassOps.filter( + (v: any) => v.name.toLowerCase().indexOf(needle) > -1 + ); + } + else if(name === 'filterOrganizationOP'){ + filterOrganizationOP.value = organizationOptions.value.filter( + (v: any) => v.name.toLowerCase().indexOf(needle) > -1 + ); + } + + } + ) +} + +const clearInsigniaFilters = (name: string) => { + if (name === "typeinsigniaOptions") { + DataStore.typeinsignia = "all"; + typeinsigniaOptions.value = DataStore.typeinsigniaOptions; + } else if (name === 'employeeClassOps') { + DataStore.employeeClass = "all"; + employeeClassOps.value = DataStore.employeeClassOps; + } +};