版本
版本 | 功能變動 |
---|---|
11.0 | 和 10.0 差別: 新增 getType、setWaterMark、setPopupStyle API |
11.0.7 | FVS大屏編輯模式插件 V1.5.0 版本新增 元件組件,適配部分API 與普通報表和決策報表的差別:需要將 _g().xxx 更換為 duchamp.xxx |
11.0.11 | APP/HTML5 11.0.76 及以後版本,return false API部分支援行動端 |
在使用API前,請務必先仔細閱讀 JS API 相容說明,API預設支援普通報表和決策報表(新版)。
getValue
方法 | getValue() | 獲取元件的實際值。 |
---|---|---|
參數 | - | - |
傳回值 | any | |
範例 | 範例1:若取到的元件物件定義為 widget,獲取元件的實際值: widget.getValue(); 範例2:獲取參數面板上 text0 元件的實際值: _g().getParameterContainer().getWidgetByName("text0").getValue(); 範例3:普通報表中獲取填報儲存格中 text0 元件的實際值: _g().getWidgetByName("text0").getValue(); 範例4:決策報表中獲取 body 中 text0 元件的實際值
範例5:FVS 大屏範本中獲取元件組件 text0 的實際值 duchamp.getWidgetByName("text0").getValue(); 注:FVS 插件 V1.16.0 及之後版本,標題組件 也支援 getValue() API,用法與範例 5 一致。 | |
應用範例 | 獲取日期元件的值,當開始時間和結束時間相差大於 30 天時,彈窗提醒。 詳細實現方法可參考:JS實現日期元件查詢天數控制。
| |
行動端 | 支援行動端。 |
getText
方法 | getText() | 獲取元件的顯示值。 |
---|---|---|
參數 | - | - |
傳回值 | string | |
範例 | 範例1:若獲取到的元件物件定義為 widget,獲取元件的顯示值: widget.getText(); 範例2:獲取參數面板上 text0 元件的顯示值: _g().getParameterContainer().getWidgetByName("text0").getText(); 範例3:普通報表中獲取填報儲存格中 text0 元件的顯示值: _g().getWidgetByName("text0").getText(); 範例4:決策報表中獲取 body 中 text0 元件的顯示值: _g().getWidgetByName("text0").getText(); 範例5:FVS 大屏範本中獲取元件組件 text0 的顯示值:
| |
應用範例 | 下拉框選擇值後,列印其實際值和顯示值: 點選可下載範本:獲取元件顯示值.cpt | |
行動端 | 支援行動端。 |
setValue
方法 | setValue(value) | 設定元件的值。 |
---|---|---|
參數 | value: any | 元件值,任意格式。 |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,設定元件的值為“文本”: widget.setValue('文本'); 範例2:獲取參數面板上元件 text0 ,将其元件值設定為“文本”: _g().getParameterContainer().getWidgetByName("text0").setValue('文本'); 範例3:普通報表中獲取填報儲存格中 text0 元件,将其元件值設定為“文本”: _g().getWidgetByName("text0").setValue('文本'); 注:需先點選選中 text0 元件後才可生效。 範例4:決策報表中獲取 body 中 text0 元件,将其元件值設定為“文本”: _g().getWidgetByName("text0").setValue('文本'); 範例5:普通報表中給參數面板上的下拉複選框賦多個值:
範例6:FVS 大屏範本中獲取元件組件 text0 ,將其元件值設定為“文本”: duchamp.getWidgetByName("text0").setValue('文本'); | |
應用範例 | 點選按鈕,給日期元件設定合适的值: 詳細實現方法可參考:JS實現自定義按鈕快速給參數賦指定範圍值 | |
行動端 | 支援行動端。 |
visible
注:FVS 企業戰情室範本不支援 visible 。
方法 | visible() | 設定元件可見。 |
---|---|---|
參數 | - | - |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,設定其可見: widget.visible(); 範例2:獲取參數面板上元件 text0 ,設定其可見: _g().getParameterContainer().getWidgetByName("text0").visible(); 範例3:普通報表中獲取填報儲存格中 text0 元件,設定其可見: _g().getWidgetByName("text0").visible(); 範例4:決策報表中獲取 body 中 text0 元件,設定其可見: _g().getWidgetByName("text0").visible(); | |
應用範例 | 點選按鈕,顯示參數面板中的部分元件: 點選可下載範本:設定元件值可見.cpt
| |
行動端 | 支援行動端。 |
invisible
注:FVS 大屏範本不支援 invisible 。
方法 | invisible() | 設定元件不可見。 |
---|---|---|
參數 | - | - |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,設定其不可見: widget.invisible(); 範例2:獲取參數面板上元件 text0 ,設定其不可見: _g().getParameterContainer().getWidgetByName("text0").invisible(); 範例3:普通報表中獲取填報儲存格中 text0 元件,設定其不可見: _g().getWidgetByName("text0").invisible(); 範例4:決策報表中獲取 body 中 text0 元件,設定其不可見: _g().getWidgetByName("text0").invisible(); | |
應用範例 | 點選按鈕,隐藏參數面板中部分元件: 點選可下載範本:設定元件值不可見.cpt
| |
行動端 | 支援行動端。 |
setVisible
方法 | setVisible(visibility) | 設定元件可見/不可見。 |
---|---|---|
參數 | visibility: boolean | 是否可見,布爾型:
|
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,設定其不可見: widget.setVisible(false); 範例2:獲取參數面板上元件 text0 ,設定其不可見: _g().getParameterContainer().getWidgetByName("text0").setVisible(false); 範例3:普通報表中獲取填報儲存格中 text0 元件,設定其不可見: _g().getWidgetByName("text0").setVisible(false); 範例4:決策報表中獲取 body 中 text0 元件,設定其不可見: _g().getWidgetByName("text0").setVisible(false); 範例5:FVS 大屏範本中獲取元件組件 text0 ,設定其不可見: duchamp.getWidgetByName("text0").setVisible(false); | |
應用範例 | 只有前面的下拉框選擇了内容之後,後一層下拉框元件才顯示出來: 詳細實現方法可參考:JS根據條件顯示參數元件 | |
行動端 | 行動端部分支援,報表填報儲存格中的元件不支援 |
isVisible
方法 | isVisible() | 元件是否可見。 |
---|---|---|
參數 | - | - |
傳回值 | boolean | 是否可見,布爾型:
|
範例 | 範例1:若獲取到的元件物件定義為 widget,返回其是否可見: widget.isVisible(); 範例2:獲取參數面板上元件 text0 ,返回其是否可見: _g().getParameterContainer().getWidgetByName("text0").isVisible(); 範例3:普通報表中獲取填報儲存格中 text0 元件,返回其是否可見: _g().getWidgetByName("text0").isVisible(); 範例4:決策報表中獲取 body 中 text0 元件,返回其是否可見: _g().getWidgetByName("text0").isVisible(); 範例5:FVS 大屏範本中獲取元件組件 text0 ,傳回其是否可見: duchamp.getWidgetByName("text0").isVisible(); | |
應用範例 | 省份元件選擇值後,查詢按鈕顯示;否則,查詢按鈕不顯示: 點選可下載範本:元件是否可見.cpt | |
行動端 | 支援行動端。 |
setEnable
方法 | setEnable(enabled) | 設定元件可用/不可用。 |
---|---|---|
參數 | enabled: boolean | 是否可用,布爾型:
|
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,設定其不可用: widget.setEnable(false); 範例2:獲取參數面板上元件 text0 ,設定其不可用: _g().getParameterContainer().getWidgetByName("text0").setEnable(false); 範例3:普通報表中獲取填報儲存格中 text0 元件,設定其不可用: _g().getWidgetByName("text0").setEnable(false); 範例4:決策報表中獲取 body 中 text0 元件,設定其不可用: _g().getWidgetByName("text0").setEnable(false); 範例5:FVS 大屏範本中獲取元件組件 text0 ,設定其不可用: duchamp.getWidgetByName("text0").setEnable(false); | |
應用範例 | 成績只能選擇一次,選擇後将元件設定為不可用: 詳細實現方法可參考:JS實現填報元件只能填寫一次 | |
行動端 | 行動端部分支援,報表填報儲存格中的元件不支援 |
isEnabled
方法 | isEnabled() | 元件是否可用。 |
---|---|---|
參數 | - | - |
傳回值 | boolean | 是否可用,布爾型:
|
範例 | 範例1:若獲取到的元件物件定義為 widget,傳回其是否可用: widget.isEnabled(); 範例2:獲取參數面板上元件 text0 ,傳回其是否可用: _g().getParameterContainer().getWidgetByName("text0").isEnabled(); 範例3:普通報表中獲取填報儲存格中 text0 元件,傳回其是否可用: _g().getWidgetByName("text0").isEnabled(); 範例4:決策報表中獲取 body 中 text0 元件,傳回其是否可用: _g().getWidgetByName("text0").isEnabled(); 範例5:FVS 大屏範本中獲取元件組件 text0 ,傳回其是否可用: duchamp.getWidgetByName("text0").isEnabled(); | |
應用範例 | 省份元件選擇值後,查詢按鈕可用;否則,查詢按鈕不可用: 點選可下載範本:元件是否可用.cpt | |
行動端 | 行動端部分支援,報表填報儲存格中的元件不支援 |
reset
方法 | reset() | 重置元件、清空元件的内容。 |
---|---|---|
參數 | - | - |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,清空元件的内容: widget.reset(); 範例2:獲取參數面板上元件 text0 ,清空元件的内容: _g().getParameterContainer().getWidgetByName("text0").reset(); 範例3:普通報表中獲取填報儲存格中 text0 元件,清空元件的内容: _g().getWidgetByName("text0").reset(); 範例4:決策報表中獲取 body 中 text0 元件,清空元件的内容: _g().getWidgetByName("text0").reset(); 範例5:FVS 大屏範本中獲取元件組件 text0 ,清空元件的內容: duchamp.getWidgetByName("text0").reset(); | |
應用範例 | 點選按鈕,清空所有元件值: 詳細實現方法可參考:JS實現清空元件内容。 | |
行動端 | 支援行動端。 |
getType
注:FVS 大屏範本不支援 getType 。
方法 | getType() | 獲取元件型別。 |
---|---|---|
參數 | - | - |
傳回值 | string | 字符串,返回預設的元件名稱型別,如按鈕為 button、下拉框為 comboBox |
範例 | 範例1:若獲取到的元件物件定義為 widget,傳回其型別: widget.getType(); 範例2:獲取參數面板上元件 text0 ,傳回其型別: _g().getParameterContainer().getWidgetByName("text0").getType(); 範例3:普通報表中獲取填報儲存格中 text0 元件,傳回其型別: _g().getWidgetByName("text0").getType(); 範例4:決策報表中獲取 body 中 text0 元件,傳回其型別: _g().getWidgetByName("text0").getType(); | |
應用範例 | 點選按鈕獲取元件型別: 點選可下載範本:查看元件型別.cpt | |
行動端 | 支援行動端。 |
setWaterMark
方法 | setWaterMark(text) | 新增水印文字(僅支援有輸入框的元件) |
---|---|---|
參數 | text: string | 水印文字,字串。 |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,為其添加“請輸入姓名”的水印: widget.setWaterMark('請輸入姓名'); 範例2:獲取參數面板上元件 text0 ,為其添加“請輸入姓名”的水印: _g().getParameterContainer().getWidgetByName("text0").setWaterMark('請輸入姓名'); 範例3:普通報表中獲取填報儲存格中 text0 元件,為其添加“請輸入姓名”的水印: _g().getWidgetByName("text0").setWaterMark('請輸入姓名'); 範例4:決策報表中獲取 body 中 text0 元件,為其添加“請輸入姓名”的水印: _g().getWidgetByName("text0").setWaterMark('請輸入姓名'); 注:添加事件後由於報表塊物件沒有完全創建導緻報錯後,可以添加一個延遲函式延遲執行,如: setTimeout(function(){ _g().getParameterContainer().getWidgetByName("text0"). setWaterMark('請輸入姓名') ;}, 500); 範例5:FVS 大屏範本中獲取元件組件 text0 ,為其新增“請輸入姓名”的水印: duchamp.getWidgetByName("text0").setWaterMark('请输入姓名'); | |
應用範例 | 給文本框元件添加水印: 點選可下載範本:元件水印.cpt | |
行動端 | 支援行動端。 |
fireEvent
注:FVS 大屏範本不支援 fireEvent 。
方法 | fireEvent(eventName); | 調用元件事件。 |
---|---|---|
參數 | eventName: string | 事件型別,字串,值可參考:元件事件,如【初始化後】事件為【afterinit】。 |
傳回值 | void | |
範例 | 範例1:若獲取到的元件物件定義為 widget,觸發元件的【初始化後】事件: widget.fireEvent('afterinit'); 範例2:獲取參數面板上元件 text0 ,觸發其【初始化後】事件: _g().getParameterContainer().getWidgetByName("text0").fireEvent('afterinit'); 範例3:普通報表中獲取填報儲存格中 text0 元件,觸發其【初始化後】事件: _g().getWidgetByName("text0").fireEvent('afterinit'); 範例4:決策報表中獲取 body 中 text0 元件,觸發其【初始化後】事件: _g().getWidgetByName("text0").fireEvent('afterinit'); | |
應用範例 | 決策報表中,點選按鈕給日期元件賦值,同時觸發日期元件的【編輯後】事件提交參數查詢: 詳細實現方法可參考:查詢不同時間周期的數據。 | |
行動端 | 支援行動端。 |
setPopupStyle
注:FVS 大屏範本不支援 setPopupStyle 。
方法 | setPopupStyle(PopupStyle) | 設定元件下拉選項框的樣式,僅支援有選項框的元件,如下拉框、下拉複選框。 |
---|---|---|
參數 | PopupStyle:{ itemHeight: string; fontSize: string; } | PopupStyle:彈出框樣式,json 格式:
|
傳回值 | void | |
範例 | 範例1:若獲取到的下拉框元件物件定義為 widget,設定其彈出框選項高度為 30px、字型大小為 20px: widget.setPopupStyle({ itemHeight:"30px", fontSize:"20px" }); 範例2:獲取參數面板上下拉框元件 comboBox0 ,設定其彈出框選項高度為 30px、字型大小為 20px: widget.setPopupStyle({ itemHeight:"30px", fontSize:"20px" }); 範例3:普通報表中獲取填報儲存格中下拉框元件 comboBox0,設定其彈出框選項高度為 30px、字型大小為 20px: _g().getWidgetByName("comboBox0").setPopupStyle({ itemHeight:"10px", fontSize:"10px" }); 範例4:決策報表中獲取 body 中下拉框元件 comboBox0,設定其彈出框選項高度為 30px、字型大小為 20px: _g().getWidgetByName("comboBox0").setPopupStyle({ itemHeight:"30px", fontSize:"20px" }); 注:添加事件後由於報表塊物件沒有完全創建導致報錯後,可以添加一個延遲函式延遲執行,如: setTimeout(function(){ _g().getParameterContainer().getWidgetByName("comboBox0").setPopupStyle({ itemHeight: "10px", fontSize: "10px" }); }, 500); | |
應用範例 | 設定【下拉框】下拉選項框選項高度為 30px、字型大小為 20px: 點選可下載範本:元件樣式.cpt | |
行動端 | 不支援行動端。 |
return false
注:FVS 大屏範本不支援 return false 。
方法 | - | 事件中加入 return false,用於阻擋後續動作執行,如給查詢按鈕加一個事件用來阻止其查詢。 |
---|---|---|
參數 | - | - |
傳回值 | - | |
範例 | 給決策報表的下拉複選框元件,添加一個【編輯後】事件,事件内容為: return false; | |
應用範例 | 给查询按钮加一个阻止查询事件,当地区选择华东时不查询,选择华北时查询: 点击可下载模板:查詢按鈕選擇性查詢.cpt | |
行動端 | 報表伺服器 11.0.11 且 APPH5 11.0.76 及以上版本,行動端支援使用該API,但不支援「阻止觸發聯動」的功能,比如阻止決策報表 body 中元件選完值後的預設查詢。 |