1.查询按钮基本点击事件
var kindId = this.options.form.getWidgetByName("kindId").getText();
var billYear = this.options.form.getWidgetByName("billYear").getValue();
var billMonth = this.options.form.getWidgetByName("billMonth").getValue();
var reportIds=this.options.form.getWidgetByName("reportId").getValue();
//在参数界面获取控件的方法,先获取表单,再通过控件名称来获取控件
if(kindId==""){
alert('工单大类为必选项!');
return false;
}
if(billYear==""){
alert('查询年份为必选项!');
return false;
}
if(reportIds.length==0){
alert('请选择要查询报表!');
return false;
}
if(billMonth==""){
alert('请选择要查询月份!');
return false;
}
if(reportIds.indexOf("1") !=-1){
if(billMonth.length>=2)
{alert('达标统计不支持多月查询!');
return false;}
}
2.图表标题公式定义
"工单完成情况统计
【工单场景:" + sql("ywgl157", "select KIND_NAME NAME from BILL_KIND where kind_id=" + $kindId, 1)+"】"
3.图表跳转到新的报表
添加超级链接
图3.1 添加超级链接跳转至新报表页面
4.设置图表自定义标题[组合图]
function() {
var result = "";
var points = this.points;
for (var i = 0; i < points.length; i++) {
if (i > 0) {
result += "<br>";
}
result = result + points[i].seriesName + " " + FR.contentFormat(points[i].getTargetValue(), "##0.00");
}
var z = this.category;
var a = FR.remoteEvaluate('=sql("wqmysql", "select donghuan_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var b = FR.remoteEvaluate('=sql("wqmysql", "select junei_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var c = FR.remoteEvaluate('=sql("wqmysql", "select wuxian_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var d = FR.remoteEvaluate('=sql("wqmysql", "select xianlu_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
return this.category + "<br>" + result + "<br>动环工单执行数:" + a + "<br>局内工单执行数:" + b + "<br>无线工单执行数:" + c + "<br>线路工单执行数:" + d;
}
为标题某行特殊定义字体高亮
function() {
var result = "";
var points = this.points;
for (var i = 0; i < points.length; i++) {
if (i > 0) {
result += "<br>";
}
if(i==2||i==3){
var balance;var cc;
console.log(points[i].getTargetValue());
if((points[i].getTargetValue()+"").indexOf("%")!=-1){
balance=parseFloat(points[i].getTargetValue()+"")/100;
}else{
console.log('小数:'+points[i].getTargetValue());
balance=parseFloat(points[i].getTargetValue()+"");
}
if(balance<0.9){
cc=FR.contentFormat(balance*100, "##0.00")+"%";
console.log('小于0.9:'+cc);
result = result + "<font color=\"red\">"+points[i].seriesName + " " + cc+"</font>";
}else {
cc=FR.contentFormat(balance*100, "##0.00")+"%";
console.log('大于0.9:'+cc);
result = result + points[i].seriesName + " " + cc;
}
}else{
result = result + points[i].seriesName + " " + FR.contentFormat(points[i].getTargetValue(), "##0.00");
}
}
console.log(result);
var z = this.category;
var a = FR.remoteEvaluate('=sql("wqmysql", "select donghuan_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var b = FR.remoteEvaluate('=sql("wqmysql", "select junei_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var c = FR.remoteEvaluate('=sql("wqmysql", "select wuxian_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
var d = FR.remoteEvaluate('=sql("wqmysql", "select xianlu_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
return this.category + "<br>" + result + "<br>动环工单执行数:" + a + "<br>局内工单执行数:" + b + "<br>无线工单执行数:" + c + "<br>线路工单执行数:" + d;
}
显示效果如下:
图4.1 高亮显示标题效果图.png
sql多个字段只需查询一次
var a = FR.remoteEvaluate('=sql("wqmysql", "select \'<br>动环工单执行数:\'||donghuan_num||\'<br>局内工单执行数:\'||junei_num||\'<br>无线工单执行数:\'||wuxian_num||\'<br>线路工单执行数:\'|| xianlu_num from wq_new_bill where region_name=\'' + z + '\'", 1)');
return "<hr>" + a ;
}
5.添加警戒线
在背景->绘图区添加警戒线
图5.1 为组合图中的拆线图设置警戒线
6.设置饼图指定层配色
条件显示中设置
图6.1 条件设置饼图指定层配色
效果图如下
图6.2 设置饼图指定层配色效果图
7.根据下拉框动态显示/隐藏图表
思路:将图表置放在单元格内,需要隐藏将行高或列宽设为0即可。
图7.1 为下拉框控件设定ID
为图表添加条件属性
图7.2 为图表添加条件属性
8.图表数据从单元格读取
此做法适用于图表的系列是动态设定的。单元格中设置好数据源。
图8.1 为图表设置单元格数据源
9.图表中的自定义标题获取控件值
function(){
var kindId =_g().parameterEl
.getWidgetByName("kindId")
.getValue();
return kindId+this.category+
this.seriesName+this.value;
}
js设置图表标题
图9.1 图表标题JS设置获取下拉框具体设计
10.树型显示
具体步骤如下:
图10.1 添加树节点按钮
图10.2 树型显示效果图
图10.3 数据列汇总求和设置
图10.4 添加左父格
图10.5 数据结果集结构
11.列表中某一项跳转查看详情
点击已经设置了超级链接的单元格可进行页面跳转,跳转的url比如:http://localhost....jsp
图11.1 为列表元素设置超级链接
12.根据type使用不同的数据源
- 1.设置多个数据集
这里举例我设置了第一个数据集,名叫'gcphBill'
图12.1 gcphBill数据集
- 2.添加一个关联数据集
在上一步设置完多个数据集以后,可以添加一个关联数据集,将上面的数据集串起来。
图12.2 添加一个关联数据集
- 3.设置type
为每一个不同数据集设置不同的type值。如果type=3,它会使用gcphBill。
图12.3 设置type
13.表头动态设置
接上一节,光设置了数据集,但是表头也想动态显示时,那么就需要给表头添加对应的条件属性(这里如果表头字段过多,此方法不适用。可以查看第7节设置表头隐藏/显示来动态控制显示字段。比如这里:gcph的表头设置在第一行,zyjh的表头设置在第二行,再根据type来动态使哪一行来显示,具体原理参照第七节)
图13.1 表头显示值动态设置

图3.1 添加超级链接跳转至新报表页面
图4.1 高亮显示标题效果图.png
图5.1 为组合图中的拆线图设置警戒线
图6.1 条件设置饼图指定层配色
图6.2 设置饼图指定层配色效果图
图7.1 为下拉框控件设定ID
图7.2 为图表添加条件属性
图8.1 为图表设置单元格数据源
图9.1 图表标题JS设置获取下拉框具体设计
图10.1 添加树节点按钮
图10.2 树型显示效果图
图10.3 数据列汇总求和设置
图10.4 添加左父格
图10.5 数据结果集结构
图11.1 为列表元素设置超级链接
图12.1 gcphBill数据集
图12.2 添加一个关联数据集
图12.3 设置type
图13.1 表头显示值动态设置









网友评论