import React, { ReactNode } from 'react'; import { OpenEventHandler } from 'rc-menu/es/interface'; import { RoleResultType, AuthUrlType, AdmType } from '@jy-fe/business/es/authority'; import { PositionType } from '../xui-role-menu/xui-role-menu.d'; export type XuiXladminThemeLayoutMenuModeType = 'vertical' | 'inline'; export interface XuiXladminThemeLayoutInfoDataType { rootOrgId: string; orgId: string; postId: string; roleId: string; tenancies?: { /** 是否冻结 */ isCompanyFreezed?: number; /** 公司id */ tenancyId: string; /** 公司名称 */ tenancyName: string; /** 部分信息 */ tenancyDetps: { /** 部门id */ deptId: string; /** 部门名称 */ deptKey: string; /** 岗位信息 */ postList: { /** 岗位id */ postId: string; /** 岗位名称 */ postTitle: string; }[]; }[]; }[]; tenancyInfo: { /** 公司id */ tenancyId: string; /** 公司名称 */ tenancyName: string; }; roles?: { defaultFlag: 0 | 1; id: string; roleName: string; }[]; userInfo?: { [key: string]: any }; postRoleResList?: PositionType[]; } export interface XuiXladminThemeLayoutRoleDataDiscopeParams { roleId: string; aidMap: { [key: string]: any; }; positionIds: string[]; positionNames: string[]; userName: string; } export interface XuiXladminThemeLayoutProps { systemType: AuthUrlType; admType: AdmType; logoImg: any; portraitImg: any; personalSetImg: any; logoutImg: any; /** 控制的模块 */ ownModule: string[]; /** umi Link */ Link: any; /** umi history */ history: any; children: ReactNode; initialState: RoleResultType | undefined; /** 下载模块点击回调,有此方法就有下载模块 */ onDownload?: () => void; /** 菜单形态 */ mode: XuiXladminThemeLayoutMenuModeType; /** 菜单形态切换 */ onModeChange: () => void; /** 横向导航栏路由 */ horizontalSelectedUrl: string; /** 点击横向滚动条后的回调 */ onSelectedHorizontalMenuCallback: (currentPathname: string) => void; /** 左侧菜单打开项 */ openedKeys: string[]; /** 左侧菜单选中项 */ selectedKeys: string[]; /** 展开或合上菜单的回调 */ onSelectedSubMenu: OpenEventHandler; /** 选中菜单项的回调 */ onSelectedMenuItem: (selectedKeys: React.ReactText[]) => void; /** 岗位切换浮窗 visible */ positionVisible: boolean; /** 岗位浮窗visible切换 */ onPositionVisible: (visible: boolean) => void; /** 角色切换浮窗 visible */ roleVisible: boolean; /** 角色浮窗visible切换 */ onRoleVisible: (visible: boolean) => void; /** 权限相关数据抛出 */ roleDataDiscope: (params: XuiXladminThemeLayoutRoleDataDiscopeParams) => void; /** 初始化调用 */ effectCallback: () => void; } declare const XuiXladminThemeLayout: React.ComponentType; export default XuiXladminThemeLayout;