feat(aihr): clarify org snapshot field usage

This commit is contained in:
2026-07-09 11:03:47 +08:00
parent 2f5fb853a2
commit 53698e7832
+56 -10
View File
@@ -19,6 +19,18 @@
</article>
</section>
<section class="panel usage-panel">
<div class="panel-title">
<h2>配置与使用</h2>
</div>
<el-table :data="usageRules" size="small">
<el-table-column prop="item" label="配置项" width="130" />
<el-table-column prop="source" label="同步字段" min-width="210" show-overflow-tooltip />
<el-table-column prop="configure" label="配置方式" min-width="220" show-overflow-tooltip />
<el-table-column prop="usage" label="系统使用" min-width="280" show-overflow-tooltip />
</el-table>
</section>
<section class="panel org-panel">
<div class="panel-title">
<h2>组织人员快照</h2>
@@ -160,23 +172,56 @@ const orgPage = reactive({
});
const metrics = [
{ label: '权威组织源', value: '快照', note: '阶段三前用 aihr_org_snapshot' },
{ label: '数据范围主体', value: '项目', note: '主管只看本项目训练/复盘' },
{ label: '试点岗位', value: '管家(生活顾问)', note: 'position 标签沿用现有值' },
{ label: '权威组织源', value: '快照', note: '外部同步写入 aihr_org_snapshot' },
{ label: '数据范围主体', value: '项目', note: '使用 project_code / project_name' },
{ label: '试点岗位', value: '管家(生活顾问)', note: '使用 position_name / position_level' },
{ label: 'SSO', value: '暂缓', note: '北森对接归阶段三' }
];
const usageRules = [
{
item: '人员主键',
source: 'ext_party_id',
configure: '同步时自动写入,不手工编辑',
usage: '关联训练记录、复盘记录、能力画像、移动端账号'
},
{
item: '项目范围',
source: 'project_code / project_name',
configure: '从组织快照自动生成项目筛选',
usage: '限制主管查看本项目员工、训练记录、复盘和画像'
},
{
item: '岗位条线',
source: 'dept_name / position_name',
configure: '按同步岗位名称识别生活顾问、客服、工程等条线',
usage: '筛选试点对象、匹配训练场景和统计岗位覆盖'
},
{
item: '岗位层级',
source: 'position_level',
configure: '同步时由岗位名称派生: 一线 / 主管 / 项目经理',
usage: '区分学员、主管复盘人、项目管理视角'
},
{
item: '在职状态',
source: 'employment_status',
configure: '同步 active / departed,默认只看 active',
usage: '离职人员不进入默认派训和运营统计'
}
];
const identityAxes = [
{ axis: '横向条线', source: 'position_code', example: '管家/客服、工程、保洁、保安', status: '已定义', type: 'success' },
{ axis: '纵向层级', source: '岗位/组织映射', example: '一线、主管、项目经理、片区经理', status: '最小集', type: 'warning' },
{ axis: '管辖范围', source: '组织树 + 项目', example: '单项目 / 多项目 / 城市 / 集团', status: 'P0', type: 'danger' }
{ axis: '横向条线', source: 'dept_name / position_name', example: '管家/客服、工程、保洁、保安', status: '已接入', type: 'success' },
{ axis: '纵向层级', source: 'position_level', example: '一线、主管、项目经理', status: '最小集', type: 'warning' },
{ axis: '管辖范围', source: 'project_code / project_name', example: '单项目 / 多项目 / 城市 / 集团', status: 'P0', type: 'danger' }
];
const roleMappings = [
{ match: 'position = 生活顾问', role: '学员', scope: '本人训练与今日安排', owner: 'HR' },
{ match: 'position = 项目主管', role: '主管', scope: '本项目团队训练与复盘', owner: '项目经理' },
{ match: 'role = hr_operator', role: 'HR运营', scope: '场景、Rubric、候选资料审核', owner: 'HR' },
{ match: 'admin', role: '管理员', scope: '模型、资料处理、组织同步', owner: '技术' }
{ match: 'position_name 包含 管家/生活顾问', role: '学员', scope: '本人训练与今日安排', owner: 'HR' },
{ match: 'position_level = 主管/项目经理', role: '主管', scope: '本项目团队训练与复盘', owner: '项目经理' },
{ match: '管理后台 role = hr_operator', role: 'HR运营', scope: '场景、Rubric、候选资料审核', owner: 'HR' },
{ match: '管理后台 admin', role: '管理员', scope: '模型、资料处理、组织同步', owner: '技术' }
];
const projectScopes = computed(() =>
@@ -307,6 +352,7 @@ onMounted(loadOrgSnapshot);
font-size: 17px;
}
.usage-panel,
.org-panel {
margin-top: 16px;
}