1. 概述
1.1 問題描述
數據決策系統中,不同角色查看同一張模板,所看到工具欄按鈕或工具欄是否顯示效果不同,可通過 權限細粒度之工具欄控制 來實現。
但相同角色的不同用戶該如何來實現這一功能呢?
1.2 解決方案
報表添加加載起始事件,判斷同一角色下,登錄用戶名的不同,來對工具欄實現顯示或隐藏效果。
2. 示例
2.1 打開模板
打開報表:%FR_HOME%\WebReport\WEB-INF\reportlets\demo\form\簡單自由填報.cpt。
2.2 添加加載起始事件
選擇模板>模板Web屬性>填報頁面設置,添加一個加載起始事件。
設置參數 T=$fine_username,添加 JavaScript 代碼,如下圖所示:
JavaScript 代碼如下:
if (T == 'Anna') {
//隐藏工具欄
$('.x-toolbar').css('display', 'none');
$('.reportPane ').css('top', '0');
} else {
$('.x-toolbar').css('display', 'block');
$('.reportPane ').css('top', '28px');
}
2.3 效果預覽
保存模板,同一角色(一線技術支持),安娜(Anna)和王國強(Cherry)分别登錄數據決策系統,訪問該報表。
安娜不能看到工具欄,如下圖所示:
王國強可以看到工具欄,如下圖所示:
注:不支持移動端。
3. 已完成模板
已完成模板請參見:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\工具欄JS實例\09-JS通過判斷用戶名控制工具欄的顯示與隐藏
點擊下載模板:09-JS通過判斷用戶名控制工具欄的顯示與隐藏.cpt