import { ref, computed } from "vue"; import { defineStore } from "pinia"; export const useProfileDataStore = defineStore("profile", () => { interface profile { main: { columns: String[] }; education: { columns: String[] }; oldName: { columns: String[] }; certicate: { columns: String[] }; train: { columns: String[] }; insignia: { columns: String[] }; coined: { columns: String[] }; assessment: { columns: String[] }; salary: { columns: String[] }; discipline: { columns: String[] }; leave: { columns: String[] }; talent: { columns: String[] }; work: { columns: String[] }; record: { columns: String[] }; other: { columns: String[] }; document: { columns: String[] }; } const birthDate = ref(new Date()); const retireText = ref(null); const changeRetireText = (val: string | null) => { retireText.value = val; }; const changeBirth = (val: Date) => { birthDate.value = val; }; const profileData = ref({ main: { columns: [] }, education: { columns: [] }, oldName: { columns: [] }, certicate: { columns: [] }, train: { columns: [] }, insignia: { columns: [] }, coined: { columns: [] }, assessment: { columns: [] }, salary: { columns: [] }, discipline: { columns: [] }, leave: { columns: [] }, talent: { columns: [] }, work: { columns: [] }, record: { columns: [] }, other: { columns: [] }, document: { columns: [] }, }); const changeProfileColumns = (system: String, val: String[]) => { if (system == "main") profileData.value.main.columns = val; if (system == "education") profileData.value.education.columns = val; if (system == "oldName") profileData.value.oldName.columns = val; if (system == "certicate") profileData.value.certicate.columns = val; if (system == "train") profileData.value.train.columns = val; if (system == "insignia") profileData.value.insignia.columns = val; if (system == "coined") profileData.value.coined.columns = val; if (system == "assessment") profileData.value.assessment.columns = val; if (system == "salary") profileData.value.salary.columns = val; if (system == "discipline") profileData.value.discipline.columns = val; if (system == "leave") profileData.value.leave.columns = val; if (system == "talent") profileData.value.talent.columns = val; if (system == "work") profileData.value.work.columns = val; if (system == "record") profileData.value.record.columns = val; if (system == "other") profileData.value.other.columns = val; if (system == "document") profileData.value.document.columns = val; localStorage.setItem("profile", JSON.stringify(profileData.value)); }; if (localStorage.getItem("profile") !== null) { profileData.value = JSON.parse(localStorage.getItem("profile") || "{}"); } return { profileData, changeProfileColumns, birthDate, changeBirth, retireText, changeRetireText, }; }); export const useRegistryEmployeeDataStore = defineStore("registryEmployeeDataStore", () => { const statusText = (val: string) => { switch (val) { case "WAITTING": return "รอดำเนินการ"; case "PENDING": return "เลือกตำแหน่งแล้ว"; case "APPROVE": return "อนุมัติ"; case "REJECT": return "ไม่อนุมัติ"; case "REPORT": return "ส่งรายชื่อไปออกคำสั่ง"; case "DONE": return "ออกคำสั่งเสร็จแล้ว"; default: return "-"; } }; return { statusText, }; });