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.

4.2 KiB

主要展示(其余字段在前端暂时隐藏或注释掉)

  • 位置信息:标识、位置编号、位置别名、父级编号、是否标识、备注、创建人、创建时间、更新人、更新时间

  • 设备信息:标识、设备编号、设备名称、所在位置、设备地址、设备端口、读取频率、是否标识、备注、创建人、创建时间、更新人、更新时间

  • 读取记录:标识、设备编号、读取状态(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
      • decimalBigDecimal
      • bigintLong
      • doubleDouble
      • floatFloat
  1. 主子表删除规范
    • 主子表删除时,必须在同一事务中同时删除主表与子表记录,保证数据一致性。
  2. 接口合并与聚合
    • 前端调用接口应尽量合并:同一模块或同一功能点优先通过单个接口组装返回所需数据,减少多次请求。
  3. 前端 columns 配置规则
    • columnskey 必须从 0 开始,不间断完整自增。
    • 对比实际表格列与 columns 配置,第 0 列使用“序号”(index 列)而不是主键。
    • 将“项目ID”等技术列从 columns 中完全移除(而不是隐藏),去掉租户编号等无业务意义的字段,其他字段根据实际情况调整,确保 columns.key 连续从 0 自增且与表格实际列一一对应。
  4. 名称获取规范
    • 所有创建人名称、部门名称必须通过后端连表查询得到,而不是前端拼接或本地缓存获取。
  5. 业务编号规范
    • 业务编号应该唯一。
  6. 树形结构规范
    • 树形结构的parent_id和ancestors字段的递归逻辑需要完善若parent_id和ancestors为0则为顶级节点0是必须有的。
  7. 更新子节点的ancestors
    • 更新子节点的ancestors时需要更新所有子节点的ancestors而不是只更新当前节点的ancestors。
  8. 前端树形结构的新增或修改
    • 前端对话框第一行必须是先选择父节点!
  9. 特别注意rfid_read_record分表
    • rfid_read_record按照日期分表例如rfid_read_record_20251126可参考rfid_read_record_20251126.sql文件数据库类型是MySQL
    • 前后端代码可以参考ShardingQuery.md文件其他项目TiDb数据库的总结文档