一,问题
资产主表字段不固定,有些客户字段多,有的字段少;或者一个字段叫法不一样,但是作用一样;不同资产分类有不同字段;用户和实施人员希望资产字段可以自定义,搜索条件可以动态配置;
所以要满足功能资产字段可配可扩展,满足前台资产【增】【删】【改】【查】,Excel导入,第三方导入(webservice|webapi接口)
二,解决思路
其实如果使用CMDB系统就可以解决,这里只考虑一些传统小系统的设计思路。所以原标题叫小型CMDB数据机构及原型。以下想法没有落地,只作为个人的记录和分享,如果有毛病,请各位大佬在评论区提出,我会及时删除评论。
首先资产表中,不是所有字段都可以自定义,增删改, 如果参与系统业务逻辑的字段被用户删了那系统就废了;要考虑资产分类所带来的增改查影响,所以字段应该满足以下原则:
1.参与系统业务逻辑字段,只能修改显示名称,不能删除,不能新增,简称固定字段;
2.其他资产扩展字段,只显示,不参与系统业务逻辑,可以新增、修改、删除;
3.所有资产,无论属于哪中资产分类,都要有通用字段,在资产分类未知时可以作为查询条件;
4.通用字段被所有子分类继承,子分类可以修改显示名称,是否显示,不能删除;
三,功能细化
1.编辑(改)资产的通用字段,资产通用字段为资产主表中字段,只能修改字段显示名称
1.1编辑项:
1.1.1字段显示中文名
1.1.2字段显示英文名
1.1.3列表中字段显示顺序2.按资产分类编辑(增删改)自定义字段
2.1编辑项:
2.1.1字段显示中文名称,不同分类显示名称不一样【?】
2.1.2字段显示英文名称
2.1.3列表中字段显示顺序
2.1.4字段类型:文本
多行文本
数字
日期
关联表【?】
枚举
固定值
隐藏控件2.1.5表单中字段分组名称
2.1.6表单中字段显示顺序
2.1.7表单中是否必填
2.1.8一对多扩展字段【?】3.资产导入Excel时自动导入对应的自定义字段数据
3.1导入模板,【某些扩展字段,与分类不匹配,数据将丢失】
4.可以通过通用字段和自定义字段查询资产
4.1显示的查询字段名称需要读取配置项
5.列表页面表格的通用字段和自定义字段混合显示
5.1可以设置显示哪些列
5.2列名通过配置项动态读取对应字段的对应名称6.编辑页面表单通用字段和自定义字段混合显示
6.1字段名通过配置项动态读取对应字段的对应名称
6.2字段分组读取配置的分组
四,界面原型
- 配置页面
- 预览
- 资产卡片
- 高级查询
五,部分数据结构
AutoID | 分类ID | 字段名称 | 中文名称 | 英文名称 | 字段说明 | 列表是否显示 | 列表显示顺序号 | 表单是否显示 | 表单分组AutoID | 表单显示顺序 | 数据类型 | 表单是否必填 | 数据(默认)值 | 关联表名 | 关联字段 | 是否为系统字段 | |||
唯一 | 资产分类 分类为-1时为通用字段(维度二) | 数据库中字段名称 | 唯一 | 唯一 | 唯一 | 唯一 | 唯一 | 系统字段不能删除(维度一) | |||||||||||
AutoID | 表单分组名称 | ||||||||
唯一 | 唯一 | ||||||||
AutoID | 资产ID | 属性配置主表AutoID | 值 | |||||||
AutoID | 模板名称 | ||||||||
AutoID | Excel导入模板主表AutoID | Excel表头名称 | 属性配置主表AutoID | ||||||
AutoID | 模板名称 | ||||||||
AutoID | Excel导入模板主表AutoID | 属性配置主表AutoID | 运算符 | 连接符 | 值 | |||||