import { defineStore } from 'pinia' import { ref } from 'vue' import type { FormData, Datalist } from '@/interface/response/checkin' // importStores import { useCounterMixin } from '@/stores/mixin' const mixin = useCounterMixin() const { date2Thai } = mixin export const useChekIn = defineStore('checkin', () => { const rows = ref() async function fetchHistoryList(data: FormData[]) { rows.value = [] const datalist: Datalist[] = await data.map((e: FormData) => ({ checkInId: e.checkInId, checkInDate: e.checkInDate ? date2Thai(e.checkInDate) : null, checkInDateTime: e.checkInDate, checkInTime: e.checkInTime, checkOutTime: e.checkOutTime != '' ? e.checkOutTime : '-', checkInStatus: convertStatus(e.checkInStatus), checkOutStatus: e.checkOutStatus != null ? convertStatus(e.checkOutStatus) : '-', checkInLocation: e.checkInLocation, checkOutLocation: e.checkOutLocation != '' ? e.checkOutLocation : '-', // statusEditName: convertStatusEdit(e.statusEdit), })) rows.value = datalist } function convertStatus(status: string) { switch (status) { case '': return 'ขาดราชการ' case 'NORMAL': return 'ปกติ' case 'LATE': return 'สาย' default: return '' } } // function convertStatusEdit(val: string) { // switch (val) { // case 'edit': // return 'ขอแก้ไข' // case 'wait': // return 'รออนุมัติ' // case 'approve': // return 'อนุมัติ' // } // } // function classColorStatus(val: string) { // switch (val) { // case 'wait': // return 'orange' // case 'approve': // return 'green' // case 'reject': // return 'red' // } // } return { rows, fetchHistoryList, // classColorStatus, // fetchlistHistory, } })