树表查不到二级目录

场景:树表结构查不到二级模型内容,联动配置如下

树表查不到二级目录

问题:界面只显示部门,不显示岗位。

已知:

  1. 自定义部门代理模型继承了PamirsDepartment

    @Model.model(DepartmentDoc.MODEL_MODEL)
    @Model.Advanced(type = ModelTypeEnum.PROXY)
    @Model(displayName = "部门资料代理模型", summary = "部门资料代理模型")
    public class DepartmentDoc extends PamirsDepartment {
    
       public static final String MODEL_MODEL = "top.DepartmentDoc";
    
       @Field.many2one
       @Field(displayName = "上级部门")
       private DepartmentDoc parent;
    
       @Field.one2many
       @Field(displayName = "岗位列表")
       private List positionLists;
    }
  2. 自定义岗位代理模型继承了PamirsPosition

    @Model.model(PositionDoc.MODEL_MODEL)
    @Model(displayName = "岗位代理模型", summary = "岗位代理模型")
    @Model.Advanced(type = ModelTypeEnum.PROXY)
    public class PositionDoc extends PamirsPosition {
    
       public static final String MODEL_MODEL = "top.PositionDoc";
    
       @Field.many2one
       @Field(displayName = "上级岗位")
       private PositionDoc parent;
    }
  • 首先查看控制台相应请求
    树表查不到二级目录

  • 找到请求接口进后端debug,pro.shushi.pamirs.boot.web.action.UiTreeAction#fetchChildren

树表查不到二级目录

  • 检查这两个数据是否正常

  • 继续debug可知,在queryWrapper中使用departmentCode没有查询出数据,这时候回看模型定义,发现岗位列表中没有定义关联字段,导致没有查出数据。pro.shushi.pamirs.boot.web.manager.tree.UiTreeRelationQueryManager#_fetchIsLeaf
    树表查不到二级目录

  • 解决:在模型配置中添加关系字段@Field.Relation(relationFields = {"code"}, referenceFields = {"departmentCode"}),并和父类中的关系字段保持一致

部门代理模型:

@Model.model(DepartmentDoc.MODEL_MODEL)
@Model.Advanced(type = ModelTypeEnum.PROXY)
@Model(displayName = "部门资料代理模型", summary = "部门资料代理模型")
public class DepartmentDoc extends PamirsDepartment {

    public static final String MODEL_MODEL = "top.DepartmentDoc";

    @Field.many2one
    @Field.Relation(relationFields = {"parentCode"}, referenceFields = {"code"})
    @Field(displayName = "上级部门")
    private DepartmentDoc parent;

    @Field.one2many
    @Field.Relation(relationFields = {"code"}, referenceFields = {"departmentCode"})
    @Field(displayName = "岗位列表")
    private List<PositionDoc> positionLists;
}

岗位代理模型

@Model.model(PositionDoc.MODEL_MODEL)
@Model(displayName = "岗位代理模型", summary = "岗位代理模型")
@Model.Advanced(type = ModelTypeEnum.PROXY)
public class PositionDoc extends PamirsPosition {

    public static final String MODEL_MODEL = "top.PositionDoc";

    @Field.many2one
    @Field.Relation(relationFields = {"departmentCode"}, referenceFields = {"code"})
    @Field(displayName = "上级岗位")
    private PositionDoc parent;
}

Oinone社区 作者:yexiu原创文章,如若转载,请注明出处:https://doc.oinone.top/wen-ti-zhen-duan/14856.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
yexiu的头像yexiu数式员工
上一篇 2024年7月23日 下午2:57
下一篇 2024年7月23日 下午5:41

相关推荐

  • 跳转动作无权限问题排查

    版本: 5.0.X以上 现象 配置了一个跳转动作,并配置了加载函数。点击跳转到另一个页面,发现弹出“无权限进行该操作”错误。 原因 权限那边配置动作权限也都给了权限,但是为什么会出现这种情况呢?大概率是因为没有配置加载函数的权限,导致报错。 排查路径 5.0.X 以上版本权限控制是通过请求载荷里面的variables参数携带的path路径进行鉴权的。这个pa…

    2024年10月29日
    39300
  • 同步导出时路由新页面问题

    情景复现:界面设计器配置了同步导出,在页面上点击导出之后跳转到首页而没有正常下载文件排查路径: 点击导出之后,查看跳转的页面路径发现,跳转到了127.****/Hfyk/pamirs/page,可知,跳转路径不对,怀疑是Nginx路由配置问题,排查Nginx配置 发现没有配置下载路由,在Nginx中配置下载路由

    2024年7月24日
    61200
  • Function、Action函数常见问题排查

    Function的定义需要严格遵循Oinone的规范, @Action是指页面上有按钮展示的方法,所有@Action注解的方法都是需要在权限处设置权限才能访问的。Action背后都对应一个Function。 @Function是Oinone的可管理的执行逻辑,是无处不在的。 如果只是查询,不需要在页面有按钮,定义为@Function就可以了。 覆写常用默认数…

    2024年8月20日
    72800
  • O2M、M2O、M2M关系字段配置问题以及问题排查路径

    M2O关系字段 配置示例: @Field(displayName = “教师关联学生”) @Field.many2one @Field.Relation(relationFields = {“studentName”}, referenceFields = {“name”}) private Student students; 解析: 在这个多对一关系中,s…

    2024年8月9日
    55200
  • 工作流工作台无权限排查路径

    现象:用户前端自定义跳转工作流审批页面,提示无权限 排查路径: 5.0版本权限是根据路径进行鉴权的,请求载荷中variables需要携带path路径。 示例:path=/management_center/AuthMenus_RoleAndPermission_SystemPermission如果是用户自定义跳转页面,需要配置sessionPath:,值为u…

    2024年8月6日
    40400

发表回复

登录后才能评论