字典管理
字典管理用于维护系统中的各类枚举值或常量列表(如“国家”、“币种”、“状态码”等)。在 PieMDM 中,字典作为重要的数据源配置,广泛应用于下拉选择、单选框等字段。
字典类别
PieMDM 支持两种形式的字典:
1. 系统通用字典
系统默认提供了一个名为 dict_item 的内置表,用于统一存储简单的键值对数据。
- 存储方式:所有通用字典项都存储在
dict_item表中。 - 区分标识:通过
dict_code(字典代码)来区分不同的字典类别(例如GENDER代表性别,ORDER_STATUS代表订单状态)。
2. 基于业务表的字典
您可以直接将任何业务模型(如“物料表”、“供应商表”)作为字典使用。
- 动态性:字典内容随着业务数据的增删改实时变化。
- 配置灵活:可以指定该表中的哪一列作为“数据键 (Value)”,哪一列作为“显示标签 (Label)”。
配置字典字段
在“表与字段管理”中,当您为字段选择“选择类型”(如下拉单选、复选框组)时,需要配置数据源。
关联系统字典
- 在字段的“关联配置”中,目标表选择
dict_item。 - 在“过滤条件”中,设置
dict_code为对应的字典代码(如NATION)。 - 值字段通常配置为
code,显示字段通常配置为name。
关联业务表
- 目标表选择对应的业务表(如
mdm_company)。 - 根据需要设置过滤条件(如
status = 'Normal')。 - 指定用于存储的值字段(如
id或company_code)和显示的标签字段(如company_name)。
字典服务特性
PieMDM 的前端提供了一个高效的字典管理服务 (dictionaryService),具有以下特性:
- 缓存机制:同一个字典在页面多次引用时,仅会发起一次 API 请求,后续直接读取内存缓存。
- 请求合并:如果多个组件同时请求同一个字典,服务会自动合并请求,避免网络冗余。
- 预加载:支持在页面初始化时根据字段配置自动扫描并预加载所需的全部字典数据,提升首屏渲染速度。
- 通用适配:无论是系统内置的
dict_item还是普通业务表,都通过统一的 API 接口进行数据拉取。
管理建议
- 统一编码:对于跨系统的基础数据,建议参考国家标准或行业标准进行编码(如 ISO 货币代码)。
- 描述清晰:为每个字典项提供清晰的描述,方便用户理解其业务含义。
- 分权管理:核心系统字典(如系统配置项)应仅限管理员修改。