diff --git a/composables/useStaffTime.ts b/composables/useStaffTime.ts index 749166a..e495d6a 100644 --- a/composables/useStaffTime.ts +++ b/composables/useStaffTime.ts @@ -38,6 +38,20 @@ export function useStaffTime() { }) } + async function submit(id: string) { + return await $api(`/api/staff/time/${id}`, { + method: 'PUT', + body: { state: 'submitted' }, + }) + } + + async function approve(id: string) { + return await $api(`/api/staff/time/${id}`, { + method: 'PUT', + body: { state: 'approved' }, + }) + } + async function get(id: string) { return await $api(`/api/staff/time/${id}`, { method: 'GET' }) } @@ -50,5 +64,5 @@ export function useStaffTime() { return await $api(`/api/staff/time/${id}`, { method: 'PUT', body: data }) } - return { list, start, stop, get, create, update } + return { list, start, stop,submit,approve, get, create, update } } diff --git a/pages/staff/time/index.vue b/pages/staff/time/index.vue index 2ac58f1..ab119da 100644 --- a/pages/staff/time/index.vue +++ b/pages/staff/time/index.vue @@ -2,7 +2,7 @@ import { useStaffTime } from '~/composables/useStaffTime' import { useAuthStore } from '~/stores/auth' -const { list, start, stop } = useStaffTime() +const { list, start, stop, submit,approve } = useStaffTime() const auth = useAuthStore() const router = useRouter() @@ -51,6 +51,16 @@ function handleEdit(entry: any) { showModal.value = true } +async function handleSubmit(entry: any) { + await submit(entry.id) + await load() +} + +async function handleApprove(entry: any) { + await approve(entry.id) + await load() +} + onMounted(async () => { await loadUsers() await load() @@ -115,14 +125,19 @@ onMounted(async () => { /> - + + + + @@ -131,15 +146,15 @@ onMounted(async () => {