From 2119ab9abfbcad0df9df6e54b7201ee7dad5d439 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Tue, 13 Aug 2024 16:27:22 +0800 Subject: [PATCH] update --- src/app/api/staff/actions.ts | 8 +++++--- src/components/EditStaff/EditStaff.tsx | 17 ++++++++++++----- src/components/EditStaff/StaffInfo.tsx | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/app/api/staff/actions.ts b/src/app/api/staff/actions.ts index 13a4ac1..27382be 100644 --- a/src/app/api/staff/actions.ts +++ b/src/app/api/staff/actions.ts @@ -15,14 +15,15 @@ export interface CreateCustomInputs { } export interface CreateStaffInputs { + id?: number name: string; staffId: string; companyId: number; salaryId: number; skillSetId?: number[]; - joinDate?: string; + joinDate?: string | null; currentPositionId: number; - joinPositionId?: number; + joinPositionId?: number | null; gradeId: number; teamId?: number departmentId?: number; @@ -32,9 +33,10 @@ export interface CreateStaffInputs { emergContactName?: string; emergContactPhone?: string; employType: string; - departDate?: string; + departDate?: string | null; departReason?: string; remark?: string; + salaryEffectiveInfo?: any; } export interface records { diff --git a/src/components/EditStaff/EditStaff.tsx b/src/components/EditStaff/EditStaff.tsx index c4ea80c..eb62306 100644 --- a/src/components/EditStaff/EditStaff.tsx +++ b/src/components/EditStaff/EditStaff.tsx @@ -48,8 +48,7 @@ interface formProps { const EditStaff: React.FC = ({ Staff, combos, SalaryEffectiveInfo }) => { - console.log(combos.salary) - console.log(SalaryEffectiveInfo) + console.log(Staff) const defaultSkillset = Staff.skillset.map((s: any) => s.skill.id) const { t } = useTranslation(); const searchParams = useSearchParams() @@ -73,7 +72,7 @@ const EditStaff: React.FC = ({ Staff, combos, SalaryEffectiveInfo }) emergContactName: Staff.emergContactName, emergContactPhone: Staff.emergContactPhone, joinDate: dayjs(Staff.joinDate).toString() || "", - joinPositionId: Staff.joinPosition?.id, + joinPositionId: Staff.joinPosition?.id || null, departDate: dayjs(Staff.departDate).toString() || "", departReason: Staff.departReason, remark: Staff.remark, @@ -152,15 +151,23 @@ const EditStaff: React.FC = ({ Staff, combos, SalaryEffectiveInfo }) return } console.log("passed") - const postData = { + const postData: CreateStaffInputs = { id: id, ...data, salaryEffectiveInfo: SalaryEffectiveInfo.map(item => ({ id: item.id, salaryPoint: item.salaryPoint, - date: dayjs(item.date).format('YYYY-MM-DD') + date: dayjs(item.date).format('YYYY-MM-DD').toString() })) } + // remove useless data + if (postData.joinDate === 'Invalid Date') + postData.joinDate = null + if (postData.departDate === 'Invalid Date') + postData.departDate = null + if (!postData.joinPositionId) + postData.joinPositionId = null + console.log(postData) await saveStaff(postData) router.replace("/settings/staff") diff --git a/src/components/EditStaff/StaffInfo.tsx b/src/components/EditStaff/StaffInfo.tsx index 8d43ab9..c432555 100644 --- a/src/components/EditStaff/StaffInfo.tsx +++ b/src/components/EditStaff/StaffInfo.tsx @@ -466,7 +466,7 @@ const StaffInfo: React.FC = ({ combos }) => { textField: { // required: true, error: - joinDate === "Invalid Date", + joinDate === "Invalid Date" || !joinDate, // value: errors.joinDate?.message, }, }}