烟花搭好的系统,可以再加交互逻辑(加按钮、明细自动算金额、选上游单带入明细等)。这些用平台的 JEAPI 写。本文讲清原理;问小帅时它能直接给你展示对应的代码配方卡(带复制按钮和踩坑提示)。
提示:这些都是实战验证过的真配方。在学院搜索框问小帅「主子表合计怎么写」「选采购单带入明细怎么做」,它会弹出代码卡。
5 个事件挂载点
交互逻辑可以挂在 5 个地方:
- 按钮——click / before-click / after-click
- 列表字段——renderer(渲染)/ link-click / header-renderer
- 表单字段——change / select 等(按控件类型)
- 表单整体——rendered / activate / model-change
- 列表整体——load / row-style / cell-click 等
一个高频概念错:列字段没有 change 事件,只有 renderer。「值改变要联动」属于表单字段,不属于列。
实战配方(问小帅看代码)
主子表「计算字段」
明细行算「行金额」用列的 renderer(每次渲染跟数据走);主表「合计」挂在主表单里集合字段的 change 事件(只有集合 change 能覆盖明细的增/改/删)。汇总绝不放 renderer,否则重渲染死循环。 👉 问小帅:「主子表合计怎么写」
选上游单 → 一键带入子明细
入库单选一张采购单,自动带出全部明细行,换单整单替换。挂在选择器的 select 事件里:先删旧明细 → 查上游明细 → store.insert 写入 → 重算合计。 👉 问小帅:「选采购单带入明细怎么做」
删除已保存的集合行
store.remove 只清界面、删不掉库里的行。删已保存的集合行必须直连 /je/common/doRemove,且必须带 parentFuncCode(漏了报 500)。 👉 问小帅:「集合行删不掉怎么办」
二次确认框 Modal.confirm
最容易踩的坑:Modal.confirm 返回的是弹窗实例对象,不是 Promise,不能 .then()。回调要走第二个参数 { text, handler }。 👉 问小帅:「Modal.confirm 怎么写」
自写看板取数(jeapps)
自写 HTML 看板借父窗口已登录的运行时当后端,用 JeBridge.queryFunc 拉真实业务数据再用图表渲染。 👉 问小帅:「看板怎么取数据」
字段联动(声明式表达式)
「类型=其它时才显示备注」这类联动,能用声明式表达式就别写脚本——display_exp / readonly_exp / required_exp,语法 '{字段code}' == '值'。 👉 问小帅:「字段联动怎么配」
提醒
事件脚本在浏览器里跑,写完务必真机点一遍验证。复杂交互建议预约演示,让工程师按你的真实场景演示和对接。