import { defineStore } from "pinia"; import { ref } from "vue"; import type { DataOption } from "@/modules/11_discipline/interface/index/Main"; import type { DataList } from "@/modules/11_discipline/interface/response/complaint" import type { QTableProps } from "quasar"; export const useComplainstDataStore = defineStore("DisciplineComplainst", () => { const rows = ref([]) const visibleColumns = ref([]); const columns = ref([]); function fetchComplainst(data: DataList[]) { let datalist = data.map((e: DataList) => ({ subject: e.subject, detail: e.detail, complainant: e.complainant, offenseDescription: e.offenseDescription, creationDate: e.creationDate, considerationLevel: e.considerationLevel, considerationDeadlineDate: e.considerationDeadlineDate, })) rows.value = datalist } // filter options const complainantoptionsMain = ref() const complainantoptions = ref() const agencytoptionsMain = ref() const agencytoptions = ref() const optionListNameMain = ref([]) const optionListName = ref([]) function fetchOptioin(complainantoptions: any, agencytoptions: any) { complainantoptionsMain.value = complainantoptions agencytoptionsMain.value = agencytoptions } function selectComplainantTpye(list: any) { optionListNameMain.value = list optionListName.value = list } function filterSelector(val: string, update: Function, type: string) { update(() => { if (type === "filtercomplainantType" && complainantoptionsMain.value) { complainantoptions.value = complainantoptionsMain.value.filter( (e) => e.name.search(val) !== -1 ); } else if (type === "filteragencytoptions" && agencytoptionsMain.value) { agencytoptions.value = agencytoptionsMain.value.filter( (e) => e.name.search(val) !== -1 ); } else if (type === "filtercomplainantOP" && optionListNameMain.value) { optionListName.value = optionListNameMain.value.filter( (e) => e.name.search(val) !== -1 ); } }) } return { rows, visibleColumns, columns, fetchComplainst, selectComplainantTpye, filterSelector, fetchOptioin, complainantoptions, agencytoptions, optionListName, } })