Browse Source

(*)相关故障修改

master
zmh 2 years ago
parent
commit
eb632e5dcc
  1. 51
      web/client/src/layout/containers/layout/index.jsx
  2. 4
      web/client/src/sections/humanAffairs/containers/employeeAuth.jsx
  3. 11
      web/client/src/utils/func.js

51
web/client/src/layout/containers/layout/index.jsx

@ -2,7 +2,7 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { Layout, Notification } from '@douyinfe/semi-ui'; import { Layout, Notification, Spin, Toast } from '@douyinfe/semi-ui';
import Sider from '../../components/sider'; import Sider from '../../components/sider';
import Header from '../../components/header'; import Header from '../../components/header';
import Footer from '../../components/footer'; import Footer from '../../components/footer';
@ -95,6 +95,7 @@ const LayoutContainer = props => {
const [leftItems, setLeftItems] = useState([]) const [leftItems, setLeftItems] = useState([])
const [leftChange, setLeftChange] = useState(true) const [leftChange, setLeftChange] = useState(true)
const [leftShow, setLeftShow] = useState(false) const [leftShow, setLeftShow] = useState(false)
const [loading, setLoading] = useState(false)
useEffect(() => { useEffect(() => {
let topItems = []// let topItems = []//
const lastSelectedKeys = localStorage.getItem('poms_selected_sider') const lastSelectedKeys = localStorage.getItem('poms_selected_sider')
@ -146,7 +147,7 @@ const LayoutContainer = props => {
return () => { return () => {
window.removeEventListener('resize', resize_); window.removeEventListener('resize', resize_);
} }
}, []) }, [user.authorized])
useEffect(() => { useEffect(() => {
let pathnameArr = location.pathname.split('/') let pathnameArr = location.pathname.split('/')
@ -176,6 +177,7 @@ const LayoutContainer = props => {
NProgress.done(); NProgress.done();
if ((!user || !user.authorized)) { if ((!user || !user.authorized)) {
// history.push('/signin'); // history.push('/signin');
setLoading(true);
getUserInfoByToken() getUserInfoByToken()
} }
if (msg) { if (msg) {
@ -205,7 +207,6 @@ const LayoutContainer = props => {
} }
} }
}) })
const getUserInfoByToken = () => { const getUserInfoByToken = () => {
if (requestUser) { if (requestUser) {
requestUser = false; requestUser = false;
@ -214,25 +215,43 @@ const LayoutContainer = props => {
dispatch(login({ token })).then(res => { dispatch(login({ token })).then(res => {
if (res.type == 'LOGIN_SUCCESS') { if (res.type == 'LOGIN_SUCCESS') {
const data = res.payload?.user || {} const data = res.payload?.user || {}
localStorage.setItem('poms_open_sider', JSON.stringify(["archivesCenter"])) if (data.codes && data.codes.length) {
localStorage.setItem('poms_selected_sider', JSON.stringify(["humanAffairs"]))
dispatch(actions.layout.initWebSocket({ ioUrl: apiRoot, token: data.token, hrUserId: data.hrUserInfo && hrUserInfo.id })) dispatch(actions.layout.initWebSocket({ ioUrl: apiRoot, token: data.token, hrUserId: data.hrUserInfo && hrUserInfo.id }))
dispatch(actions.humanAffairs.getUserResource(res.payload.user.id)).then(res => {
if (res.success) {
sessionStorage.setItem('userResource', JSON.stringify(res.payload.data))
history.push('/humanAffairs/archivesCenter/personnelArchives/personnelFiles') history.push('/humanAffairs/archivesCenter/personnelArchives/personnelFiles')
window.location.reload() localStorage.setItem('poms_open_sider', JSON.stringify(["archivesCenter"]))
} localStorage.setItem('poms_selected_sider', JSON.stringify(["humanAffairs"]))
setLoading(false);
} else {
setLoading(false);
Toast.warning({
content: '用户无模块权限', duration: 2, onClose: () => {
window.location.href = `${webPepUrl}/signin`
},
}) })
}
} else { } else {
setLoading(false);
Toast.warning({
content: '鉴权失败', duration: 2, onClose: () => {
window.location.href = `${webPepUrl}/signin` window.location.href = `${webPepUrl}/signin`
},
})
} }
}, error => { }, error => {
setLoading(false);
Toast.warning({
content: '鉴权失败', duration: 2, onClose: () => {
window.location.href = `${webPepUrl}/signin` window.location.href = `${webPepUrl}/signin`
},
})
}) })
}, error => { }, error => {
message.error('鉴权失败', 5); setLoading(false);
Toast.warning({
content: '鉴权失败', duration: 2, onClose: () => {
window.location.href = `${webPepUrl}/signin` window.location.href = `${webPepUrl}/signin`
},
})
}) })
} }
} }
@ -269,7 +288,7 @@ const LayoutContainer = props => {
return ( return (
<Layout id="layout" style={{ height: '100%' }}> <Layout id="layout" style={{ height: '100%' }}>
{ {
<> <Spin spinning={loading}>
<Layout.Header> <Layout.Header>
<Header <Header
// headerItems={headerItems} // // headerItems={headerItems} //
@ -310,7 +329,7 @@ const LayoutContainer = props => {
/> />
</Layout.Header> </Layout.Header>
<Layout style={{ height: 'calc(100% - 50px)' }}> <Layout style={{ height: 'calc(100% - 50px)' }}>
{leftShow ? (<Layout.Sider> {user && user.authorized ? (<Layout.Sider>
<Sider <Sider
sections={sections} sections={sections}
leftItems={leftItems} leftItems={leftItems}
@ -321,7 +340,7 @@ const LayoutContainer = props => {
collapsed={collapsed} collapsed={collapsed}
/> />
</Layout.Sider>) : ('')} </Layout.Sider>) : ('')}
<Layout.Content> {user && user.authorized ? <Layout.Content>
<div style={{ <div style={{
background: "#F2F3F5", background: "#F2F3F5",
}}> }}>
@ -342,9 +361,9 @@ const LayoutContainer = props => {
</Layout.Footer> </Layout.Footer>
</div> </div>
</div> </div>
</Layout.Content> </Layout.Content> : ''}
</Layout> </Layout>
</> </Spin>
} }
</Layout > </Layout >
) )

4
web/client/src/sections/humanAffairs/containers/employeeAuth.jsx

@ -239,7 +239,7 @@ const EmployeeAuth = (props) => {
resourceId.push(parseInt(item)); resourceId.push(parseInt(item));
} }
} }
resourceId = [...checkedList, ...resourceId] resourceId = [...resourceId]
if (roleId == undefined || resourceId.length == 0) { if (roleId == undefined || resourceId.length == 0) {
Toast.error('请选择角色和权限!') Toast.error('请选择角色和权限!')
} else { } else {
@ -273,7 +273,7 @@ const EmployeeAuth = (props) => {
</div> </div>
<div className='authorityAdminList'> <div className='authorityAdminList'>
{ {
hrUser && hrUser.adminHr && hrUser.adminHr.map(e => { hrUser && hrUser.adminHr && hrUser.adminHr.filter(admin => admin.id != 1).map(e => {
return ( return (
<div > <div >
<span>人力资源部</span> <span>人力资源部</span>

11
web/client/src/utils/func.js

@ -1,10 +1,9 @@
'use strict'; 'use strict';
const userData = JSON.parse(sessionStorage.getItem('hrUser'));
export const isAuthorized = (authcode) => { export const isAuthorized = (authcode) => {
if (JSON.parse(sessionStorage.getItem('userResource'))) { let userInfo = userData || JSON.parse(sessionStorage.getItem('hrUser'));
const resources = JSON.parse(sessionStorage.getItem('userResource')); if (userInfo) {
return resources.includes(authcode); const { codes } = userInfo
} else { return codes && codes.includes(authcode);
return false;
} }
} }
Loading…
Cancel
Save