import { defineStore } from "pinia"; import { ref } from "vue"; import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main" export const useProfileDataStore = defineStore("placement", () => { return {}; }); export const usePlacementDataStore = defineStore("placement", () => { interface placement { mappingPosition: { columns: String[] }; } const placementData = ref({ mappingPosition: { columns: [] }, }); const changePlacementColumns = (system: String, val: String[]) => { if (system == "mappingPosition") placementData.value.mappingPosition.columns = val; localStorage.setItem( "placement", JSON.stringify(placementData.value) ); }; if (localStorage.getItem("placement") !== null) { placementData.value = JSON.parse( localStorage.getItem("placement") || "{}" ); } let DataMainYear = ref([]) // ข้อมูลจำนวนปี let DataMainOrig = ref([]) // ข้อมูลหลักดั้งเดิม let DataMainUpdate = ref([]) // ข้อมูลเปลี่ยนแปลง const DataMainYearSet = (val: FormPlacementMainData[]) => (DataMainYear.value = val) const DataMain = (val: FormPlacementMainData[]) => (DataMainOrig.value = val) const DataUpdateMain = (filter_1: number | null, filter_2: number | null, filter_3: boolean) => { DataMainUpdate.value = []; if (filter_1 === null && filter_2 === 0 && filter_3 === false) { // console.log('case 1'); // return DataMainUpdate.value = DataMainOrig.value; อันเก่า return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); } else if (filter_1 === null && filter_2 === null && filter_3 === false) { // console.log('case 1.1'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); } else if (filter_1 !== null && filter_2 === 0 && filter_3 === false) { // console.log('case 2'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.isExpired === filter_3); } else if (filter_1 !== null && filter_2 === null && filter_3 === false) { // console.log('case 2.1'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.isExpired === filter_3); } else if (filter_1 !== null && filter_2 !== 0 && filter_3 === false) { // console.log('case 2.2'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.examType === filter_2 && item.isExpired === filter_3); } else if (filter_1 === null && filter_2 !== 0 && filter_3 === false) { // console.log('case 3'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType === filter_2 && item.isExpired === filter_3); } else if (filter_1 === null && filter_2 === 0 && filter_3 === true) { // console.log('case 3.1'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); } else if (filter_1 === null && filter_2 === null && filter_3 === true) { // console.log('case 3.2'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); } else if (filter_1 !== null && filter_2 === 0 && filter_3 === true) { // console.log('case 3.3'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3); } else if (filter_1 !== null && filter_2 === null && filter_3 === true) { // console.log('case 3.4'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3); } else if (filter_1 !== null && filter_2 !== 0 && filter_3 === true) { // console.log('case 3.5'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.examType == filter_2 && item.isExpired == filter_3); } else if (filter_1 === null && filter_2 !== 0 && filter_3 === true) { // console.log('case 3.6'); return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType == filter_2 && item.isExpired == filter_3); } } return { placementData, changePlacementColumns, DataMainYear, DataMainOrig, DataMainUpdate, DataMainYearSet, DataMain, DataUpdateMain, }; });