事件
概述
根据触发主体的不同,事件可分为组件事件、页面事件、全局事件(系统事件)三大类型。
- 组件事件:发生在某组件上的事件,如鼠标点击某组件、某组件加载等事件
- 页面事件:发生在某页面上的事件,如某页面载入退出、某页面运行时变量满足条件等事件
- 系统全局事件:发生在系统全局,无触发的资源实体的事件,如系统启动、系统定时执行、系统运行时变量满足条件、报警触发恢复等事件
配置入口
组件事件:选中组件,点击事件页签,点击添加事件即可开始该组件的事件配置。
页面事件:进入对应页面,点击画布区域,点击事件页签,点击页面页签,点击添加事件即可开始该页面的事件配置。
全局事件:进入任一页面,点击画布区域,点击事件页签,点击全局事件页签,点击添加事件即可开始系统全局事件配置。
1.鼠标事件
对组件进行鼠标交互,将触发对应的交互事件:
- 单击
- 双击
- 右键
- 按下
- 松开
- 移入
- 移出
- 停放
- 长按
- 获取焦点
- 失去焦点
2.组件载入/退出事件
- 页面载入,组件加载,将触发组件载入事件
- 退出页面,组件消耗,将触发组件退出事件;
3.页面载入/退出事件
- 页面加载完后,将触发画面载入事件
- 页面退出时,如从本页面跳转切换至其他页面,将触发画面退出事件
4.系统启动
- 启动运行端时,将触发“系统启动”事件
5.变量事件
系统/页面/组件运行时,当变量条件满足,将触发该“变量变化”事件,如信号触发
变量事件支持配置为组件事件、页面事件、系统事件(配置入口见概述),当对应主体运行时,检测变量条件是否满足
下面将介绍变量事件的配置:
- 点击配置图标
- 配置表达式
- 选择表达式满足什么条件状态时触发
- 变真:0/false/空-->非0/true/非空
- 变假:非0/true/非空-->0/false/空
- 真假变化:真假切换时
- 值变化:表达式值变化时,可直接关联变量
4.配置初始化
- 可按需是否开启载入初始化,开启后,在系统/页面/组件载入时,自动执行或满足执行
- 自动执行:直接执行,无需判断变量条件是否满足
- 满足执行:进行初始化判断,变量条件是否满足,满足再执行
6.定时事件
在固定时间按照计划重复事件的触发,如每隔1小时触发该事件
下面将介绍定时事件的配置,点击配置图标:
事件名称:点击可以更改定时事件的名字
开始时间:定时任务从此时刻开始计时生效
执行频率:①简单重复频率:满足恒定间隔时间的常规场景,以开始时间计时,按照设定的频率周期触发
结束时间:定时任务从此时刻结束不生效,为空即永不结束
注意:1)参考时间为自然时间,如开始时间为2022/12/28 10:00:00,执行频率为每1小时执行一次,结束时间为2022/12/28 12:30:00,中途退出无影响,如10:30:00退出,10:59:00重新运行,11:00:00时刻定时任务将正常执行
2)定时事件,必须保持在前台运行,暂不能切换最小化、锁屏等,否则会影响定时器的运行(请前往系统设置-电源和睡眠-设置从不】
7.报警事件
报警触发
- 当关联的报警点任一触发时,将触发该报警事件
下面将介绍报警事件的配置,点击配置图标:
- 事件名称:点击可以更改报警事件的名字
- 报警点:点击按钮,选择报警点
- 载入满足报警条件执行:勾选后,系统启动时,进行初始化判断,报警触发条件是否满足(所关联的报警点任一处于报警态),满足则执行
报警恢复
- 当关联的报警点全部/任一触发时,将触发该报警事件
下面将介绍报警事件的配置,点击配置图标:
- 事件名称:点击可以更改报警事件的名字
- 报警点:点击按钮,选择报警点 ,配置触发机制为全部恢复还是任一恢复
8.扫码事件
- 系统/页面/组件运行时,当usb扫码枪发生扫码,将触发该事件
扫码事件支持配置为组件事件、页面事件、系统事件(配置入口见概述),当对应主体运行时,检测扫码是否触发
此外该事件发生后,将产生"识别码信息"事件参数,其可作为数据进行业务赋值及校验,扫码输入及校验案例请参考这里
9.广播事件
- 系统/页面/组件运行时,当接收到匹配的广播内容,将触发该事件,通俗来说即接收到指示即触发,可满足某业务或交互的联动
下面将介绍广播事件的配置:1)点击配置图标 2)配置识别匹配的广播内容
10.私有事件
组件功能存在差异,部分组件将有自己私有的组件事件
输入变化
- 组件输入值变化,将触发组件输入变化事件,如下拉切换此外该事件发生后,将产生"当前控件值"事件参数(见下方事件参数),其可作为数据进行业务
选中单元格
- 选中表格/报表的单元格时,将触发其选中单元格事件此外该事件发生后,将产生"所选单元格的字段名&值"、“所选中列某单元格的字段名&值”事件参数(见下方事件参数),其可作为数据进行业务
事件参数
事件参数是在事件被触发时传递给事件处理脚本的额外信息,如组件输入变化时,我们期望获取到控件变化为何值,此时将提供“当前控件值”事件参数,您可直接使用该参数来执行相关的逻辑判断或动作指令。事件参数提供更丰富的上下文信息,支持数据传递和共享,增加事件灵活性和扩展性,可参考以下场景案例。
1)事件参数
不同的事件情形不同,将提供不同的事件参数,打开表达式窗口中,选择事件参数页签,即可查看该事件的参数
事件 | 事件参数 | 说明 | 案例 |
---|---|---|---|
输入变化 | event.target.value | 当前控制值 | 略 |
选中单元格 | event.cell.name | 所选单元格的字段名 | 查看 |
event.cell.value | 所选单元格的字段值 | ||
event.row.cells[序号].name | 所选中行某单元格的字段名,示例:event.row.cells[0].name为所选中行第1个单元格的字段名 | ||
event.row.cells[序号].value | 所选中行某单元格的字段值,示例:event.row.cells[0].value为所选中行第1个单元格的字段值 | ||
扫码 | event.code | 所扫码识别的内容信息 | 查看 |
事件操作
- 删除事件:鼠标悬浮事件,点击删除图标,确认删除。
- 启停事件:点击事件开关,启用时事件生效,停用事件不生效。
- 调整顺序:悬浮事件,点击调序图标。
- 一键展示收起:悬浮“事件”标签页,点击全部展开收起图标。
- 复制事件:悬浮事件,点击复制图标。
- 粘贴事件:点击“粘贴事件”按钮,在粘贴事件在末尾;选中事件,点击粘贴图标,则在所选事件下方,粘贴对应事件。
注意事项
1)同事件支持多次配置,如配置两个控制脚本,事件发生后同时执行,脚本内条件-动作顺序执行;
2)事件触发后,动作未执行完,再触发如何处理?各事件执行独立不影响,故会再触发事件执行。