FineReport——决策系统组件API
FineReport数据决策系统中自定义主题包API接口由5大部件组成:框架布局、目录树组件、多tab组件、Navigation组件和Gallery组件。
首先,对theme.js进行总体配置:
(function ($) {
FS.THEME = $.extend(true, FS.THEME, {
/**需要扩展的配置属性**/
});
})(jQuery);
自定义对五大部件进行定义扩展:
(function ($) {
FS.THEME = $.extend(true, FS.THEME, {
/**需要扩展的配置属性**/
{
//框架布局配置属性
config4frame: {},
//目录树组件配置属性
config4MenuTree: {},
//多tab组件配置属性
config4tabPane: {},
//Navigation配置属性
config4navigation: {},
//Gallery配置属性
config4Gallery: {}
}
});
})(jQuery);
框架布局配置属性:
config4frame = {
resizable: false, //是否可以拖拽分割线调整左右区域的大小
//上区域
north: {
visible: true //是否可见
},
//下区域
south: {
visible: false //是否可见
},
//左区域
west: {
width: 220 //宽度
},
//右区域
east: {}
}
目录树组件配置属性方法:
config4MenuTree = {
region: 'west', //默认所在区域,和框架中的区域对应
onBeforeInit: null, //初始化前事件,参数:[element]
onAfterInit: null, //初始化后事件,参数:[element]
onDataFilter: null, //节点数据过滤事件,参数:[node, childNodes]
onBeforeNodeClick: null, //函数,节点点击前事件,参数: [node, $node, $li]
onNodeClick: null, //函数,节点点击事件,参数: [node, $node, $li]
onAfterNodeClick: null, //函数,节点点击后事件,参数: [node, $node, $li]
onBeforeNodeCreate: null, //函数,节点创建前事件,参数:[node, $node, $li]
onNodeCreate: null, //函数,节点创建事件,参数:[node, $node, $li]
onAfterNodeCreate: null, //函数,节点创建后事件,参数:[node, $node, $li]
onBeforeNodeExpand: null, //函数,节点展开前事件,参数:[node, $node, $li]
onNodeExpand: null, //函数,节点展开事件,参数:[node, $node, $li]
onAfterNodeExpand: null, //函数,节点展开后事件,参数:[node, $node, $li]
onBeforeNodeCollapse: null, //函数,节点收起前事件,参数:[node, $node, $li]
onNodeCollapse: null, //函数,节点收起事件,参数:[node, $node, $li]
onAfterNodeCollapse: null, //函数,节点收起后事件,参数:[node, $node, $li]
onBeforeDisplayNodes: null, //函数,节点展示前事件,参数:[node, $node, $li]
onDisplayNodes: null, //函数,节点展示事件,参数:[node, $node, $li]
onAfterDisplayNodes: null //函数,节点展示后事件,参数:[node, $node, $li]
}
多tab组件配置属性:
config4tabPane = {
region: 'east', //默认所在区域
style: 'alpha', //内置样式,包括alpha和bravo两种选择
tabWidth: 150, //单个tab标签的最大宽度
isCollapsible: true, //是否可以收起
hasHomepageBtn: false, //是否有主页按钮
onCreateTab: null, //函数,创建Tab标签时的操作,可修改标签样式(全局),参数:[$tab, entry]
onSelectTab: null, //函数,选中每个Tab页面时的操作,可修改内容(全局),参数:[$tab, $content, entry]
onCloseTab: null, //函数,关闭每个Tab页面时的操作(全局),参数:[$tab, $content, entry]
afterLoadTab: null, //函数,加载每个Tab页面时的操作(全局),参数:[$tab, $content, entry] }
Navigation配置属性:
config4navigation = {
onBeforeInit: null, //初始化前事件
onAfterInit: null //初始化后事件
}
Gallery配置属性:
config4Gallery: {
region: null //默认所在区域
}
系统配色
更改style.cc文件如下:
高亮色:
.fui-bsb{
background-color: @color;
}
.fui-bsc{
color: @color;
}
.fui-bsd{
border-color: @color;
}
图标外框色:
.fui-fhc{
color: @color;
}
.fui-fht{
text-shadow: 0 0 3px @color;
}
底栏色:
.fui-seb{
background-color: @color;
}
文字色:
.fui-fbc{
color: @color;
}
.fui-fbt{
text-shadow: 0 0 1px @color;
自定义主题包实例
theme.js:
(function ($) {
FS.THEME = $.extend(true, FS.THEME, {
config4navigation: {
onAfterInit: function () {
//移除搜索框
var self = this;
$('#fs-frame-search').remove();
var $reg = $('#fs-frame-reg');
if ($reg.length > 0) {
$reg.remove();
}
//获取目录树节点重新绘制顶部导航栏
$.ajax({
url: FR.servletURL + "?op=fs_main&cmd=module_getrootreports",
type: 'POST',
data: {id: -1},
success: function (res, status) {
var nodes = $.parseJSON(res);
//目录树节点获取成功之后,获取管理系统各个节点
$.ajax({
url: FR.servletURL + "?op=fs_main&cmd=getmoduleitems",
type: 'POST',
async: false,
data: {id: 1},
success: function(res){
nodes.push($.parseJSON(res));
}
});
var $ul = $('<ul class="node-navi"/>').appendTo($('#fs-frame-header'));
$.each(nodes, function (index, root) {
var $node = $('<li class="node-navi-li"/>').appendTo($ul);
$('<div/>').text(root.text)
.appendTo($node)
.click(function () {
if($node.hasClass('node-select')){
return;
}
$ul.find('.node-select').removeClass('node-select');
$node.addClass('node-select');
var $dropdown = $(this).data('DATA');
if (!$dropdown) {
$dropdown = $('<div class="node-pane"/>').appendTo($node);
$(this).data('DATA', $dropdown);
var $pane = $('<div class="node-pane-inner"/>')
.css({
'max-height': document.body.clientHeight - 90
}).appendTo($dropdown);
if (root.hasChildren && root.ChildNodes) {
var $other = $('<div class="node-wrapper"/>').appendTo($pane);
$.each(root.ChildNodes, function (index, child) {
if (child.hasChildren) {
var $w = $('<div class="node-wrapper"/>').appendTo($pane);
$('<div class="node-title"/>').text(child.text).appendTo($w);
var childs = [];
_collectAllChildNodes(child, childs);
$.each(childs, function (i, n) {
_createItem(n, $dropdown, $node).appendTo($w);
});
} else {
_createItem(child, $dropdown, $node).appendTo($other);
}
});
} else {
return;
}
}
$dropdown.fadeIn('fast');
$(document).bind('mouseover.nodepane', function (e) {
var $t = $(e.target);
if ($t.closest('.node-pane').length <= 0) {
$node.removeClass('node-select');
$dropdown.fadeOut('fast');
$(document).unbind('mouseover.nodepane');
}
});
}
);
});
}
});
}
},
config4frame: {
west: {
width: 0
}
}
});
var _createItem = function (node, $pane, $node) {
return $('<a href="#"/>').text(node.text)
.click(function () {
FS.tabPane.addItem(node);
$node.removeClass('node-select');
$pane.hide();
$(document).unbind('mousedown.nodepane');
});
};
var _collectAllChildNodes = function (node, childs) {
var self = this;
if (!node.ChildNodes) {
return;
}
$.each(node.ChildNodes, function (index, child) {
if (child.hasChildren) {
_collectAllChildNodes(child, childs);
} else {
childs.push(child);
}
});
};
})(jQuery);
style.css:
.node-navi{
position: relative;
float: right;
right: 30px;
list-style: none;
height: 60px;
top:;
} .node-navi li{
position: relative;
float: left;
left:;
display: block;
height: 60px;
line-height: 60px;
color: #fff;
font-size: 14px;
padding: 0 15px;
cursor: pointer;
} .node-navi li:hover{
color: #6fd3ff;
} .node-pane{
position: absolute;
top: 60px;
left:;
-webkit-border-radius: 0 0 3px 3px;
-moz-border-radius: 0 0 3px 3px;
z-Index:;
}
.node-pane-inner{
position: relative;
_height: 200px;
overflow-x: hidden;
overflow-y: auto;
background: rgb(41, 90, 148);
background: rgba(41, 90, 148, 0.85);
*width:200px;
}
.node-select{
background: #295a94;
} .node-pane a, .node-title{
position: relative;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: block;
min-width: 160px;
_width:180px;
height: 20px;
line-height: 20px;
font-size: 14px;
color: white;
padding: 3px 5px 3px 12px;
cursor: pointer;
} .node-pane a:hover{
background: rgb(41, 90, 148);
}
.node-title{
padding: 5px 5px 5px 4px;
cursor: default;
color: #6fd3ff;
font-weight: bold;
}
FineReport——决策系统组件API的更多相关文章
- 用普通计算机假设基于liunx系统的NAS部署FineReport决策系统
何为NAS? 简单说就是连接在网络上,具备资料存储功能的装置因此也称为“网络存储器”.它是一种专用数据存储服务器.他以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽.提高性能.降低 ...
- FineReport——登录不到决策系统
在不断的测试过程中,可能会造成缓存数据的累积,所以在登录过程中可能会出现登录不到决策系统,而是跳转到某一模板页面 解决方法就是清理缓存或者换一个浏览器测试.
- reactjs入门到实战(六)---- ReactJS组件API详解
全局的api 1.React.createClass 创建一个组件类,并作出定义.组件实现了 render() 方法,该方法返回一个子级.该子级可能包含很深的子级结构.组件与标准原型类的不同之处在于, ...
- 某集团BI决策系统建设方案分享
企业核心竞争能力的提升,需要强壮的运营管理能力,需要及时.准确.全面的业务数据分析作为参考与支撑. 某集团是大型时尚集团,内部报表系统用的QlikView,但是管理分配不够灵活,不能满足数据安全的要求 ...
- 大型服装集团BI决策系统的分析主题模块
一般BI商业智能解决方案都包含财务.销售.客户等分析模块,本文分享的是某大型服装集团通过帆软FineBI建设的BI决策系统.该决策系统主要针对财务.资金.采购.生产.库存.物流.销售.渠道.产品.客户 ...
- SAP QA32 做使用决策系统报错:分类数据的不一致性=>交易终止
SAP QA32 做使用决策系统报错:分类数据的不一致性=>交易终止 QA32,对如下检验批做处理,系统报错, 试图使用MSC3N去显示这个批次主数据,同样报错, 原因在于批次的分类数据产生后, ...
- ONOS架构-系统组件
系统组件 系统分层 App/core/providers 业务和子系统 一个业务service是有多个组件构成的功能单元,基于各层软件栈提供一个垂直的分片slice,将构成业务service的组件集合 ...
- React 组件 API
React 组件 API 在本章节中我们将讨论 React 组件 API.我们将讲解以下7个方法: 设置状态:setState 替换状态:replaceState 设置属性:setProps 替换属性 ...
- 利用 Android 系统原生 API 实现分享功能
利用 Android 系统原生 API 实现分享功能 这篇文章提供一个封装好的 Share2 库供大家参考. GitHub 项目地址:Share2 大家知道,要调用 Android 系统内建的分享功能 ...
随机推荐
- [bzoj] 2002 弹飞绵羊 || LCT
原题 简单的LCT练习题. 我们发现对于一个位置x,他只能跳到位置x+k,也就是唯一的父亲去.加入我们将弹飞的绵羊定义为跳到了n+1,那么这就形成了一棵树.而因为要修改k,所以这颗树是动态连边的,那么 ...
- HDU4022 Bombing STL
Bombing Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) Total Su ...
- 【题解】Matrix BZOJ 4128 矩阵求逆 离散对数 大步小步算法
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4128 大水题一道 使用大步小步算法,把数字的运算换成矩阵的运算就好了 矩阵求逆?这么基础的线 ...
- last-child 选择器
<!DOCTYPE html> <html> <head> <style> p:last-child //p的父类 的子类下最后一个,就是p兄弟层的最后 ...
- json 拼二维json数组
js声明数组 以及向数组中添加as移除json数据 JavaScript声明JSON数组的方法: //部分条件,在数据渲上数据要求是数组格式而非json数组格式,取arrayJson.dataList ...
- java后台svg转成png
1.替换img地址 /** * 替换img地址 * @param str -- 前台svg字符串 * @return */ private String transferImgPath(HttpSer ...
- 51nod 1284 2 3 5 7的倍数 | 容斥原理
用容斥原理求出不满足条件的个数cnt,然后用n-cnt就得到答案了. 这里不满条件的数就是能整除2,3,5,7这些数的集合并集.要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去 ...
- [SDOI2008]仪仗队 (洛谷P2158)
洛谷题目链接:[SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视 ...
- 【poj1901-求区间第k大值(带修改)】树状数组套主席树
901: Zju2112 Dynamic Rankings Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 7025 Solved: 2925[Sub ...
- Machine Learning(CF940F+带修改莫队)
题目链接:http://codeforces.com/problemset/problem/940/F 题目: 题意:求次数的mex,mex的含义为某个集合(如{1,2,4,5})第一个为出现的非负数 ...