组织架构图
1. 功能定位
组织架构图用于集中查看部门层级、人员归属及人员汇报关系,并可从图中继续查看部门、人员和岗位的完整信息。
页面以关系图为主要操作区域,不承担组织数据的新增、编辑、迁移、合并、停用或删除操作。上述操作仍在对应的部门、人员和岗位管理模块中完成。
2. 页面布局
页面由以下区域组成:
- 顶部工具栏:放置筛选条件、展示模式、图形说明和“重置视图”操作。
- 关系图画布:使用全屏力导向图展示部门、人员及其关系。
- 右侧详情面板:点击节点后覆盖在画布右侧,固定宽度为 440px,内容较多时使用纵向滚动。
- 底部图例:按部门展示图例,帮助识别不同部门下的节点。
页面不设置独立的左侧部门树。部门范围通过顶部的部门树选择器筛选。
3. 筛选区
3.1 筛选项
支持以下筛选条件:
- 部门:使用树形选择器,选择后展示该部门及其全部下级部门范围内的数据。
- 人员:支持按姓名或工号搜索。
- 岗位:只保留具有该岗位当前有效任职的人员。
- 人员状态。
- 展示离职人员:默认关闭。
- 展示退休人员:默认关闭。
- 展示停用人员:默认关闭。
- 展示停用部门:默认关闭。
- 展示模式:默认为“混合展示”。
切换筛选条件或展示模式后重新加载关系图,并清空当前选中节点和详情面板。
3.2 人员搜索定位
按姓名或工号搜索到人员后:
- 自动选中第一个匹配人员。
- 在图中高亮该人员节点。
- 打开该人员的详情面板。
部门筛选只限定图形的数据范围,不执行“展开部门路径”的树形交互。
4. 展示模式
4.1 部门结构
仅展示部门节点及部门上下级关系。
规则:
- 顶级部门作为组织结构的起点。
- 子部门根据部门上下级关系连接。
- 双击部门节点可收起或展开该部门的全部后代节点。
- 停用部门默认隐藏,可通过“展示停用部门”查看。
- 已删除部门始终不展示。
4.2 人员汇报
仅展示人员节点及人员汇报关系。
规则:
- 优先使用直属主管作为人员的主要布局父级。
- 没有直属主管时,可使用当前有效的协同上级作为布局父级。
- 直属主管关系使用实线。
- 协同上级关系使用虚线。
- 图关系需要避免形成循环。
直属主管的管理优先级高于部门负责人;仅当直属主管和协同上级均不存在时,部门负责人才能作为业务上的补充管理人。当前关系图不据此自动生成新的汇报关系。
4.3 混合展示
同时展示:
- 部门节点和部门上下级关系。
- 人员节点和人员所属部门关系。
- 人员的直属主管与协同上级关系。
人员按主部门组织在对应部门节点周围,人员任职、主部门与人员汇报关系彼此独立,不因图形布局自动变更业务数据。
5. 图形展示规则
5.1 图形布局
关系图使用 ECharts graph 力导向布局:
- 节点为圆形。
- 节点位置由力导向布局计算。
- 节点支持单独拖拽。
- 画布支持拖动和缩放,缩放范围为 0.35 至 3。
- 支持相邻关系高亮。
- 点击“重置视图”后重新渲染当前关系图。
5.2 部门节点
部门使用较大的圆形节点展示:
- 节点大小随部门人员数量变化,最大尺寸为 56。
- 节点颜色归入对应部门图例分类。
- 停用部门使用灰色状态样式。
- 已收起的部门需要在提示信息中标明。
鼠标悬停时显示:
- 部门名称。
- 部门负责人。
- 人员数量。
- 岗位数量。
- 是否已收起。
5.3 人员节点
人员使用较小的圆形节点展示:
- 节点大小随直接汇报人数变化,最大尺寸为 28。
- 节点颜色归入其主部门的图例分类。
- 停用人员使用灰色状态样式。
鼠标悬停时显示:
- 姓名。
- 工号。
- 主岗位。
- 主部门。
- 人员状态。
5.4 关系线
关系线分为:
- 部门上下级:连接父部门与子部门。
- 人员归属:连接人员与其主部门。
- 直属主管:表示主要汇报关系,使用实线。
- 协同上级:表示协同汇报关系,使用虚线。
6. 图形交互
- 单击部门或人员节点:选中并高亮节点,调用对应详情接口,在右侧打开完整详情。
- 双击部门节点:收起或展开该部门的全部后代节点。
- 点击画布空白区域:取消当前选择并关闭详情面板。
- 拖拽节点:调整节点位置。
- 拖动画布:调整关系图可视区域。
- 缩放画布:查看全局关系或局部细节。
- 点击详情中的人员、部门或岗位:复用同一个右侧面板,切换到被点击对象的详情。
7. 部门详情
点击部门节点后,详情面板直接平铺展示以下信息,不要求用户再次点击进入二级页面:
7.1 基本信息
- 部门名称。
- 部门编码。
- 部门状态。
- 上级部门。
- 排序。
- 部门描述。
- 创建时间。
- 更新时间。
7.2 组织概况
- 人员数量。
- 岗位数量。
- 直属人员数量。
- 直属子部门数量。
7.3 部门负责人
- 部门负责人。
- 负责岗位。
- 指定方式。
- 负责人历史。
部门负责人必须是正式人员,并具有当前有效任职。部门负责人信息与人员直属主管、协同上级关系相互独立。
7.4 关联数据
- 有效人员列表,可点击人员查看详情。
- 直属岗位列表,可点击岗位查看详情。
- 直属子部门列表,可点击子部门查看详情。
有效人员、直属岗位和直属子部门均直接平铺展示,不再设置二次点击后才显示内容的交互。
8. 人员详情
8.1 基本信息
- 姓名。
- 工号。
- 人员状态。
- 员工类型。
- 手机号。
- 邮箱。
- 入职日期。
- 司龄。
- 工龄。
- 办公地点。
- 分机号。
8.2 组织关系
- 主部门。
- 主岗位。
- 职级。
- 直属主管。
- 协同上级。
- 下属列表,并标明直属汇报或协同汇报。
8.3 任职与账号
- 当前有效任职,可点击岗位查看详情。
- 绑定账号。
- 账号状态。
- 账号角色。
- 最近登录时间。
8.4 异动记录
展示最近 8 条人员异动记录。
9. 岗位详情
岗位与职级为相互独立的数据,不在岗位详情中展示或维护职级字段。
9.1 基本信息
- 岗位名称。
- 岗位编码。
- 岗位状态。
- 所属部门。
- 岗位类型。
- 排序。
- 岗位职责。
- 任职要求。
- 说明。
- 创建时间。
- 更新时间。
9.2 编制信息
- 正式编制。
- 兼职编制。
- 实习编制。
- 外包编制。
- 在岗人数。
- 空缺人数。
- 超编人数。
- 总编制。
岗位超编时需要展示风险提示。
9.3 任职人员
- 当前在岗人员,可点击人员查看详情。
- 历史任职记录。
10. 状态与数据过滤
- 已删除部门永不进入当前组织架构图。
- 停用部门默认隐藏,仅在用户主动开启后展示。
- 离职人员默认隐藏,仅在用户主动开启后展示。
- 退休人员默认隐藏,仅在用户主动开启后展示。
- 停用账号对应人员默认隐藏,仅在用户主动开启后展示。
- 停用节点统一使用灰色状态样式。
- 岗位筛选只匹配当前有效任职,不影响历史任职数据。
- 部门筛选包含所选部门及其全部下级部门。
11. 权限与接口
11.1 页面权限
- 路由名称:
org-chart。 - 页面组件名称:
OrgChart。 - 菜单名称:组织架构图。
- 当前前端访问权限仅开放给
super角色。
后续扩大访问范围时,组织架构图必须遵循当前账号的数据权限和字段权限:
- 不返回或展示权限范围外的组织数据。
- 不返回或展示无查看权限的字段。
- 字段的查看与编辑权限统一由角色字段权限控制。
- 正式数据权限过滤必须由后端完成,前端筛选不能代替服务端鉴权。
11.2 数据接口
- 关系图数据:
POST /system/org-chart。 - 部门详情:复用部门管理详情接口。
- 人员详情:复用人员管理详情接口。
- 岗位详情:复用岗位管理详情接口。
当前演示数据由 sample/mock/systemOrgChart.ts 提供。
12. 当前实施边界
- 当前仅用于浏览和定位组织关系,不直接修改部门、人员、岗位或汇报关系。
- 当前不实现组织架构图导出。
- 当前不根据部门负责人自动补写人员汇报关系。
- 当前不处理尚未确定的岗位负责人或岗位管理关系规则。
- 当前不改变部门、岗位、任职、直属主管和协同上级各自独立的数据模型。
Grow Admin