组织人员快照
@@ -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;
}