金和OA在自定义表单中,加入Fusionchart图表功能
第1步:下载FusionChart吧,免费版本,网上搜搜就有了,具体FusionChart的使用方法,我就不介绍了,自己看看他的文档吧,
还是比较全的;
第2步:将FusionCharts.js拷贝到 \JINHER\C6\Jhsoft.Web.module\fceform\js 目录下;
第3步:在 \JINHER\C6\Jhsoft.Web.module\testbill目录下创建 swf 文件夹,并将Fusionchar中的swf文件拷贝进去;
第4步:在自定义表单的表单属性的其他控制里中,加入FusionCharts.js;
第5步:在表单中设计如下代码(举例)
//当日体检工作量统计
function showToday(){
var sConn="Provider=SQLOLEDB.1;Data Source=10.88.3.6;Initial Catalog=cm_system;User ID=sa;pwd=; Persist Security Info=false";
var sql="select b.idx bhksort ,count(a.idx) bhkcount from td_tj_bhk a right join tb_tj_bhksrt b on a.bhksrtidx=b.idx and bhkdat>= "+
"convert(varchar(10),getdate(),120) and bhkdat< convert(varchar(10),getdate()+1,120) group by b.idx order by b.idx";
var oxml= DbSql(dsToday,sConn,sql,1,-1);
var odom=SetDom(oxml);
var len= odom.documentElement.childNodes.length;
var chart= new FusionCharts("../swf/Column3D.swf","ChartId","454","326","0","1");
var chartXML="<chart yAxisName='体检人数' caption='本日体检量' showBorder='1' baseFontSize='12' formatNumberScale='0'>";
var value="";
var label="";
var zwtj=0;
for(var i=0;i<len-1;i++){
label=NavJs.textContent(odom.documentElement.childNodes[i].childNodes[0]);
value=NavJs.textContent(odom.documentElement.childNodes[i].childNodes[1]);
if (label=='1') label="从业体检"; else
if (label=='2') label="普通体检"; else
if (label=='3') label="职业体检"; else
if (label=='4') label="放射体检"; else
if (label=='5') label="学校体检"; else
if (label=='6') label="福利体检";
chartXML+="<set label='"+label+"'";
chartXML+=" value='"+value +"'/>";
}
chartXML+="<set label='职卫体检' value='"+zwtj+"'/>";
chartXML+="</chart>";
chart.setDataXML(chartXML);
chart.render("chartToday");
}
请注意:(1)代码中var chart= new FusionCharts("../swf/Column3D.swf","ChartId","454","326","0","1")的路径设置;
(2)代码中 chart.render("chartToday"); chartToday 是你需要展示图形的DIV 的ID;效果如图: