/**************************************************** * Audit Information Platform Component * 包含表的参照项目组件 * 2020-08 * Sunny ****************************************************/ /// import 'ref-multiple-table/lib/index.css'; import RefItem, { RefItemProp } from './RefItem'; import { ReferenceItem, StringStringMap } from '../types'; /** matchData: [ { "mobile": "15011430235", "name": "人员5", "refpk": "5e3a85ec-5e14-4734-8b3a-1e6168426c89", "refname": "人员5", "email": "55@26.com" }, { "code": "008", "name": "人员8", "refpk": "a9f4c869-ca0b-4d12-847e-00eca08bfef6", "id": "a9f4c869-ca0b-4d12-847e-00eca08bfef6", "refname": "人员8", "email": "55@556.com" }], value: '{"refname":"人员5-自定义;人员8","refpk":"5e3a85ec-5e14-4734-8b3a-1e6168426c89;a9f4c869-ca0b-4d12-847e-00eca08bfef6"}', valueField: 'refpk', displayField: '哈哈-{refname}-{refcode}-displayField', inputDisplay: '哈哈-{refname}inputDisplay', */ /** * 列表参照组件属性定义 */ export interface TableRefProp extends RefItemProp, ReferenceItem { matchData?: any[]; } /** * 表格参照组件返回的数据格式定义 */ export interface TableRefResponse { columns: string[]; data: any[]; } /** * 表格参照组件 * * 弹出表格组件 */ declare class TableRef extends RefItem { state: { showLoading: boolean; showModal: boolean; matchData: any[]; value: string; valuefield: string; displayfield: string | undefined; inputDisplay: string; key: string; tableData: never[]; }; private page; private columnsData; private allData; private filterData; private paginationProps; private options; UNSAFE_componentWillReceiveProps(nextProps: TableRefProp): void; /** * 构建分页数据 * @function * @param {RecordData[] | null | undefined} datas * @returns {PageResult} */ private buildPage; /** * 远程请求数据 * @function * @param {StringStringMap} params * @param {string} defaultValue */ loadData: (params: StringStringMap, defaultValue?: string) => void; /** * 设置默认值 ***override*** * @function * @param {string} value */ setDefaultValue: (value: string) => void; /** * 根据 refinfo 返回结果拆解并渲染表格表头,注意:单选时候自己添加radio * @function * @param {string[]} data * */ private launchTableHeader; /** * 处理并渲染表格数据 * @function * @param {any[]} records 传入的表格数据 */ private launchTableData; /** * 简单搜索的回调,与复杂搜索的回调不是同一个 * @function * @param {string | null} value */ private miniSearchFunc; /** * 跳转到制定页数的操作 * @function * @param {number} index 跳转到页码, start from 0 */ private handlePagination; /** * 选择每页数据个数 * @function * @param {number} index * @param {number} pageSize */ private dataNumSelect; /** * modal框确认按钮 * @function * @param {any} item */ private onSave; /** * 将获取的数组数据转为iuap需要的格式 * @function * @param {any[]} items * @returns {StringStringMap} * */ private buildValue; /** * 内部方法,在选择值发生变化的时候触发 * @function */ private valueChange; /** * 获取值,按需 **override** * @function * @returns {string} */ getValue: () => string; /** * modal框右上X和右下角取消 * @function */ private onCancel; /** * 清空操作,借助form。就是value和matchData置空。前者对应input框,matchData对应表中选中的节点 * @function */ private clearFunc; /** * 清空操作 ***override*** * @function */ clear: () => void; render(): JSX.Element; } export default TableRef;