import type { FilterResult } from '@cordys/web/src/components/pure/crm-advance-filter/type'; import { ColumnTypeEnum, OperatorEnum } from '@lib/shared/enums/commonEnum'; // 请求返回结构 export default interface CommonResponse { code: number; message: string; messageDetail: string; data: T; } export interface SortParams { name?: string; type?: string; // asc或desc } // 表格查询 export interface TableQueryParams { // 当前页 current?: number; // 每页条数 pageSize?: number; // 排序仅针对单个字段 sort?: SortParams; // 表头筛选 filter?: object; // 查询条件 keyword?: string; // 视图ID viewId?: string; filterCondition?: FilterResult; [key: string]: any; } export interface CommonList { [x: string]: any; pageSize: number; total: number; current: number; list: T[]; optionMap?: Record; } export interface FilterConditionItem { name: string; value: any; // 期望值,若操作符为 BETWEEN, IN, NOT_IN 时为数组,其他操作符为单个值 operator: OperatorEnum; multipleValue?: boolean; } export interface ExportTableColumnItem { key: string; title: string; columnType: ColumnTypeEnum; } export interface TableExportParams extends TableQueryParams { fileName: string; // 导出文件名 headList: ExportTableColumnItem[]; // 导出表头 } export interface TableExportSelectedParams { fileName: string; headList: ExportTableColumnItem[]; ids: string[]; } export interface TableDraggedParams { moveId: string; moveMode: 'BEFORE' | 'AFTER'; orgId: string; targetId: string; oldIndex: number; newIndex: number; } export interface SystemVersion { currentVersion: string; // 当前版本 releaseDate: string; // 发行日期 latestVersion: string; // 最新版本 architecture: string; // 系统架构 copyright: string; // 版权信息 hasNewVersion: boolean; // 是否有新版本 } export interface ModuleDragParams { dragNodeId: string; dropNodeId: string; dropPosition: number; } export interface ChartValueAxis { fieldId: string; aggregateMethod: string; } export interface ChartCategoryAxis { fieldId: string; } export interface ChartConfig { chatType: string; // TODO:chart categoryAxis: ChartCategoryAxis; subCategoryAxis?: ChartCategoryAxis; valueAxis: ChartValueAxis; } export interface GenerateChartParams extends TableQueryParams { chartConfig: ChartConfig; poolId?: string | number; } export interface ChartResponseDataItem { categoryAxis: string; // 类目 id categoryAxisName: string; // 类目名称 subCategoryAxis: string; // 子类目 id subCategoryAxisName: string; // 子类目名称 valueAxis: string; // 值 } export interface ModuleField { fieldId: string; fieldValue: string | string[]; }