hrms-mgt/src/modules/10_order/store.ts

100 lines
No EOL
3.8 KiB
TypeScript

import { defineStore } from "pinia";
import { ref } from "vue";
import type { FormOrderPlacementMainData } from "@/modules/10_order/interface/request/Main";
export const useOrderPlacementDataStore = defineStore("placementOrder", () => {
interface placementOrder {
mappingPosition: { columns: String[] };
}
const placementOrderData = ref<placementOrder>({
mappingPosition: { columns: [] },
});
const changePlacementColumns = (system: String, val: String[]) => {
if (system == "mappingPosition")
placementOrderData.value.mappingPosition.columns = val;
localStorage.setItem(
"placementOrder",
JSON.stringify(placementOrderData.value)
);
};
if (localStorage.getItem("placementOrder") !== null) {
placementOrderData.value = JSON.parse(
localStorage.getItem("placementOrder") || "{}"
);
}
const DataMainYearOrder = ref<object[]>([]); // ข้อมูลจำนวนปี
const DataMainOrigOrder = ref<FormOrderPlacementMainData[]>([]); // ข้อมูลหลักดั้งเดิม
const DataMainUpdateOrder = ref<FormOrderPlacementMainData[]>([]); // ข้อมูลเปลี่ยนแปลง
const DataMainYearSetOrder = (val: FormOrderPlacementMainData[]) =>
(DataMainYearOrder.value = val);
const DataMainOrder = (val: FormOrderPlacementMainData[]) =>
(DataMainOrigOrder.value = val);
const DataUpdateOrder = (
filter_1: string,
filter_2: string,
filterYear: number | null
) => {
DataMainUpdateOrder.value = [];
if (filter_1 === "" && filter_2 === "" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value;
} else if (filter_1 !== "" && filter_2 === "" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderType === filter_1
);
} else if (filter_1 !== "" && filter_2 !== "" && filterYear === null) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderType === filter_1 && item.OrderStatus === filter_2
);
} else if (filter_1 !== "" && filter_2 === "" && filterYear !== 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderType === filter_1 && item.fiscalYear === filterYear
);
} else if (filter_1 === "" && filter_2 !== "" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderStatus === filter_2
);
} else if (filter_1 === "" && filter_2 === "" && filterYear !== 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.fiscalYear === filterYear
);
} else if (filter_1 === "" && filter_2 !== "" && filterYear !== null) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) =>
item.OrderStatus === filter_2 && item.fiscalYear === filterYear
);
} else if (filter_1 !== "" && filter_2 !== "" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderStatus === filter_2 && item.OrderType === filter_1
);
} else if (filter_1 !== "" && filter_2 !== "" && filterYear !== null) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) =>
item.OrderType === filter_1 &&
item.OrderStatus === filter_2 &&
item.fiscalYear === filterYear
);
} else if (
filter_1 == "ทั้งหมด" &&
filter_2 == "ทั้งหมด" &&
filterYear !== null
) {
DataMainUpdateOrder.value = DataMainOrigOrder.value;
}
};
return {
placementOrderData,
changePlacementColumns,
DataMainYearOrder,
DataMainOrigOrder,
DataMainUpdateOrder,
DataUpdateOrder,
DataMainYearSetOrder,
DataMainOrder,
};
});