| | |
| | | return $$.ax.request({ url: `ctRole/getById?id=${roleId}`, type: 'get', service: 'cust' }); |
| | | } |
| | | |
| | | //对接单点登录,获取token |
| | | function gridLogin(data) { |
| | | return $$.ax.request({ url: `ctAccount/gridLogin`, type: 'post', service: 'cust', isGrid: true, data }); |
| | | } |
| | | |
| | | // 角色选择 |
| | | function switchRoleApi(data) { |
| | | return $$.ax.request({ url: 'ctAccount/switchRole', type: 'get', data, service: 'cust' }); |
| | | } |
| | | |
| | | |
| | | const Layout = ({ isNotNav, headerUserChange }) => { |
| | | const location = useLocation() || {}; |
| | | |
| | |
| | | |
| | | // 当前选中的角色 及其 权限 |
| | | const [roleActive, setRoleActive] = useState({ id: null, powerMap: {} }); |
| | | |
| | | //网格跳转请求状态 |
| | | const [gridStatus, setGridStatus] = useState(false) |
| | | |
| | | // 切换头部menu |
| | | function handleClickHeaderMenu(values) { |
| | |
| | | } |
| | | } |
| | | |
| | | //请求网格token |
| | | const getGridToken = async (token) => { |
| | | const res = await gridLogin({ |
| | | token |
| | | }) |
| | | if (res.type) { |
| | | setGridStatus(true) |
| | | $$.setSessionStorage('gridToken', '') |
| | | $$.setSessionStorage('customerSystemToken', res.data?.token); |
| | | $$.setLocal('customerSystemUser', res.data || {}); |
| | | let ctUseroleList = res.data?.ctUseroleList || []; |
| | | const roleId = ctUseroleList[0]?.roleId |
| | | const roleName = ctUseroleList[0]?.roleName |
| | | const roleCode = ctUseroleList[0]?.roleCode |
| | | $$.setSessionStorage('role', { roleId: roleId, roleName: roleName }); |
| | | setRoleActive({ id: roleId, roleName: roleName, powerMap: {} }); |
| | | const res = await switchRoleApi({ roleCode: roleCode }); |
| | | if (res.type) { |
| | | $$.setSessionStorage('customerSystemToken', res.data); |
| | | navigate('/mediate/visit/visitWorkBench'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 初始化 格式化数据适应菜单栏 |
| | | useEffect(() => { |
| | | let role = $$.getSessionStorage('role'); |
| | | if (role) { |
| | | setRoleActive({ id: role.roleId, roleName: role.roleName, powerMap: {} }); |
| | | return; |
| | | } |
| | | let customerSystemUser = $$.getLocal('customerSystemUser'); |
| | | let ctUseroleList = customerSystemUser?.ctUseroleList || []; |
| | | if (ctUseroleList[0]?.roleId) { |
| | | setRoleActive({ id: ctUseroleList[0]?.roleId, roleName: ctUseroleList[0]?.roleName, powerMap: {} }); |
| | | //单点登录,网格传一个token在session,如果有就请求接口 |
| | | const gridToken = $$.getSessionStorage('gridToken'); |
| | | if (gridToken) { |
| | | getGridToken(gridToken) |
| | | } else { |
| | | setGridStatus(true) |
| | | let role = $$.getSessionStorage('role'); |
| | | if (role) { |
| | | setRoleActive({ id: role.roleId, roleName: role.roleName, powerMap: {} }); |
| | | return; |
| | | } |
| | | let customerSystemUser = $$.getLocal('customerSystemUser'); |
| | | let ctUseroleList = customerSystemUser?.ctUseroleList || []; |
| | | if (ctUseroleList[0]?.roleId) { |
| | | setRoleActive({ id: ctUseroleList[0]?.roleId, roleName: ctUseroleList[0]?.roleName, powerMap: {} }); |
| | | } |
| | | } |
| | | }, []); |
| | | |
| | |
| | | async function getRolePower(roleId, roleName) { |
| | | global.setSpinning(true); |
| | | const res = await getRolePowerApi(roleId); |
| | | console.log(res,'res1111') |
| | | console.log(res, 'res1111') |
| | | global.setSpinning(false); |
| | | if (res.type) { |
| | | let resData = res.data?.roleTreeBOS || []; |
| | |
| | | } |
| | | }); |
| | | let powerMap = setPowerDataMap(power_data); |
| | | |
| | | |
| | | function loop(data, arr) { |
| | | data.forEach((x) => { |
| | | if (x.powerUrl && powerMap[x.powerUrl]?.show) { |
| | | arr.push(x.powerUrl); |
| | | |
| | | |
| | | } |
| | | if ( x.powerUrl && powerMap[x.powerUrl]?.update) { |
| | | if (x.powerUrl && powerMap[x.powerUrl]?.update) { |
| | | arr.push(x.powerUrl); |
| | | console.log(powerMap[x.powerUrl]?.update, 'res111111111'); |
| | | } |
| | |
| | | headerUserChange={headerUserChange} |
| | | handleChangeRole={handleChangeRole} |
| | | /> |
| | | {isNotNav ? ( |
| | | {gridStatus && isNotNav ? ( |
| | | <main className="layout-main" id="layoutMain"> |
| | | <Outlet /> |
| | | </main> |
| | | ) : ( |
| | | ) : gridStatus ? ( |
| | | <main className="layout-main" id="layoutMain" ref={layoutRef}> |
| | | <Navigation powerMap={roleActive.powerMap} roleActive={roleActive} sideMenu={sideMenu} /> |
| | | <main id="layoutChild" className="layout-child"> |
| | |
| | | </main> |
| | | <SOP /> |
| | | </main> |
| | | )} |
| | | ) : <></> |
| | | } |
| | | </> |
| | | ); |
| | | }; |