044模块导航功能的重构(2)
经过分析,可以将一级导航的数据类型分为以下几类:
1、模块实际字段值:例如对于“省份”模块,所属区域是其一个字符串字段,里面放着各个区域的名称。
2、父模块的导航:例如对于“市”模块,可以用省来对其进行导航。
3、某个数值字段的数值区间:可以自定义数值区间来完成分组。经过配置可以完成更加复杂的分组。
4、日期字段根据年,月,日来进行分分组,再可以扩展到比如说最近半月,最近一月,最近半年等的分组。
对于数值字段和日期字段的分组,可以是基准模块的字段,也可以是父模块中的字段,或者是子模块聚合字段。
子模块聚合字段的是这次新想到的,比如可以这样加:一个订单可以通过 “订单明细的记录个数”,来进行导航。或者根据“订单明细中最大的货物单价”来进行导航。可以通过自定义字段或者formula来生成一个作为导航的数据。
上面是一个级次导航的一些数据类型,如果一个导航是有二层的话,那么就会更加复杂,比如上面的1和4的组合导航,在每个地区下面,再按日期展开导航。
导航的实质就是给模块grid的记录加上一个筛选条件,虽然可以用其他方式完成,但这种方式我认为是最直观的,整个导航树的值中的记录分布一目了然。导航树还可以进行一些复杂的拖动操作,比如将一个省直接拖动到 “地区导航”的某个值上面,就可以实现修改,把这个省的地区值改掉。
下面这张思维导图就是我的一些文档了。我的设计文档一般都是一些图表,有思路了以后类的组织就是文档,类里面也会有一些注释,再加上这个博客就是所有的文档了。
时间: 2024-11-11 18:05:21