import { defineStore } from "pinia"; import { ref } from "vue"; import type { FormOrderPlacementMainData } from "@/modules/10_order/interface/request/Main"; import type { complaintLists } from "@/modules/10_order/interface/response/Order"; import type { DataOption1 } from "@/modules/10_order/interface/index/Main"; export const useOrderPlacementDataStore = defineStore("placementOrder", () => { const typeOrder = ref(""); interface placementOrder { mappingPosition: { columns: String[] }; } const placementOrderData = ref({ 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([]); // ข้อมูลจำนวนปี const DataMainOrigOrder = ref([]); // ข้อมูลหลักดั้งเดิม const DataMainUpdateOrder = ref([]); // ข้อมูลเปลี่ยนแปลง const DataMainYearSetOrder = (val: FormOrderPlacementMainData[]) => (DataMainYearOrder.value = val); const DataMainOrder = (val: FormOrderPlacementMainData[]) => (DataMainOrigOrder.value = val); const DataUpdateOrder = ( filter_1: string | null, 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.orderTypeValue === filter_1 ); } else if ( filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear === null ) { DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( (item) => item.orderTypeValue === filter_1 && item.OrderStatus === filter_2 ); } else if (filter_1 !== "" && filter_2 === "ทั้งหมด" && filterYear !== 0) { DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( (item) => item.orderTypeValue === 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.orderTypeValue === filter_1 ); } else if ( filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear !== null ) { DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( (item) => item.orderTypeValue === filter_1 && item.OrderStatus === filter_2 && item.fiscalYear === filterYear ); } else if (filter_1 == "" && filter_2 == "ทั้งหมด" && filterYear !== null) { DataMainUpdateOrder.value = DataMainOrigOrder.value; } }; const nameOrderFilter = (selectOrder: any) => { switch (selectOrder) { case "C-PM-01": return "คำสั่งบรรจุและแต่งตั้ง: สำหรับผู้สอบแข่งขันได้"; case "C-PM-02": return "คำสั่งบรรจุและแต่งตั้ง: สำหรับผู้ได้รับคัดเลือก"; case "C-PM-03": return "คำสั่งแต่งตั้ง : สำหรับข้าราชการ กทม. เดิม"; case "C-PM-04": return "คำสั่งย้าย : สำหรับข้าราชการ กทม. เดิม"; case "C-PM-05": return "คำสั่งแต่งตั้ง"; case "C-PM-06": return "คำสั่งเลื่อน"; case "C-PM-07": return "คำสั่งย้าย"; case "C-PM-08": return "คำสั่งบรรจุและแต่งตั้งข้าราชการฯ กลับเข้ารับราชการ"; case "C-PM-09": return "คำสั่งบรรจุและแต่งตั้งผู้ออกไปรับราชการทหารกลับเข้ารับราชการ"; case "C-PM-10": return "คำสั่งแต่งตั้งคณะกรรมการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ"; case "C-PM-11": return "คำสั่งให้ข้าราชการที่มีผลการทดลองปฏิบัติหน้าที่ราชการไม่ต่ำกว่ามาตรฐานที่กำหนดรับราชการต่อไป"; case "C-PM-12": return "คำสั่งให้ข้าราชการออกจากราชการเพราะผลการทดลองปฏิบัติหน้าที่ราชการต่ำกว่ามาตรฐานที่กำหนด"; case "C-PM-13": return "คำสั่งให้โอนข้าราชการกรุงเทพมหานครสามัญ"; case "C-PM-14": return "คำสั่งรับโอนข้าราชการกรุงเทพมหานครสามัญ"; case "C-PM-15": return "คำสั่งให้ช่วยราชการ"; case "C-PM-16": return "คำสั่งส่งตัวกลับ"; case "C-PM-17": return "คำสั่งอนุญาตให้ข้าราชการลาออกจากราชการ"; case "C-PM-18": return "คำสั่งให้ออกจากราชการ"; case "C-PM-19": return "คำสั่งปลดออกจากราชการ"; case "C-PM-20": return "คำสั่งไล่ออกจากราชการ"; case "C-PM-21": return "คำสั่งแต่งตั้งลูกจ้างชั่วคราวเป็นลูกจ้างประจำ"; case "C-PM-22": return "คำสั่งปรับระดับชั้นงาน"; case "C-PM-23": return "คำสั่งให้ลูกจ้างออกจากราชการ"; case "C-PM-24": return "คำสั่งย้ายลูกจ้างประจำ"; case "C-PM-25": return "คำสั่งพักจากราชการ"; case "C-PM-26": return "คำสั่งให้ออกจากราชการไว้ก่อน"; case "C-PM-27": return "คำสั่งลงโทษ ภาคทัณฑ์"; case "C-PM-28": return "คำสั่งลงโทษ ตัดเงินเดือน"; case "C-PM-29": return "คำสั่งลงโทษ ลดขั้นเงินเดือน"; case "C-PM-30": return "คำสั่งเพิ่มโทษ"; case "C-PM-31": return "คำสั่งงดโทษ"; case "C-PM-32": return "คำสั่งยุติเรื่อง"; case "C-PM-33": return "คำสั่งเลื่อนเงินเดือน"; case "C-PM-34": return "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อน"; case "C-PM-35": return "คำสั่งเลื่อนเงินเดือนข้าราชการเกษียณ"; case "C-PM-36": return "คำสั่งเลื่อนขั้นค่าจ้าง"; case "C-PM-37": return "คำสั่งให้ลูกจ้างประจำได้รับค่าตอบแทนพิเศษ"; case "C-PM-38": return "แต่งตั้งข้าราชการให้ดำรงตำแหน่ง"; // คำสั่งปรับโครงสร้าง case "C-PM-39": return "คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม"; case "C-PM-40": return "ให้ข้าราชการรักษาการในตำแหน่ง"; case "C-PM-41": return "คำสั่งยกเลิกการลาออก"; default: return ""; } }; const complaintLists = ref([]); const complaintOption = ref([]); return { placementOrderData, changePlacementColumns, DataMainYearOrder, DataMainOrigOrder, DataMainUpdateOrder, DataUpdateOrder, DataMainYearSetOrder, DataMainOrder, nameOrderFilter, complaintLists, complaintOption, typeOrder, }; });