You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Foundry Workshop/本体管理中配置自动计算日期的行动表单

配置Foundry行动表单实现自动计算finalized_at日期

问题描述

我创建了一个包含created_at和finalized_at两个日期选择器的行动表单,需要实现以下效果:选择created_at日期后,输入年数x,finalized_at自动显示为所选日期加上x年后的日期。目前已经尝试修改本体编辑函数,但不清楚Workshop或行动表单端的具体配置步骤。

已尝试方案

曾修改本体编辑函数,但缺乏Workshop端的配置方法:

@Edits(Ticket)
@OntologyEditFunction()
public updateDueDate(ticket: Ticket, dueDate?: LocalDate): void {
    if (dueDate) {
        ticket.dueDate = dueDate;
    } else {
        // 默认设置为下周
        ticket.dueDate = LocalDate.now().plusDays(7);
    }
}

解决方案

1. 修改本体编辑函数

调整函数逻辑,接收created_at日期和年数x作为参数,自动计算并赋值finalized_at:

@Edits(Ticket)
@OntologyEditFunction()
public updateFinalizedDate(ticket: Ticket, createdAt: LocalDate, yearsToAdd: Integer): void {
    // 计算所选日期加x年后的日期
    ticket.finalized_at = createdAt.plusYears(yearsToAdd);
    // 同步设置created_at字段(若需从表单传入值)
    ticket.created_at = createdAt;
}

2. Workshop行动表单配置步骤

  1. 打开目标Workshop应用,进入行动表单的编辑模式
  2. 添加/调整表单字段:
    • 保留原有的created_at日期选择器,关联到Ticket对象的created_at属性
    • 添加一个整数类型的数字输入框,命名为「年数x」,用于接收用户输入的年数
  3. 绑定提交动作:
    • 在表单的「提交动作」中选择刚修改的updateFinalizedDate编辑函数
    • 映射参数:
      • 将created_at日期选择器的值映射到函数的createdAt参数
      • 将「年数x」输入框的值映射到函数的yearsToAdd参数
  4. 实时预览配置(可选):
    若要在用户输入时即时看到计算结果,无需等待提交:
    • 添加一个日期显示组件到表单,命名为「预计完成日期」
    • 使用Workshop表达式绑定计算结果:{{$form.created_at.plusYears($form.yearsToAdd)}}

预期效果

  • 通过日期选择器选择created_at日期
  • 在数字输入框中输入年数x
  • 提交表单后,finalized_at字段自动设置为所选日期加x年后的日期;若配置了实时预览,可在表单中即时查看计算结果

内容的提问来源于stack exchange,提问作者xin_si_ji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:32