From fe1a052762ab2cb6fd8c5739d8b0901e4f182768 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Thu, 25 Apr 2024 20:13:31 +0800 Subject: [PATCH] update --- src/components/EditStaff/EditStaff.tsx | 400 ++++++++++++------------- 1 file changed, 200 insertions(+), 200 deletions(-) diff --git a/src/components/EditStaff/EditStaff.tsx b/src/components/EditStaff/EditStaff.tsx index 82966e7..44e7510 100644 --- a/src/components/EditStaff/EditStaff.tsx +++ b/src/components/EditStaff/EditStaff.tsx @@ -122,216 +122,216 @@ const EditStaff: React.FC = async () => { }, [searchParams]); useEffect(() => { - // let id = 0; + let id = 0; if (idString) { - const id = parseInt(idString); + id = parseInt(idString); console.log(id) - setId(id); - } - fetchStaffEdit(id).then((staff) => { - console.log(staff.data); - const data = staff.data; - ///////////////////// list 1 ///////////////////// - const list1 = keyOrder1 - .map((key) => { - switch (key) { - case "staffId": - return { - id: `${key}`, - label: t(`Staff ID`), - type: "text", - value: data[key] ?? "", - required: true, - }; - case "name": - return { - id: `${key}`, - label: t(`Staff Name`), - type: "text", - value: data[key] ?? "", - required: true, - }; - case "company": - return { - id: `${key}Id`, - label: t(`Company`), - type: "combo-Obj", - options: companyCombo, - value: data[key].id ?? "", - required: true, - }; - case "team": - return { - id: `${key}Id`, - label: t(`Team`), - type: "combo-Obj", - options: teamCombo, - value: data[key]?.id ?? "", - }; - case "department": - return { - id: `${key}Id`, - label: t(`Department`), - type: "combo-Obj", - options: departmentCombo, - value: data[key]?.id ?? "", - required: true, - // later check - }; - case "grade": - return { - id: `${key}Id`, - label: t(`Grade`), - type: "combo-Obj", - options: gradeCombo, - value: data[key] !== null ? data[key].id ?? "" : "", - }; - case "skill": - return { - id: `${key}SetId`, - label: t(`Skillset`), - type: "combo-Obj", - options: skillCombo, - value: data[key] !== null ? data[key].id ?? "" : "", - }; - case "currentPosition": - return { - id: `${key}Id`, - label: t(`Current Position`), - type: "combo-Obj", - options: positionCombo, - value: data[key].id ?? "", - required: true, - }; - case "salary": - return { - id: `salaryId`, - label: t(`Salary Point`), - type: "combo-Obj", - options: salaryCombo, - value: data[key] !== null ? data[key].id ?? "" : "", - required: true, - }; - // case "hourlyRate": - // return { - // id: `${key}`, - // label: t(`hourlyRate`), - // type: "text", - // value: "", - // // value: data[key], - // readOnly: true, - // }; - case "employType": - return { - id: `${key}`, - label: t(`Employ Type`), - type: "combo-Obj", - options: employTypeCombo, - value: data[key] ?? "", - required: true, - }; - case "email": - return { - id: `${key}`, - label: t(`Email`), - type: "text", - value: data[key] ?? "", - pattern: "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", - message: t("input matching format"), - required: true, - }; - case "phone1": - return { - id: `${key}`, - label: t(`Phone1`), - type: "text", - // pattern: "^\\d{8}$", - message: t("input correct phone no."), - value: data[key] ?? "", - required: true, - }; - case "phone2": - return { - id: `${key}`, - label: t(`Phone2`), - type: "text", - // pattern: "^\\d{8}$", - message: t("input correct phone no."), - value: data[key] ?? "", - } as Field; - default: - return null; - } - }).filter((item): item is Field => item !== null); - ///////////////////// list 2 ///////////////////// - const list2 = keyOrder2 - .map((key) => { - switch (key) { - case "emergContactName": - return { - id: `${key}`, - label: t(`Emergency Contact Name`), - type: "text", - value: data[key] ?? "", - required: true, - } as Field; - case "emergContactPhone": + fetchStaffEdit(id).then((staff) => { + console.log(staff.data); + const data = staff.data; + ///////////////////// list 1 ///////////////////// + const list1 = keyOrder1 + .map((key) => { + switch (key) { + case "staffId": return { id: `${key}`, - label: t(`Emergency Contact Phone`), + label: t(`Staff ID`), + type: "text", + value: data[key] ?? "", + required: true, + }; + case "name": + return { + id: `${key}`, + label: t(`Staff Name`), + type: "text", + value: data[key] ?? "", + required: true, + }; + case "company": + return { + id: `${key}Id`, + label: t(`Company`), + type: "combo-Obj", + options: companyCombo, + value: data[key].id ?? "", + required: true, + }; + case "team": + return { + id: `${key}Id`, + label: t(`Team`), + type: "combo-Obj", + options: teamCombo, + value: data[key]?.id ?? "", + }; + case "department": + return { + id: `${key}Id`, + label: t(`Department`), + type: "combo-Obj", + options: departmentCombo, + value: data[key]?.id ?? "", + required: true, + // later check + }; + case "grade": + return { + id: `${key}Id`, + label: t(`Grade`), + type: "combo-Obj", + options: gradeCombo, + value: data[key] !== null ? data[key].id ?? "" : "", + }; + case "skill": + return { + id: `${key}SetId`, + label: t(`Skillset`), + type: "combo-Obj", + options: skillCombo, + value: data[key] !== null ? data[key].id ?? "" : "", + }; + case "currentPosition": + return { + id: `${key}Id`, + label: t(`Current Position`), + type: "combo-Obj", + options: positionCombo, + value: data[key].id ?? "", + required: true, + }; + case "salary": + return { + id: `salaryId`, + label: t(`Salary Point`), + type: "combo-Obj", + options: salaryCombo, + value: data[key] !== null ? data[key].id ?? "" : "", + required: true, + }; + // case "hourlyRate": + // return { + // id: `${key}`, + // label: t(`hourlyRate`), + // type: "text", + // value: "", + // // value: data[key], + // readOnly: true, + // }; + case "employType": + return { + id: `${key}`, + label: t(`Employ Type`), + type: "combo-Obj", + options: employTypeCombo, + value: data[key] ?? "", + required: true, + }; + case "email": + return { + id: `${key}`, + label: t(`Email`), + type: "text", + value: data[key] ?? "", + pattern: "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", + message: t("input matching format"), + required: true, + }; + case "phone1": + return { + id: `${key}`, + label: t(`Phone1`), type: "text", // pattern: "^\\d{8}$", message: t("input correct phone no."), value: data[key] ?? "", required: true, + }; + case "phone2": + return { + id: `${key}`, + label: t(`Phone2`), + type: "text", + // pattern: "^\\d{8}$", + message: t("input correct phone no."), + value: data[key] ?? "", } as Field; - case "joinDate": - return { - id: `${key}`, - label: t(`Join Date`), - type: "multiDate", - value: data[key] ?? "", - required: true, - } as Field; - case "joinPosition": - return { - id: `${key}Id`, - label: t(`Join Position`), - type: "combo-Obj", - options: positionCombo, - value: data[key].id ?? "", - required: true, - } as Field; - case "departDate": - return { - id: `${key}`, - label: t(`Depart Date`), - type: "multiDate", - value: data[key] ?? "", - } as Field; - case "departReason": - return { - id: `${key}`, - label: t(`Depart Reason`), - type: "text", - value: data[key] ?? "", - } as Field; - case "remark": - return { - id: `remark`, - label: t(`Remark`), - type: "remarks", - value: data[key] ?? "", - } as Field; - default: - return null; - } - }).filter((item): item is Field => item !== null); - console.log(list2); - console.log([list1]); - setFieldLists([list1,list2]); - }); - }, [companyCombo]); + default: + return null; + } + }).filter((item): item is Field => item !== null); + ///////////////////// list 2 ///////////////////// + const list2 = keyOrder2 + .map((key) => { + switch (key) { + case "emergContactName": + return { + id: `${key}`, + label: t(`Emergency Contact Name`), + type: "text", + value: data[key] ?? "", + required: true, + } as Field; + case "emergContactPhone": + return { + id: `${key}`, + label: t(`Emergency Contact Phone`), + type: "text", + // pattern: "^\\d{8}$", + message: t("input correct phone no."), + value: data[key] ?? "", + required: true, + } as Field; + case "joinDate": + return { + id: `${key}`, + label: t(`Join Date`), + type: "multiDate", + value: data[key] ?? "", + required: true, + } as Field; + case "joinPosition": + return { + id: `${key}Id`, + label: t(`Join Position`), + type: "combo-Obj", + options: positionCombo, + value: data[key].id ?? "", + required: true, + } as Field; + case "departDate": + return { + id: `${key}`, + label: t(`Depart Date`), + type: "multiDate", + value: data[key] ?? "", + } as Field; + case "departReason": + return { + id: `${key}`, + label: t(`Depart Reason`), + type: "text", + value: data[key] ?? "", + } as Field; + case "remark": + return { + id: `remark`, + label: t(`Remark`), + type: "remarks", + value: data[key] ?? "", + } as Field; + default: + return null; + } + }).filter((item): item is Field => item !== null); + console.log(list2); + console.log([list1]); + setFieldLists([list1,list2]); + }); + } + + }, [companyCombo, idString]); return ( <>