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

FullCalendar ResourceTimeLine视图按资源配置多营业时间后拖拽事件不触发保存问题

问题诱因
  1. 营业时间规则未绑定对应资源ID:你当前配置的每一组businessHours规则的resourceIds字段为空数组,FullCalendar资源维度营业时间校验逻辑无法将规则和当前拖拽的资源匹配,会默认判定拖拽位置属于非营业时间,直接拦截drop事件,不会触发后续的保存回调。
  2. Outsystems封装的FullCalendar组件存在版本兼容缺陷:低于v5.11.0版本的FullCalendar对多组资源维度营业时间的拖拽校验逻辑存在bug,只会读取全局单组营业时间规则,多组规则场景下校验逻辑执行异常,直接阻止了事件冒泡,导致保存动作无法触发。
解决方法
  1. 修正营业时间配置结构
    给每一组营业时间规则添加对应资源的ID绑定,正确配置示例如下:
businessHours: [
  // 资源ID 8547的营业时间规则
  {
    daysOfWeek: [1, 2, 3],
    startTime: '08:00',
    endTime: '17:00',
    resourceId: '8547'
  },
  {
    daysOfWeek: [4, 5],
    startTime: '15:00',
    endTime: '23:00',
    resourceId: '8547'
  }
  // 其余资源的营业时间规则按同样格式添加,各自绑定对应资源ID即可
]
  1. 校验规则验证
    临时将FullCalendar的eventConstraint参数设置为null关闭营业时间拖拽校验,如果调整后拖拽可以正常触发保存,即可确认问题是规则校验拦截导致。
  2. 手动注入规则适配Outsystems组件
    如果直接传入数组依然被组件自动转成内部defs结构,可在组件初始化完成的生命周期回调中,调用FullCalendar实例的addBusinessHours方法逐个添加规则,确保每条规则都正确关联对应资源ID。
  3. 升级组件版本
    将Outsystems中使用的FullCalendar组件升级到v5.11.0及以上版本,该版本已修复多组资源维度营业时间的拖拽校验bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:24:05