反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

日期控件填报时自动匹配

  • 文档创建者:cxs861226
  • 历史版本:3
  • 最近更新:Alicehyy 于 2021-01-26
  • 1. 概述

    1.1 问题描述

    填报报表中,有两个日期控件,当第一个日期控件选择完成后,希望第二个日期控件能自动匹配日期,例如:改变前一个控件日期后,后一个控件的日期 +90 天。该如何实现呢?

    8656308B-FA38-475C-9A32-DB64EE647A49.GIF

    1.2 解决思路

    方案一:在后一个日期控件所在单元格插入公式。

    方案二:给前一个日期控件添加「编辑结束」事件,通过 JavaScript 实现。

    2. 示例

    2.1 报表设计

    新建普通报表,A2、B2 单元格添加「日期控件」,设计表格样式如下图所示:

    1611648611716473.png


    2.2 方案一:插入公式

    选中 B2 单元格,单击右键,选择「单元格元素>插入公式」,公式为format(DATEDELTA(A2,90),"yyyy-MM-dd")。如下图所示:

    Snag_1b34223c.png

    2.3 方案二:编辑结束事件

    选中 A2 单元格,在「控件设置>事件」中添加「编辑结束」事件,输入 JavaScript 代码如下:

    var date=new Date(this.getValue());
    date.setDate(date.getDate() + 90); 
    var newdate = FR.contentFormat(date, 'Dyyyy-MM-dd')
    contentPane.setCellValue("B2",null,newdate);

    步骤如下图所示:

    Snag_1b31925a.png

    2.4 效果预览

    2.4.1 PC 端

    保存报表,点击「填报预览」,效果同 1.1 节效果一致。

    2.4.2 移动端

    注:方案二使用 JS 不支持移动端。

    方案一 App 端和 HTML5 端均支持,效果如下图所示:

    CE8D6D46-6D53-4567-8E31-1CE0DED60329.GIF

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\JS实现填报日期控件自动匹配.cpt

    点击下载:JS实现填报日期控件自动匹配.cpt

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526