import { TableProps, ColumnProps } from 'antd/lib/table/interface';
/**
 * 用来进行翻译大数据的属性，比如机构编码转为机构名称，系统ID转为系统名称
 */
export interface ColumnTransate {
    /**
     *  缓存空间 KEY
     * */
    scope: string;
    /**
     * API地址
     */
    query: string;
    /**
     * 保留原属性
     */
    shift?: string;
    /**
     * 翻译属性
     */
    fetch?: string;
    /**
     * 批量发送时的属性，默认是 ids
     */
    field?: string;
    /**
     * 没有找到相应条目时的转换，默认为空
     */
    default?: string | false;
}
export interface DataColumn<T> extends ColumnProps<T> {
    /**
     * transate:翻译
     */
    transate?: ColumnTransate;
    /**
     * 是否显示  default :ture
     */
    show?: boolean;
}
export interface DisplayTableProps<T> extends TableProps<T> {
    /**
     * 字段扩展，支持 transate 翻译
     */
    columns: DataColumn<T>[];
    /**
     * 查询接口
    */
    query: string;
    /**
     * 默认查询参数
    */
    param?: any;
    /**
     * 是否加载，默认为 true
    */
    autoLoad?: boolean;
    /**
     * 每页记录数量，默认为10
    */
    pageSize?: number;
    /**
     * 修改数据接口地址
    */
    update?: string;
    /**
     * 添加数据接口地址
    */
    add?: string;
    /**
     * 删除数据接口地址
    */
    delete?: string;
    /**
     * 对象命名
    */
    objName?: string;
    /**
     * 对象名称字段
    */
    objField?: string;
    /**
     * 删除KEY字段
    */
    delKey?: string;
    /**
     * 查询后
    */
    queryAfterFun?: Function;
    /**
     * 选中一行
    */
    onClick?: Function;
    /**
     * 是否显示SizeChanger
     */
    showSizeChanger?: boolean;
    /**
     * 序号字段
     * 1. 不传（或者传false） ：不显示 “序号”
     * 2. 传 true 显示 “序号”
     * 3. 传指定标题 ：显示指定标题
     *
     */
    showIndex?: boolean | string;
    /**
     * 即使更新了QUERY和PARAM 也不重新查询
     */
    _notUpdate?: boolean;
}
