移动端 JS 接口

编辑
  • 文档创建者:印然
  • 浏览次数:18678次
  • 编辑次数:52次
  • 最近更新:Kevin-s 于 2019-06-07
  • 1. 移动端哪些地方支持调用 JS

    Web 事件   分页预览填报预览  
      加载起始 √√  
      加载结束 √√  
      填报前
    √  
      填报后 √  
      填报成功
    √   
      填报失败 √   


    报表内部 JS 单元格  图表  
    超级链接 JS  √  √  


    控件事件  参数控件  填报控件  决策报表控件  
    初始化后事件   √
    编辑前      
    编辑后   √
    编辑结束   √  √
    点击   √ √ √
    值改变  
       
    节点生成   
    状态改变 √  √ √
     上传后   

    注 1:决策报表控件是指决策报表 body 里的控件,不包含决策报表参数面板里的控件

    注 2:移动端只支持参数界面控件的初始化,但是不支持参数面板的初始化

    2. 控件支持的脚本函数

     函数名 函数描述  填报控件  参数控件  决策报表控件  
    setEnable  设置控件的可用性   √  √  
    isEnable  判断控件是否可用  
    √  √  
    setVisible  设置控件的可见性  
    √  √  
    isVisible  判断控件的可见性  
    √  √  
    setValue  设置控件值  
    √  √  
    getValue  获取控件的实际值  √  √  √  
    reset  重置控件  
    √  √  
    fireEvent  触发指定名字的事件  √  √  √  
    getText获取控件的显示值√  √   √   

    3. 分页支持的脚本函数

     函数名 函数描述  补充说明  实现  
    contentPane  当前报表对象  无  √  
    currentPageIndex  当前所在页  contentPane 常用属性 只有分页预览报表才有 √  
    reportTotalPage  总页数  contentPane 常用属性 只有分页预览报表才有 √  
    gotoFirstPage  首页  无  √  
    gotoPreviousPage  上一页  无  √  
    gotoNextPage  下一页  无  √  
    gotoLastPage  末页  无  √  
    gotoPage(pn, para, noCache)跳转到某一页  包含三个参数,表示跳转到第几页,是否携带参数,是否使用缓存  √  

    4. 填报支持的脚本函数

    函数名  函数描述  补充说明  实现  
    contentPane  当前报表对象  无  √  
    verifyReport  数据校验  只有填报表才可以用,contentPane 常用方法 √  
    writeReport  提交报表  只有填报表才可以用,contentPane 常用方法  √  
    verifyAndWriteReport  数据校验后提交报表  只有填报表才可以用,contentPane 常用方法 √  
    getCellValue(cell)  获取指定格子的值  包含 1 个参数,单元格,只有填报下有√  
    getCellValue(col,row)  获取指定格子的值  包含 2 个参数,列和行,只有填报下有√  
    getWidgetByCell 获取指定单元格中的控件 包含 1 个参数,单元格,contentPane 常用方法 √ 
    getWidgetByName 获取指定名字的控件 包含 1 个参数,控件名,contentPane 常用方法 √ 
    getWidgetsByName 获取指定名称的扩展控件,返回一个数组 包含 1 个参数,控件名,contentPane 常用方法 √ 
     refreshAllSheets() 刷新所有sheet只有填报表下可以用,contentPane 常用方法  √ 

    5. 决策平台

    函数名  函数描述    补充说明  实现
      FS.tabPane.addItem  向决策平台 Tab 栏新增项目  包含 2 个参数,分别表示:标签页的标题,字符串和数字都可以;
    标签页的内容指向的地址
     √  
      FS.tabPane.closeActiveTab  关闭当前 Tab 选项页  没有参数 √ 
      FR.logoutApp  登出,FR 工具类下的方法  没有参数 √ 

    6. 图表

    函数名  函数描述    补充说明  实现
     getChart() 获取图表对象,图表接口均只支持老图表 包含 1 个参数,图表块控件名   √
     dataRefresh() 刷新图表数据,图表接口均只支持老图表 包含 1 个参数,图表块控件名 √

    注:getChart() 和 dataRefresh() 只支持 8.0App 使用,9.0App 由于老图表转化为新图表显示,故不支持。

    7. 常用的工具类脚本函数

    函数名  函数描述  补充说明  实现  
    FR.Msg.alert  弹出消息框函数 包含 3 个参数,分别表示:标题,内容,回调函数 √  
    FR.Msg.confirm  值确认弹出框函数  包含 3 个参数,分别表示:标题,值,回调函数 √  
    FR.Msg.prompt  可修改值的值确认弹出框函数  包含 4 个参数,分别表示:标题,说明,值,回调函数 √  
    FR.Msg.toast  在页面边缘出现的消息提示块,一小段时间后自动消失  包含 1 个参数,表示要提示的信息  √  
    FR.location  地理位置获取  包含一个回调函数返回获取状态及信息 √  
    FR.doHyperlinkByGet
    /FR.doHyperlinkByPost  
    超级链接  包含 2 个参数,分别表示:URL 或 JSON 超链定义, 传递的参数 √  
    FR.ajax  异步请求函数  √  
     FR.Mobile.getDeviceInfo() 获取移动端设备信息 /√ 
    _g().parameterCommit()  分页预览及填报预览自动查询  /  √  
     setInterval() 可按照指定的周期(以毫秒计)来调用函数或计算表达式 包含 2 个参数 √
     setTimeout() 用于在指定的毫秒数后调用函数或计算表达式。 包含 2 个参数√ 
     FR.isMobile / /不支持 
     FR.MobileTools.openLink / /不支持 

    8. 具体使用示例

    8.1 获取控件的一系列方法

    this.options.form.getWidgetByName("控件名");  //参数界面及决策报表中获取控件  
    contentPane.getWidgetByCell("单元格");  //填报界面获取控件  
    contentPane.getWidgetByName("控件名");   //填报界面获取控件

    详细请查看 填报成功后自动刷新


    8.2 JS 获取决策报表图表、报表块

     JS 获取决策报表图表组件并刷新数据

    详细请查看 JS 获取决策报表图表组件并刷新数据

    JS 获取报表块刷新和翻页

    this.options.form.getWidgetByName('xx').gotoPage(2,{'p1':'123','p2':'234'},true);

    详细请查看 JS 获取决策报表报表块


    8.3 延时函数

    setTimeout(function(){},500);

    8.4 刷新

    当前页刷新

    location.reload()

    详细请查看 当前页刷新

    定时刷新,支持定时 JS,以及取消定时

    setInterval('location.reload();',10000);//时间单位为 ms,即每 10s 刷新一次页面

    var timer = setInterval('location.reload();',10000);clearInterval(timer);//取消定时 

    详细请查看 定时刷新 JS


    8.5 获取地理位置

    FR.location(function(status, message){ //获取地理位置
    if(status=="success") {
      //定位成功,message 返回经纬度值
      FR.Msg.alert("当前位置是" + message);
      contentPane.setCellValue(2, 3, message);  
    } else {
      //定位失败,message返回对应的错误信息
      FR.Msg.alert(message); //定位失败
    }
    });

    详细请查看 获取地理位置


    8.6 查询

    查询操作,不管是 cpt 还是 frm,参数界面上会有内置查询按钮,用户可以不用内置查询,通过 JS 来触发查询操作

    cpt 可以通过下面两种方式触发

    contentPane.parameterCommit()
    _g().parameterCommit()

    决策报表中只能通过下面一种方式触发

    _g().parameterCommit()

    详细请查看 决策报表自动查询 JS

    详细请查看 扫码输入查询


    8.7 超级链接

    FR.doHyperlinkByGet({url:'${servletURL}?viewlet=JS 超链自定义标题子表.cpt',title:'标题是我',para:{area:'华北'}});

    注:title 只在 App 中支持

    详细请查看 JS 超链自定义标题


    8.8 登出 App

    FR.logoutApp();

    详细请查看 登出 App 的 JS


    8.9 获取控件显示值与实际值

    var Widget = this.options.form.getWidgetByName("t1"); //在参数界面获取控件的方法,先获取决策报表,再通过控件名称来获取控件 
    var value_1 =Widget.getValue(); //获取控件实际值 
    alert('我的实际值是:'+value_1); //弹出控件实际值 
    var value_2 =Widget.getText(); //获取控件显示值 
    alert('我的显示值是:'+value_2); //弹出控件显示值

    详细请查看 控件值(实际值和显示值)


    附件列表


    主题: 移动端应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]