帆软10.0下的js相关脚本整理
以下脚本均在Finereport 10 下运行,其他版本不一定适用,请注意自己使用的版本。
一、帆软决策报表移动弹窗
移动弹窗需要传递当前界面的一些控件值时,如果是报表组件内的点击事件,偶尔存在获取不到外部组件的值,所以需要js进行获取。此方法也可以用于自定义传值,方便快捷。
//通过组件名称获取组件值 "widgetname" 为控件名
var scode = _g().getWidgetByName("widgetname").getValue();
//加载弹窗
FR.mobilePopup({
target: "template", //设置跟随弹窗
parameters: {}, // post参数
setting: {
templatePath: "/demo/report_name.frm&scode=" + scode, //设置弹出模板的路径 拼接参数
border: {
type: 0,
color: "rgb(0,0,0)", //边框颜色
borderRadius: 5.0 //圆角
},
background: {
color: "rgb(255,255,255)" // 背景色
},
//移动端页面参数
mobileRegular: {
type: "custom" || "auto_height",
heightPercent: 95.0,
widthPercent: 95.0
},
//平板端页面参数
padRegular: {
type: "custom" || "auto_height",
heightPercent: 95.0,
widthPercent: 95.0
} //设置弹窗大小格式
}
});
二、自定义跳转到网络报表
虽然帆软本身有网络报表选项,也可以设置参数,但是参数只能通过公式获取,有时候需要传自定义参数时还是需要使用js脚本。
/**
* FR10.0 超链接
* .cpt 类型为 reportlet
* .frm 类型为 formlet
**/
//widgetname 为控件名称
//获取控件参数
var scode = _g().getWidgetByName("widgetname").getValue();
//定义模板地址
var url = "/webroot/decision/view/form?viewlet=demo/report_name.frm";
//加载模板 并传递参数
FR.doHyperlinkByPost(url,{scode:scode, b:"456"},"report");
三、组件的相关操作
通过js可以实现对组件状态的改变,以及获取和设置组件的值,这样的话可以做通过js做一些个性化的设置。
// 显示组件
_g().getWidgetByName("WidgetName").setVisible(true);
//隐藏组件
_g().getWidgetByName("WidgetName").setVisible(false);
//获取组件值
_g().getWidgetByName("WidgetName").getValue();
//设置/更改组件值
_g().getWidgetByName("WidgetName").setValue("new_value");
//获取当前显示的tab页签的下标(是从0 开始算的)
var tab1 = _g().getWidgetByName("tablepanel_name").getShowIndex();
四、Tab组件的操作
有时需要在Tab切换时做一些操作,可以通获取Tab页签的id 来进行逻辑设置。
//获取当前显示的tab页签的下标(是从0 开始算的)
var tab1 = _g().getWidgetByName("tablepanel_name").getShowIndex();
//相关操作
if (tab1 == 2) {
//逻辑代码
alert("当前在第三个tab页签");
}
五、帆软自带的一些js函数(逐渐更新)
//FR 自带弹窗
FR.Msg.alert("这是标题","这是内容哈哈");
显示效果
//带选择的提示框 可以加一些逻辑处理
FR.Msg.confirm("提示", "提示内容", function(value) {
FR.Msg.alert("这是标题", "你点击了" + value);
})
显示效果