起因
目前在做一个校园ERP项目,使用React技术栈。每个模块基本都涵盖列表、详情、编辑页面, 虽然已经封装好组件,可快速搭建页面,但每个组件还是需要硬编码配置,以实现业务逻辑。
为了减少前端团队的繁琐写配置任务,想设计出通过管理员自行配置每一种单据的字段,还能满足用户定制化需求。
设计思路
因为已经封装好组件,每个组件传递特定的参数即可自动渲染,所以基本思路就是
系统字段 + 自定义字段 => 处理程序 => 生成配置 => 塞给组件渲染
定义字段
整个单据需要用到的字段分为系统字段
与自定义字段
,系统字段是根据表结构定义的,自定义字段则是用户可以随意新增。
首先需要拿到数据字典,毕竟要偷懒到底,硬编码是不可能硬编码的,项目中使用的GraphQL,可以很方便取到所有数据字典(没有的话想办法让后端提供😄)。
自定义字段定义的格式最好与系统字段保持一致,这样前端也就不用关心是什么字段,统一处理,更加方便。
设计自定义表
思维导图,仅供参考