部门选择控件
接口
HttpPost:api/FrontEnd/department-selector/organizations
根据表单部门选择控件的范围配置,获取部门树的下级节点;传入 Keyword 时搜索部门。
接口会校验当前登录用户是否有 MenuId 对应菜单的访问权限,且 FieldCode 必须是关联表单中的部门选择控件。接口只返回启用的部门,不返回群组;搜索时是否只返回叶子部门由控件的“只选叶子节点”配置决定。
请求参数
| 参数名 | 参数位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
Authorization | Header | string | 是 | 调用者身份凭据,传入已获取的 token。 |
TnCode | Header | string | 是 | 租户编码。 |
MenuId | Body | string | 是 | 功能菜单编码,用于校验当前用户的菜单访问权限并定位关联表单。 |
FieldCode | Body | string | 是 | 部门选择控件的字段编码或控件唯一编码。 |
ParentUnitId | Body | string | 否 | 要加载下级部门的父部门 ID;不传时从根组织开始加载。搜索部门时不参与筛选。 |
Keyword | Body | string | 否 | 部门搜索关键词;不传或为空时加载部门树节点。 |
ScopeUnitIds | Body | string[] | 否 | 固定部门范围。 |
Categories | Body | string[] | 否 | 组织类别范围。 |
OriginatorParses | Body | string[] | 否 | 动态组织范围表达式。 |
ContainsSub | Body | boolean | 否 | 是否将范围扩展至下级部门,默认 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
}
返回结果
| 参数名 | 类型 | 说明 |
|---|---|---|
objectId | string | 部门 ID。 |
name | string | 部门名称。 |
parentId | string | 父部门 ID。 |
unitType | string | 节点类型,部门节点为 OrganizationUnit。 |
hasChildren | boolean | 是否存在可继续加载的子部门。 |
返回示例(成功)
[
{
"objectId": "sub-department-id",
"name": "研发一部",
"parentId": "department-id",
"unitType": "OrganizationUnit",
"hasChildren": true
}
]
返回示例(失败)
{
"Code": 500,
"Message": "当前用户无权访问该菜单",
"ExceptionSeqNo": null,
"Result": null,
"Status": 3,
"MessageShowType": null
}
调用说明
- 当前登录用户由
Authorization令牌识别,接口不接受调用方指定查询用户。 ScopeUnitIds、Categories、OriginatorParses和ContainsSub的含义与原/Organization部门选择接口的ChildDeptAndGroupRequest一致,应由表单部门控件的数据范围配置解析后传入。- 树节点加载时,
ParentUnitId不传则从根组织开始;搜索时忽略ParentUnitId。 - 接口固定过滤群组、未启用部门以及当前用户组织角色不可见的部门。
- 部门控件开启“只选叶子节点”时,搜索结果只返回叶子部门;该配置由服务端从
FieldCode对应控件读取,调用方不能覆盖。 - 用户无菜单权限时返回:
当前用户无权访问该菜单;字段不是部门控件时返回:字段[FieldCode]不是部门选择控件。