You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
4.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 主要展示(其余字段在前端暂时隐藏或注释掉)
- 位置信息:标识、位置编号、位置别名、父级编号、是否标识、备注、创建人、创建时间、更新人、更新时间
- 设备信息:标识、设备编号、设备名称、所在位置、设备地址、设备端口、读取频率、是否标识、备注、创建人、创建时间、更新人、更新时间
- 读取记录:标识、设备编号、读取状态(1-成功;0-失败)、条码信息、记录时间
- **代码注意事项**
1. ** 连表查询规范**
使用 `mybatis-plus`做连表查询时:
- 在实体类和 `VO` 中添加连表字段,实体类字段需加 `@TableField(exist = false)` 注解。
- `MybatisPlus`自带方法不支持连表查询需要在mapper.xml中编写sql语句
2. **types 同步维护**
连表查询得到的字段,需要同步补充到前端 `types.ts` 中,保证类型定义完整。
3. **接口前缀规范**
参考同模块下已有接口前缀,统一后台 `@RequestMapping` 前缀。
4. **前端列表 / 表单字段规范**
- 只展示业务字段,技术字段仅用于内部关联(连表查询得到名称字段),若无关联则隐藏技术字段(前端在 `columns` 中设为 `false`
- 业务字段不显示多余的说明文字,例如字典字段的括号以及括号的字典数据
- 列表不直接展示主键,使用“序号”列(`index`)替代。
- 注释掉不合理的搜索条件,对话框中注释掉不合理的输入字段。
- 数字字段使用数字输入框;
- 新增对话框时,前端激活标识 `isMarked` 默认为 `1`
- 需要绑定其他表字段时,通过下拉框选择,表单字段使用 `get${ClassName}List` 接口获取不分页的全部数据。
5. **主子表 List 字段**
主子表结构时,需要在主表实体中将子表作为 `List` 类型字段,便于提交新增/修改、返回数据和删除时统一处理,保证事务一致性。
6. **字典使用规范**
- 后端只返回字典键值。
- 前端列表通过 `dict-tag` 组件展示字典文本。
- 前端需要显式声明字典,例如:
`const { project_category, change_type, project_phases } = toRefs<any>(proxy?.useDict('project_category', 'change_type', 'project_phases'));`
7. **实体字段类型规范**
- 数据库 `int` → Java `Integer`
- `decimal``BigDecimal`
- `bigint``Long`
- `double``Double`
- `float``Float`
11. **主子表删除规范**
- 主子表删除时,必须在同一事务中同时删除主表与子表记录,保证数据一致性。
12. **接口合并与聚合**
- 前端调用接口应尽量合并:同一模块或同一功能点优先通过单个接口组装返回所需数据,减少多次请求。
13. **前端 columns 配置规则**
- `columns``key` 必须从 `0` 开始,不间断完整自增。
- 对比实际表格列与 `columns` 配置,第 `0` 列使用“序号”(`index` 列)而不是主键。
- 将“项目ID”等技术列从 `columns` 中完全移除(而不是隐藏),去掉租户编号等无业务意义的字段,其他字段根据实际情况调整,确保 `columns.key` 连续从 `0` 自增且与表格实际列一一对应。
14. **名称获取规范**
- 所有创建人名称、部门名称必须通过后端连表查询得到,而不是前端拼接或本地缓存获取。
15. **业务编号规范**
- 业务编号应该唯一。
16. **树形结构规范**
- 树形结构的parent_id和ancestors字段的递归逻辑需要完善若parent_id和ancestors为0则为顶级节点0是必须有的。
17. **更新子节点的ancestors**
- 更新子节点的ancestors时需要更新所有子节点的ancestors而不是只更新当前节点的ancestors。
18. **前端树形结构的新增或修改**
- 前端对话框第一行必须是先选择父节点!
19. **特别注意rfid_read_record分表**
- rfid_read_record按照日期分表例如rfid_read_record_20251126可参考rfid_read_record_20251126.sql文件数据库类型是MySQL
- 前后端代码可以参考ShardingQuery.md文件其他项目TiDb数据库的总结文档