1. 概述
1.1 預期效果
通過數據庫表中設置的字段值,控制決策報表的每個 Tab 塊是否顯示,如下圖所示:
數據庫表字段:SITUATION 字段的值控制 Tab 是否顯示。
效果展示:一共有 4 個 Tab 塊:春、夏、秋、冬,前端展現時只顯示其中 2 個。
1.2 實現思路
數據庫表中添加控制 Tab 塊是否顯示的權限值,給決策報表的 body 組件添加 JS 事件來實現。
2. 示例
2.1 數據準備
數據庫新建一個表SEASON,如下圖設計表的字段:
2.2 模板設計
将 Tab 組件和報表塊組件拖入到 body 組件中,新增 4 個 Tab 塊,如下圖所示:
2.3 添加JS事件
選中 body 組件,添加一個初始化事件,如下圖所示:
參數 a 的值爲公式:split(SQL("FRDemo","SELECT TYPE FROM SEASON WHERE SITUATION='隐藏'",1),",")
JS 代碼如下:
for(var i = 0; i < a.length; i++) {
for(var j=0;j< a[i].length;j++){
this.options.form.getWidgetByName("tabpane0").setTabVisible(a[i][j], false);
}
}
2.4 效果預覽
1)PC 端
保存報表,點擊PC端預覽,效果如下圖所示:
2)移動端
同時支持 App 和 H5 端預覽。
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實例\數據庫表字段控制是否顯示Tab.frm
點擊下載模板:數據庫表字段控制是否顯示Tab.frm
注:用戶使用該模板時需要先新建數據庫表。