import React from 'react'; import XForm from "../editor/XForm"; import XBaseObject, { XBaseObjectProps } from "./XBaseObject"; import XBaseApp from './XBaseApp'; /** * 页面组件属性 */ export interface XBasePageProps extends XBaseObjectProps { children?: React.ReactNode; /** * 是否验证用户是否登录 */ validateUser?: boolean; /** * 登录用户对当前菜单的权限信息 */ operations?: any; /** * 显示默认视图 */ view?: string; /** * 页面右上角视图列表 */ views?: string[]; /** * 是否显示多视图 */ showFilterView?: boolean; /** * 是否仪表盘嵌入 */ isDashboard?: boolean; settingQueryUrl?: string; settingSaveUrl?: string; } /** * 基础页面组件 * 基础页面组件是业务系统中所有页面的基类,直接继承于基础组件,拥有与服务端交互的能力,包含了整个系统的目录结构,当前页面对应的数据权限和操作权限。还提供了各种常用的表格和表单操作,方便业务系统的实现。 * @name 基础页面组件 * @groupName 应用 */ export default class XBasePage

extends XBaseObject { static GetApp: () => XBaseApp<{}, {}>; static SetApp: (_app: XBaseApp) => void; static defaultProps: { operations: any; validateUser: any; showFilterView: boolean; isDashboard: boolean; views: string[]; view: string; settingQueryUrl: string; settingSaveUrl: string; parent: string; pureRender: boolean; dataSourceUrl: string; filterData: {}; mustHasFilter: boolean; }; static propTypes: {}; menu: any; operations: any; state: any; constructor(props: any); componentDidMount(): void; configForm: XForm; /** * 渲染页面配置 */ renderPageConfig(): React.JSX.Element; /** * 获取当前url hash */ GetCurrentMenuKey(): string; /** * 获取菜单组件 * @param path 菜单path */ GetMenuComponent(path: string): any; /** * 获取菜单 * @param path hash值 * @menus 菜单列表 */ GetCurrentMenuItem(path?: string, menus?: any): any; /** * 获取所有菜单 * @param menus */ GetAllMenuData(): any[]; /** * 重新加载用户菜单 */ ReloadCurrentUserMenus(): any; /** * 获取当前用户菜单 */ GetCurrentUserMenus(): any; /** * 验证hash是否有权限 * @param path */ CheckPath(path: any): boolean; /** * 验证操作权限 * @param name 操作名称 */ CheckOperation(name: any): any; Resize(): void; /** * 获取当前是否为iframe */ IsIframe(): boolean; /** * 保存单一字段的值 * @param url 请求地址 * @param id id * @param filed 字段 * @param value 值 * @param params 其他参数 * @constructor */ SaveFiledValue(url: string, id: string, filed: string, value: string, params?: any): Promise; /** * 删除选中的数据 * @param url 请求URL * @param table 表格对象 * @param selectType 删除类型 * @param callbackFuc 删除回调 * @constructor */ DeleteTableSelect(url: string, table: any, selectType?: string | boolean, callbackFuc?: any, extraData?: any): void; /** * 删除数据 * @param url 请求url * @param data 参数 * @param table 刷新表格 */ DeleteTableData(url: string, data: any, table: any): Promise; /** * 保存数据 * @param url 请求url * @param data 参数 * @param tableOrFunc 表格对象或回调 */ SaveData(url: any, data: any, tableOrFunc?: any): Promise; /** * 保存form表单 * @param form xfrom对象 * @param url 请求url * @param tableOrFunc 表格对象或回调 * @param data 参数 */ SaveFormData(form: any, url: any, tableOrFunc?: any, data?: any): Promise; /** * POST请求服务器 * @param url 请求地址 * @param params 参数 * @param isShowError 是否显示错误 */ RequestServer(url: any, params: any, isShowError?: boolean): Promise; /** * 保存数据 * @param url 请求url * @param param 参数 * @param table 表格对象 * @constructor */ SaveNew(url: any, param: any, table?: any): Promise; /** * 刷新数据权限 * @param dataRightFilter 新参数 * @param oldDataRightFilter 旧参数 * @constructor */ onDataRightChangeEvent(dataRightFilter: any, oldDataRightFilter: any): void; /** * 自定义权限视图 */ renderDataRightForm(): React.JSX.Element; userDataFilter: any; dataRightFilter: any; dataRightFilterForm: any; render(): React.JSX.Element; renderView(view: any): React.JSX.Element; }