From c0c57aeb4f05ce1b44c995b863cee90c85b0c751 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 26 Apr 2024 14:54:26 +0800 Subject: [PATCH] user details UI --- src/pages/User/DetailPage/index.js | 188 ++++++++++---------- src/pages/pnspsUserGroupDetailPage/index.js | 14 +- 2 files changed, 102 insertions(+), 100 deletions(-) diff --git a/src/pages/User/DetailPage/index.js b/src/pages/User/DetailPage/index.js index d4791ac..9e96790 100644 --- a/src/pages/User/DetailPage/index.js +++ b/src/pages/User/DetailPage/index.js @@ -6,22 +6,20 @@ import { Stack, Box, } from '@mui/material'; -import { useEffect, useState } from "react"; -import * as React from "react"; +import { useEffect, useState, lazy } from "react"; import axios from "axios"; import { useNavigate, useParams } from "react-router-dom"; -import { GLD_USER_PATH, DELETE_USER, POST_ADMIN_USER_REGISTER,GET_LOGIN_LOG_LIST } from "utils/ApiPathConst"; +import { GLD_USER_PATH, DELETE_USER, POST_ADMIN_USER_REGISTER, GET_LOGIN_LOG_LIST } from "utils/ApiPathConst"; import * as HttpUtils from "utils/HttpUtils"; - +import {isGrantedAny} from "auth/utils"; import Loadable from 'components/Loadable'; -import { lazy } from 'react'; const UserInformationCard = Loadable(lazy(() => import('./UserInformationCard'))); const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent'))); const UserGroupCard = Loadable(lazy(() => import('./UserGroupCard'))); const UserAuthorityCard = Loadable(lazy(() => import('./UserAuthorityCard'))); -const LoginGrid = Loadable(React.lazy(() => import('./LoginGrid'))); -import {ThemeProvider} from "@emotion/react"; -import {PNSPS_BUTTON_THEME} from "themes/buttonConst"; +const LoginGrid = Loadable(lazy(() => import('./LoginGrid'))); +import { ThemeProvider } from "@emotion/react"; +import { PNSPS_BUTTON_THEME } from "themes/buttonConst"; import { GeneralConfirmWindow, @@ -47,7 +45,7 @@ const BackgroundHead = { const UserMaintainPage = () => { const params = useParams(); const navigate = useNavigate(); - const [userData, setUserData] = React.useState({}); + const [userData, setUserData] = useState({}); const [onReady, setOnReady] = useState(false); const [isCollectData, setIsCollectData] = useState(false); const [editedCustomerData, setEditedCustomerData] = useState({}); @@ -55,9 +53,8 @@ const UserMaintainPage = () => { const [userAuthData, setUserAuthData] = useState([]); const [userConfirm, setUserConfirm] = useState(false); const [isNewRecord, setIsNewRecord] = useState(false); - const [refUserData, setRefUserData] = React.useState({}); - // const [loginLogData, setLoginLogData] = React.useState([]) - const [editMode, setEditMode] = React.useState(false); + const [refUserData, setRefUserData] = useState({}); + const [editMode, setEditMode] = useState(false); function updateUserObject(userData) { setEditedCustomerData(userData); @@ -131,17 +128,17 @@ const UserMaintainPage = () => { setOnReady(false); setEditMode(false); axios.get(`${GLD_USER_PATH}/${params.id}`) - .then((response) => { - if (response.status === 200) { - setRefUserData(response.data); - setUserData(response.data); - getLoginLogList() - } - }) - .catch(error => { - console.log(error); - return false; - }); + .then((response) => { + if (response.status === 200) { + setRefUserData(response.data); + setUserData(response.data); + getLoginLogList() + } + }) + .catch(error => { + console.log(error); + return false; + }); } useEffect(() => { @@ -177,7 +174,7 @@ const UserMaintainPage = () => { ).then((response) => { if (response.status === 204) { notifySaveSuccess(); - navigate('/userSearchview'); + location.reload(); } }) .catch(error => { @@ -185,7 +182,7 @@ const UserMaintainPage = () => { return false; }); } else { - if(editedCustomerData.pwErr) return; + if (editedCustomerData.pwErr) return; axios.post(POST_ADMIN_USER_REGISTER, { "username": editedCustomerData.username, @@ -218,8 +215,8 @@ const UserMaintainPage = () => { const getLoginLogList = () => { HttpUtils.get({ url: `${GET_LOGIN_LOG_LIST}`, - params:{ - userId:params.id + params: { + userId: params.id }, onSuccess: function (response) { // console.log(response) @@ -255,69 +252,76 @@ const UserMaintainPage = () => { {/*col 1*/} {/*bottom button*/} - - - {editMode ? - - - - - - - - : - - - - - - - - - - - } - - + + { + isGrantedAny(["MAINTAIN_USER"]) ? + + + {editMode ? + + + + + + + + : + + + + + + + + + + + } + + + : <> + } + @@ -333,7 +337,7 @@ const UserMaintainPage = () => { - + { diff --git a/src/pages/pnspsUserGroupDetailPage/index.js b/src/pages/pnspsUserGroupDetailPage/index.js index 6b284e7..5a77804 100644 --- a/src/pages/pnspsUserGroupDetailPage/index.js +++ b/src/pages/pnspsUserGroupDetailPage/index.js @@ -3,10 +3,9 @@ import { Button, Grid, Typography, Stack, Box } from '@mui/material'; -import { useEffect, useState } from "react"; -import * as React from "react"; +import { useEffect, useState, lazy } from "react"; import axios from "axios"; -import { apiPath } from "../../auth/utils"; +import { apiPath } from "auth/utils"; import { useParams } from "react-router-dom"; import { GeneralConfirmWindow, @@ -19,7 +18,6 @@ import { import { POST_AND_UPDATE_USER_GROUP, GET_GROUP_LIST_PATH } from "../../utils/ApiPathConst"; import Loadable from 'components/Loadable'; -import { lazy } from 'react'; const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent'))); const GroupAuthCard = Loadable(lazy(() => import('./GroupAuthCard'))); const UserGroupInfoCard = Loadable(lazy(() => import('./UserGroupInfoCard'))); @@ -52,10 +50,10 @@ const UserMaintainPage = () => { const [userConfirm, setUserConfirm] = useState(false); const [groupMember, setGroupMember] = useState([]); const [isNewRecord, setIsNewRecord] = useState(false); - const [deletedUserList, setDeletedUserList] = React.useState([]); - const [deletedAuthList, setDeletedAuthList] = React.useState([]); + const [deletedUserList, setDeletedUserList] = useState([]); + const [deletedAuthList, setDeletedAuthList] = useState([]); - const [isWindowOpen, setIsWindowOpen] = React.useState(false); + const [isWindowOpen, setIsWindowOpen] = useState(false); const handleClose = () => { setIsWindowOpen(false); }; @@ -101,7 +99,7 @@ const UserMaintainPage = () => { useEffect(() => { if (params.id > 0) { - axios.get(`${apiPath}${GET_GROUP_LIST_PATH}/${params.id}`) + axios.get(`${GET_GROUP_LIST_PATH}/${params.id}`) .then((response) => { if (response.status === 200) { setUserGroupData(response.data);