import { defineStore } from "pinia"; import { ref, } from "vue"; import { useCounterMixin } from "@/stores/mixin"; const mixin = useCounterMixin(); const { date2Thai, } = mixin; export const useBrrowDataStore = defineStore("insigniaBrrow", () => { const insignia = ref('') const insigniaOp = ref([{ name: "ทั้งหมด", id: "", type: "" }]) const insigniaType = ref() const rows = ref([]) const listInsignia = ref([]) const employeeClass = ref("all"); const employeeClassOps = ref([{ name: "ทั้งหมด", id: "all" }, { name: "ข้าราชการ กทม.สามัญ", id: "officer" }, { name: "ลูกจ้างประจำ", id: "perm" }]) const fetchDataInsignia = async (data: any) => { insignia.value = '' insigniaOp.value = [{ name: "ทั้งหมด", id: "", type: "" }] data.forEach((e: any) => { insigniaOp.value.push({ name: e.name, id: e.id, type: e.insigniaType.id }) }); } const fetchDatainsigniaType = async (data: any) => { insigniaType.value = data.map((e: any) => ({ name: e.id, label: e.name })) } const fetchlistinsignia = async (data: any) => { rows.value = []; let list = await data.map((e: any) => ({ id: e.id, citizenId: e.citizenId, prefix: e.prefix, position: e.position, status: status(e.status), name: e.fullName, type: e.requestInsignia, requestInsigniaId: e.requestInsigniaId, employeeType: profileType(e.profileType), profileType: e.profileType, page: e.page, number: e.no, vatnumber: e.number, datepay: date2Thai(e.datePayment), typepay: e.typePayment, address: e.address, borrowOrganization: e.borrowOrganization, borrowDate: e.borrowDate !== null ? date2Thai(e.borrowDate) : '-', returnOrganization: e.returnOrganization, returnDate: e.returnDate !== null ? date2Thai(e.returnDate) : '-', returnReason: e.returnReason !== null ? e.returnReason : '-', })); rows.value = list listInsignia.value = list // selectInvoice(invoiceType.value) } const status = (val: string) => { switch (val) { case "PENDING": return "รอบันทึกข้อมูล"; case "REJECT": return "ยกเลิก"; case "DELETE": return "ลบ"; case "DONE": return "บันทึกลง ก.พ. 7 แล้ว"; } } const profileType = (val: string) => { switch (val) { case "officer": return "ข้าราชการ กทม.สามัญ"; case "employee": return "ลูกจ้างประจำ"; } } return { rows, listInsignia, insignia, insigniaOp, insigniaType, employeeClass, employeeClassOps, fetchDatainsigniaType, fetchDataInsignia, profileType, fetchlistinsignia, }; });