hrms-checkin/src/stores/chekin.ts
2023-11-24 16:39:55 +07:00

72 lines
1.9 KiB
TypeScript

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<Datalist[]>()
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,
}
})