import { defineStore } from "pinia"; import { ref } from "vue"; import type { DataOption } from "../interface/index/Main"; export const useComplainstDataStore = defineStore("DisciplineComplainst", () => { const rows = ref([]) const optionListName = ref([{}]) function fectComplainst(data: any) { let datalist = data.map((e: any) => ({ subject: e.subject, detail: e.detail, complainant: e.complainant, offenseDescription: e.offenseDescription, creationDate: e.creationDate, considerationLevel: e.considerationLevel, considerationDeadlineDate: e.considerationDeadlineDate, })) rows.value = datalist } function selectComplainantTpye(list: any) { optionListName.value = list } const complainantoptionsMain = ref() const complainantoptions = ref() const agencytoptionsMain = ref() const agencytoptions = ref() function fectOptioin(complainantoptions: any, agencytoptions: any) { complainantoptionsMain.value = complainantoptions agencytoptionsMain.value = agencytoptions } function filterSelector(val: any, update: Function, type: string) { console.log(val, type); let data: DataOption[] | undefined = undefined; let filter: DataOption[] | undefined = undefined; if (type == "filtercomplainantType") { data = complainantoptionsMain.value } else if (type == "filteragencytoptions") { data = agencytoptionsMain.value } if (val == "") { update(() => { filter = data; }); } else { update(() => { if (data) { filter = data.filter( (e) => e.name.search(val) !== -1 ); } }); } if (filter) { if (type == "filtercomplainantType") { complainantoptions.value = filter } else if (type = "filteragencytoptions") { agencytoptions.value = filter } } } return { rows, optionListName, fectComplainst, selectComplainantTpye, filterSelector, fectOptioin, complainantoptions, agencytoptions, } })