# 绩效打分系统详细设计文档 > 版本:V1.0 | 日期:2026-04-13 | 编制:AI 助理 --- ## 一、设计背景与目标 ### 1.1 项目背景 公司已有一套 OA 系统,现基于 OA 低码平台开发绩效管理模块,打通现有员工、部门、岗位、上下级关系数据,不独立维护。 ### 1.2 设计目标 - **统一指标管理**:所有考核指标集中维护,支持分组管理 - **岗位指标卡**:不同岗位绑定不同指标组合与权重 - **自动化考核**:每月固定时间自动生成考核任务 - **四段式流程**:自评 → 上级考评 → 确认/申诉 → HR处理 → 关闭 - **HR 兜底**:申诉由 HR 介入处理,保证公正性 --- ## 二、数据模型设计 ### 2.1 数据架构说明 ``` OA 系统(复用) 绩效系统(新建) ───────────────────────────────────────── sys_dept ← [复用,无需新建] sys_user ← [复用,无需新建] sys_position ← [复用,无需新建] sys_user_position ← [复用,无需新建](含上下级关系) ───────────────────────────────────────── kpi_indicator [新建] 指标表 kpi_indicator_group [新建] 指标分组表 kpi_position_template [新建] 岗位指标卡模板 kpi_task [新建] 考核任务主表 kpi_task_detail [新建] 考核任务明细表 kpi_task_log [新建] 流程日志表 kpi_appeal [新建] 申诉表 kpi_schedule_config [新建] 定时任务配置表 ``` --- ### 2.2 指标相关表 #### 2.2.1 指标分组表 `kpi_indicator_group` > 用于对指标进行分类,如"工作态度"、"业务能力"、"管理能力"等。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | group_name | 分组名称 | VARCHAR(50) | 如"工作态度"、"业务能力" | | group_code | 分组编码 | VARCHAR(20) | 唯一编码 | | sort_order | 排序号 | INT | 越大越靠前 | | parent_id | 父分组ID | BIGINT | 顶级为0,支持二级分组 | | remark | 备注 | VARCHAR(200) | | | status | 状态 | TINYINT | 1=启用 0=停用 | | create_by | 创建人 | VARCHAR(64) | | | create_time | 创建时间 | DATETIME | | --- #### 2.2.2 指标表 `kpi_indicator` > 存放具体考核指标,如"工作质量"、"沟通协作"、"考勤表现"等。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | indicator_name | 指标名称 | VARCHAR(100) | 如"工作质量" | | indicator_code | 指标编码 | VARCHAR(30) | 唯一编码 | | group_id | 所属分组ID | BIGINT | 关联 kpi_indicator_group.id | | description | 指标说明 | VARCHAR(500) | 考核标准描述 | | max_score | 满分值 | DECIMAL(5,1) | 默认100,可调整 | | status | 状态 | TINYINT | 1=启用 0=停用 | | create_by | 创建人 | VARCHAR(64) | | | create_time | 创建时间 | DATETIME | | --- ### 2.3 岗位指标卡相关表 #### 2.3.1 岗位指标卡模板表 `kpi_position_template` > 某岗位对应一套指标组合及权重,权重总和须为100%。 **主表:** | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | template_name | 模板名称 | VARCHAR(100) | 如"客服专员绩效模板" | | position_id | 绑定岗位ID | BIGINT | 关联 OA 的 sys_position.id | | position_name | 岗位名称 | VARCHAR(50) | 冗余字段,方便展示 | | cycle_type | 考核周期 | VARCHAR(20) | monthly/quarterly/annual | | status | 状态 | TINYINT | 1=启用 0=停用 | | create_by | 创建人 | VARCHAR(64) | | | create_time | 创建时间 | DATETIME | | **明细表:** | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | template_id | 模板ID | BIGINT | 关联 kpi_position_template.id | | indicator_id | 指标ID | BIGINT | 关联 kpi_indicator.id | | indicator_name | 指标名称 | VARCHAR(100) | 冗余展示 | | weight | 权重 | DECIMAL(5,2) | 如 20.00 表示20% | | sort_order | 排序号 | INT | | > ⚠️ 约束:同一 template_id 下,weight 总和必须 = 100.00。OA低码平台可在保存时做前端校验。 --- ### 2.4 考核任务相关表 #### 2.4.1 考核任务主表 `kpi_task` > 每次考核周期生成一条任务记录,贯穿整个考核生命周期。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | task_no | 任务编号 | VARCHAR(30) | 格式:KPI-202604-001 | | cycle_year | 考核年份 | INT | 如 2026 | | cycle_month | 考核月份 | INT | 如 4 | | evaluatee_id | 被考核人ID | BIGINT | 关联 OA sys_user.id | | evaluatee_name | 被考核人姓名 | VARCHAR(50) | 冗余 | | evaluator_id | 考核人ID(直接上级)| BIGINT | 关联 OA sys_user.id | | evaluator_name | 考核人姓名 | VARCHAR(50) | 冗余 | | template_id | 使用的模板ID | BIGINT | 关联 kpi_position_template.id | | status | 当前状态 | VARCHAR(20) | 见状态流转说明 | | self_score | 自评总分 | DECIMAL(5,1) | 提交后写入 | | self_comment | 自评备注 | VARCHAR(500) | | | self_submit_time | 自评提交时间 | DATETIME | | | manager_score | 上级评分总分 | DECIMAL(5,1) | 上级提交后写入 | | manager_comment | 上级评语 | VARCHAR(500) | | | manager_submit_time | 上级提交时间 | DATETIME | | | confirm_status | 确认状态 | VARCHAR(20) | pending/confirmed/objection | | confirm_time | 确认时间 | DATETIME | | | final_score | 最终得分 | DECIMAL(5,1) | HR确认后写入 | | appeal_id | 关联申诉ID | BIGINT | 关联 kpi_appeal.id,无则为NULL | | close_time | 关闭时间 | DATETIME | | | remark | 备注 | VARCHAR(500) | | | create_by | 创建人 | VARCHAR(64) | | | create_time | 创建时间 | DATETIME | | **status 状态流转:** ``` pending_self → 待自评 pending_manager → 待上级考评 pending_confirm → 待被考核人确认 appealing → 申诉中(HR处理中) closed → 已关闭(正常确认或申诉处理完成) ``` **confirm_status 确认状态:** ``` pending → 待确认 confirmed → 已确认(无异议) objection → 有异议(已发起申诉) ``` --- #### 2.4.2 考核任务明细表 `kpi_task_detail` > 考核任务中每个指标的具体得分记录。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | task_id | 任务ID | BIGINT | 关联 kpi_task.id | | indicator_id | 指标ID | BIGINT | 关联 kpi_indicator.id | | indicator_name | 指标名称 | VARCHAR(100) | 冗余 | | indicator_group | 所属分组 | VARCHAR(50) | 冗余,方便显示 | | weight | 权重 | DECIMAL(5,2) | 20.00 表示20% | | self_score | 自评分 | DECIMAL(5,1) | 被考核人填写 | | self_score_weighted | 自评加权分 | DECIMAL(6,2) | self_score × weight / 100 | | manager_score | 上级评分 | DECIMAL(5,1) | 上级填写 | | manager_score_weighted | 上级加权分 | DECIMAL(6,2) | manager_score × weight / 100 | | final_score | 最终得分 | DECIMAL(5,1) | HR确认后写入 | | sort_order | 排序号 | INT | | --- #### 2.4.3 流程日志表 `kpi_task_log` > 记录每个考核任务的完整操作轨迹。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | task_id | 任务ID | BIGINT | 关联 kpi_task.id | | operate_type | 操作类型 | VARCHAR(20) | submit_self/manager_confirm/appeal/submit_final等 | | operator_id | 操作人ID | BIGINT | 关联 sys_user.id | | operator_name | 操作人 | VARCHAR(50) | | | operator_role | 操作人角色 | VARCHAR(20) | employee/manager/hr | | before_status | 操作前状态 | VARCHAR(20) | | | after_status | 操作后状态 | VARCHAR(20) | | | content | 操作说明 | VARCHAR(500) | | | create_time | 操作时间 | DATETIME | | --- ### 2.5 申诉相关表 #### 2.5.1 申诉表 `kpi_appeal` | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | 主键 | | appeal_no | 申诉编号 | VARCHAR(30) | 格式:APL-202604-001 | | task_id | 关联考核任务ID | BIGINT | 关联 kpi_task.id | | appeal_type | 申诉类型 | VARCHAR(20) | score(分数)/ process(流程)| | appeal_reason | 申诉原因 | VARCHAR(500) | | | appeal_evidence | 补充材料 | VARCHAR(200) | 附件路径或链接 | | handler_id | 处理人HR | BIGINT | 关联 sys_user.id | | handle_result | 处理结果 | VARCHAR(500) | | | adjust_score | 调整后最终分 | DECIMAL(5,1) | HR填写 | | handle_status | 处理状态 | VARCHAR(20) | pending/processing/closed | | handle_time | 处理时间 | DATETIME | | | create_by | 申诉人 | VARCHAR(64) | 冗余 | | create_time | 申诉时间 | DATETIME | | --- ### 2.6 系统配置表 #### 2.6.1 定时任务配置表 `kpi_schedule_config` > 配置每月自动生成考核任务的规则。 | 字段 | 字段名 | 类型 | 说明 | |------|--------|------|------| | id | 主键 | BIGINT | | | config_key | 配置项编码 | VARCHAR(50) | 如 auto_generate_day / auto_generate_hour | | config_value | 配置值 | VARCHAR(100) | 如 2 / 09:00 | | description | 配置说明 | VARCHAR(200) | | | status | 状态 | TINYINT | 1=启用 0=停用 | | update_by | 更新人 | VARCHAR(64) | | | update_time | 更新时间 | DATETIME | | --- ## 三、模块功能设计 ### 3.1 模块总览 | 模块 | 功能 | 涉及角色 | |------|------|----------| | 指标管理 | 指标分组、指标的增删改查 | HR/管理员 | | 岗位指标卡 | 岗位绑定指标模板,权重配置 | HR/管理员 | | 考核任务 | 任务列表、详情查看 | 全体员工 | | 自评 | 自评打分与提交 | 全体员工 | | 上级考评 | 查看自评、上级打分与提交 | 管理者 | | 确认与申诉 | 确认结果或发起申诉 | 全体员工 | | HR申诉处理 | 查看申诉、处理、填写最终分 | HR | | 定时任务配置 | 配置自动生成规则 | 管理员 | | 统计报表 | 按月/部门/岗位查看得分 | 管理者/HR | --- ### 3.2 指标管理模块 #### 3.2.1 指标分组管理 **功能描述:** 按类别管理考核指标分组(如"工作态度"、"业务能力"、"管理能力")。 **表单字段:** - 分组名称(必填,最大50字) - 分组编码(必填,英文/数字唯一) - 父分组(下拉选择,顶级为空) - 排序号(整数,越大越靠前) - 状态(启用/停用) - 备注 **列表页字段:** 分组名称 | 分组编码 | 上级分组 | 指标数量 | 排序 | 状态 | 操作(编辑/删除/停用) #### 3.2.2 指标管理 **功能描述:** 维护具体考核指标。 **表单字段:** - 指标名称(必填) - 指标编码(必填,唯一) - 所属分组(下拉,必选) - 指标说明(考核标准描述,最大500字) - 满分值(默认100,可调整) - 状态 **列表页字段:** 指标名称 | 指标编码 | 所属分组 | 满分值 | 状态 | 操作 --- ### 3.3 岗位指标卡模块 #### 3.3.1 模板管理 **功能描述:** 将岗位与指标组合绑定,配置权重。 **表单字段:** - 模板名称(必填) - 绑定岗位(下拉,从OA的sys_position读取) - 考核周期(月度/季度/年度) - 状态 **指标配置(明细行):** | 指标 | 所属分组(只读)| 权重(%)| 操作 | |------|------|------|------| - 指标从 kpi_indicator 下拉选择 - 选择后自动带出分组名称 - 权重由人工填写 - **前端校验:所有权重总和必须=100%**,否则不允许保存 - 可动态增删行 **列表页字段:** 模板名称 | 岗位名称 | 考核周期 | 指标数量 | 状态 | 操作 --- ### 3.4 自动任务生成模块 #### 3.4.1 定时任务配置 **功能描述:** 由 OA 平台定时器触发,每月自动生成考核任务。 **配置项(存于 kpi_schedule_config):** - 自动生成日:每月 N 号(默认 2) - 生成时间:如 09:00 - 是否启用:开关 **自动任务触发逻辑(OA低码脚本):** ``` 触发时机:每月2日 09:00(OA定时器) 执 行 步 骤: 1. 读取 kpi_schedule_config,确认是否启用 2. 获取上一个自然月的年月(如 2026年3月) 3. 查询 sys_user_position,获取所有在职员工及其上级 4. 对每个员工: a. 查找其岗位对应的 kpi_position_template(status=1) b. 若找到模板,则在 kpi_task 中插入记录(status=pending_self) c. 同时在 kpi_task_detail 中插入该模板下的所有指标行 5. 记录执行日志 ``` **OA低码平台实现建议:** - 建议使用 OA 的「定时触发器」或「Webhook + 外部脚本」 - 也可在 OA 表单中手动增加"生成考核任务"按钮,由管理员触发 --- ### 3.5 自评模块 #### 3.5.1 待自评列表 **入口:** 员工工作台 → 我的考核 **列表页字段:** 考核月份 | 被考核人 | 考核人 | 状态 | 操作 > 列表默认显示当前用户 evaluatee_id = 当前登录人 的任务 **状态筛选:** 全部 / 待自评 / 待上级考评 / 待确认 / 申诉中 / 已结束 #### 3.5.2 自评表单 **触发条件:** status = pending_self 时可填写 **页面布局:** ``` ┌─────────────────────────────────────────┐ │ 考核月份:2026年3月 │ │ 被考核人:张三(客服专员) │ │ 考核人:李四(客服主管) │ ├─────────────────────────────────────────┤ │ 考核指标 │ ├────┬──────┬──────┬──────┬──────┬───────┤ │ # │ 分组 │ 指标 │ 权重 │ 满分 │ 自评分 │ ├────┼──────┼──────┼──────┼──────┼───────┤ │ 1 │工作态度│ 考勤 │ 20% │ 100 │ [ ] │ │ 2 │工作态度│ 协作 │ 20% │ 100 │ [ ] │ │ 3 │业务能力│ 业务 │ 40% │ 100 │ [ ] │ │ 4 │业务能力│ 质量 │ 20% │ 100 │ [ ] │ ├────┴──────┴──────┴──────┴──────┴───────┤ │ 自评备注:[ ] │ ├─────────────────────────────────────────┤ │ [保存草稿] [提交自评] │ └─────────────────────────────────────────┘ ``` **功能说明:** - 必填项:每个指标的自评分(0~满分) - 可保存草稿(不校验所有必填) - 提交自评时校验:所有指标分数均已填写 - 提交后:更新 kpi_task.status → pending_manager - 提交后:插入 kpi_task_log(submit_self) - 提交后:发送 OA 消息通知考核人(上级) --- ### 3.6 上级考评模块 #### 3.6.1 待考评列表 **入口:** 管理者工作台 → 考核管理 → 待考评 **列表页字段:** 考核月份 | 被考核人 | 岗位 | 状态 | 操作 > 列表显示 evaluator_id = 当前登录人的任务 **列表字段说明:** - 状态:待自评(显示等待中)/ 待考评 / 已完成 #### 3.6.2 上级考评表单 **触发条件:** status = pending_manager 时可填写 **页面布局:** ``` ┌─────────────────────────────────────────┐ │ 考核月份:2026年3月 │ │ 被考核人:张三(客服专员) │ │ 考核人:李四(客服主管)[当前登录人] │ ├─────────────────────────────────────────┤ │ 【自评参考】 │ ├────┬──────┬──────┬──────┬──────┬───────┤ │ # │ 分组 │ 指标 │ 权重 │ 自评分 │ 上级评分│ ├────┼──────┼──────┼──────┼──────┼───────┤ │ 1 │工作态度│ 考勤 │ 20% │ 85 │ [ ] │ │ 2 │工作态度│ 协作 │ 20% │ 90 │ [ ] │ │ 3 │业务能力│ 业务 │ 40% │ 88 │ [ ] │ │ 4 │业务能力│ 质量 │ 20% │ 92 │ [ ] │ ├────┴──────┴──────┴──────┴──────┴───────┤ │ 指标总分: -- 加权总分:-- │ │ 上级评语:[ ] │ ├─────────────────────────────────────────┤ │ [保存草稿] [提交考评] │ └─────────────────────────────────────────┘ ``` **功能说明:** - 左侧显示被考核人自评分(仅供参照,不可编辑) - 右侧填写上级评分 - 上级可参考自评分,与自评分差异过大时需填写评语 - 提交后:更新 kpi_task.manager_score,更新 status → pending_confirm - 提交后:插入 kpi_task_log(manager_submit) - 提交后:发送 OA 消息通知被考核人(确认) --- ### 3.7 确认与申诉模块 #### 3.7.1 待确认列表 **入口:** 员工工作台 → 我的考核 **触发条件:** status = pending_confirm 时 **确认页面:** ``` ┌─────────────────────────────────────────┐ │ 考核月份:2026年3月 │ │ 上级评分总分:88.0分 │ ├─────────────────────────────────────────┤ │ 考核指标明细 │ ├────┬──────┬──────┬──────┬──────┬───────┤ │ # │ 指标 │ 权重 │ 自评分 │ 上级评分│ 得分 │ ├────┼──────┼──────┼──────┼──────┼───────┤ │ 1 │ 考勤 │ 20% │ 85 │ 80 │ 16.0 │ │ 2 │ 协作 │ 20% │ 90 │ 88 │ 17.6 │ │ 3 │ 业务 │ 40% │ 88 │ 92 │ 36.8 │ │ 4 │ 质量 │ 20% │ 92 │ 90 │ 18.0 │ ├────┴──────┴──────┴──────┴──────┴───────┤ │ 上级评语:表现良好,工作细致 │ ├─────────────────────────────────────────┤ │ [ 确认结果 ] [ 有异议,申请申诉 ] │ └─────────────────────────────────────────┘ ``` #### 3.7.2 确认功能 **确认后:** - 更新 kpi_task.confirm_status → confirmed - 更新 kpi_task.status → closed - 更新 kpi_task.final_score = manager_score(取上级评分) - 插入 kpi_task_log(employee_confirmed) - 流程结束 #### 3.7.3 申诉功能 **点击"有异议,申请申诉"后:** ``` ┌─────────────────────────────────────────┐ │ 申诉类型:○ 分数异议 ○ 流程异议 │ │ 申诉原因:[ ] │ │ 补充材料: [上传附件] │ ├─────────────────────────────────────────┤ │ [取消] [提交申诉] │ └─────────────────────────────────────────┘ ``` **提交后:** - 在 kpi_appeal 中新增记录(handle_status=pending) - 更新 kpi_task.confirm_status → objection - 更新 kpi_task.status → appealing - 插入 kpi_task_log(employee_appeal) - 发送 OA 消息通知 HR(待处理申诉列表) --- ### 3.8 HR 申诉处理模块 #### 3.8.1 待处理申诉列表 **入口:** HR工作台 → 绩效管理 → 申诉处理 **列表页字段:** 申诉编号 | 考核月份 | 申诉人 | 被考核人 | 申诉类型 | 申诉时间 | 处理状态 | 操作 #### 3.8.2 申诉处理表单 **HR操作:** ``` ┌─────────────────────────────────────────┐ │ 申诉编号:APL-202604-001 │ │ 申诉人:张三 申诉时间:2026-04-03 │ │ 申诉类型:分数异议 │ │ 申诉原因:业务能力项评分过低…… │ │ 附件:[查看] │ ├─────────────────────────────────────────┤ │ 【考核记录】 │ │ 指标 │ 权重 │ 自评分 │ 上级评分 │ │ 考勤 │ 20% │ 85 │ 80 │ │ 协作 │ 20% │ 90 │ 88 │ │ 业务 │ 40% │ 88 │ 70[红色] │ │ 质量 │ 20% │ 92 │ 90 │ ├─────────────────────────────────────────┤ │ 处理意见:[ ] │ │ 最终得分调整:[ ](不调整则留空) │ ├─────────────────────────────────────────┤ │ [驳回申诉] [确认申诉,调整分数] │ └─────────────────────────────────────────┘ ``` **处理结果:** **驳回时:** - 更新 kpi_appeal.handle_status = closed,handle_result = 驳回原因 - 更新 kpi_task.status = closed(申诉驳回后流程仍关闭) - 更新 kpi_task.final_score = manager_score - 插入 kpi_task_log(hr_rejected) - 发送 OA 消息通知被考核人 **确认调整时:** - 更新 kpi_appeal.handle_status = closed,adjust_score 写入最终分 - 更新 kpi_task.final_score = adjust_score - 更新 kpi_task.status = closed - 插入 kpi_task_log(hr_adjusted) --- ### 3.9 统计报表模块 #### 3.9.1 个人考核记录 **入口:** 员工工作台 → 考核记录 **页面:** 列表展示个人历史各月考核结果,含状态(正常/申诉已调整) #### 3.9.2 部门考核汇总 **入口:** 管理者/HR → 统计报表 → 部门汇总 **字段:** | 员工姓名 | 岗位 | 上级 | 考核月份 | 考核得分 | 状态 | 操作 | **支持筛选:** 年月、部门、岗位 #### 3.9.3 导出功能 **支持导出 Excel:** - 按月导出全公司考核结果 - 按部门导出 - 导出字段:员工姓名、岗位、部门、上级姓名、各指标得分、总分、状态 --- ## 四、权限设计 | 角色 | 可操作模块 | |------|-----------| | 全体员工 | 自评填写、考核确认/申诉、查看个人考核记录 | | 管理者 | 上级考评、管理下级考核记录、查看部门汇总 | | HR | 全模块:指标管理、岗位指标卡、申诉处理、全部统计 | | 系统管理员 | 定时任务配置、岗位指标卡配置 | > 权限建议复用 OA 的角色体系,通过 OA 的权限控制实现。 --- ## 五、消息通知设计 | 触发时机 | 通知对象 | 通知内容 | |----------|----------|----------| | 考核任务自动生成后 | 被考核人 | 您有一项新的考核任务(2026年3月)待自评 | | 自评提交后 | 考核人(上级)| 员工张三已提交自评,请尽快完成上级考评 | | 上级考评提交后 | 被考核人 | 您的考核已完成上级考评,请确认结果 | | 申诉提交后 | HR | 收到一条绩效申诉(张三-2026年3月),请及时处理 | | 申诉处理完成 | 被考核人 | 您的申诉已处理,结果为:[通过/驳回] | > 通知渠道:建议复用 OA 内部消息系统。 --- ## 六、OA 低码平台实施建议 ### 6.1 数据源配置 在 OA 低码平台新建以下数据模型(对应上文章节二中的表): 1. **绩效_指标分组** — 对应 `kpi_indicator_group` 2. **绩效_指标** — 对应 `kpi_indicator` 3. **绩效_岗位指标卡** — 对应 `kpi_position_template` + 明细 4. **绩效_考核任务** — 对应 `kpi_task` 5. **绩效_考核明细** — 对应 `kpi_task_detail` 6. **绩效_流程日志** — 对应 `kpi_task_log` 7. **绩效_申诉** — 对应 `kpi_appeal` 8. **绩效_配置** — 对应 `kpi_schedule_config` ### 6.2 表单与流程配置 | 功能 | 建议实现方式 | |------|------------| | 指标/模板配置 | 使用 OA 表单设计器,新建配置型表单 | | 自评/上级考评/确认/申诉 | 使用 OA 流程引擎,配置审批流程 | | 统计报表 | 使用 OA 报表/统计图表组件 | | 定时任务 | 使用 OA 定时触发器 或 外部脚本调用 OA API | ### 6.3 外部脚本(定时任务) 若 OA 低码平台不支持复杂定时逻辑,建议写一个外部脚本(如 Python),由服务器定时触发(crontab/Windows计划任务),调用 OA 的开放 API 生成考核任务。 --- ## 七、里程碑计划建议 | 阶段 | 内容 | 优先级 | |------|------|--------| | Phase 1 | 指标管理 + 岗位指标卡(基础配置) | 高 | | Phase 2 | 自评 + 上级考评 + 确认(四段式流程) | 高 | | Phase 3 | 申诉 + HR处理 | 中 | | Phase 4 | 定时任务自动生成 | 中 | | Phase 5 | 统计报表 + 导出 | 低 | --- > 文档结束。如需进一步拆解为 OA 低码平台的**具体表单配置步骤**或**SQL建表语句**,请告知。