浏览代码

パスワード変更 制御を修正

develop
sosuke.iwabuchi 2 年前
父节点
当前提交
6ea7c40b75
共有 1 个文件被更改,包括 21 次插入12 次删除
  1. +21
    -12
      src/pages/dashboard/login-user/change-password.tsx

+ 21
- 12
src/pages/dashboard/login-user/change-password.tsx 查看文件

@@ -1,22 +1,17 @@
import { yupResolver } from "@hookform/resolvers/yup"; import { yupResolver } from "@hookform/resolvers/yup";
import { Box, Button, Card, Stack, Typography } from "@mui/material";
import { Box, Button, Stack, Typography } from "@mui/material";
import { HasChildren } from "@types"; import { HasChildren } from "@types";
import {
changeLoginPassword,
createLoginUser,
getLoginUsers,
} from "api/login-user";
import { changeLoginPassword, getLoginUsers } from "api/login-user";
import { PageID, TabID } from "codes/page"; import { PageID, TabID } from "codes/page";
import { UserRole } from "codes/user";
import { FormProvider, RHFTextField } from "components/hook-form"; import { FormProvider, RHFTextField } from "components/hook-form";
import useAPICall from "hooks/useAPICall"; import useAPICall from "hooks/useAPICall";
import useAuth from "hooks/useAuth";
import useDashboard from "hooks/useDashBoard"; import useDashboard from "hooks/useDashBoard";
import useNavigateCustom from "hooks/useNavigateCustom";
import useSnackbarCustom from "hooks/useSnackbarCustom"; import useSnackbarCustom from "hooks/useSnackbarCustom";
import { useSnackbar } from "notistack";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
import { getPath } from "routes/path";
import * as Yup from "yup"; import * as Yup from "yup";


type AreaBoxProps = { type AreaBoxProps = {
@@ -42,6 +37,8 @@ export default function ChangePassword() {
TabID.NONE TabID.NONE
); );


const { initialized, userId, role } = useAuth();

const { success, error } = useSnackbarCustom(); const { success, error } = useSnackbarCustom();


const { id: paramUserId } = useParams(); const { id: paramUserId } = useParams();
@@ -76,7 +73,7 @@ export default function ChangePassword() {
}, },
}); });


const { callAPI: callChangeLoginPassword } = useAPICall({
const { callAPI: callChangeLoginPassword, makeSendData } = useAPICall({
apiMethod: changeLoginPassword, apiMethod: changeLoginPassword,
backDrop: true, backDrop: true,
form, form,
@@ -96,13 +93,25 @@ export default function ChangePassword() {
}; };


const handleSubmt = (data: FormProps) => { const handleSubmt = (data: FormProps) => {
callChangeLoginPassword({ ...data, timestamp });
const sendData = makeSendData({ ...data, timestamp });

if (userId === paramUserId) {
// 自身の場合はパラメータなしで送信する
} else {
sendData.id = paramUserId ?? "";
}

callChangeLoginPassword(sendData);
}; };
useEffect(() => {
if (initialized) {
fetch();
}
}, [initialized]);


useEffect(() => { useEffect(() => {
setHeaderTitle("パスワード変更"); setHeaderTitle("パスワード変更");
setTabs(null); setTabs(null);
fetch();
}, []); }, []);


return ( return (


正在加载...
取消
保存