42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { ref, computed } from "vue";
|
|
import { defineStore } from "pinia";
|
|
|
|
export const useExamDataStore = defineStore("exam", () => {
|
|
interface exam {
|
|
main: { columns: String[] };
|
|
education: { columns: String[] };
|
|
career: { columns: String[] };
|
|
}
|
|
|
|
const examData = ref<exam>({
|
|
main: { columns: [] },
|
|
education: { columns: [] },
|
|
career: { columns: [] },
|
|
});
|
|
|
|
const consend = ref<boolean>(false);
|
|
const status = ref<string>("");
|
|
|
|
const changeExamColumns = (system: String, val: String[]) => {
|
|
if (system == "main") examData.value.main.columns = val;
|
|
if (system == "education") examData.value.education.columns = val;
|
|
if (system == "career") examData.value.career.columns = val;
|
|
localStorage.setItem("exam", JSON.stringify(examData.value));
|
|
};
|
|
|
|
if (localStorage.getItem("exam") !== null) {
|
|
examData.value = JSON.parse(localStorage.getItem("exam") || "{}");
|
|
}
|
|
|
|
const changeStatus = (val: string) => {
|
|
status.value = val;
|
|
};
|
|
|
|
return {
|
|
examData,
|
|
changeExamColumns,
|
|
consend,
|
|
status,
|
|
changeStatus,
|
|
};
|
|
});
|