提交 6a4707d6 编写于 作者: zhf's avatar zhf

feat: 更新图表插件

上级 8c0d1536
import { PropType } from 'vue';
import { ChartModel } from '@ibiz-template/model';
declare const _default: import("vue").DefineComponent<{
modelData: {
type: typeof ChartModel;
required: true;
};
context: {
type: PropType<IContext>;
required: true;
};
params: {
type: PropType<IParams>;
default: () => {};
};
}, {
c: import("../../controller/chart-controller").ChartController;
ns: import("@ibiz-template/core").Namespace;
}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
modelData: {
type: typeof ChartModel;
required: true;
};
context: {
type: PropType<IContext>;
required: true;
};
params: {
type: PropType<IParams>;
default: () => {};
};
}>>, {
params: IParams;
}>;
export default _default;
import { IModal } from '@ibiz-template/runtime';
import { PropType } from 'vue';
declare const _default: import("vue").DefineComponent<{
context: PropType<IContext>;
params: {
type: PropType<IParams>;
default: () => {};
};
modelPath: {
type: StringConstructor;
required: true;
};
modal: {
type: PropType<IModal>;
};
}, {
c: import("../../controller/chart-view-controller").ChartViewController;
}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
context: PropType<IContext>;
params: {
type: PropType<IParams>;
default: () => {};
};
modelPath: {
type: StringConstructor;
required: true;
};
modal: {
type: PropType<IModal>;
};
}>>, {
params: IParams;
}>;
export default _default;
import { ControlController } from '@ibiz-template/controller';
import { EChartsOption, EChartsType } from 'echarts';
import { ChartModel } from '@ibiz-template/model';
import { ChartNerve } from './nerve/chart-nerve';
import { ChartService } from '../service/chart-service';
export declare class ChartController extends ControlController<ChartModel> {
/**
* 图表神经系统
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:02
* @type {ChartNerve}
*/
nerve: ChartNerve;
/**
* 图表服务
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:13
* @type {ChartService}
*/
service: ChartService;
/**
* 图表实例
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:45
* @type {(EChartsType | null)}
*/
chart: EChartsType | null;
/**
* 图表id
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:22
* @type {string}
*/
chartId: string;
/**
* 图表静态配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:32
* @type {EChartsOption}
*/
chartStaticOption: EChartsOption;
/**
* 数据集合
*
* @author zhanghengfeng
* @date 2023-04-07 16:04:34
* @type {IData[]}
*/
items: IData[];
/**
* 请求参数
*
* @author zhanghengfeng
* @date 2023-04-07 16:04:28
*/
queryParams: {
page: number;
size: number;
query: string;
};
/**
* 图表部件宽度
*
* @author zhanghengfeng
* @date 2023-04-11 15:04:23
* @type {string}
*/
width: string;
/**
* 图表部件高度
*
* @author zhanghengfeng
* @date 2023-04-11 15:04:37
* @type {string}
*/
height: string;
/**
* 创建图表神经系统
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:24
* @protected
* @return {*} {ChartNerve}
*/
protected createNerve(): ChartNerve;
/**
* 初始化配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:41
* @protected
* @return {*} {Promise<void>}
*/
protected onInit(): Promise<void>;
/**
* 重新渲染图表
*
* @author zhanghengfeng
* @date 2023-04-03 18:04:35
*/
resizeChart(): void;
/**
* 初始化图表静态配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:52
*/
initChartStaticOption(): void;
/**
* 加载数据
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:13
* @param {IParams} params
*/
load(): Promise<void>;
destroy(): void;
}
import { ViewController } from '@ibiz-template/controller';
import { ChartViewModel } from '@ibiz-template/model';
import { ChartViewNerve } from './nerve/chart-view-nerve';
/**
* 图表视图控制器
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:29
* @export
* @class ChartViewController
* @extends {ViewController<ChartViewModel>}
*/
export declare class ChartViewController extends ViewController<ChartViewModel> {
nerve: ChartViewNerve;
protected createNerve(): ChartViewNerve;
protected onInit(): Promise<void>;
/**
* 视图加载方法
*
* @return {*} {Promise<IData[]>}
* @memberof ChartViewController
*/
load(): Promise<void>;
/**
* 刷新视图
*
* @author zhanghengfeng
* @date 2023-04-07 17:04:41
* @return {*} {Promise<void>}
*/
refresh(): Promise<void>;
}
import { IControlAbility } from '@ibiz-template/controller';
/**
* 图表能力
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:31
* @export
* @interface IChartAbility
* @extends {IControlAbility}
*/
export interface IChartAbility extends IControlAbility {
load(): Promise<void>;
}
import { IControlEvent } from '@ibiz-template/controller';
/**
* 图表事件
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:46
* @export
* @interface IChartEvent
* @extends {IControlEvent}
*/
export interface IChartEvent extends IControlEvent {
}
import { IViewAbility } from '@ibiz-template/controller';
/**
* 图表视图能力
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:09
* @export
* @interface IChartViewAbility
* @extends {IViewAbility}
*/
export interface IChartViewAbility extends IViewAbility {
}
import { IViewEvent } from '@ibiz-template/controller';
/**
* 图表视图事件
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:26
* @export
* @interface IChartViewEvent
* @extends {IViewEvent}
*/
export interface IChartViewEvent extends IViewEvent {
}
import { ControlNerve } from '@ibiz-template/controller';
import { ChartController } from '../chart-controller';
import { ChartNeuron } from '../neuron/chart-neuron';
/**
* 图表神经系统
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:03
* @export
* @class ChartNerve
* @extends {ControlNerve<ChartNeuron, ChartController>}
*/
export declare class ChartNerve extends ControlNerve<ChartNeuron, ChartController> {
protected createNeuron(): ChartNeuron;
protected bindAbility(): {
load: () => Promise<void>;
};
}
import { Neuron, ViewNerve } from '@ibiz-template/controller';
import { ChartViewController } from '../chart-view-controller';
import { ChartViewNeuron } from '../neuron/chart-view-neuron';
import { ChartNeuron } from '../neuron/chart-neuron';
/**
* 图表视图神经系统
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:29
* @export
* @class ChartViewNerve
* @extends {ViewNerve<ChartViewNeuron, ChartViewController>}
*/
export declare class ChartViewNerve extends ViewNerve<ChartViewNeuron, ChartViewController> {
chart: ChartNeuron;
protected createNeuron(): ChartViewNeuron;
inclusive(name: string): boolean;
connect(name: string, neuron: Neuron): void;
destroy(): void;
}
import { Neuron } from '@ibiz-template/controller';
import { IChartAbility } from '../interface/i-chart-ability';
import { IChartEvent } from '../interface/i-chart-event';
/**
* 图表神经元
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:17
* @export
* @class ChartNeuron
* @extends {Neuron<IChartEvent, IChartAbility>}
*/
export declare class ChartNeuron extends Neuron<IChartEvent, IChartAbility> {
}
import { Neuron } from '@ibiz-template/controller';
import { IChartViewEvent } from '../interface/i-chart-view-event';
import { IChartViewAbility } from '../interface/i-chart-view-ability';
/**
* 图表视图神经元
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:06
* @export
* @class ChartViewNeuron
* @extends {Neuron<IChartViewEvent, IChartViewAbility>}
*/
export declare class ChartViewNeuron extends Neuron<IChartViewEvent, IChartViewAbility> {
}
import { IPSChartAxis, IPSDEChartLegend, IPSDEChartTitle } from '@ibiz-template/model';
import { EChartsOption, LegendComponentOption, TitleComponentOption, XAXisComponentOption, YAXisComponentOption } from 'echarts';
/**
* 解析自定义配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:52
* @export
* @param {IModel} userParams
* @return {*}
*/
export declare function parseUserParams(userParams: IModel): EChartsOption;
/**
* 生成标题配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:06
* @export
* @param {IPSDEChartTitle} chartTitle
* @return {*}
*/
export declare function generateTitleOption(chartTitle: IPSDEChartTitle): TitleComponentOption;
/**
* 生成图例配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:21
* @export
* @param {IPSDEChartLegend} chartLegend
* @return {*}
*/
export declare function generateLegendOption(chartLegend: IPSDEChartLegend): LegendComponentOption;
/**
* 生成坐标轴label配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:37
* @export
* @param {number} dataShowMode
* @return {*}
*/
export declare function generateAxisLabelOption(dataShowMode: number): {
axisLabel: {
formatter: (value: string) => string;
rotate: number;
};
};
/**
* 生成x轴配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:57
* @export
* @param {IPSChartAxis[]} chartXAxisList
* @return {*}
*/
export declare function generateXAxisOption(chartXAxisList: IPSChartAxis[]): XAXisComponentOption[];
/**
* 生成y轴配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:16
* @export
* @param {IPSChartAxis[]} chartYAxisList
* @return {*}
*/
export declare function generateYAxisOption(chartYAxisList: IPSChartAxis[]): YAXisComponentOption[];
import { PluginStaticResource } from '@ibiz-template/runtime';
declare const resource: PluginStaticResource;
export { resource };
import { VueConstructor } from 'vue';
declare const _default: {
mateUrl: string;
install(vue: VueConstructor): void;
};
export default _default;
/**
* 代码表映射
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:42
* @export
* @interface CodeListMap
*/
export interface CodeListMap {
catalog?: Map<string | number, string>;
series?: Map<string | number, string>;
}
/**
* tooltip格式化函数参数
*
* @author zhanghengfeng
* @date 2023-04-19 09:04:04
* @export
* @interface TooltipFormatterParam
*/
export interface TooltipFormatterParam {
seriesName: string;
dimensionNames: string[];
value: string[];
}
import { IControlProvider } from '@ibiz-template/controller';
/**
* 图表适配器
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:11
* @export
* @class ChartProvider
* @implements {IControlProvider}
*/
export declare class ChartProvider implements IControlProvider {
component: string;
}
import { IViewProvider } from '@ibiz-template/controller';
/**
* 图表视图适配器
*
* @author zhanghengfeng
* @date 2023-04-03 17:04:29
* @export
* @class ChartViewProvider
* @implements {IViewProvider}
*/
export declare class ChartViewProvider implements IViewProvider {
component: string;
}
import { ControlService } from '@ibiz-template/service';
import { IHttpResponse } from '@ibiz-template/core';
import { ChartModel, IPSDEChartSeries } from '@ibiz-template/model';
import { DatasetComponentOption, EChartsOption, SeriesOption } from 'echarts';
import { CodeListMap } from '../interface/code-list-map';
/**
* 图表服务
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:23
* @export
* @class ChartService
* @extends {ControlService<ChartModel>}
*/
export declare class ChartService extends ControlService<ChartModel> {
/**
* 序列列表
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:38
* @type {IPSDEChartSeries[]}
*/
seriesList: IPSDEChartSeries[];
constructor(model: ChartModel);
/**
* 获取数据
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:11
* @param {IContext} context
* @param {IParams} [params={}]
* @return {*} {Promise<IHttpResponse>}
*/
fetch(context: IContext, params?: IParams): Promise<IHttpResponse>;
/**
* 获取所有代码表映射
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:21
* @param {IContext} context
* @param {IParams} params
* @return {*}
*/
getAllCodeListMap(context: IContext, params: IParams): Promise<CodeListMap[]>;
/**
* 生成数据集配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:37
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @return {*}
*/
generateDatasetOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap): DatasetComponentOption;
/**
* 生成图表配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:49
* @param {IData[]} data
* @param {IContext} context
* @param {IParams} params
* @return {*}
*/
generateChartOption(data: IData[], context: IContext, params: IParams): Promise<EChartsOption>;
/**
* 生成柱状图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:13
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @param {number} index
* @return {*}
*/
generateBarSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap, index: number): SeriesOption[];
/**
* 生成折线图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:32
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @param {number} index
* @return {*}
*/
generateLineSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap, index: number): SeriesOption[];
/**
* 生成饼图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:44
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @param {number} index
* @return {*}
*/
generatePieSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap, index: number): SeriesOption[];
/**
* 生成漏斗图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:03
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @param {number} index
* @return {*}
*/
generateFunnelSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap, index: number): SeriesOption[];
/**
* 生成散点图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:25
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @param {number} index
* @return {*}
*/
generateScatterSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap, index: number): SeriesOption[];
/**
* 生成雷达图序列配置
*
* @author zhanghengfeng
* @date 2023-04-03 16:04:47
* @param {IPSDEChartSeries} series
* @param {IData[]} data
* @param {CodeListMap} map
* @return {*}
*/
generateRadarSeriesOption(series: IPSDEChartSeries, data: IData[], map: CodeListMap): {
series: SeriesOption[];
radar: {
indicator: {
name: string;
max: number;
}[];
};
};
}
import { ChartModel } from '@ibiz-template/model';
import { ChartController } from '../controller/chart-controller';
export declare function useChartController(vue: Vue, model: ChartModel, context: IContext, params?: IParams): ChartController;
import { ChartViewController } from '../controller/chart-view-controller';
export declare function useChartViewController(vue: Vue, path: string): ChartViewController;
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册