140 lines
3.1 KiB
TypeScript
140 lines
3.1 KiB
TypeScript
/**
|
||
* 列表配置
|
||
*/
|
||
export interface ListConfig {
|
||
//是否有左侧菜单
|
||
isLeftMenu: boolean;
|
||
//是否分页
|
||
isPage: boolean;
|
||
//分页 每页显示条数
|
||
pageSize?: number;
|
||
//左侧菜单配置
|
||
leftMenuConfig?: LeftMenuConfig;
|
||
//查询配置
|
||
queryConfigs: QueryConfig[];
|
||
//列表配置
|
||
columnConfigs: ColumnConfig[];
|
||
//按钮配置
|
||
buttonConfigs: ButtonConfig[];
|
||
// //合计配置
|
||
// totalConfigs?: TotalConfig[];
|
||
//列表标题
|
||
listTitle?: string;
|
||
//是否默认排序
|
||
defaultOrder?: boolean;
|
||
//排序字段
|
||
orderBy?: string;
|
||
//排序类型 (默认 倒叙)
|
||
orderType?: 'desc' | 'asc';
|
||
}
|
||
|
||
/**
|
||
* 左侧菜单配置
|
||
*/
|
||
export interface LeftMenuConfig {
|
||
//左侧菜单是否树结构
|
||
// isTree: boolean;
|
||
//左侧菜单宽度 分为 按照 1/3 | 1/4 | 1/5
|
||
leftWidth?: 1 | 2 | 3;
|
||
//如果不是数据字典 就是数据源
|
||
datasourceType: string; //dic | datasource | api
|
||
//如果是静态数据 则需要静态数据列表
|
||
staticData?: Array<any>;
|
||
//如果是数据源 就需要有数据源id
|
||
datasourceId?: string;
|
||
//如果是数据源 则需要配置 数据字段名 (与parentFiledName 搭配拼接树结构)
|
||
fieldName?: string;
|
||
//如果是数据源 则需要配置 父级字段名 (与fieldName 搭配拼接树结构)
|
||
parentFiledName?: string;
|
||
// 显示字段
|
||
showFieldName?: string;
|
||
//如果是数据源 需要 关联字段 关联 列表关联字段
|
||
relationFieldName?: string;
|
||
//列表关联字段
|
||
listFieldName?: string;
|
||
//数据项Id 用户查询数据字典详情
|
||
dictionaryItemId?: string;
|
||
//如果是api 则需要api配置
|
||
apiConfig?: any;
|
||
//菜单显示名称
|
||
menuName?: string;
|
||
//父级菜单图标
|
||
parentIcon?: string;
|
||
//子级菜单图标
|
||
childIcon?: string;
|
||
}
|
||
|
||
/**
|
||
* 查询配置
|
||
*/
|
||
export interface QueryConfig {
|
||
//查询字段
|
||
fieldName: string;
|
||
//查询框所占宽度
|
||
width?: number;
|
||
//是否时间字段
|
||
isDate: boolean;
|
||
//时间选择和日期选择需要
|
||
format?: string;
|
||
}
|
||
|
||
/**
|
||
* 列表配置
|
||
*/
|
||
export interface ColumnConfig {
|
||
//组件唯一标识
|
||
key?: string;
|
||
//显示名
|
||
label?: string;
|
||
//列名
|
||
columnName: string;
|
||
//对齐
|
||
alignType?: string;
|
||
//宽度
|
||
columnWidth?: string;
|
||
//自适应
|
||
autoWidth?: boolean;
|
||
//是否合计
|
||
isTotal?: boolean;
|
||
//是否是数字类型
|
||
isNumber?: boolean;
|
||
//组件类型
|
||
componentType?: string;
|
||
//时间选择、日期选择、时间范围、日期范围需要
|
||
format?: string;
|
||
//组件配置
|
||
componentProps?: any;
|
||
//手机端是否显示标签
|
||
showLabel?: boolean;
|
||
//手机端是否主字段,当主字段启用时,该字段的标签和内容的字体大小增加2px,然后字体加粗
|
||
mainField?: boolean;
|
||
//是否列头筛选
|
||
isFilter?: boolean;
|
||
}
|
||
|
||
/**
|
||
* 按钮配置
|
||
*/
|
||
export interface ButtonConfig {
|
||
//是否启用
|
||
isUse: boolean;
|
||
//按钮名
|
||
name: string;
|
||
//编码
|
||
code: string;
|
||
//图标
|
||
icon: string;
|
||
//是否新增
|
||
isDefault: boolean;
|
||
//按钮类型
|
||
type: string;
|
||
}
|
||
|
||
/**
|
||
* 合计配置
|
||
*/
|
||
export interface TotalConfig {
|
||
//需要合计字段
|
||
fieldName: string;
|
||
}
|