Repository navigation
OrgCompass v2.4.0|岗位与编制的完整闭环
v2.4.0 把「岗位」这条线从只看不改变成可管理的闭环,并把应用内三个大功能统一为页面级子界面。
向后兼容声明
.orgproj文件格式保持 4,本版未改动文件格式(src/types与project.ts零改动),可无损读取旧版项目文件。- 没有删除任何净能力:被移动的都是入口位置,被移除的是原本就不可达的项。
- 有两处行为收紧(不破坏既有数据,但封住了原来能走的操作路径),见下「行为变化」。
岗位与编制(新页面)
从顶部「岗位与编制」进入。它合并了原来的「岗位操作」弹窗与「缺口清单」弹窗 ——
两者本是同一份数据的两种看法(一个只读、一个写入),分开会出现「在 A 看、去 B 改」的断层。
- 看到组织内所有岗位(含空岗位)+ 汇总条:岗位数 / 编制合计 / 在岗合计 / 待补 / 超额 / 未配置编制
- 新增 / 编辑 / 删除岗位:新增可选目标部门、名称、序列、职级带宽、编制;编辑为行内表单;删除前说明影响
- 编制就地可改,改完立即重算缺岗还是超编
- 套岗:候选人显示「现属 部门 › 岗位」,按本部门 / 跨部门排列;确认后行内在岗名单立即变化
- 按部门 / 按岗位双视图:同一个岗位名可能出现在多个部门(实测 15 个岗位实体只有 13 个名称)。按岗位视图合并同名岗位并标注「分布在 N 个部门」,可展开看各部门独立编制
- 删除岗位后持续提示「当前有 N 名员工处于无明确岗位状态」,区分「未套岗」与「岗位已删除」并给出处置建议
- 导出 Excel 与界面消费同一份筛选结果
部门增删与层级规则
- 新增删除部门:卡内没有成员时允许删除(确认文案写明不影响任何人员);仍有员工时拒绝删除并列出具体是谁,要求先挪到其他部门;还有子部门时同理(保护子树不被静默丢弃)
- 新建部门不得归属同级或下级部门:归属下拉只列层级更浅的部门;切换层级时非法归属自动退回「暂不指定」;不指定归属始终允许(可之后在画布上拖动归属)
子页面交互统一
「组织健康度」与「胜任度」由右侧抽屉弹窗改为页面级子界面,与「岗位与编制」共用同一外壳
(返回按钮 / 标题 / 操作区 / 内容区滚动),三个页面的外壳几何逐像素一致。
- 「人岗核对」不再常驻主页面顶部,收进健康度页面并直接列出完整清单(不再需要"点横幅 → 开弹窗")
- 同一时刻最多打开一个子页面,三者之间可直接切换
虚拟员工(兼岗)新流程
- 创建时必须选择目标部门与目标岗位;目标部门排除本人现属部门(同一部门不会出现两次同一个人)
- 目标部门没有岗位时可以顺手新建,岗位与副本在同一次变更里落地(无中间态)
- 修复旧实现的三个缺陷:副本被加进同一部门、
positionId为空(那条兼岗没有岗位、不计入任何岗位在岗)、无确认界面
入口归位与顶部菜单
- 「行业模板」并入左侧「载入示例数据」(5 个行业模板带组织结构预览);「工具模板」移入左侧「文件上传」,与上传行配对
- 左侧重复的「组织健康度」入口移除;硬编码的 10 人示例数据删除
- 顶部菜单两行合并为一行(高度 104px → 48px);移除写死的项目名「组织架构项目」与版本号徽标(版本移入品牌 tooltip)
- 侧栏移除静态「职级颜色」图例
编制冻结
Position.status = 'frozen' 全仓没有任何写入点(唯一会写 status 的是「归档岗位」,只写 archived),
因此缺口清单的「编制冻结」筛选项对真实用户永远匹配 0 行。本版从界面隐藏该筛选项;
数据模型、口径(冻结不计缺口)与导出列全部保留,待将来补上「冻结 / 解冻编制」的操作入口后恢复。
行为变化(升级前请阅读)
| 变化 | 说明 |
|---|---|
| 新建部门不得归属同级或下级 | 以前能建,现在会被拒绝并说明原因。既有结构不会自动修改,旧项目文件照常打开 |
| 虚拟兼岗必须指定目标岗位且必须换部门 | 以前建的「同部门 + 无岗位」兼岗副本仍然存在,但在新版里会算作未套岗,并出现在「无明确岗位」提示中 —— 可在「岗位与编制」里补岗位或删除该记录 |
| 入口位置调整 | 顶部「岗位」→「岗位与编制」;顶部「缺口清单」「工具模板」「行业模板」与左侧「组织健康度」的入口归位(见 README「操作入口速查」) |
| 「编制冻结」筛选项隐藏 | 该状态本就无法产生,详见上节 |
仓库结构整理
- 根目录的 4 个
test_*.xlsx清理:2 个是活的端到端夹具 → 移入tests/fixtures/excel/;2 个无引用(v2.3.1 审计 T-14 已标记)→ 删除 - 删除 2 个无引用的图片资产(
docs/assets/banner.jpg、docs/assets/org-chart.png) docs/归类:design/(设计记录)+releases/(发布说明)+assets/(README 视觉资产);内部归档仍按版本号前缀留在docs/根(.gitignore逐周期忽略)
验证
- 807 项单元 / 组件测试 · 131 项真实 Chromium 交互测试 · 83 项视觉回归(几何断言)
npm run verify全绿(版本一致性 / 类型 / lint 0 错误 / 覆盖率 / 构建)- 关键修复均配突变验证(把修复回退掉,对应测试立即失败)