Selaa lähdekoodia

update project expense

tags/Baseline_180220205_Frontend
MSI\derek 11 kuukautta sitten
vanhempi
commit
f3ef6273d2
4 muutettua tiedostoa jossa 33 lisäystä ja 15 poistoa
  1. +9
    -0
      src/app/api/projectExpenses/actions.ts
  2. +0
    -8
      src/app/api/staff/actions.ts
  3. +15
    -0
      src/components/ExpenseSearch/CreateExpenseModal.tsx
  4. +9
    -7
      src/components/ExpenseSearch/ExpenseSearchWrapper.tsx

+ 9
- 0
src/app/api/projectExpenses/actions.ts Näytä tiedosto

@@ -24,3 +24,12 @@ export type PostExpenseData = {
receiptDate?: string
remarks?: string
}
export const saveProjectExpense = async (data: PostExpenseData[]) => {
const response = await serverFetchJson(`${BASE_API_URL}/project-expense/create`, {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});
revalidateTag("projectExpenses");
return response;
}

+ 0
- 8
src/app/api/staff/actions.ts Näytä tiedosto

@@ -86,14 +86,6 @@ export const saveStaff = async (data: CreateStaffInputs) => {
console.log(newStaffList)
revalidateTag("staffs");
return newStaffList
// } catch (e: any) {
// console.log(e.response)
// throw new ServerFetchError(
// "Something went wrong fetching data in serverssssss.",
// e.response,
// );
// }
};



+ 15
- 0
src/components/ExpenseSearch/CreateExpenseModal.tsx Näytä tiedosto

@@ -16,10 +16,13 @@ import { ProjectResult } from "@/app/api/projects";
import {
CreateNewExpense,
PostExpenseData,
saveProjectExpense,
} from "@/app/api/projectExpenses/actions";
import ExpenseTable from "./ExpenseTable";
import dayjs from "dayjs";
import { INPUT_DATE_FORMAT } from "@/app/utils/formatUtil";
import { submitDialog, successDialog } from "../Swal/CustomAlerts";
import { useRouter } from 'next/navigation';

interface Props {
isOpen: boolean;
@@ -44,6 +47,7 @@ type postData = {
const CreateExpenseModal: React.FC<Props> = ({ isOpen, onClose, projects }) => {
const { t } = useTranslation();
const formProps = useForm<postData>();
const router = useRouter();

const onSubmit = useCallback<SubmitHandler<postData>>((data) => {
const _data = data.data;
@@ -60,6 +64,17 @@ const CreateExpenseModal: React.FC<Props> = ({ isOpen, onClose, projects }) => {
};
});
console.log(postData);
submitDialog(async () => {
const response = await saveProjectExpense(postData)
console.log(response)
if (response) {
onClose()
successDialog(t("Submit Success"), t).then(() => {
router.replace("/expense");
})
}
}, t)
} catch (error) {
console.log(error);
}


+ 9
- 7
src/components/ExpenseSearch/ExpenseSearchWrapper.tsx Näytä tiedosto

@@ -28,15 +28,17 @@ const ExpenseSearchWrapper: React.FC & SubComponents = async () => {
let filteredExpenses = expenses
if (teamId) {
filteredExpenses = expenses.filter(e => e.teamId === teamId)
} else {
filteredExpenses = []
}
}
// else {
// filteredExpenses = []
// }

const _expenses = filteredExpenses.map((e) => {
const issueDate = e.issueDate;
const receiptDate = e.receiptDate;
const formattedIssueDate = dayjs([issueDate[0], issueDate[1], issueDate[2]].join()).format(OUTPUT_DATE_FORMAT)
const formattedReceiptDate = dayjs([receiptDate[0], receiptDate[1], receiptDate[2]].join()).format(OUTPUT_DATE_FORMAT)
const formattedIssueDate = dayjs([e.issueDate[0], e.issueDate[1], e.issueDate[2]].join()).format(OUTPUT_DATE_FORMAT)
let formattedReceiptDate = ""
if (e.receiptDate) {
formattedReceiptDate = dayjs([e.receiptDate[0], e.receiptDate[1], e.receiptDate[2]].join()).format(OUTPUT_DATE_FORMAT)
}
return ({
...e,
issueDate: formattedIssueDate,


Ladataan…
Peruuta
Tallenna