2023-06-01 12:54:58 +07:00
|
|
|
import { defineStore } from "pinia";
|
2023-06-08 14:31:25 +07:00
|
|
|
import { ref } from "vue";
|
2023-06-09 15:42:06 +07:00
|
|
|
import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main"
|
2023-06-01 12:54:58 +07:00
|
|
|
export const useProfileDataStore = defineStore("placement", () => {
|
|
|
|
|
return {};
|
|
|
|
|
});
|
2023-06-07 13:42:11 +07:00
|
|
|
export const usePlacementDataStore = defineStore("placement", () => {
|
|
|
|
|
interface placement {
|
|
|
|
|
mappingPosition: { columns: String[] };
|
|
|
|
|
}
|
|
|
|
|
const placementData = ref<placement>({
|
|
|
|
|
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") || "{}"
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-09 15:42:06 +07:00
|
|
|
let DataMainYear = ref<object[]>([]) // ข้อมูลจำนวนปี
|
|
|
|
|
let DataMainOrig = ref<FormPlacementMainData[]>([]) // ข้อมูลหลักดั้งเดิม
|
2023-06-08 14:31:25 +07:00
|
|
|
let DataMainUpdate = ref<FormPlacementMainData[]>([]) // ข้อมูลเปลี่ยนแปลง
|
2023-06-09 17:37:18 +07:00
|
|
|
const DataMainYearSet = (val: FormPlacementMainData[]) => (DataMainYear.value = val)
|
|
|
|
|
const DataMain = (val: FormPlacementMainData[]) => (DataMainOrig.value = val)
|
2023-06-09 15:42:06 +07:00
|
|
|
const DataUpdateMain = (filter_1: number | null, filter_2: number | null, filter_3: boolean) => {
|
2023-06-08 14:31:25 +07:00
|
|
|
DataMainUpdate.value = [];
|
2023-06-09 15:42:06 +07:00
|
|
|
if (filter_1 === null && filter_2 === 0 && filter_3 === false) {
|
|
|
|
|
// console.log('case 1');
|
|
|
|
|
return DataMainUpdate.value = DataMainOrig.value;
|
|
|
|
|
} else if (filter_1 === null && filter_2 === null && filter_3 === false) {
|
|
|
|
|
// console.log('case 1.1');
|
|
|
|
|
return DataMainUpdate.value = DataMainOrig.value;
|
|
|
|
|
} else if (filter_1 !== null && filter_2 === 0 && filter_3 === false) {
|
|
|
|
|
// console.log('case 2');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 !== null && filter_2 === null && filter_3 === false) {
|
|
|
|
|
// console.log('case 2.1');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 !== null && filter_2 !== 0 && filter_3 === false) {
|
|
|
|
|
// console.log('case 2.2');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.examType === filter_2);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 === null && filter_2 !== 0 && filter_3 === false) {
|
|
|
|
|
// console.log('case 3');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType === filter_2);
|
2023-06-09 15:42:06 +07:00
|
|
|
} 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');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 !== null && filter_2 === null && filter_3 === true) {
|
|
|
|
|
// console.log('case 3.4');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 !== null && filter_2 !== 0 && filter_3 === true) {
|
|
|
|
|
// console.log('case 3.5');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.examType == filter_2 && item.isExpired == filter_3);
|
2023-06-09 15:42:06 +07:00
|
|
|
} else if (filter_1 === null && filter_2 !== 0 && filter_3 === true) {
|
|
|
|
|
// console.log('case 3.6');
|
2023-06-12 09:11:22 +07:00
|
|
|
return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType == filter_2 && item.isExpired == filter_3);
|
2023-06-09 15:42:06 +07:00
|
|
|
}
|
|
|
|
|
|
2023-06-08 14:31:25 +07:00
|
|
|
}
|
|
|
|
|
|
2023-06-07 13:42:11 +07:00
|
|
|
return {
|
|
|
|
|
placementData,
|
|
|
|
|
changePlacementColumns,
|
2023-06-09 15:42:06 +07:00
|
|
|
DataMainYear,
|
2023-06-08 14:31:25 +07:00
|
|
|
DataMainOrig,
|
|
|
|
|
DataMainUpdate,
|
2023-06-09 15:42:06 +07:00
|
|
|
DataMainYearSet,
|
2023-06-08 14:31:25 +07:00
|
|
|
DataMain,
|
|
|
|
|
DataUpdateMain,
|
2023-06-07 13:42:11 +07:00
|
|
|
};
|
|
|
|
|
});
|