# 表单数据根据规则自动填充

# 场景1:选择两个日期,自动计算间隔天数

# 功能要求

输入开始日期和结束日期后,自动计算间隔的天数。

case14

# 操作思路

  1. 搭建页面,添加好表单,绑定值。
  2. 创建计算差值的逻辑:先判断两个日期是否存在NULL,如有NULL值无法计算,然后使用内置函数DateDiff计算两个日期的差值并赋值。
  3. 给两个日期选择组件添加事件逻辑【失去焦点】,以保证无论先选择哪个日期,都可以计算出结果。

# 操作步骤

  1. 新建页面并添加表单,开始日期与结束日期使用日期选择组件,相差天数使用文本展示,并分别绑定值。

    image-20230307162356147

  2. 创建计算差值逻辑,如开始日期和结束日期都不为null时,使用内置函数DateDiff计算差值并赋值;如其中一项为null,则不做任何处理。

    image-20230307162424259

  3. 给每个日期选择组件都添加一个事件逻辑【失去焦点】,事件逻辑内调用计算差值逻辑。

    image-20230307162433791

  4. 发布开发环境预览查看运行结果。

    case14

# 场景2:在选中商品并输入数量后自动计算商品总价

# 功能要求

实现如下图所示效果,创建订单信息时,输入商品自动显示单价,补充数量后自动显示总价。

zidong

# 操作思路

  1. 创建弹窗,为商品信息选择框添加选择后事件,查询数据库表中该商品的单价并赋值给单价表单

  2. 数量表单项配置改变后事件,将单价和数量相乘,并将返回结果赋值给总价表单

  3. 实体信息如下表所示:

    OrderInfo实体:

    名称 标题 数据类型
    commodityId 商品信息 Long 长整数
    amount 数量 Integer 整数
    customer 客户 String 字符串
    totalPrice 总价 Decimal 精确小数

    Commodity实体:

    名称 标题 数据类型
    name 商品名称 String 字符串
    price 单价 Decimal 精确小数

# 操作步骤

  1. 拖拽实体创建如下图所示表单,绑定信息如下:

    • 客户:input.customer
    • 商品信息:input.commodityId
    • 单价:暂未绑定,待查询
    • 数量:input.amount
    • 总价:input.totalPrice

    image-20230307154819090

  2. 创建局部变量commodity,数据类型为实体Commodity,设置商品信息选择后事件。事件逻辑如下图所示,将根据输入的input.commodityId查询对应的数据库信息。

    image-20230307160651011

  3. 绑定单价表单项中文本为commodity.price,根据数据库中查询到的信息实时展示商品单价。

    image-20230307160500193

  4. 创建页面逻辑loadSum,先判断数量是否为null,然后将单价乘以数量的结果赋值给总价。

    image-20230306204240131

  5. 给商品选择框选择后事件逻辑中,调用逻辑loadSum。

    image-20230306204257659

  6. 数量输入框添加事件逻辑改变后,调用逻辑loadSum。

    image-20230307160628316

  7. 发布后实现效果如下。

    zidong

上次更新: 2023年06月14日