188 lines
4.2 KiB
TypeScript
188 lines
4.2 KiB
TypeScript
export interface Dialog {
|
|
/* 对话框是否可见 */
|
|
visible: boolean;
|
|
/* 是否显示关闭按钮 */
|
|
close: boolean;
|
|
/* 对话框标题 */
|
|
title: string;
|
|
/* 对话框宽度 */
|
|
width: string;
|
|
/**自定义弹窗数据 */
|
|
custom: {
|
|
/* 自定义对话框高度 */
|
|
height: string;
|
|
/* 自定义对话框数据 */
|
|
data: any[];
|
|
/* 自定义组件路径 */
|
|
src?: string;
|
|
/* 自定义配置项 */
|
|
custom: Record<string, any>;
|
|
/* 自定义对话框是否可见 */
|
|
visible: boolean;
|
|
/* 异步加载组件 */
|
|
component: any;
|
|
};
|
|
edit: {
|
|
/* 编辑项ID */
|
|
id: number;
|
|
/* 编辑对话框标题 */
|
|
title: string;
|
|
/* 编辑对话框是否可见 */
|
|
visible: boolean;
|
|
row?: any;
|
|
tagData?: any;
|
|
};
|
|
}
|
|
|
|
/* 按钮自定义配置 */
|
|
export interface ButtonCustomConfig {
|
|
/* 弹出框标题 */
|
|
title: string;
|
|
/* 组件路径 */
|
|
src: string;
|
|
/* 弹框宽度 */
|
|
width: string;
|
|
/* 弹框高度 */
|
|
height: string;
|
|
}
|
|
|
|
/* 操作按钮配置 */
|
|
export interface OperationButton {
|
|
/* 是否为头部按钮 */
|
|
topBtn: boolean;
|
|
/** 按钮权限码 */
|
|
perms?: string;
|
|
/* 是否显示 */
|
|
show?: boolean;
|
|
/* 按钮文本 */
|
|
label: string;
|
|
/* 按钮类型 */
|
|
btnType: "add" | "edit" | "del" | "custom";
|
|
/* 按钮样式 */
|
|
btnStyle?: "success" | "info" | "primary" | "danger" | "warning";
|
|
/* 自定义按钮配置 */
|
|
custom?: ButtonCustomConfig;
|
|
}
|
|
|
|
/* 字段设置项 */
|
|
export interface FieldSetting {
|
|
/**map 时Value的取值的属性 */
|
|
mapValue?: string;
|
|
/**map 时label的取值的属性 */
|
|
maplabel?: string;
|
|
/** 数据源 请求方式 */
|
|
datasourceStr?: string;
|
|
/**
|
|
* 图片地址 获取方式
|
|
* @param value 当前值
|
|
* @param row 当前行值
|
|
* @returns 预期返回有效图片地址url
|
|
*/
|
|
imgUrl?: (value: any, row: any) => string;
|
|
/* 数据源 */
|
|
datasource?: ComboModel[];
|
|
}
|
|
///* 表格列配置 */
|
|
//export interface TableEditColumn {}
|
|
export interface ComboModel {
|
|
value: any;
|
|
text: string;
|
|
}
|
|
/* 表格列配置 */
|
|
export interface TableColumn {
|
|
/* 显示标签 */
|
|
label: string;
|
|
/* 是否可搜索 */
|
|
search: boolean;
|
|
/* 搜索类型 */
|
|
searchType?:
|
|
| "Equal"
|
|
| "NoEqual"
|
|
| "Like"
|
|
| "GreaterThan"
|
|
| "LessThan"
|
|
| "NoLike";
|
|
/* 是否允许添加 */
|
|
add: boolean;
|
|
/* 是否允许修改 */
|
|
edit?: boolean;
|
|
/* 列宽度 */
|
|
width?: string;
|
|
/* 字段类型 */
|
|
type?: "string" | "dropdown" | "switch" | "img" | "datetime" | "textarea";
|
|
/** 是否多选 */
|
|
multiple?: boolean;
|
|
/** 编辑时显示列 */
|
|
editShow?: boolean;
|
|
/**校验规则 */
|
|
rules?: any | Array<any>;
|
|
/** 显示列 */
|
|
show?: boolean;
|
|
/* 字段设置 */
|
|
setting?: FieldSetting;
|
|
/* 修改时的编辑值 */
|
|
valueE?: Array<string> | string | number | boolean | Date;
|
|
/* 查询值 */
|
|
value?: Array<string> | string | number | boolean | Date;
|
|
/** textarea编辑时的行数 */
|
|
editRows?: number;
|
|
/**编辑时值发生变化 */
|
|
change?: () => void;
|
|
/**列值初始化时 如何获取默认取对应列*/
|
|
custom?: (row: any) => string;
|
|
}
|
|
|
|
/* 分页数据 */
|
|
export interface PageData {
|
|
/* 总条数 */
|
|
total: number;
|
|
}
|
|
|
|
/* 搜索条件 */
|
|
export interface SearchConditions {
|
|
/* 是否显示搜索 */
|
|
show: boolean;
|
|
/* 当前页码 */
|
|
PageIndex: number;
|
|
/* 每页大小 */
|
|
PageSize: number;
|
|
/* 排序字段 */
|
|
OrderBy: string;
|
|
/* 默认查询条件 */
|
|
defaultConditions: any[];
|
|
/* 查询条件 */
|
|
Conditions: any[];
|
|
}
|
|
|
|
/* 表格配置 */
|
|
export interface TableConfig {
|
|
/* 搜索回调函数 */
|
|
searchCallback?: (s: SearchConditions) => void;
|
|
/* 新增/修改回调函数 */
|
|
editCallback?: (from: any) => void;
|
|
/* API地址 */
|
|
apiUrl: string;
|
|
/* 是否显示选择列 */
|
|
selectColumn: boolean;
|
|
/* 搜索配置 */
|
|
search: SearchConditions;
|
|
/* 是否显示操作列 */
|
|
operationColumn: boolean;
|
|
/* 操作按钮配置 */
|
|
operationColumnData: OperationButton[];
|
|
/* 列配置 */
|
|
column: Record<string, TableColumn>;
|
|
/* 表格数据 */
|
|
data: any[];
|
|
/**显示头部操作按钮 */
|
|
operationTop?: boolean;
|
|
/* 分页数据 */
|
|
pageData: PageData;
|
|
/* 选中行 */
|
|
selectRows: any[];
|
|
/* 是否显示边框 */
|
|
border: boolean;
|
|
/**是否显示 */
|
|
show?: boolean;
|
|
}
|