初始版本提交

This commit is contained in:
yaoyn
2024-02-05 09:15:37 +08:00
parent b52d4414be
commit 445292105f
1848 changed files with 236859 additions and 75 deletions

View File

@ -0,0 +1,471 @@
import { EChartsOption } from 'echarts';
import {
AlignType,
DashboardShowType,
DesktopComponent,
ImgType,
LegendType,
OrientType,
ButtonType,
TableType,
ExecuteType,
} from '/@/enums/desktop';
import { ApiConfig } from '/@/components/ApiConfig/src/interface';
import { FormTypeEnum } from '/@/enums/formtypeEnum';
export type DesktopInfoId = string;
export type InfoType = DesktopComponent;
export interface DesktopData extends DesktopBasicData {
jsonContent: string; ////桌面设计json
}
export interface DesktopBasicData {
systemId?: string;
id?: string;
code: string; //编码
name: string; //名称
icon: string; //图标
parentId: string; //上级
sortCode: number; //排序
isFirst: number; //首屏
isMenu: number; //菜单
remark: string; //描述
backgroundUrl: string; //封面图片
}
export interface DesktopConfig {
title: string;
renderKey: number;
echarts?: undefined | EChartsOption;
}
export interface processEventItem {
operateType: ExecuteType;
operateConfig: any;
}
export interface ButtonItem {
apiConfig?: any;
name: string;
type: ButtonType;
formName?: string;
formId?: string;
apiColumn?: Array<any>;
processEvent: Array<processEventItem>;
}
export interface TableColumnItem {
dataIndex: string;
title: string;
show: boolean;
width?: number;
align?: string;
}
export interface TableConfig {
title: string;
type: TableType;
formId: string;
pageSize: number;
formName: string;
formType: FormTypeEnum;
apiColumns: Array<any>;
primaryKey: string;
associatedForm?: boolean;
apiConfig?: ApiConfig;
releaseId: string;
updateIds: Array<string>;
columns: Array<TableColumnItem>;
renderKey: number;
systemComponent: {
functionalModule: string;
functionName: string;
functionFormName: string;
};
}
export interface tablePanesItem {
title: string;
type: TableType;
key: string;
closable: boolean;
count: boolean;
formId?: string;
pageSize: number;
current: number;
total: number;
formName?: string;
formType: FormTypeEnum;
apiColumns?: Array<any>;
primaryKey?: string;
associatedForm?: boolean;
apiConfig?: ApiConfig;
releaseId?: string;
updateIds?: Array<string>;
columns?: Array<TableColumnItem>;
renderKey: number;
systemComponent?: {
functionalModule: string;
functionName: string;
functionFormName: string;
};
}
export interface TabsTableConfig {
title: string;
renderKey: number;
panes: Array<tablePanesItem>;
}
export interface TabsTableInfo extends BasicInfo {
config: TabsTableConfig;
}
export interface TableInfo extends BasicInfo {
config: TableConfig;
}
export interface ImageConfig {
title: string;
renderKey: number;
showTitle: boolean;
folderId: string;
}
export interface ImageInfo extends BasicInfo {
config: ImageConfig;
}
export interface MapConfig {
title: string;
renderKey: number;
showTitle: boolean;
apiConfig?: ApiConfig;
apiColumns?: Array<any>;
primaryKey?: string;
primaryName?: string;
}
export interface MapInfo extends BasicInfo {
config: MapConfig;
}
export interface BasicInfo {
x: number;
y: number;
w: number;
h: number;
i: string;
maxH: number;
minH: number;
maxW: number;
minW: number;
type: DesktopComponent;
}
export interface ApiInfo {
apiData: { [x: string]: number };
apiColumns: any;
apiConfig: ApiConfig;
}
export interface DesktopInfoItem extends BasicInfo {
config: DesktopConfig | MixLineBarConfig;
}
// 饼图 config
export interface PieConfig extends ApiInfo {
title: string; //标题
renderKey: number;
labelKey: string; //维度
valueKey: string; //指标
colors: Array<string>; //颜色配置
autoWidth?: boolean; //宽度自动
echarts: EChartsOption;
}
// 柱状图 config
export interface ChartBarConfig extends ApiInfo {
title: string; //标题
renderKey: number;
labelKey: string; //维度
valueKey: string; //指标
targetKey: string; //目标值
unit: string;
}
// 甘特图 config
export interface CategoryStackConfig extends ApiInfo {
labelKey?: string; //维度
valueKey?: string; //指标
targetKey?: string; //指标
}
export interface ColumnItem {
id: string;
name?: string;
width: number;
align: AlignType;
}
export interface InformationConfig extends ApiInfo {
title: string; //标题
renderKey: number;
jumpId: string | undefined;
path: string | undefined;
maxRows: number;
columns: Array<ColumnItem>;
apiColumns: Array<ChartApiColumn>;
apiConfig: ApiConfig;
}
export interface DashboardConfig extends ApiInfo {
title: string; //标题
renderKey: number;
labelKey: string;
valueKey: string;
title1: string; //标题1
title2: string; //标题2
showType: DashboardShowType; //风格
imgType: ImgType; //图片类型
imgIcon: string; //图标
imgIconColor: string; //图标颜色
pictureUrl: string; //图片地址
flagKey: string | undefined; //标记
flagIsUp: number | undefined; //标记值
mainIndex: string | undefined; //主指标
mainIndexValue: number; //主指标值
mainIndex2: string | undefined; //主指标2
mainIndex2Value: number; //主指标2值
secondaryIndex: string | undefined; //副指标
secondaryIndexValue: number | undefined; ///副指标值
jumpId: string | undefined;
path: string | undefined;
numColor: string | undefined;
des: string | undefined;
}
export interface ButtonConfig {
title: string;
buttons: Array<ButtonItem>;
}
export interface ButtonInfo extends BasicInfo {
config: ButtonConfig;
}
export interface DefaultInfo extends BasicInfo {
config: DesktopConfig;
}
export interface ChartsInfo extends BasicInfo {
config: DesktopConfig;
}
export interface DashboardInfo extends BasicInfo {
config: DesktopConfig & DashboardConfig;
}
export interface InformationInfo extends BasicInfo {
config: DesktopConfig & InformationConfig;
}
// 饼图配置
export interface PieItemInfo extends BasicInfo {
config: DesktopConfig & PieConfig;
}
// 柱状图
export interface ChartBarInfo extends BasicInfo {
config: DesktopConfig & ChartBarConfig;
}
// 甘特图
export interface CategoryStackInfo extends BasicInfo {
config: DesktopConfig & CategoryStackConfig;
}
export interface ChartLineItemInfo extends BasicInfo {
config: {
title: string;
echarts: EChartsOption;
};
}
interface functionItem {
id: string;
name: string;
icon: string;
path: string;
color: string;
}
export interface ModulesConfig {
functions: Array<functionItem>;
}
export interface ModulesInfo extends BasicInfo {
config: DesktopConfig & ModulesConfig;
}
export interface TodoListConfig {
title: string;
renderKey: number;
maxRows: number;
path: {};
}
export interface TodoListInfo extends BasicInfo {
config: DesktopConfig & TodoListConfig;
}
export interface ChartXAxis {
position: string;
name: string;
nameLocation: string;
nameTextStyle: {
color: string;
fontSize: number;
fontWeight: string;
};
type: string;
axisLabel: {
formatter: string;
color: string;
};
axisLine: {
show: boolean;
lineStyle: {
color: string;
};
};
data: Array<any>;
}
export interface ChartYAxis {
name: string;
nameLocation: string;
nameTextStyle: {
color: string;
fontSize: number;
fontWeight: string;
};
min: string;
max: string;
interval: null;
position: string;
type: string;
axisLabel: {
formatter: string;
color: string;
};
axisLine: {
show: boolean;
lineStyle: {
color: string;
};
};
}
export interface ChartLabel {
show: boolean;
color: string;
position: string;
fontWeight: string;
fontSize: number;
formatter: string | null;
}
export interface ChartApiColumn {
prop: string;
label: string;
}
export interface ChartLegend {
show: true;
orient: OrientType;
left: string;
top: string;
right: string;
bottom: string;
padding: number;
icon: LegendType;
itemWidth: number;
itemHeight: number;
textStyle: {
color: string;
};
formatter: string;
width?: string | number;
}
// 柱状图折线图混合
export interface MixLineIndicator {
title: string;
type: string;
color: string;
name: string;
value: string;
showAreaStyle: boolean; //是否显示面积图
gradualStartColor: string;
gradualEndColor: string;
}
export interface MixLineBarDataItem {
title: string;
valueKey: string;
total: number;
apiData: Array<any>;
apiColumns: Array<ChartApiColumn>;
apiConfig: ApiConfig;
indicator: Array<MixLineIndicator>;
}
export interface EchartsSeriesItem {
name: string;
type: string;
smooth: boolean;
areaStyle: any;
stack: string;
label: {
show: boolean;
color: string;
};
data: Array<any>;
showAreaStyle: boolean;
gradualEndColor: string;
gradualStartColor: string;
symbol?: string;
}
export interface IndicatorItem {
title: string;
type: string;
color: string;
name: string;
value: string;
}
export interface MixLineBarDataListItem {
title: string;
valueKey: string;
apiData: Object;
indicator: Array<IndicatorItem>;
apiConfig: ApiConfig;
}
export interface EchartsItem {
color: Array<string>;
legend: {
data: Array<string>;
};
xAxis: Array<{
type: string;
data: Array<any>;
}>;
yAxis: Array<{
type: string;
}>;
series: Array<EchartsSeriesItem>;
}
export interface MixLineBarConfig {
title: string;
renderKey: number;
condition: {
color: string;
selected: string;
};
legend: ChartLegend;
isCrosswise: boolean; //是否横向
// 统计
count: {
show: boolean;
unit: string;
title: string;
};
dataList: Array<MixLineBarDataItem>;
bar: {
stack: boolean; //是否显示堆叠
label: {
show: boolean;
color: string;
};
};
line: {
smooth: boolean;
stack: boolean; //是否显示堆叠
showAreaStyle: boolean; //是否显示面积图
gradualStartColor: string;
gradualEndColor: string;
showSymbol: boolean; //是否显示标记
label?: ChartLabel;
};
label: ChartLabel;
yAxis: Array<ChartYAxis>;
xAxis: Array<ChartXAxis>;
echarts: Array<EchartsItem>;
}
export interface MixLineBarInfo extends BasicInfo {
config: MixLineBarConfig;
}