最新消息:

平台图表开发文档

开发文档 admin 1716浏览

平台2.0 Echart图表开发

平台图表前端绘制采用百度商业级数据库图表­—Echarts­,Echarts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,关于Echarts详细信息请参考Echarts官方网站:http://echarts.baidu.com/doc/doc.html

1 图表模板配置

当前平台只支持以下几种图表的绘制,包括:线形图、柱形图、饼图、环形图、雷达图以及仪表盘。在平台图表模板定义界面,通过配置图表所需的属性以及数据信息,实现图表的绘制,图表模板定义界面以及有关该界面的说明如下:

模板配置界面分为三个部分,分别为图表模板基本信息、图表的数据信息以及图表的属性信息。

1.1图表模板基本信息。

模板的基本信息包括模板的编码、名称、描述以及图表的类型,其中图表的类型为上述六种图表中的一种。

1.2图表的数据信息

a. 数据来源:生成图表的数据来源sql,来源sql提供了图表所需的横轴、纵轴以及数据体。需要注意的是,一条来源sql代表一个图表系列,例如绘制3个柱形图,则需配置3条sql。数据源sql支持动态参数传递,通过${参数名}的形式来定义动态参数名。

b. 坐标轴类型:包括类目型、数值型和时间型。当坐标轴设置为类目型时,坐标轴内有且仅有这些指定类目坐标。而数值型则需要指定数值区间,不指定时则自定计算数值范围,坐标轴内包含数值区间内容全部坐标。时间型可以等价转换成类目型,这里不再考虑。

c. 坐标轴来源:坐标轴除了可以由数据来源sql提供外,还可以通过自定义sql的方式来指定(自定义方式优先级高)。在某些统计中,如统计一年12个月内的考勤状况,基于某些原因导致其中一个月的数据缺失,若不指定横坐标的月份则会导致该月的记录无法被显示,通过指定坐标轴能够实现该月份数据的0填补。

d. 坐标轴:指定坐标轴在数据来源sql中所对应的列名,即来源的数据项。

e. 图例:图表的系列名称,一个图例代表了一系列图表,图例支持自定义形式以及sql形式,自定义形式多个图例间以逗号分隔,sql形式时取sql的第一列作为图例。

f.  图表数据源:指定图表数据源后,图表绘制时的数据将以制定的数据源为准,具体使用详见下文  3【额外数据源配置】

1.3图表的属性信息

图表的属性信息决定了图表的形状和样式,有关图表的属性作用和配置请参考图表绘制页面或官网:http://echarts.baidu.com/doc/doc.html

2 图表数据源配置

X轴,Y轴对应的列名始终来源于所配置的第一条数据源。

2.1 数据来源

单系列图表中,坐标轴来源直接从配置的数据源中选取,请确保数据源sql配置的正确性,特别是在指定额外数据源的情况下,必须保证sql语法和指定数据源所对应的数据库保持一致;

多系列图表中(即图表数据源为2条以上),如果指定X、Y轴的坐标轴来源sql,坐标轴将以指定的sql为准,请确保所配置的坐标轴来源sql囊括所有的坐标轴列名。若多系列图表中不指定坐标轴来源sql,此时坐标轴将从配置的数据源中取坐标列的并集。例如在组织的统计数据中,sql1负责统计组织下的部门数,sql2负责统计组织下的岗位数,sql3负责统计组织下的人员分配数。此时,sql1下包含组织123的部门数,sql2包含组织235下的岗位数,sql3包含组织124下的人员数,通过这3sql绘制的图形的组织为12345。

X轴,Y轴坐标来源是互斥的,图表的数据源为sql形式,无法提供二维数组类数据。

2.2 图表调用形式

平台图表提供了两种调用方式,分别返回对应的页面和对用的json串。

(1)返回页面

页面调用方式: /platformChartAction.do?method=generateChartget提交)

参数名

参数说明

chartMoudleId 图表模板的ID(表xip_pub_chart_tmp的主键)
   sqlParams 数据来源sql中的动态参数,参数的组装形式为:{参数名1:参数值1,参数名2:参数值2,参数名3:参数值3…}例如:select  a.org_name,(select count(*) from xip_pub_depts b where b.org_id = a.org_id) as “部门数” from xip_pub_orgs a where a.org_id=’${ORG_ID}’ and a.org_code = ‘${ORG_CODE}’ ,注意sql中参数的单引号,假设要查询ORG_ID1ORG_CODEa的组织的部门数,参数传递的格式为:{“ORG_ID”: “1”, “ORG_CODE”: “a”}
defineJson 自定义图表的json格式,传递的参数必须符合Echarts标准的Option对象所对应的JSON格式,如 : {“calculable”:true,”color”:[“#00ff00″,”#ff0000″],”title”: {“text”:”组织统计“,”subtext”: “部门数和人员数“,”legend”: {“data”: [“部门数“,”员工数“]}}
chartSourceId 自定义额外数据源的ID
返回形式 页面

页面返回:

(2)返回JSON串

JSON调用方式: /platformChartAction.do?method=generateChartDatapost提交)

参数名

参数说明

chartMoudleCode 图表模板的编码
   sqlParams 数据来源sql中的动态参数,参数的组装形式为:{参数名1:参数值1,参数名2:参数值2,参数名3:参数值3…}例如:select  a.org_name,(select count(*) from xip_pub_depts b where b.org_id = a.org_id) as “部门数” from xip_pub_orgs a where a.org_id=’${ORG_ID}’ and a.org_code = ‘${ORG_CODE}’ ,注意sql中参数的单引号,假设要查询ORG_ID1ORG_CODEa的组织的部门数,参数传递的格式为:{“ORG_ID”: “1”, “ORG_CODE”: “a”}
defineJson 自定义图表的json格式,传递的参数必须符合Echarts标准的Option对象所对应的JSON格式,如 : {“calculable”:true,”color”:[“#00ff00″,”#ff0000″],”title”: {“text”:”组织统计“,”subtext”: “部门数和人员数“,”legend”: {“data”: [“部门数“,”员工数“]}}
chartSourceId 自定义额外数据源的ID
返回形式 {flag:1,chartOption:{xxxxx}}

chartOption串的形式如下:

3 额外数据源配置

通过指定额外数据源,实现图表的数据从配置的数据源中取数,只需指定数据源id即可。

数据源的配置如下图:

数据源的配置地址在工程的config.jsp页面下,直接在浏览器中访问工程所在地址+/config.jsp即可,新增数据源后,数据源ID即为图表的数据源ID。

指定数据源后,与图表数据相关的数据源sql以及配置图例的数据源sql均从指定的数据源中查询,请注意数据源sql的形式与指定的数据源保持一致!

 

转载请注明:兴竹集成开发平台 » 平台图表开发文档