Browse Source

update

tags/Baseline_30082024_FRONTEND_UAT
MSI\derek 1 year ago
parent
commit
211e14096d
3 changed files with 27 additions and 19 deletions
  1. +16
    -15
      src/components/EditStaff/EditStaff.tsx
  2. +10
    -3
      src/components/EditStaff/StaffInfo.tsx
  3. +1
    -1
      src/components/EditTeam/Allocation.tsx

+ 16
- 15
src/components/EditStaff/EditStaff.tsx View File

@@ -21,7 +21,7 @@ import { fetchGradeCombo } from "@/app/api/grades/actions";
import { fetchSkillCombo } from "@/app/api/skill/actions"; import { fetchSkillCombo } from "@/app/api/skill/actions";
import { fetchSalaryCombo } from "@/app/api/salarys/actions"; import { fetchSalaryCombo } from "@/app/api/salarys/actions";
// import StaffInfo from "./StaffInfo"; // import StaffInfo from "./StaffInfo";
import { Check, Close } from "@mui/icons-material";
import { Check, Close, RestartAlt } from "@mui/icons-material";
import { ServerFetchError } from "@/app/utils/fetchUtil"; import { ServerFetchError } from "@/app/utils/fetchUtil";
import StaffInfo from "./StaffInfo"; import StaffInfo from "./StaffInfo";
import { IndividualStaff } from "@/app/api/staff"; import { IndividualStaff } from "@/app/api/staff";
@@ -91,14 +91,6 @@ const EditStaff: React.FC<formProps> = ({ Staff, combos }) => {
let haveError = false; let haveError = false;
let regex_email = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ let regex_email = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/
let regex_phone = /^\d{8}$/ let regex_phone = /^\d{8}$/
// let removeSkillSetId: List<number> = []

// if (data.skillSetId && defaultSkillset.length > data.skillSetId) {
// removeSkillSetId = differenceBy(defaultSkillset, data.skillSetId)
// }
console.log(data.skillSetId)
console.log(defaultSkillset)
console.log(differenceBy(data.skillSetId, defaultSkillset))


if (!regex_email.test(data.email)) { if (!regex_email.test(data.email)) {
haveError = true haveError = true
@@ -163,8 +155,9 @@ const EditStaff: React.FC<formProps> = ({ Staff, combos }) => {
...data, ...data,
// removeSkillSetId: removeSkillSetId // removeSkillSetId: removeSkillSetId
} }
await saveStaff(postData)
router.replace("/settings/staff")
console.log(postData)
// await saveStaff(postData)
// router.replace("/settings/staff")
} catch (e: any) { } catch (e: any) {
console.log(e); console.log(e);
formProps.setError("staffId", { message: t("Please Enter Employ Type."), type: "required" }) formProps.setError("staffId", { message: t("Please Enter Employ Type."), type: "required" })
@@ -183,6 +176,8 @@ const EditStaff: React.FC<formProps> = ({ Staff, combos }) => {
}; };


const resetStaff = useCallback(() => { const resetStaff = useCallback(() => {
console.log(dayjs(Staff.joinDate).format(INPUT_DATE_FORMAT))
console.log(formProps.getValues("joinDate"))
formProps.reset({ formProps.reset({
staffId: Staff.staffId, staffId: Staff.staffId,
name: Staff.name, name: Staff.name,
@@ -200,18 +195,17 @@ const EditStaff: React.FC<formProps> = ({ Staff, combos }) => {
phone2: Staff.phone2, phone2: Staff.phone2,
emergContactName: Staff.emergContactName, emergContactName: Staff.emergContactName,
emergContactPhone: Staff.emergContactPhone, emergContactPhone: Staff.emergContactPhone,
joinDate: dayjs(Staff.joinDate).format(INPUT_DATE_FORMAT) || "",
joinDate: Staff.joinDate ? dayjs(Staff.joinDate).format(INPUT_DATE_FORMAT) : "",
joinPositionId: Staff.joinPosition?.id, joinPositionId: Staff.joinPosition?.id,
departDate: !Staff.departDate ? "" : dayjs(Staff.departDate).format(INPUT_DATE_FORMAT), departDate: !Staff.departDate ? "" : dayjs(Staff.departDate).format(INPUT_DATE_FORMAT),
departReason: Staff.departReason, departReason: Staff.departReason,
remark: Staff.remark, remark: Staff.remark,
}); });
}, []);
}, [Staff,formProps]);
useEffect(() => { useEffect(() => {
console.log(Staff)
resetStaff() resetStaff()
}, [Staff, combos]);
}, [Staff, formProps, combos]);


return ( return (
<> <>
@@ -228,6 +222,13 @@ const EditStaff: React.FC<formProps> = ({ Staff, combos }) => {
)} )}
{Staff && <StaffInfo combos={combos}/>} {Staff && <StaffInfo combos={combos}/>}
<Stack direction="row" justifyContent="flex-end" gap={1}> <Stack direction="row" justifyContent="flex-end" gap={1}>
<Button
variant="text"
startIcon={<RestartAlt />}
onClick={resetStaff}
>
{t("Reset")}
</Button>
<Button <Button
variant="outlined" variant="outlined"
startIcon={<Close />} startIcon={<Close />}


+ 10
- 3
src/components/EditStaff/StaffInfo.tsx View File

@@ -43,6 +43,7 @@ const StaffInfo: React.FC<Props> = ({ combos }) => {
resetField, resetField,
setValue, setValue,
getValues, getValues,
watch,
clearErrors, clearErrors,
} = useFormContext<CreateStaffInputs>(); } = useFormContext<CreateStaffInputs>();


@@ -59,12 +60,17 @@ const StaffInfo: React.FC<Props> = ({ combos }) => {
const resetStaff = useCallback(() => { const resetStaff = useCallback(() => {
console.log(defaultValues); console.log(defaultValues);
if (defaultValues !== undefined) { if (defaultValues !== undefined) {
// resetField("description");
resetField("joinDate");
resetField("departDate");
} }
}, [defaultValues]); }, [defaultValues]);
useEffect(() => {
resetStaff()
}, [defaultValues]);


const joinDate = getValues("joinDate");
const departDate = getValues("departDate");
const joinDate = watch("joinDate");
const departDate = watch("departDate");


useEffect(() => { useEffect(() => {
if (joinDate) clearErrors("joinDate"); if (joinDate) clearErrors("joinDate");
@@ -410,6 +416,7 @@ const StaffInfo: React.FC<Props> = ({ combos }) => {
<DatePicker <DatePicker
sx={{ width: "100%" }} sx={{ width: "100%" }}
label={t("Join Date")} label={t("Join Date")}
// defaultValue={dayjs(getValues("joinDate"))}
value={joinDate ? dayjs(joinDate) : null} value={joinDate ? dayjs(joinDate) : null}
onChange={(date) => { onChange={(date) => {
if (!date) return; if (!date) return;


+ 1
- 1
src/components/EditTeam/Allocation.tsx View File

@@ -184,7 +184,7 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => {
const resetStaff = React.useCallback(() => { const resetStaff = React.useCallback(() => {
clearQueryInput(); clearQueryInput();
clearValues(); clearValues();
}, [clearQueryInput, clearValues]);
}, [clearQueryInput, clearValues]);


const formProps = useForm({}); const formProps = useForm({});




Loading…
Cancel
Save