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;
|
|||
|
|
}
|