🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
1. 首先在业务站点下的 mdl 目录中为某个业务表单新增一个规则文件,文件类型为 json 文件,如下图所示: ![](https://box.kancloud.cn/eba4c63c7a798f5780c0c89250a3a1fb_418x637.png) 2. 在规则文件的 calcRules 节点中定义表达式,每个表达式以 json 对象的方式组织,表达式可以有多个,表达式中的变量因子是模型文件中的具体的字段标识,比如:金额字段标识是 famount,单价字段标识是 fprice ,数量字段标识是 fqty,那么表达式就应该是这样的:famount = fprice * fqty ![](https://box.kancloud.cn/e161e265216383cb1771150c2ae07319_480x407.png) 完整的规则代码如下: ~~~ { //规则引擎基类 "base": "/mdl/bill.rule.json", //定义表单锁定规则 "lockRules": [ ], //定义表单可见性规则 "visibleRules": [ ], //定义表单计算规则 "calcRules": [ { "expression": "famount=fprice*fqty" } ] } ~~~ 注意事项: (a) 规则文件命名约定以表单ID开头,后面加上固定的后缀“rule”,比如销售订单的表单ID为 sal_order,那么规则文件命名为: sal_order.rule.json (b) 规则文件存放的目录与表单模型文件存放的目录相同。 (c) 一般来讲,业务表单规则继承至 /mdl/bill.rule.json,基础资料规则继承至 /mdl/bd.rule.json。 (d) 表达式中的字段标识对大小写敏感,必须要和mdl模型文件中定义的字段标识一致。 (e) 编写完计算表达式后需要重新打开业务表单才能查看效果。