根據參數查看不同報表,JS根據參數不同打開不同報表


url = '/webroot/decision/view/report?viewlet=InshipOutship/Outship.frm';

新窗口打開報表:window.open(FR.cjkEncode(url)); 


當前窗口打開報表:

1.//在當前標籤頁打開報表

window.location = "${servletURL}?viewlet=InshipOutship/consume2_sub_LTPS.frm" ;

 

2./在新標籤頁打開報表

window.parent.FS.tabPane.addItem({title:"採購主界面",src:"${servletURL}?viewlet=Delivery_Cycle/Procurement_Cycle/pur_cycle_menu.frm&p1="+value1})

 

對話框方式打開:FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主頁',target:'_dialog'});

ps:傳遞參數包含中文、特殊符號 需要用encodeURI()轉碼函數,代碼格式如下:

window.location = "${servletURL}?viewlet=" + encodeURI(cptName) + "&ID="+ encodeURI(orderID);

或者:

 

1. 描述

在進行查詢數據時,一般是根據參數值的不同展現不同的數據,但是可能希望根據參數值的不同跳轉到不同的模板,如下圖所示,此時要如何實現呢?

222

改變查看的報表:
222

2. 思路

使用3張模板來實現:參數模板、子模板 1、子模板 2。

參數界面單獨製作一張模板,使用下拉框控件選擇要查看的報表,點擊查詢時觸發點擊事件,跳轉到對應報表,並將其餘參數也傳遞給報表。

 JS 中使用

window.location = url;

來實現當前頁面的刷新。

3. 示例

3.1 子表準備

子模板 1 使用%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Father.cpt模板,在該模板基礎上添加參數 ID,用於過濾出對應訂單 ID 的數據,具體實現方法可參考 模板參數 章節。已添加參數 ID 的子模板爲%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Father1.cpt。

子模板 2 使用%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Son.cpt模板,該模板已經包含參數 ID,篩選出對應訂單 ID 的數據。

3.2 製作參數界面模板

參數界面單獨製作一張模板,新建工作簿,點擊模板>模板參數,定義兩個參數分別爲 orderID,cptName。

1)參數界面設置

設置 orderID 的控件類型爲下拉框,其值選擇數據庫表中的訂單表,實際值與顯示值都選擇訂單 ID。

設置 cptName 的控件類型爲下拉框,其值選擇自定義,列出需要查看的報表名稱,實際值爲對應報表路徑,如下圖:

222

2)查詢按鈕事件設置

給查詢按鈕增加點擊事件,如下圖:

222

具體 JS 如下:

 

var orderID = this.options.form.getWidgetByName("orderID").getValue();    
var cptName = this.options.form.getWidgetByName("cptName").getValue();
window.location = "${servletURL}?viewlet=" + cptName + "&ID="+ orderID;

注:子報表名稱包含中文的時候需要使用encodeURI()轉碼函數,代碼格式如下:

window.location = "${servletURL}?viewlet=" + encodeURI(cptName) + "&ID="+ encodeURI(orderID);

或者:

window.location = encodeURI("${servletURL}?viewlet=" + cptName + "&ID="+ orderID);

注:如果子報表爲填報報表,需要在 cptName 後增加 "&op=write"。

如果希望在新窗口打開,改爲這段代碼:
window.open("${servletURL}?viewlet=" + encodeURI(cptName) + "&ID="+ encodeURI(orderID),"_blank");

 

3.3 效果查看

保存參數模板,並點擊分頁預覽,選擇訂單 ID 及需要查看的報表,就可以跳轉到對應報表。

已完成模板,可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\根據參數查看不同報表.cpt。

點擊下載模板

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章