跳到主要内容

部门选择控件

接口

HttpPost:api/FrontEnd/department-selector/organizations

根据表单部门选择控件的范围配置,获取部门树的下级节点;传入 Keyword 时搜索部门。

接口会校验当前登录用户是否有 MenuId 对应菜单的访问权限,且 FieldCode 必须是关联表单中的部门选择控件。接口只返回启用的部门,不返回群组;搜索时是否只返回叶子部门由控件的“只选叶子节点”配置决定。

请求参数

参数名参数位置类型是否必填说明
AuthorizationHeaderstring调用者身份凭据,传入已获取的 token。
TnCodeHeaderstring租户编码。
MenuIdBodystring功能菜单编码,用于校验当前用户的菜单访问权限并定位关联表单。
FieldCodeBodystring部门选择控件的字段编码或控件唯一编码。
ParentUnitIdBodystring要加载下级部门的父部门 ID;不传时从根组织开始加载。搜索部门时不参与筛选。
KeywordBodystring部门搜索关键词;不传或为空时加载部门树节点。
ScopeUnitIdsBodystring[]固定部门范围。
CategoriesBodystring[]组织类别范围。
OriginatorParsesBodystring[]动态组织范围表达式。
ContainsSubBodyboolean是否将范围扩展至下级部门,默认 false

请求示例

加载部门树节点

{
"MenuId": "46b97a76f61338bd",
"FieldCode": "ResponsibleDepartment",
"ParentUnitId": "department-id",
"ScopeUnitIds": [
"department-id"
],
"Categories": [],
"OriginatorParses": [],
"ContainsSub": true
}

搜索部门

{
"MenuId": "46b97a76f61338bd",
"FieldCode": "ResponsibleDepartment",
"Keyword": "研发",
"ScopeUnitIds": [
"department-id"
],
"ContainsSub": true
}

返回结果

参数名类型说明
objectIdstring部门 ID。
namestring部门名称。
parentIdstring父部门 ID。
unitTypestring节点类型,部门节点为 OrganizationUnit
hasChildrenboolean是否存在可继续加载的子部门。

返回示例(成功)

[
{
"objectId": "sub-department-id",
"name": "研发一部",
"parentId": "department-id",
"unitType": "OrganizationUnit",
"hasChildren": true
}
]

返回示例(失败)

{
"Code": 500,
"Message": "当前用户无权访问该菜单",
"ExceptionSeqNo": null,
"Result": null,
"Status": 3,
"MessageShowType": null
}

调用说明

  • 当前登录用户由 Authorization 令牌识别,接口不接受调用方指定查询用户。
  • ScopeUnitIdsCategoriesOriginatorParsesContainsSub 的含义与原 /Organization 部门选择接口的 ChildDeptAndGroupRequest 一致,应由表单部门控件的数据范围配置解析后传入。
  • 树节点加载时,ParentUnitId 不传则从根组织开始;搜索时忽略 ParentUnitId
  • 接口固定过滤群组、未启用部门以及当前用户组织角色不可见的部门。
  • 部门控件开启“只选叶子节点”时,搜索结果只返回叶子部门;该配置由服务端从 FieldCode 对应控件读取,调用方不能覆盖。
  • 用户无菜单权限时返回:当前用户无权访问该菜单;字段不是部门控件时返回:字段[FieldCode]不是部门选择控件