ソースを参照

select the login user in timesheet admendment

develop
MSI\2Fi 5ヶ月前
コミット
0f76741bc9
4個のファイルの変更24行の追加1行の削除
  1. +8
    -1
      src/components/TimesheetAmendment/TimesheetAmendment.tsx
  2. +4
    -0
      src/components/TimesheetAmendment/TimesheetAmendmentModal.tsx
  3. +6
    -0
      src/components/UserWorkspacePage/UserWorkspacePage.tsx
  4. +6
    -0
      src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx

+ 8
- 1
src/components/TimesheetAmendment/TimesheetAmendment.tsx ファイルの表示

@@ -51,6 +51,8 @@ export interface Props {
companyHolidays: HolidaysResult[]; companyHolidays: HolidaysResult[];
allProjects: ProjectWithTasks[]; allProjects: ProjectWithTasks[];
miscTasks: Task[]; miscTasks: Task[];
isSaturdayWorker: boolean;
userId: number;
} }


type MemberOption = TeamTimeSheets[0] & TeamLeaves[0] & { id: string }; type MemberOption = TeamTimeSheets[0] & TeamLeaves[0] & { id: string };
@@ -79,6 +81,8 @@ const TimesheetAmendment: React.FC<Props> = ({
allProjects, allProjects,
leaveTypes, leaveTypes,
miscTasks, miscTasks,
isSaturdayWorker,
userId
}) => { }) => {
const { t, i18n:{language}} = useTranslation(["home", "common"]); const { t, i18n:{language}} = useTranslation(["home", "common"]);
const locale = language === "zh" ? "zh-tw" : "en"; const locale = language === "zh" ? "zh-tw" : "en";
@@ -121,12 +125,15 @@ const TimesheetAmendment: React.FC<Props> = ({
}, [localTeamLeaves, localTeamTimesheets]); }, [localTeamLeaves, localTeamTimesheets]);


const [selectedStaff, setSelectedStaff] = useState<MemberOption>( const [selectedStaff, setSelectedStaff] = useState<MemberOption>(
allMembers[0],
allMembers.find((member) => parseInt(member.id) === userId) ?? allMembers[0]
); );
useEffect(() => { useEffect(() => {
console.log(allMembers)
console.log(userId)
setSelectedStaff( setSelectedStaff(
(currentStaff) => (currentStaff) =>
allMembers.find((member) => member.id === currentStaff.id) || allMembers.find((member) => member.id === currentStaff.id) ||
allMembers.find((member) => parseInt(member.id) === userId) ||
allMembers[0], allMembers[0],
); );
}, [allMembers]); }, [allMembers]);


+ 4
- 0
src/components/TimesheetAmendment/TimesheetAmendmentModal.tsx ファイルの表示

@@ -38,6 +38,8 @@ export const TimesheetAmendmentModal: React.FC<Props> = ({
companyHolidays, companyHolidays,
allProjects, allProjects,
miscTasks, miscTasks,
isSaturdayWorker,
userId
}) => { }) => {
const { t } = useTranslation("home"); const { t } = useTranslation("home");
const isMobile = useIsMobile(); const isMobile = useIsMobile();
@@ -51,6 +53,8 @@ export const TimesheetAmendmentModal: React.FC<Props> = ({
teamTimesheets={teamTimesheets} teamTimesheets={teamTimesheets}
allProjects={allProjects} allProjects={allProjects}
miscTasks={miscTasks} miscTasks={miscTasks}
isSaturdayWorker={isSaturdayWorker}
userId={userId}
/> />
); );




+ 6
- 0
src/components/UserWorkspacePage/UserWorkspacePage.tsx ファイルの表示

@@ -43,6 +43,8 @@ export interface Props {
isFullTime: boolean; isFullTime: boolean;
joinDate?: number | null; joinDate?: number | null;
miscTasks: Task[]; miscTasks: Task[];
isSaturdayWorker: boolean;
userId: number;
} }


const menuItemSx: SxProps = { const menuItemSx: SxProps = {
@@ -65,6 +67,8 @@ const UserWorkspacePage: React.FC<Props> = ({
isFullTime, isFullTime,
joinDate, joinDate,
miscTasks, miscTasks,
isSaturdayWorker,
userId
}) => { }) => {
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null); const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);


@@ -234,6 +238,8 @@ const UserWorkspacePage: React.FC<Props> = ({
open={isTimesheetAmendmentVisible} open={isTimesheetAmendmentVisible}
onClose={handleAmendmentClose} onClose={handleAmendmentClose}
miscTasks={miscTasks} miscTasks={miscTasks}
isSaturdayWorker={isSaturdayWorker}
userId={userId}
/> />
)} )}
</> </>


+ 6
- 0
src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx ファイルの表示

@@ -59,6 +59,10 @@ const UserWorkspaceWrapper: React.FC = async () => {


const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5); const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5);


const isSaturdayWorker = abilities.includes(SATURDAY_WORKERS)

console.log(userStaff)

return ( return (
<UserWorkspacePage <UserWorkspacePage
joinDate={userStaff?.joinDate} joinDate={userStaff?.joinDate}
@@ -78,6 +82,8 @@ const UserWorkspaceWrapper: React.FC = async () => {
maintainManagementStaffWorkspaceAbility={ maintainManagementStaffWorkspaceAbility={
maintainManagementStaffWorkspaceAbility maintainManagementStaffWorkspaceAbility
} }
isSaturdayWorker={isSaturdayWorker}
userId={userStaff?.id}
/> />
); );
}; };


読み込み中…
キャンセル
保存