export type ChartType = 'Sheet' | 'BasicTable' | 'FunnelChart' | 'HeatMap' | 'Histogram' | 'HistogramLine' | 'LineChart' | 'PieChart' | 'RadarChart' | 'SelectFilter' | 'Target' | 'Reference'; export type DataType = '1000' | '2000' | '3000' | '4000' | '1100'; interface AttrTypeItem extends FieldData { dataTypeName: string; } export interface FormFieldData { attrColumnCode?: string; originAttrCode?: string; appId: string; mainBusiObjectId: string; busiObjectId: string; busiObjectAttrId: string; attrName: string; attrCode: string; attrDataType: string; dataType: DataType; compType: string; attrTypeList?: AttrTypeItem[]; } export type AggregateType = 'SUM' | 'COUNT' | 'AVG' | 'MAX' | 'MIN' | 'COUNT_DISTINCT'; export type OrderType = 'ASC' | 'DESC' | 'DEFAULT' | 'CUSTOM'; export interface FieldData extends FormFieldData { flowTable?: string; length?: number; ifFlow?: boolean; ifAggregateTable?: boolean; children?: FieldData[]; aggregateType: AggregateType; orderType: OrderType; orderValues?: any[]; aggregateTypeName: string; name: string; attrAlias: string; fieldName?: string; fieldDataType: DataType; staticAttrId: string; isSubForm?: boolean; fatherattrCode?: string; fatherData: FieldData; fatherdataType?: DataType; originAttrCode?: string; attribute?: string; disabled?: boolean; staticCode?: string; } export interface DataSourceInfo { appId: string; busiObjectId: string; busiObjectCode: string; busiObjectName: string; datasourceId: string; catalogItemId: string; currentAppId?: string; currentAppName?: string; } export interface FilterItem { attrColumnCode?: string; mainBusiObjectId?: string; flowTable?: string; busiObjectId: string; busiObjectAttrId?: string; datasourceId: string; conditionType: string; dataType: DataType; compType?: string; attrDataType: string; attrAlias: string; attrCode: string; attrName: string; attrTypeList?: AttrTypeItem[]; filterValue: any; originAttrCode?: string; } export interface GroupItem { flowTable?: string; attrAlias: string; attrCode: string; attrDataType: string; attrName: string; compType: string; dataType: DataType; attrTypeList?: AttrTypeItem[]; busiObjectId?: string; busiObjectAttrId?: string; appId: string; isSubForm?: boolean; fatherattrCode?: string; originAttrCode?: string; attrColumnCode?: string; } export interface QueryAttrItem extends GroupItem { aggregateType?: 'SUM' | 'COUNT' | 'AVG' | 'MAX' | 'MIN' | 'COUNT_DISTINCT'; originAttrCode?: string; } export interface OrderByItem extends Pick { orderType: string; orderValues?: any[]; busiObjectId?: string; busiObjectAttrId?: string; originAttrCode?: string; } export interface AttrParams { limit?: number; filterList?: FilterItem[]; groupList?: GroupItem[]; queryAttrList?: QueryAttrItem[]; optionFilterList?: FilterItem[]; orderByList?: OrderByItem[]; paging?: { pageNum?: number; pageSize?: number; }; } export interface GetDashboardDataParams { appId: string; busiObjectCodes: string[]; busiObjectIds: string[]; datasourceId: string; attr: AttrParams; isEditor?: boolean; aggregateTable?: string; aggregateTableCatalogItemId?: string; } export interface DashboardData { data: Record[]; queryRecordTotal: number; pageNum: number; pageSize: number; [key: string]: any; } export interface GetFormFieldsParams { busiObjectIdList: string[]; appId: string; attrName?: string; formType?: string; orgMaxLevel?: string; } export interface GetDataSourceListParams { appId: string; formType?: string; datasourceLoadRule?: string; } export {};