hrms-mgt/src/modules/11_discipline/stroes/ComplaintsStore.ts

78 lines
2.4 KiB
TypeScript
Raw Normal View History

import { defineStore } from "pinia";
import { ref } from "vue";
import type { DataOption } from "../interface/index/Main";
export const useComplainstDataStore = defineStore("DisciplineComplainst", () => {
const rows = ref<any>([])
const optionListName = ref<any>([{}])
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<DataOption[]>()
const complainantoptions = ref<DataOption[]>()
const agencytoptionsMain = ref<DataOption[]>()
const agencytoptions = ref<DataOption[]>()
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,
}
})