From c05a5f6ec0aa422353793271851ea17f5d228d1c Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Tue, 30 Jul 2024 15:58:22 +0800 Subject: [PATCH] add import OS timesheets function --- src/app/api/timesheets/actions.ts | 12 ++++++ .../ExcelFileImport/ExcelFileImport.tsx | 42 ++++++++++++++----- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/app/api/timesheets/actions.ts b/src/app/api/timesheets/actions.ts index 57acb12..c260de3 100644 --- a/src/app/api/timesheets/actions.ts +++ b/src/app/api/timesheets/actions.ts @@ -159,6 +159,18 @@ export const importTimesheets = async (data: FormData) => { return importTimesheets; }; +export const importOSTimesheets = async (data: FormData) => { + const importTimesheets = await serverFetchString( + `${BASE_API_URL}/timesheets/import-OS`, + { + method: "POST", + body: data, + }, + ); + + return importTimesheets; +}; + export const importLeaves = async (data: FormData) => { const importLeaves = await serverFetchString( `${BASE_API_URL}/timesheets/import-leave`, diff --git a/src/components/ExcelFileImport/ExcelFileImport.tsx b/src/components/ExcelFileImport/ExcelFileImport.tsx index d553dbb..25a8732 100644 --- a/src/components/ExcelFileImport/ExcelFileImport.tsx +++ b/src/components/ExcelFileImport/ExcelFileImport.tsx @@ -6,7 +6,7 @@ import { Button, Grid, Stack } from "@mui/material"; import React, { ChangeEvent, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { errorDialogWithContent, submitDialog, successDialog, successDialogWithContent } from "../Swal/CustomAlerts"; -import { importLeaves, importTimesheets, rearrangeTimesheets } from "@/app/api/timesheets/actions"; +import { importLeaves, importOSTimesheets, importTimesheets, rearrangeTimesheets } from "@/app/api/timesheets/actions"; interface Props { } @@ -34,6 +34,9 @@ const ExcelFileImport: React.FC = async ({ }) => { case "importTimesheet": response = await importTimesheets(formData) break; + case "importOSTimesheet": + response = await importOSTimesheets(formData) + break; case "importLeave": response = await importLeaves(formData) break; @@ -67,23 +70,23 @@ const ExcelFileImport: React.FC = async ({ }) => { response = await rearrangeTimesheets() break; } - + if (response.includes("Rearrange success")) { successDialogWithContent(t("Rearrange Success"), t(`${response}`), t) } else { errorDialogWithContent(t("Rearrange Fail"), t(`${response}`), t) } }, t, - { - title: "Do you want to rearrange?", - confirmButtonText: "Rearrange" - }) + { + title: "Do you want to rearrange?", + confirmButtonText: "Rearrange" + }) } catch (err) { console.log(err) return false } - + }, []) return ( @@ -99,7 +102,7 @@ const ExcelFileImport: React.FC = async ({ }) => { { handleExcelFileImportClick(event) @@ -118,7 +121,7 @@ const ExcelFileImport: React.FC = async ({ }) => { { handleExcelFileImportClick(event) @@ -127,6 +130,25 @@ const ExcelFileImport: React.FC = async ({ }) => { {t("Import Timesheet")} + + +